proxy.py VS ssh-mitm

Compare proxy.py vs ssh-mitm and see what are their differences.

proxy.py

⚡ Fast • 🪶 Lightweight • 0️⃣ Dependency • 🔌 Pluggable • 😈 TLS interception • 🔒 DNS-over-HTTPS • 🔥 Poor Man's VPN • ⏪ Reverse & ⏩ Forward • 👮🏿 "Proxy Server" framework • 🌐 "Web Server" framework • ➵ ➶ ➷ ➠ "PubSub" framework • 👷 "Work" acceptor & executor framework (by abhinavsingh)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
proxy.py ssh-mitm
5 42
2,853 1,219
- 2.1%
1.0 8.8
3 days ago 16 days ago
Python Python
BSD 3-clause "New" or "Revised" License GNU General Public License v3.0 only
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

proxy.py

Posts with mentions or reviews of proxy.py. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-10.
  • Show HN: Proxy.py
    1 project | news.ycombinator.com | 11 Aug 2022
    [Not my project]

    A very well features proxy server (Forward & Reverse + lots of other features).

    https://github.com/abhinavsingh/proxy.py

  • How to Choose the Right Python Concurrency API
    6 projects | news.ycombinator.com | 10 Aug 2022
    The article gives a good summary of the quite complex landscape of concurrency in python. There's more to it, for example gil-free c-extensions, subprocesses and cross-machine (plus IPC) communication.

    But I'm particularly bothered by the fact that many articles and tutorials look at concurrency as if it's only about factoring primes or writing a web server with many (perhaps even idempotent) parallel requests.

    In reality, people will often want and need to combine multiple of these approaches, and then it gets VERY messy. I.e. try to combine a multiprocessing executor with multiple asyncio loops and boom you're in some very deep waters.

    One project that does this (async loops inside multiple processes) is proxy.py - very enlightening to read its code base [1].

    But I really, really wish python would do more to provide simple and robust abstractions for these kinds of tasks. My dream would be a robust actor system similar to erlang, but we'll probably never get that.

    [1] https://github.com/abhinavsingh/proxy.py

  • PSA: Blogsport.de und Blogsport.eu sind in den letzten Atemzügen
    1 project | /r/Dachschaden | 7 Jul 2022
  • Comodo Firewall
    1 project | /r/antivirus | 20 Mar 2022
    Setup a VM with Hyper-V and restrict the internet access or disable it.(best way), or build yourself a proxy: https://github.com/abhinavsingh/proxy.py
  • Handling 30,000 requests/sec with `proxy.py`
    2 projects | /r/Python | 30 Nov 2021
    See `proxy.py` examples for some inspiration :) https://github.com/abhinavsingh/proxy.py/tree/develop/examples

ssh-mitm

Posts with mentions or reviews of ssh-mitm. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-19.
  • Terrapin-Attack Style Vulnerability Likely Exploited for 2 Years
    1 project | news.ycombinator.com | 21 Dec 2023
    I wanted to share some insights into a security concern that echoes the Terrapin-Attack scenario, highlighting a similar vulnerability that has been observed in other tools.

    Recently, I came across a Pull Request on GitHub for the SSH-MITM tool, which sheds light on a critical aspect of SSH protocol security, specifically regarding RFC 4253 during the KEXINIT process. The Pull Request, available at GitHub https://github.com/ssh-mitm/ssh-mitm/pull/163, describes the necessity of discarding certain packages during the KEXINIT phase to prevent issues with intercepted clients.

    Moreover, a look into the GitHub Blame for SSH-MITM reveals that these crucial changes in the KEXINIT step were integrated into SSH-MITM about 1-2 years ago. You can see the specific changes at this link: https://github.com/ssh-mitm/ssh-mitm/blame/4fc3ef418847c35d17d0c427e2701b33a03c323c/sshmitm/workarounds/transport.py#L178-L188

    An important note to add is that this information suggests that a similar form of attack, akin to the Terrapin-Attack, could potentially have been exploited for the last two years. This raises significant concerns about the historical vulnerability of systems to such attack techniques and emphasizes the importance of retroactive security analysis in addition to ongoing vigilance.

  • Terrapin Attack for prefix injection in SSH
    3 projects | news.ycombinator.com | 19 Dec 2023
    There is now an issue ticket in ssh-mitm to discuss the similarities between ssh-mitm and terrapin attack: https://github.com/ssh-mitm/ssh-mitm/issues/165
  • Check if a publickey is known by GitHub or Gitlab without iterating all users
    1 project | news.ycombinator.com | 24 Feb 2023
    During some audits, it's likely that you find some ssh public keys laying around on some servers.

    If you want to verify if this key is known by other services, but you don't have access to those services, this task might be hard.

    SSH-MITM has an additional command, which allows to check if a public ssh key is known by GitHub, GitLab, and other code hosters. It's not limited to GitHub and other major platforms and even works with each service, which is accessible over SSH.

    First you must install SSH-MITM. It's recommended to use the AppImage, because this works out of the box on most Linux machines.

    $ wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage

  • Should SSH-MITM add a Codehoster user check as a default setting?
    1 project | /r/Pentesting | 13 Feb 2023
    SSH-MITM is a tool to audit ssh sessions and protocols, which uses SSH as the transport protocol: https://github.com/ssh-mitm/ssh-mitm
  • Python API Documentation created with ChatGPT
    1 project | /r/ChatGPT | 1 Feb 2023
    you can find the project on github: https://github.com/ssh-mitm/ssh-mitm
  • SSH-MitM has prebuilt windows executables
    1 project | news.ycombinator.com | 17 Jun 2022
  • SSH-MitM's new logo is a fish (OpenSSH's logo) on a hook
    1 project | news.ycombinator.com | 3 Apr 2022
  • SSH-MitM – Support for OpenSSH's Certificate Authority Planned
    1 project | news.ycombinator.com | 1 Apr 2022
  • SSH-MITM - Support for OpenSSH's certificate authority planned
    2 projects | /r/netsec | 1 Apr 2022
    You should check the Revisionhistory of the Readme file first.. https://github.com/ssh-mitm/ssh-mitm/commit/564028af25c395528446fbb679c7392469d59bfd
  • SSH-MitM 2.0.0 – Licence change to GPLv3
    3 projects | news.ycombinator.com | 1 Apr 2022
    The “customized wording” you’re seeing is “The LGPL”. It’s a different license from the GPL.

    The history on the repo shows that the original license was GPL (June 2020), the author changed the license to LGPL (December 2022), and now they’re changing it to GPL again. https://github.com/ssh-mitm/ssh-mitm/commits/master/LICENSE

What are some alternatives?

When comparing proxy.py and ssh-mitm you can also consider the following projects:

mitm - 👨🏼‍💻 ‎‎‎‏‏ A customizable man-in-the-middle TCP intercepting proxy.

cowrie - Cowrie SSH/Telnet Honeypot https://cowrie.readthedocs.io

one-ring - CSP on top of AsyncIO

docker-sshd - Minimal Alpine Linux Docker image with sshd exposed and rsync installed

mitm-omegle - Watch strangers talk on Omegle (man in the middle attack explained for kids)

sftpretty - Provides multi-threaded routines and high level protocol abstractions for a pretty quick & simple file transfer experience. Drop in replacement for pysftp.

lokinet-exit-provider - lokinet exit node webapp

super-auto-pets - A tool to allow for viewing of arbitrary Super Auto Pets replays

benchmark-proxypy

spike - :mega: A fast reverse proxy written in PHP that helps to expose local services to the internet

openssh-portable - Portable OpenSSH