Transparent proxy server that works as a poor man's VPN. Forwards over ssh. Doesn't require admin. Works with Linux and MacOS. Supports DNS tunneling.

Overview

sshuttle: where transparent proxy meets VPN meets ssh

As far as I know, sshuttle is the only program that solves the following common case:

  • Your client machine (or router) is Linux, FreeBSD, or MacOS.
  • You have access to a remote network via ssh.
  • You don't necessarily have admin access on the remote network.
  • The remote network has no VPN, or only stupid/complex VPN protocols (IPsec, PPTP, etc). Or maybe you are the admin and you just got frustrated with the awful state of VPN tools.
  • You don't want to create an ssh port forward for every single host/port on the remote network.
  • You hate openssh's port forwarding because it's randomly slow and/or stupid.
  • You can't use openssh's PermitTunnel feature because it's disabled by default on openssh servers; plus it does TCP-over-TCP, which has terrible performance.

Obtaining sshuttle

  • Ubuntu 16.04 or later:

    apt-get install sshuttle
    
  • Debian stretch or later:

    apt-get install sshuttle
    
  • Arch Linux:

    pacman -S sshuttle
    
  • Fedora:

    dnf install sshuttle
    
  • NixOS:

    nix-env -iA nixos.sshuttle
    
  • From PyPI:

    sudo pip install sshuttle
    
  • Clone:

    git clone https://github.com/sshuttle/sshuttle.git
    cd sshuttle
    sudo ./setup.py install
    
  • FreeBSD:

    # ports
    cd /usr/ports/net/py-sshuttle && make install clean
    # pkg
    pkg install py36-sshuttle
    
  • macOS, via MacPorts:

    sudo port selfupdate
    sudo port install sshuttle
    

It is also possible to install into a virtualenv as a non-root user.

  • From PyPI:

    virtualenv -p python3 /tmp/sshuttle
    . /tmp/sshuttle/bin/activate
    pip install sshuttle
    
  • Clone:

    virtualenv -p python3 /tmp/sshuttle
    . /tmp/sshuttle/bin/activate
    git clone https://github.com/sshuttle/sshuttle.git
    cd sshuttle
    ./setup.py install
    
  • Homebrew:

    brew install sshuttle
    
  • Nix:

    nix-env -iA nixpkgs.sshuttle
    

Documentation

The documentation for the stable version is available at: https://sshuttle.readthedocs.org/

The documentation for the latest development version is available at: https://sshuttle.readthedocs.org/en/latest/

Running as a service

Sshuttle can also be run as a service and configured using a config management system: https://medium.com/@mike.reider/using-sshuttle-as-a-service-bec2684a65fe

Comments
  • Ubuntu 16.04 Gnome - Shuttle Master UDP issues

    Ubuntu 16.04 Gnome - Shuttle Master UDP issues

    sshuttle-master is running fine for TCP. Output appears to indicate that with --method=tproxy it is accepting/sending UDP, but that doesn't seem to be the case. I find I am unable to ping anything and already open connections are shut down.

    sudo SSH_AUTH_SOCK="$SSH_AUTH_SOCK" su                                                                                                                   
    ip route add local default dev lo table 100
    ip rule add fwmark 1 lookup 100
    ./run --method=tproxy --disable-ipv6 -vvv --pidfile=/tmp/sshuttle.pid -r [email protected] 0/0 -x <server.ip>
    

    Output.

    I notice this line in the output: /proc/net/route: No such file or directory. It's odd because that file does exist.

    192.168.10.1 is the router, and 192.168.10.10 is my machine.

    help wanted 
    opened by DiagonalArg 40
  • Add compatibility with OSX 10.10 Yosemite

    Add compatibility with OSX 10.10 Yosemite

    User @jagheterfredrik forked apenwarr/sshuttle into jagheterfredrik/sshuttle and added support for OSX 10.10 Yosemite. I forked sshuttle/sshuttle and cherry-picked those commits into master. After which, there were still some compatibility issues with sshuttle/sshuttle to be resolved as apenwarr/sshuttle and sshuttle/sshuttle are divergent. This commit wraps up those changes.

    In addition, it's worth noting that the current homebrew (as of this commit) formula for sshuttle points to @apenwarr's fork. Once this 10.10 work is completed, the formula should be updated to point to sshuttle/sshuttle.

    • [x] Cherry pick jagheterfredrik/[email protected] & resolve conflicts.
    • [x] Cherry pick jagheterfredrik/[email protected] & resolve conflicts.
    • [x] Alter src/firewall.py based on new variables passed into do_ functions.
    • [x] Alter src/firewall.py based on new method = 'pf' way of determining which firewall tool to use.
    opened by pthrasher 35
  • sshutle -D  hangs when running via IPC/Perl

    sshutle -D hangs when running via IPC/Perl

    I am trying to run sshutle as external program and read it's STDOUT/STDERR , but it hangs. Here is small code on Perl. Probably other languages/IPC may have the same troubles, but I run sshutle via Perl

    
    $ cat test.pl 
    my $cmd = '/usr/local/bin/sshuttle -v -D -r  127.0.0.1 192.168.0.0/24';
    
    open(OUT, "$cmd 2>&1 |") || die "can't fork: $!";
    
    while (my $l = <OUT>) {
      print $l;
    }
    
    close OUT;
    
    print "done\n";
    [email protected]:~/projects/sshutle-issue$ perl test.pl 
    
    # it hangs here!!!
    

    Running ps uax|grep sshu in parallel terminal gives me this:

    $ ps uax | grep sshu | grep -v grep
    melezhik  3721  0.4  0.0      0     0 pts/13   Z+   14:29   0:00 [sshuttle] <defunct>
    melezhik  3722  0.0  0.0  12620   736 pts/13   S+   14:29   0:00 logger -p daemon.notice -t sshuttle
    root      3723  0.0  0.0  72468  2144 pts/13   S+   14:29   0:00 sudo -p [local sudo] Password:  PYTHONPATH=/usr/local/lib/python2.7/dist-packages -- /usr/bin/python /usr/local/bin/sshuttle -v --method auto --firewall --syslog
    root      3724  0.4  0.1  46108  9948 ?        Ss   14:29   0:00 /usr/bin/python /usr/local/bin/sshuttle -v --method auto --firewall --syslog
    root      3725  0.0  0.0  12616   736 ?        S    14:29   0:00 logger -p daemon.notice -t sshuttle
    melezhik  3786  0.0  0.0  46636  8072 ?        S    14:29   0:00 /usr/bin/python /usr/local/bin/sshuttle -v -D -r 127.0.0.1 192.168.0.0/24
    

    Probably this might be helpful

    help wanted 
    opened by melezhik 34
  • Mac OS X El Capitan (10.11.1): requests are not forwarded through a proxy

    Mac OS X El Capitan (10.11.1): requests are not forwarded through a proxy

    Hello,

    A tunnel via ssh -NC [email protected] -L 9999:10.150.135.166:1526 works just fine.

    When I run sshuttle my requests to 10.150.135.166 are not forwarded. This is how I run it:

    toyota$ sshuttle -r [email protected] XX.XXXX.135.166 -N  -vv
    Starting sshuttle proxy.
    [local sudo] Password: 
    firewall manager: Starting firewall with Python version 2.7.10
    firewall manager: ready method name pf.
    UDP enabled: False
    Binding redirector: 12300
    TCP redirector listening on ('127.0.0.1', 12300).
    TCP redirector listening with <socket._socketobject object at 0x10c2d7980>.
    Starting client with Python version 2.7.10
    c : connecting to server...
    c : executing: ['ssh', '[email protected]', '--', 'P=python3.5; $P -V 2>/dev/null || P=python; exec "$P" -c \'import sys; verbosity=2; exec(compile(sys.stdin.read(890), "assembler.py", "exec"))\'']
    [email protected]'s password: 
    c :  > channel=0 cmd=PING len=7 (fullness=0)
    server: assembling 'sshuttle' (8 bytes)
    server: assembling 'sshuttle.cmdline_options' (27 bytes)
    server: assembling 'sshuttle.helpers' (765 bytes)
    server: assembling 'sshuttle.ssnet' (5506 bytes)
    server: assembling 'sshuttle.hostwatch' (2307 bytes)
    server: assembling 'sshuttle.server' (3047 bytes)
    Starting server with Python version 2.6.6
     s: latency control setting = True
     s: available routes:
     s:   2/146.213.0.128/27
     s:   2/169.254.0.0/16
     s:  > channel=0 cmd=PING len=7 (fullness=0)
    c : Connected.
     s:  > channel=0 cmd=ROUTES len=36 (fullness=7)
    c : Waiting: 2 r=[8, 9] w=[9] x=[] (fullness=7/0)
    c :   Ready: 2 r=[] w=[9] x=[]
    c : mux wrote: 15/15
    c : Waiting: 2 r=[8, 9] w=[] x=[] (fullness=7/0)
     s: Waiting: 1 r=[4] w=[5] x=[] (fullness=43/0)
     s:   Ready: 1 r=[] w=[5] x=[]
     s: mux wrote: 15/15
     s: Waiting: 1 r=[4] w=[5] x=[] (fullness=43/0)
     s:   Ready: 1 r=[] w=[5] x=[]
     s: mux wrote: 44/44
     s: Waiting: 1 r=[4] w=[] x=[] (fullness=43/0)
    c :   Ready: 2 r=[9] w=[] x=[]
    c : <  channel=0 cmd=PING len=7
    c :  > channel=0 cmd=PONG len=7 (fullness=7)
    c : <  channel=0 cmd=ROUTES len=36
    firewall manager: Got subnets: [(2, 32, False, '10.150.135.166'), (2, 27, False, '146.213.0.128'), (2, 16, False, '169.254.0.0'), (2, 8, True, '127.0.0.0')]
    firewall manager: Got nslist: []
    firewall manager: Got ports: 0,12300,0,0
    firewall manager: Got udp: False
    firewall manager: setting up.
    firewall manager: setting up IPv4.
    >> pfctl -s all
    >> pfctl -a sshuttle -f /dev/stdin
    >> pfctl -E
     s:   Ready: 1 r=[4] w=[] x=[]
     s: <  channel=0 cmd=PING len=7
     s:  > channel=0 cmd=PONG len=7 (fullness=43)
     s: mux wrote: 15/15
     s: Waiting: 1 r=[4] w=[] x=[] (fullness=50/0)
    c : mux wrote: 15/15
    c : <  channel=0 cmd=PONG len=7
    c : received PING response
    c : Waiting: 2 r=[8, 9] w=[] x=[] (fullness=0/0)
     s:   Ready: 1 r=[4] w=[] x=[]
     s: <  channel=0 cmd=PONG len=7
     s: received PING response
     s: Waiting: 1 r=[4] w=[] x=[] (fullness=0/0)
    

    What can be an issue? NO errors reported.

    MacOSX 
    opened by valmol 34
  • Sshuttle not working over OpenVPN Tunnel

    Sshuttle not working over OpenVPN Tunnel

    My scenario: I'm running OSX El Capitan, and sometimes work remotely and need to connect to my company's OpenVPN server in order to hook into ACLs and firewalls set up by our customers - this connection is set up to route all traffic over the VPN. I also need to use sshuttle to connect to remote networks behind bastion hosts in our customers' infrastructure.

    When using sshuttle and OpenVPN individually, everything works as intended, however when using sshuttle after connecting to an OpenVPN tunnel, the firewall proxy rules don't take effect.

    I'm aware that this could be due to OpenVPN or sshuttle, however colleagues running Linux can connect with no problem, so I suspect this is due to sshuttle using pf rather than iptables on Mac.

    Can anyone help resolve this? Happy to provide more detail if necessary.

    MacOSX 
    opened by craigwatson 28
  • Yosemite support

    Yosemite support

    Apple drops the IPFW from OS X Yosemite.
    shuttle cannot work on OS X Yosemite for this reason. I forked the sshuttle/sshuttle and add support for the pf.

    opened by seanzxx 23
  • realpath not found on macOS 12.2

    realpath not found on macOS 12.2

    Running sshuttle --sudoers or sshuttle --sudoers --sudoers-user <username> throws the following error after updating to 1.1.0 using Homebrew, worked prior to updating. Tried complete reinstall as well, in case some legacy stuff was left from previous version, same thing though.

    $ sshuttle --sudoers
    # WARNING: When you allow a user to run sshuttle as root,
    # they can then use sshuttle's --ssh-cmd option to run any
    # command as root.
    Password:
    /usr/local/bin/sudoers-add: line 54: realpath: command not found
    Invalid sudoers filename: Final sudoers file location () does not begin with /etc/sudoers.d
    Failed updating sudoers file.
    
    opened by vikingtoby 21
  • Fails to connect to endpoints with Python 3.8

    Fails to connect to endpoints with Python 3.8

    Endpoints that have been updated with python 3.8 seem to cause issues with sshuttle.

    Starting sshuttle proxy.
    firewall manager: Starting firewall with Python version 3.8.0
    firewall manager: ready method name nat.
    IPv6 enabled: False
    UDP enabled: False
    DNS enabled: False
    User enabled: False
    TCP redirector listening on ('127.0.0.1', 12300).
    Starting client with Python version 3.8.0
    c : connecting to server...
    assembler.py:3: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses
    Starting server with Python version 3.8.0
     s: latency control setting = True
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "assembler.py", line 38, in <module>
      File "sshuttle.server", line 298, in main
      File "/usr/lib/python3.8/socket.py", line 544, in fromfd
        return socket(family, type, proto, nfd)
      File "/usr/lib/python3.8/socket.py", line 231, in __init__
        _socket.socket.__init__(self, family, type, proto, fileno)
    OSError: [Errno 88] Socket operation on non-socket
    c : Connected.
    c : fatal: server died with error code 1
    

    Older python endpoinds are fine:

    Starting sshuttle proxy.
    firewall manager: Starting firewall with Python version 3.8.0
    firewall manager: ready method name nat.
    IPv6 enabled: False
    UDP enabled: False
    DNS enabled: False
    User enabled: False
    TCP redirector listening on ('127.0.0.1', 12300).
    Starting client with Python version 3.8.0
    c : connecting to server...
    Starting server with Python version 2.6.6
     s: latency control setting = True
    c : Connected.
     s: auto-nets:False
    firewall manager: setting up.
    [...]
    
    opened by fredronnv 19
  • only forwarding dns for the remote subnet

    only forwarding dns for the remote subnet

    As I understand it, the --dns option forwards all DNS requests to the remote subnet's DNS servers, yes? If so, that only works as long as the remote DNS server(s) know about everything that is local to you also.

    If it doesn't however, and if I wanted to forward only DNS requests for the domain that is on the remote subnet I could adjust my current BIND configuration (my /etc/resolv.conf lists 127.0.0.1 as the DNS server to use) to add something like:

    zone "remote.domain.example.com" IN {
    	type forward;
    	forwarders port 12303 { 127.0.0.1; };
    };
    

    Where sshuttle is listening on port 12303 on the localhost for DNS requests to proxy to the remote subnet.

    Give that, is there was a way to start sshuttle so that it forwarded DNS requests received on a port but didn't capture all DNS requests so that DNS requests for the remote subnet/domain could be specifically directed by the local BIND daemon?

    opened by brianjmurrell 19
  • Auto sudoers file

    Auto sudoers file

    I have created a script and added it as a command line flag, sshuttle --sudoers. This is now documented and has been tested on Linux and OSX. If there is anything else needed to get this in, please let me know.

    opened by wmantly 18
  • fatal: ['pfctl', '-X', ''] returned 1

    fatal: ['pfctl', '-X', ''] returned 1

    I run sshuttle, but got the error below:

    Starting sshuttle proxy.
    [local sudo] Password:
    Starting firewall with Python version 3.5.0
    firewall manager ready method name pf.
    UDP enabled: False
    Binding redirector: 12300
    TCP redirector listening on ('127.0.0.1', 12300).
    TCP redirector listening with <socket.socket fd=8, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 12300)>.
    Starting client with Python version 3.5.0
    c : connecting to server...
    c : executing: ['ssh', '[email protected]', '--', 'P=python2; $P -V 2>/dev/null || P=python; exec "$P" -c \'import sys; verbosity=2; exec(compile(sys.stdin.read(890), "assembler.py", "exec"))\'']
    c :  > channel=0 cmd=PING len=7 (fullness=0)
    server: assembling 'sshuttle' (8 bytes)
    server: assembling 'sshuttle.cmdline_options' (27 bytes)
    server: assembling 'sshuttle.helpers' (765 bytes)
    server: assembling 'sshuttle.ssnet' (5506 bytes)
    server: assembling 'sshuttle.hostwatch' (2307 bytes)
    server: assembling 'sshuttle.server' (3016 bytes)
    Starting server with Python version 2.7.6
     s: latency control setting = True
     s: available routes:
     s:   2/10.12.0.0/16
     s:   2/10.134.0.0/16
     s:   2/159.203.240.0/20
     s:  > channel=0 cmd=PING len=7 (fullness=0)
     s:  > channel=0 cmd=ROUTES len=50 (fullness=7)
    c : connected.
    Connected.
    c : Waiting: 2 r=[8, 9] w=[9] x=[] (fullness=7/0)
    c :   Ready: 2 r=[] w=[9] x=[]
    c : mux wrote: 15/15
    c : Waiting: 2 r=[8, 9] w=[] x=[] (fullness=7/0)
     s: Waiting: 1 r=[4] w=[5] x=[] (fullness=57/0)
     s:   Ready: 1 r=[] w=[5] x=[]
     s: mux wrote: 15/15
     s: Waiting: 1 r=[4] w=[5] x=[] (fullness=57/0)
     s:   Ready: 1 r=[] w=[5] x=[]
     s: mux wrote: 58/58
     s: Waiting: 1 r=[4] w=[] x=[] (fullness=57/0)
    c :   Ready: 2 r=[9] w=[] x=[]
    c : <  channel=0 cmd=PING len=7
    c :  > channel=0 cmd=PONG len=7 (fullness=7)
    c : <  channel=0 cmd=ROUTES len=50
    Got subnets: [(2, 0, False, '0.0.0.0'), (2, 8, True, '127.0.0.0')]
    Got nslist: []
    Got ports: 0,12300,0,0
    Got udp: False
    firewall manager: starting transproxy.
    >> pfctl -s all
     s:   Ready: 1 r=[4] w=[] x=[]
     s: <  channel=0 cmd=PING len=7
     s:  > channel=0 cmd=PONG len=7 (fullness=57)
     s: mux wrote: 15/15
     s: Waiting: 1 r=[4] w=[] x=[] (fullness=64/0)
    firewall manager: undoing changes.
    >> pfctl -a sshuttle -F all
    >> pfctl -X
    fatal: ['pfctl', '-X', ''] returned 1
    c : fatal: cleanup: ['sudo', '-p', '[local sudo] Password: ', 'PYTHONPATH=/usr/local/lib/python3.5/site-packages/sshuttle-0.73-py3.5.egg', '--', '/usr/local/opt/python3/bin/python3.5', '/usr/local/bin/sshuttle', '-v', '-v', '--method', 'auto', '--firewall'] returned 99
    

    I run sshuttle with python 3.5.

    MacOSX 
    opened by d0u9 18
  • Add an alternate instruction for tproxy method

    Add an alternate instruction for tproxy method

    The current instruction for tproxy method assumes that the root user's ssh is properly configured, as opposed to the current user with the nat and nft methods.

    I have quickly hacked together a script that actually runs the ssh session via the current user, thus allowing aliases and other configurations to be taken from ~/.ssh.

    Hopefully we can have something in the documentation about running ssh via the current user, or even better, implement this functionality in the code directly. Thoughts?


    #!/bin/sh
    # ~/sshuttle.sh
    TMARK="${TMARK:-1}"
    sudo TMARK="$TMARK" ~/sshuttle_ip.sh setup 2>/dev/null
    
    # required because my ssh configuration uses this env variable
    sudo_env+=" XDG_RUNTIME_DIR='$XDG_RUNTIME_DIR' "
    
    exec sudo \
        /usr/bin/sshuttle \
        --method=tproxy \
        --tmark="$TMARK" \
        -e "sudo -u '$USER' $sudo_env ssh -v" \
        "[email protected]"
    
    #!/bin/sh -e
    # ~/sshuttle_ip.sh
    TMARK="${TMARK:-1}"
    
    setup() {
        act "$1" add
    }
    
    teardown() {
        act "$1" delete
    }
    
    act() {
        ip "-$1" route "$2" local default dev lo table 100
        ip "-$1" rule "$2" fwmark "$TMARK" lookup 100
    }
    
    case "$1" in
    setup | teardown) ;;
    *) exit 1 ;;
    esac
    
    for ip in 4 6; do
        "$1" "$ip"
    done
    
    opened by RuijieYu 0
  • Use sshuttle in mikrotik , or use sshuttle as http proxy(server)

    Use sshuttle in mikrotik , or use sshuttle as http proxy(server)

    Hi friends, I want to use sshuttle as http(s) proxy , and i tried these things i used pproxy as socks5 proxy to https converter ,and openssh -D option , i set up Mikrotik to forward all traffic from specific client to port Z of pproxy server with ip 192.168.X.Y (in local network) ,
    and i had access to http sites , but in https sites i faced an ssl cert issue, ... so i couldnt make it to work is there any way that i can make sshuttle as a HTTP and HTTPS proxy? which doesnt give me ssl problems?

    and is there any other ways i can use sshuttle in mikrotik?

    opened by alirezadigi 0
  • crashes when opening torrent client

    crashes when opening torrent client

    i use tproxy method and it works but whenever i am torrenting it crashes

    Starting sshuttle proxy (version 1.1.1).
    c : Starting firewall manager with command: ['/usr/bin/python', '/usr/bin/sshuttle', '-v', '-v', '-v', '--method', 'tproxy', '--firewall']
    fw: Starting firewall with Python version 3.10.8
    fw: which() found 'iptables' at /usr/bin/iptables
    fw: which() found 'ip6tables' at /usr/bin/ip6tables
    fw: ready method name tproxy.
    c : Found DNS servers in /etc/resolv.conf: ['192.168.29.1', 'redacted']
    c : Failed to read /run/systemd/resolve/resolv.conf when looking for DNS servers: No such file or directory
    c : IPv6 enabled: Using default IPv6 listen address ::1
    c : Method: tproxy
    c : IPv4: on
    c : IPv6: on
    c : UDP : on
    c : DNS : on
    c : User: off (not available with tproxy method)
    c : Subnets to forward through remote host (type, IP, cidr mask width, startPort, endPort):
    c :   (<AddressFamily.AF_INET: 2>, '0.0.0.0', 0, 0, 0)
    c :   (<AddressFamily.AF_INET6: 10>, '::', 0, 0, 0)
    c : Subnets to exclude from forwarding:
    c :   (<AddressFamily.AF_INET6: 10>, '2001:4ba0:ffa4:180::2', 128, 0, 0)
    c :   (<AddressFamily.AF_INET: 2>, '89.163.145.170', 32, 0, 0)
    c :   (<AddressFamily.AF_INET: 2>, '127.0.0.1', 32, 0, 0)
    c :   (<AddressFamily.AF_INET6: 10>, '::1', 128, 0, 0)
    c : DNS requests normally directed at these servers will be redirected to remote:
    c :   (<AddressFamily.AF_INET: 2>, '192.168.29.1')
    c :   (<AddressFamily.AF_INET6: 10>, 'redacted')
    c : Trying to bind redirector on port 12300
    c : TCP redirector listening on ('::1', 12300, 0, 0).
    c : TCP redirector listening with <socket.socket fd=5, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_STREAM, proto=0, laddr=('::1', 12300, 0, 0)>.
    c : TCP redirector listening on ('127.0.0.1', 12300).
    c : TCP redirector listening with <socket.socket fd=7, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 12300)>.
    c : UDP redirector listening on ('::1', 12300, 0, 0).
    c : UDP redirector listening with <socket.socket fd=8, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::1', 12300, 0, 0)>.
    c : UDP redirector listening on ('127.0.0.1', 12300).
    c : UDP redirector listening with <socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('127.0.0.1', 12300)>.
    c : Trying to bind DNS redirector on port 12300
    c : Trying to bind DNS redirector on port 12299
    c : DNS listening on ('::1', 12299, 0, 0).
    c : DNS listening with <socket.socket fd=10, family=AddressFamily.AF_INET6, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('::1', 12299, 0, 0)>.
    c : DNS listening on ('127.0.0.1', 12299).
    c : DNS listening with <socket.socket fd=11, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('127.0.0.1', 12299)>.
    c : Starting client with Python version 3.10.8
    c : Connecting to server...
    c : which() found 'ssh' at /usr/bin/ssh
    c : executing: ['/usr/bin/ssh', 'redacted', '--', '/bin/sh -c \'P=python3; $P -V 2>/dev/null || P=python; exec "$P" -c \'"\'"\'import sys, os; verbosity=3; sys.stdin = os.fdopen(0, "rb"); exec(compile(sys.stdin.read(1704), "assembler.py", "exec")); sys.exit(98);\'"\'"\'; exit 97\'']
    c :  > channel=0 cmd=PING len=7 (fullness=0)
     s: Running server on remote host with /usr/bin/python3 (version 3.9.2)
     s: assembling 'sshuttle' (88 bytes)
     s: assembling 'sshuttle.cmdline_options' (85 bytes)
     s: assembling 'sshuttle.helpers' (2853 bytes)
     s: assembling 'sshuttle.ssnet' (5811 bytes)
     s: assembling 'sshuttle.hostwatch' (2518 bytes)
     s: assembling 'sshuttle.server' (3786 bytes)
     s: latency control setting = True
     s:  > channel=0 cmd=PING len=7 (fullness=0)
     s: auto-nets:False
     s:  > channel=0 cmd=ROUTES len=0 (fullness=7)
     s: Waiting: 1 r=[0] w=[1] x=[] (fullness=7/0)
    c : Connected to server.
     s:   Ready: 1 r=[] w=[1] x=[]
     s: mux wrote: 15/15
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=7/0)
    c :   Ready: 4 r=[13] w=[13] x=[]
    c : <  channel=0 cmd=PING len=7
    c :  > channel=0 cmd=PONG len=7 (fullness=7)
    c : mux wrote: 15/15
    c : mux wrote: 15/15
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=14/0)
     s: Waiting: 1 r=[0] w=[1] x=[] (fullness=7/0)
     s:   Ready: 1 r=[] w=[1] x=[]
     s: mux wrote: 8/8
     s: Waiting: 1 r=[0] w=[] x=[] (fullness=7/0)
    c :   Ready: 4 r=[13] w=[] x=[]
    c : <  channel=0 cmd=ROUTES len=0
    fw: Got subnets: [(2, 0, False, '0.0.0.0', 0, 0), (10, 0, False, '::', 0, 0), (10, 128, True, '2001:4ba0:ffa4:180::2', 0, 0), (2, 32, True, '89.163.145.170', 0, 0), (2, 32, True, '127.0.0.1', 0, 0), (10, 128, True, '::1', 0, 0)]
    fw: Got partial nslist: [(2, '192.168.29.1')]
    fw: Got partial nslist: [(2, '192.168.29.1'), (10, 'redacted')]
    fw: Got nslist: [(2, '192.168.29.1'), (10, 'redacted')]
    fw: Got ports: 12300,12300,12299,12299
    fw: Got udp: True, user: None, tmark: 0x01, sshuttle_pid: 2664
    fw: setting up.
    fw: setting up IPv6.
    fw: ip6tables -w -t mangle -N sshuttle-m-12300
    fw: ip6tables -w -t mangle -F sshuttle-m-12300
    fw: ip6tables -w -t mangle -N sshuttle-d-12300
    fw: ip6tables -w -t mangle -F sshuttle-d-12300
    fw: ip6tables -w -t mangle -N sshuttle-t-12300
    fw: ip6tables -w -t mangle -F sshuttle-t-12300
    fw: ip6tables -w -t mangle -I OUTPUT 1 -j sshuttle-m-12300
    fw: ip6tables -w -t mangle -I PREROUTING 1 -j sshuttle-t-12300
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j RETURN -m addrtype --dst-type LOCAL
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j RETURN -m addrtype --dst-type LOCAL
    fw: ip6tables -w -t mangle -A sshuttle-d-12300 -j MARK --set-mark 0x01
    fw: ip6tables -w -t mangle -A sshuttle-d-12300 -j ACCEPT
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -m socket -j sshuttle-d-12300 -m tcp -p tcp
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -m socket -j sshuttle-d-12300 -m udp -p udp
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest redacted/32 -m udp -p udp --dport 53
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest redacted/32 -m udp -p udp --dport 53 --on-port 12299
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 2001:4ba0:ffa4:180::2/128 -m tcp -p tcp
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 2001:4ba0:ffa4:180::2/128 -m tcp -p tcp
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 2001:4ba0:ffa4:180::2/128 -m udp -p udp
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 2001:4ba0:ffa4:180::2/128 -m udp -p udp
     s:   Ready: 1 r=[0] w=[] x=[]
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest ::1/128 -m tcp -p tcp
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest ::1/128 -m tcp -p tcp
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest ::1/128 -m udp -p udp
     s: <  channel=0 cmd=PING len=7
     s:  > channel=0 cmd=PONG len=7 (fullness=7)
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest ::1/128 -m udp -p udp
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest ::/0 -m tcp -p tcp
     s: <  channel=0 cmd=PONG len=7
     s: received PING response
     s: mux wrote: 15/15
     s: Waiting: 1 r=[0] w=[] x=[] (fullness=0/0)
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest ::/0 -m tcp -p tcp --on-port 12300
    fw: ip6tables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest ::/0 -m udp -p udp
    fw: ip6tables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest ::/0 -m udp -p udp --on-port 12300
    fw: setting up IPv4.
    fw: iptables -w -t mangle -N sshuttle-m-12300
    fw: iptables -w -t mangle -F sshuttle-m-12300
    fw: iptables -w -t mangle -N sshuttle-d-12300
    fw: iptables -w -t mangle -F sshuttle-d-12300
    fw: iptables -w -t mangle -N sshuttle-t-12300
    fw: iptables -w -t mangle -F sshuttle-t-12300
    fw: iptables -w -t mangle -I OUTPUT 1 -j sshuttle-m-12300
    fw: iptables -w -t mangle -I PREROUTING 1 -j sshuttle-t-12300
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j RETURN -m addrtype --dst-type LOCAL
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j RETURN -m addrtype --dst-type LOCAL
    fw: iptables -w -t mangle -A sshuttle-d-12300 -j MARK --set-mark 0x01
    fw: iptables -w -t mangle -A sshuttle-d-12300 -j ACCEPT
    fw: iptables -w -t mangle -A sshuttle-t-12300 -m socket -j sshuttle-d-12300 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -m socket -j sshuttle-d-12300 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest 192.168.29.1/32 -m udp -p udp --dport 53
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest 192.168.29.1/32 -m udp -p udp --dport 53 --on-port 12299
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 89.163.145.170/32 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 89.163.145.170/32 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 89.163.145.170/32 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 89.163.145.170/32 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 127.0.0.1/32 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 127.0.0.1/32 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j RETURN --dest 127.0.0.1/32 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j RETURN --dest 127.0.0.1/32 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest 0.0.0.0/0 -m tcp -p tcp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest 0.0.0.0/0 -m tcp -p tcp --on-port 12300
    fw: iptables -w -t mangle -A sshuttle-m-12300 -j MARK --set-mark 0x01 --dest 0.0.0.0/0 -m udp -p udp
    fw: iptables -w -t mangle -A sshuttle-t-12300 -j TPROXY --tproxy-mark 0x01 --dest 0.0.0.0/0 -m udp -p udp --on-port 12300
    fw: which() found 'resolvectl' at /usr/bin/resolvectl
    fw: Flushing systemd's DNS resolver cache: resolvectl flush-caches
    Failed to flush caches: Unit dbus-org.freedesktop.resolve1.service not found.
    fw: Received non-zero return code 1 when flushing DNS resolver cache.
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=14/0)
    c :   Ready: 4 r=[13] w=[] x=[]
    c : <  channel=0 cmd=PONG len=7
    c : received PING response
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=0/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('193.32.127.238', 61255).
    c :  > channel=1 cmd=UDP_OPEN len=1 (fullness=0)
    c :  > channel=1 cmd=UDP_DATA len=41 (fullness=1)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 1
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=42/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 9/9
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=42/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 49/49
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=42/0)
     s:   Ready: 1 r=[0] w=[] x=[]
     s: <  channel=1 cmd=UDP_OPEN len=1
     s: Incoming UDP open.
     s: <  channel=1 cmd=UDP_DATA len=41
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'193.32.127.238' 61255.
     s: UDP: sending to b'193.32.127.238' port 61255
     s: Waiting: 2 r=[0, 4] w=[] x=[] (fullness=0/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('193.32.127.238', 61255).
    c :  > channel=1 cmd=UDP_DATA len=41 (fullness=42)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 1
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=83/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 49/49
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=83/0)
     s:   Ready: 2 r=[0] w=[] x=[]
     s: <  channel=1 cmd=UDP_DATA len=41
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'193.32.127.238' 61255.
     s: UDP: sending to b'193.32.127.238' port 61255
     s: Waiting: 2 r=[0, 4] w=[] x=[] (fullness=0/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('51.223.104.192', 62760).
    c :  > channel=1 cmd=UDP_DATA len=1423 (fullness=83)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 1
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1506/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 1431/1431
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1506/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 53590) -> ('165.227.127.54', 60001).
    c :  > channel=2 cmd=UDP_OPEN len=1 (fullness=1506)
    c :  > channel=2 cmd=UDP_DATA len=100 (fullness=1507)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 2
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1607/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 9/9
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1607/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 108/108
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1607/0)
     s:   Ready: 2 r=[0] w=[] x=[]
     s: <  channel=1 cmd=UDP_DATA len=1423
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'51.223.104.192' 62760.
     s: UDP: sending to b'51.223.104.192' port 62760
     s: Waiting: 2 r=[0, 4] w=[] x=[] (fullness=0/0)
     s:   Ready: 2 r=[0] w=[] x=[]
     s: <  channel=2 cmd=UDP_OPEN len=1
     s: Incoming UDP open.
     s: <  channel=2 cmd=UDP_DATA len=100
     s: Incoming UDP request channel=2, cmd=16909
     s: is incoming UDP data. b'165.227.127.54' 60001.
     s: UDP: sending to b'165.227.127.54' port 60001
     s: Waiting: 3 r=[0, 4, 5] w=[] x=[] (fullness=0/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('193.32.127.238', 61255).
    c :  > channel=1 cmd=UDP_DATA len=41 (fullness=1607)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 2
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1648/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 49/49
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1648/0)
     s:   Ready: 3 r=[0] w=[] x=[]
     s: <  channel=1 cmd=UDP_DATA len=41
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'193.32.127.238' 61255.
     s: UDP: sending to b'193.32.127.238' port 61255
     s: Waiting: 3 r=[0, 4, 5] w=[] x=[] (fullness=0/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('188.165.202.118', 51415).
    c :  > channel=1 cmd=UDP_DATA len=116 (fullness=1648)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 2
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1764/0)
    c :   Ready: 4 r=[8] w=[13] x=[]
    c : mux wrote: 124/124
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('redacted643d:ad8f', 51413, 0, 0) -> ('2a02:a58:814e:4800:899:8cff:6b1:8e44', 54405).
    c :  > channel=3 cmd=UDP_OPEN len=2 (fullness=1764)
    c :  > channel=3 cmd=UDP_DATA len=137 (fullness=1766)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1903/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 10/10
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1903/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 145/145
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1903/0)
     s:   Ready: 3 r=[0] w=[] x=[]
     s: <  channel=1 cmd=UDP_DATA len=116
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'188.165.202.118' 51415.
     s: UDP: sending to b'188.165.202.118' port 51415
     s: <  channel=3 cmd=UDP_OPEN len=2
     s: Incoming UDP open.
     s: <  channel=3 cmd=UDP_DATA len=137
     s: Incoming UDP request channel=3, cmd=16909
     s: is incoming UDP data. b'2a02:a58:814e:4800:899:8cff:6b1:8e44' 54405.
     s: UDP: sending to b'2a02:a58:814e:4800:899:8cff:6b1:8e44' port 54405
     s: Waiting: 4 r=[0, 4, 5, 6] w=[] x=[] (fullness=0/0)
     s:   Ready: 4 r=[4] w=[] x=[]
     s: UDP response: 299 bytes
     s:  > channel=1 cmd=UDP_DATA len=321 (fullness=0)
     s: Waiting: 4 r=[0, 4, 5, 6] w=[1] x=[] (fullness=321/0)
     s:   Ready: 4 r=[] w=[1] x=[]
     s: mux wrote: 329/329
     s: Waiting: 4 r=[0, 4, 5, 6] w=[] x=[] (fullness=321/0)
    c :   Ready: 4 r=[13] w=[] x=[]
    c : <  channel=1 cmd=UDP_DATA len=321
    c : doing send from (b'188.165.202.118', 51415) to ('192.168.29.66', 51413)
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1903/0)
     s:   Ready: 4 r=[6] w=[] x=[]
     s: UDP response: 409 bytes
     s:  > channel=3 cmd=UDP_DATA len=452 (fullness=321)
     s: Waiting: 4 r=[0, 4, 5, 6] w=[1] x=[] (fullness=773/0)
     s:   Ready: 4 r=[] w=[1] x=[]
     s: mux wrote: 460/460
     s: Waiting: 4 r=[0, 4, 5, 6] w=[] x=[] (fullness=773/0)
    c :   Ready: 4 r=[13] w=[] x=[]
    c : <  channel=3 cmd=UDP_DATA len=452
    c : doing send from (b'2a02:a58:814e:4800:899:8cff:6b1:8e44', 54405) to ('redacted643d:ad8f', 51413, 0, 0)
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1903/0)
    c :   Ready: 4 r=[9] w=[] x=[]
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 53590) -> ('165.227.127.54', 60001).
    c :  > channel=2 cmd=UDP_DATA len=96 (fullness=1903)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[13] x=[] (fullness=1999/0)
    c :   Ready: 4 r=[] w=[13] x=[]
    c : mux wrote: 104/104
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1999/0)
     s:   Ready: 4 r=[5] w=[] x=[]
     s: UDP response: 77 bytes
     s:  > channel=2 cmd=UDP_DATA len=98 (fullness=773)
     s: Waiting: 4 r=[0, 4, 5, 6] w=[1] x=[] (fullness=871/0)
     s:   Ready: 4 r=[] w=[1] x=[]
     s: mux wrote: 106/106
     s: Waiting: 4 r=[0, 4, 5, 6] w=[] x=[] (fullness=871/0)
    c :   Ready: 4 r=[13] w=[] x=[]
    c : <  channel=2 cmd=UDP_DATA len=98
    c : doing send from (b'165.227.127.54', 60001) to ('192.168.29.66', 53590)
    c : Waiting: 4 r=[5, 7, 8, 9, 10, 11, 13] w=[] x=[] (fullness=1999/0)
     s:   Ready: 4 r=[0] w=[] x=[]
     s: <  channel=2 cmd=UDP_DATA len=96
     s: Incoming UDP request channel=2, cmd=16909
     s: is incoming UDP data. b'165.227.127.54' 60001.
     s: UDP: sending to b'165.227.127.54' port 60001
     s: Waiting: 4 r=[0, 4, 5, 6] w=[] x=[] (fullness=871/0)
    c :   Ready: 4 r=[7] w=[] x=[]
    c : Accept TCP: 192.168.29.66:54699 -> 143.189.87.63:49207.
    c :  > channel=4 cmd=TCP_CONNECT len=21 (fullness=1999)
    c : creating new SockWrapper (1 now exist)
    c : new channel: 4
    c : creating new SockWrapper (2 now exist)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2020/0)
    c :   Ready: 5 r=[] w=[13] x=[]
    c : mux wrote: 29/29
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[] x=[] (fullness=2020/0)
     s:   Ready: 4 r=[0] w=[] x=[]
     s: <  channel=4 cmd=TCP_CONNECT len=21
     s: Connecting to 143.189.87.63:49207
     s: creating new SockWrapper (1 now exist)
     s: SW#7:143.189.87.63:49207: trying connect to ('143.189.87.63', 49207)
     s: SW#7:143.189.87.63:49207: connect result: [Errno 115] Operation now in progress
     s: creating new SockWrapper (2 now exist)
     s: new channel: 4
     s: SW#7:143.189.87.63:49207: trying connect to ('143.189.87.63', 49207)
     s: SW#7:143.189.87.63:49207: connect result: [Errno 114] Operation already in progress
     s: Waiting: 5 r=[0, 4, 5, 6] w=[7] x=[] (fullness=871/0)
     s:   Ready: 5 r=[] w=[7] x=[]
     s: SW#7:143.189.87.63:49207: trying connect to ('143.189.87.63', 49207)
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[] x=[] (fullness=871/0)
    c :   Ready: 5 r=[12] w=[] x=[]
    c :  > channel=4 cmd=TCP_DATA len=473 (fullness=2020)
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2493/0)
    c :   Ready: 5 r=[8, 9] w=[13] x=[]
    c : mux wrote: 481/481
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('redacted643d:ad8f', 51413, 0, 0) -> ('2001:4c4e:225d:2400:e56e:ea60:60cd:eaa7', 34141).
    c :  > channel=3 cmd=UDP_DATA len=76 (fullness=2493)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('82.102.23.170', 58944).
    c :  > channel=1 cmd=UDP_DATA len=50 (fullness=2569)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2619/0)
    c :   Ready: 5 r=[9] w=[13] x=[]
    c : mux wrote: 84/84
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('98.113.163.150', 51413).
    c :  > channel=1 cmd=UDP_DATA len=51 (fullness=2619)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2670/0)
    c :   Ready: 5 r=[9] w=[13] x=[]
    c : mux wrote: 58/58
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('211.26.103.13', 51912).
    c :  > channel=1 cmd=UDP_DATA len=50 (fullness=2670)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2720/0)
    c :   Ready: 5 r=[9] w=[13] x=[]
    c : mux wrote: 59/59
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('181.214.153.241', 45316).
    c :  > channel=1 cmd=UDP_DATA len=52 (fullness=2720)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2772/0)
    c :   Ready: 5 r=[9] w=[13] x=[]
    c : mux wrote: 58/58
    c : Accept UDP python using recvmsg.
    c : Accept UDP: ('192.168.29.66', 51413) -> ('191.101.31.24', 50515).
    c :  > channel=1 cmd=UDP_DATA len=50 (fullness=2772)
    c : Remaining DNS requests: 0
    c : Remaining UDP channels: 3
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2822/0)
    c :   Ready: 5 r=[] w=[13] x=[]
    c : mux wrote: 60/60
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[13] x=[] (fullness=2822/0)
    c :   Ready: 5 r=[] w=[13] x=[]
    c : mux wrote: 58/58
    c : read: err was: [Errno 11] Resource temporarily unavailable
    c : Waiting: 5 r=[5, 7, 8, 9, 10, 11, 12, 13] w=[] x=[] (fullness=2822/0)
     s:   Ready: 5 r=[0] w=[] x=[]
     s: <  channel=4 cmd=TCP_DATA len=473
     s: <  channel=3 cmd=UDP_DATA len=76
     s: Incoming UDP request channel=3, cmd=16909
     s: is incoming UDP data. b'2001:4c4e:225d:2400:e56e:ea60:60cd:eaa7' 34141.
     s: UDP: sending to b'2001:4c4e:225d:2400:e56e:ea60:60cd:eaa7' port 34141
     s: <  channel=1 cmd=UDP_DATA len=50
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'82.102.23.170' 58944.
     s: UDP: sending to b'82.102.23.170' port 58944
     s: <  channel=1 cmd=UDP_DATA len=51
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'98.113.163.150' 51413.
     s: UDP: sending to b'98.113.163.150' port 51413
     s: <  channel=1 cmd=UDP_DATA len=50
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'211.26.103.13' 51912.
     s: UDP: sending to b'211.26.103.13' port 51912
     s: <  channel=1 cmd=UDP_DATA len=52
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'181.214.153.241' 45316.
     s: UDP: sending to b'181.214.153.241' port 45316
     s: <  channel=1 cmd=UDP_DATA len=50
     s: Incoming UDP request channel=1, cmd=16909
     s: is incoming UDP data. b'191.101.31.24' 50515.
     s: UDP: sending to b'191.101.31.24' port 50515
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[] x=[] (fullness=871/0)
     s:   Ready: 5 r=[4] w=[] x=[]
     s: UDP response: 30 bytes
     s:  > channel=1 cmd=UDP_DATA len=51 (fullness=871)
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[1] x=[] (fullness=922/0)
     s:   Ready: 5 r=[] w=[1] x=[]
     s: mux wrote: 59/59
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[] x=[] (fullness=922/0)
    c :   Ready: 5 r=[13] w=[] x=[]
    c : <  channel=1 cmd=UDP_DATA len=51
    c : doing send from (b'98.113.163.150', 51413) to ('192.168.29.66', 51413)
    fw: undoing changes.
    fw: undoing IPv6 changes.
    fw: ip6tables -w -t mangle -D OUTPUT -j sshuttle-m-12300
    fw: ip6tables -w -t mangle -F sshuttle-m-12300
    fw: ip6tables -w -t mangle -X sshuttle-m-12300
    fw: ip6tables -w -t mangle -D PREROUTING -j sshuttle-t-12300
    fw: ip6tables -w -t mangle -F sshuttle-t-12300
    fw: ip6tables -w -t mangle -X sshuttle-t-12300
    fw: ip6tables -w -t mangle -F sshuttle-d-12300
    fw: ip6tables -w -t mangle -X sshuttle-d-12300
    fw: undoing IPv4 changes.
    fw: iptables -w -t mangle -D OUTPUT -j sshuttle-m-12300
    fw: iptables -w -t mangle -F sshuttle-m-12300
    fw: iptables -w -t mangle -X sshuttle-m-12300
    fw: iptables -w -t mangle -D PREROUTING -j sshuttle-t-12300
    fw: iptables -w -t mangle -F sshuttle-t-12300
    fw: iptables -w -t mangle -X sshuttle-t-12300
    fw: iptables -w -t mangle -F sshuttle-d-12300
    fw: iptables -w -t mangle -X sshuttle-d-12300
    fw: which() found 'resolvectl' at /usr/bin/resolvectl
    fw: Flushing systemd's DNS resolver cache: resolvectl flush-caches
    Failed to flush caches: Unit dbus-org.freedesktop.resolve1.service not found.
    fw: Received non-zero return code 1 when flushing DNS resolver cache.
     s:   Ready: 5 r=[4] w=[] x=[]
     s: UDP response: 20 bytes
     s:  > channel=1 cmd=UDP_DATA len=40 (fullness=922)
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[1] x=[] (fullness=962/0)
     s:   Ready: 5 r=[] w=[1] x=[]
     s: mux wrote: 48/48
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[] x=[] (fullness=962/0)
    Traceback (most recent call last):
      File "/usr/bin/sshuttle", line 33, in <module>
        sys.exit(load_entry_point('sshuttle==1.1.1', 'console_scripts', 'sshuttle')())
      File "/usr/lib/python3.10/site-packages/sshuttle/cmdline.py", line 89, in main
        return_code = client.main(ipport_v6, ipport_v4,
      File "/usr/lib/python3.10/site-packages/sshuttle/client.py", line 1065, in main
        return _main(tcp_listener, udp_listener, fw, ssh_cmd, remotename,
      File "/usr/lib/python3.10/site-packages/sshuttle/client.py", line 719, in _main
        ssnet.runonce(handlers, mux)
      File "/usr/lib/python3.10/site-packages/sshuttle/ssnet.py", line 616, in runonce
        h.callback(s)
      File "/usr/lib/python3.10/site-packages/sshuttle/ssnet.py", line 504, in callback
        self.handle()
      File "/usr/lib/python3.10/site-packages/sshuttle/ssnet.py", line 492, in handle
        self.got_packet(channel, cmd, data)
      File "/usr/lib/python3.10/site-packages/sshuttle/ssnet.py", line 437, in got_packet
        callback(cmd, data)
      File "/usr/lib/python3.10/site-packages/sshuttle/client.py", line 471, in <lambda>
        mux.channels[chan] = lambda cmd, data: udp_done(
      File "/usr/lib/python3.10/site-packages/sshuttle/client.py", line 457, in udp_done
        method.send_udp(sock, srcip, dstip, data)
      File "/usr/lib/python3.10/site-packages/sshuttle/methods/tproxy.py", line 94, in send_udp
        sender.bind(srcip)
    OSError: [Errno 98] Address already in use
    c : SW#12:192.168.29.66:54699: deleting (1 remain)
    c :  > channel=4 cmd=TCP_EOF len=0 (fullness=2822)
    c : SW'unknown':Mux#4: done writing
    c : SW'unknown':Mux#4: deleting (0 remain)
     s:   Ready: 5 r=[4] w=[] x=[]
     s: UDP response: 20 bytes
     s:  > channel=1 cmd=UDP_DATA len=40 (fullness=962)
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[1] x=[] (fullness=1002/0)
     s:   Ready: 5 r=[] w=[1] x=[]
     s: mux wrote: 48/48
     s: read: err was: [Errno 11] Resource temporarily unavailable
     s: Waiting: 5 r=[0, 4, 5, 6, 7] w=[] x=[] (fullness=1002/0)
    
    
    opened by shufuwa 0
  • Possibly warn the user about being stupid?

    Possibly warn the user about being stupid?

    First time sshuttle user, I was stupid enough to use the following command line:

    sshuttle -r [email protected] 10.58.143.0/0

    because I wanted to use sshuttle to route to the 10.58.143 subnet. Which worked great. Even greater as expected, because, of course, the /0 at the end cause sshuttle to route everything to that host.

    From that host, the internet is open, except the mail ports .. so I was able to do everything normally, except send mail, and contacted my mail provider telling them their mail server was broken.

    Which of course was completely my fault, I just didn't realize this for quite a while.

    Would it be possible to emit a warning if the cidr address bits don't seem to match the network address?

    opened by gbl 0
  • using openvpn and sshuttle together

    using openvpn and sshuttle together

    imagine i have a VPS server(VPS1) in my country and i connect to it with openvpn. then because of Censorship i have to connect it to my other VPS out side of my country(VPS2). so i want to use sshuttle to connect VPS1 to VPS2 and when i use my openvpn and connect to VPS , i could access the internet with VPS2 ip address.because of Censorship i can not use openvpn to connect to VPS2 directly.also other things like shadowsocks and ss5 not work.i have to use ssh because it is open.and the reason that i want use openvpn is i want to send all traffic (like my phone) to vps. the problem is when i use sshuttle and connect my VPS1 to VPS2 , my openvpn connect to my VPS1 is broken and i can not connect.but from VPS1 perspective i can see internet with VPS2 ip address. can u please help me? if you have other solutions i will appreciate that thanks

    opened by admiralhr99 0
  • Problems with routing/pf on macOS with ARM/M1 with VPN as default route

    Problems with routing/pf on macOS with ARM/M1 with VPN as default route

    I saw this issue (https://github.com/sshuttle/sshuttle/issues/563), and I tested it now. On a clean install on an Intel Mac, it works fine. On a new M1 Mac with the same OS version, sshuttle can't route through a VPN interface (in my case, GlobalProtect).

    The workaround with creating static routes on the physical interface works fine.

    What can I do to help pinpoint this issue?

    sshuttle v1.1.1 macOS 12.6

    opened by wh0else 0
Releases(v1.1.1)
  • v1.1.1(Sep 5, 2022)

    What's Changed

    • Make --sudoers option work properly, fix regression in v1.1.0 by @skuhl in https://github.com/sshuttle/sshuttle/pull/727
    • Clarify --disable-ipv6 in man page. by @skuhl in https://github.com/sshuttle/sshuttle/pull/729
    • Improve message when bind fails with a IPv6 address by @skuhl in https://github.com/sshuttle/sshuttle/pull/728
    • Bump actions/setup-python from 2.3.1 to 2.3.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/730
    • Bump pytest from 6.2.5 to 7.0.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/731
    • Add tests for host name resolution by @mangano-ito in https://github.com/sshuttle/sshuttle/pull/734
    • Allows wildcard host names as subnets by @mangano-ito in https://github.com/sshuttle/sshuttle/pull/735
    • Bump pytest from 7.0.0 to 7.0.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/737
    • Bump actions/setup-python from 2.3.2 to 3 by @dependabot in https://github.com/sshuttle/sshuttle/pull/741
    • Bump actions/checkout from 2.4.0 to 3 by @dependabot in https://github.com/sshuttle/sshuttle/pull/743
    • Fix typo by @lbausch in https://github.com/sshuttle/sshuttle/pull/739
    • Remove --sudoers, improve --sudoers-no-modify by @skuhl in https://github.com/sshuttle/sshuttle/pull/745
    • Bump pytest from 7.0.1 to 7.1.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/747
    • Bump sphinx from 4.3.2 to 4.5.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/749
    • Bump pytest from 7.1.1 to 7.1.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/753
    • Bump sphinx from 4.5.0 to 5.0.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/761
    • avoid moving/renaming the hosts file - fix docker container issue by @nikatlas in https://github.com/sshuttle/sshuttle/pull/759
    • Bump sphinx from 5.0.0 to 5.0.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/762
    • Bump actions/setup-python from 3 to 4 by @dependabot in https://github.com/sshuttle/sshuttle/pull/763
    • fixed some spelling mistakes by @venthur in https://github.com/sshuttle/sshuttle/pull/766
    • Bump sphinx from 5.0.1 to 5.0.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/768
    • Bump setuptools-scm from 6.4.2 to 7.0.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/770
    • Bump setuptools-scm from 7.0.1 to 7.0.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/771
    • Fix incorrect permissions for /etc/hosts by @skuhl in https://github.com/sshuttle/sshuttle/pull/772
    • Bump setuptools-scm from 7.0.2 to 7.0.3 by @dependabot in https://github.com/sshuttle/sshuttle/pull/773
    • Bump setuptools-scm from 7.0.3 to 7.0.4 by @dependabot in https://github.com/sshuttle/sshuttle/pull/775
    • Bump setuptools-scm from 7.0.4 to 7.0.5 by @dependabot in https://github.com/sshuttle/sshuttle/pull/776
    • Bump sphinx from 5.0.2 to 5.1.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/780
    • Bump sphinx from 5.1.0 to 5.1.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/783
    • This test broke in Python3.11 by @venthur in https://github.com/sshuttle/sshuttle/pull/791
    • all elements are strings by @venthur in https://github.com/sshuttle/sshuttle/pull/792
    • Replace setuptools_scm with bump2version by @venthur in https://github.com/sshuttle/sshuttle/pull/793
    • Bump pytest from 7.1.2 to 7.1.3 by @dependabot in https://github.com/sshuttle/sshuttle/pull/795

    New Contributors

    • @mangano-ito made their first contribution in https://github.com/sshuttle/sshuttle/pull/734
    • @lbausch made their first contribution in https://github.com/sshuttle/sshuttle/pull/739
    • @nikatlas made their first contribution in https://github.com/sshuttle/sshuttle/pull/759

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.1.0...v1.1.1

    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Jan 27, 2022)

    Major changes

    • Support the sudo use_pty option which is now the default in some operating systems. See #712.
    • Support doas as well as sudo. See #708.

    What's Changed

    • Readme: add instructions for installing via MacPorts by @herbygillot in https://github.com/sshuttle/sshuttle/pull/576
    • Ignore quotes in config file passed to sshuttle with @ by @skuhl in https://github.com/sshuttle/sshuttle/pull/579
    • Refactor debug, log and Fatal messages. by @skuhl in https://github.com/sshuttle/sshuttle/pull/581
    • Improve error messages related to sshuttle server. by @skuhl in https://github.com/sshuttle/sshuttle/pull/580
    • tproxy: Skip firewall chains if packets have local destination. by @skuhl in https://github.com/sshuttle/sshuttle/pull/578
    • remove py35 from tox.ini by @masahitojp in https://github.com/sshuttle/sshuttle/pull/584
    • feat: remove mock from test dependencies. by @masahitojp in https://github.com/sshuttle/sshuttle/pull/585
    • chore: remove attrs from requirements-test.txt by @masahitojp in https://github.com/sshuttle/sshuttle/pull/586
    • Bump pytest-cov from 2.10.1 to 2.11.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/588
    • Bump pytest-cov from 2.11.0 to 2.11.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/590
    • --latency-buffer-size now impacts server's buffer. by @skuhl in https://github.com/sshuttle/sshuttle/pull/587
    • Bump pytest from 6.2.1 to 6.2.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/592
    • Allow comments in configuration file by @khink in https://github.com/sshuttle/sshuttle/pull/602
    • firewall: Allow overriding the TTL by @vkareh in https://github.com/sshuttle/sshuttle/pull/606
    • Bump setuptools-scm from 5.0.1 to 5.0.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/608
    • Make exit code indicate a problem when pidfile is not writable. by @skuhl in https://github.com/sshuttle/sshuttle/pull/609
    • Bump pyflakes from 2.2.0 to 2.3.0, flake8 from 3.8.4 to 3.9.0 by @brianmay in https://github.com/sshuttle/sshuttle/pull/614
    • Bump setuptools-scm from 5.0.2 to 6.0.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/616
    • Fix firewall setup/teardown failure on xtable lock by @patrislav1 in https://github.com/sshuttle/sshuttle/pull/617
    • Fix DnsProxy by @patrislav1 in https://github.com/sshuttle/sshuttle/pull/618
    • Bump pyflakes from 2.3.0 to 2.3.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/620
    • Update README.rst by @necrose99 in https://github.com/sshuttle/sshuttle/pull/622
    • Bump pytest from 6.2.2 to 6.2.3 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/623
    • Create Dependabot config file by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/624
    • Bump flake8 from 3.9.0 to 3.9.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/627
    • README.rst: fix Gentoo entry syntax by @thesamesam in https://github.com/sshuttle/sshuttle/pull/630
    • Bump pytest from 6.2.3 to 6.2.4 by @dependabot in https://github.com/sshuttle/sshuttle/pull/633
    • Warn about adding sshuttle to sudoers. by @skuhl in https://github.com/sshuttle/sshuttle/pull/635
    • Bump flake8 from 3.9.1 to 3.9.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/636
    • Bump actions/checkout from 2 to 2.3.4 by @dependabot in https://github.com/sshuttle/sshuttle/pull/638
    • Bump actions/setup-python from 2 to 2.2.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/639
    • Bump pytest-cov from 2.11.1 to 2.12.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/640
    • Flush systemd DNS cache on startup and exit. by @skuhl in https://github.com/sshuttle/sshuttle/pull/634
    • Fix: Allow --to-ns and --ns-host without --dns. by @skuhl in https://github.com/sshuttle/sshuttle/pull/643
    • Fix --tmark option by @skuhl in https://github.com/sshuttle/sshuttle/pull/644
    • Remove dead code in hostwatch.py by @skuhl in https://github.com/sshuttle/sshuttle/pull/645
    • Update documentation by @skuhl in https://github.com/sshuttle/sshuttle/pull/647
    • Fix #637: sudoers-add should always write to /etc/sudoers.d/... by @skuhl in https://github.com/sshuttle/sshuttle/pull/648
    • Add IPv6 support to nat (iptables) method. by @skuhl in https://github.com/sshuttle/sshuttle/pull/646
    • Bump pytest-cov from 2.12.0 to 2.12.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/649
    • Improve hostwatch robustness and documentation by @skuhl in https://github.com/sshuttle/sshuttle/pull/650
    • replace psutil with os by @kylekyle in https://github.com/sshuttle/sshuttle/pull/656
    • Remove psutil from requirements.txt by @kylekyle in https://github.com/sshuttle/sshuttle/pull/657
    • Print pfctl error message when it returns non-zero. by @skuhl in https://github.com/sshuttle/sshuttle/pull/658
    • Remove ttl hack & require -r option. by @skuhl in https://github.com/sshuttle/sshuttle/pull/661
    • Print server's python version earlier by @skuhl in https://github.com/sshuttle/sshuttle/pull/667
    • Improve error message when sudo's use_pty option is enabled. by @skuhl in https://github.com/sshuttle/sshuttle/pull/668
    • Bump setuptools-scm from 6.0.1 to 6.1.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/672
    • Bump pytest from 6.2.4 to 6.2.5 by @dependabot in https://github.com/sshuttle/sshuttle/pull/674
    • Bump setuptools-scm from 6.1.1 to 6.3.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/675
    • add openSUSE install instructions by @balping in https://github.com/sshuttle/sshuttle/pull/676
    • Bump setuptools-scm from 6.3.1 to 6.3.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/678
    • Simple maintenance improvements by @a1346054 in https://github.com/sshuttle/sshuttle/pull/682
    • Bump pytest-cov from 2.12.1 to 3.0.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/683
    • Bump flake8 from 4.0.0 to 4.0.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/687
    • Bump actions/checkout from 2.3.4 to 2.3.5 by @dependabot in https://github.com/sshuttle/sshuttle/pull/689
    • pythonpackage.yml: Add Python 3.10 to the testing by @cclauss in https://github.com/sshuttle/sshuttle/pull/694
    • Bump actions/checkout from 2.3.5 to 2.4.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/695
    • Bump actions/setup-python from 2.2.2 to 2.3.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/700
    • Bump actions/setup-python from 2.3.0 to 2.3.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/702
    • Make ipfw method work by @JohnHay in https://github.com/sshuttle/sshuttle/pull/705
    • Minor improvement to tproxy documentation. by @skuhl in https://github.com/sshuttle/sshuttle/pull/709
    • Improve error message if tproxy method is used without running as root. by @skuhl in https://github.com/sshuttle/sshuttle/pull/710
    • Fix defunct process after flushing DNS cache. by @skuhl in https://github.com/sshuttle/sshuttle/pull/711
    • Fix sshuttle when using sudo's use_pty option. by @skuhl in https://github.com/sshuttle/sshuttle/pull/712
    • Allow use of sudo or doas. by @skuhl in https://github.com/sshuttle/sshuttle/pull/708
    • Bump setuptools-scm from 6.3.2 to 6.4.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/714
    • Bump setuptools-scm from 6.4.0 to 6.4.1 by @dependabot in https://github.com/sshuttle/sshuttle/pull/717
    • Bump setuptools-scm from 6.4.1 to 6.4.2 by @dependabot in https://github.com/sshuttle/sshuttle/pull/718
    • Bump sphinx from 4.3.2 to 4.4.0 by @dependabot in https://github.com/sshuttle/sshuttle/pull/713
    • Revert "Bump sphinx from 4.3.2 to 4.4.0" by @brianmay in https://github.com/sshuttle/sshuttle/pull/719

    New Contributors

    • @herbygillot made their first contribution in https://github.com/sshuttle/sshuttle/pull/576
    • @masahitojp made their first contribution in https://github.com/sshuttle/sshuttle/pull/584
    • @khink made their first contribution in https://github.com/sshuttle/sshuttle/pull/602
    • @vkareh made their first contribution in https://github.com/sshuttle/sshuttle/pull/606
    • @patrislav1 made their first contribution in https://github.com/sshuttle/sshuttle/pull/617
    • @necrose99 made their first contribution in https://github.com/sshuttle/sshuttle/pull/622
    • @dependabot made their first contribution in https://github.com/sshuttle/sshuttle/pull/627
    • @thesamesam made their first contribution in https://github.com/sshuttle/sshuttle/pull/630
    • @kylekyle made their first contribution in https://github.com/sshuttle/sshuttle/pull/656
    • @balping made their first contribution in https://github.com/sshuttle/sshuttle/pull/676
    • @a1346054 made their first contribution in https://github.com/sshuttle/sshuttle/pull/682
    • @JohnHay made their first contribution in https://github.com/sshuttle/sshuttle/pull/705

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.0.5...v1.1.0

    Source code(tar.gz)
    Source code(zip)
  • v1.0.5(Jan 27, 2022)

    What's Changed

    • Change license text to LGPL-2.1 by @Rylan12 in https://github.com/sshuttle/sshuttle/pull/511
    • Fixed typo. by @xoro in https://github.com/sshuttle/sshuttle/pull/512
    • Fix python2 server compatibility by @drjbarker in https://github.com/sshuttle/sshuttle/pull/513
    • Bump attrs from 20.1.0 to 20.2.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/519
    • Fix #494 sshuttle caught in infinite select() loop. by @skuhl in https://github.com/sshuttle/sshuttle/pull/520
    • Bump pytest from 6.0.1 to 6.0.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/522
    • Bump pytest from 6.0.2 to 6.1.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/529
    • Bump pytest from 6.1.0 to 6.1.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/533
    • Bump flake8 from 3.8.3 to 3.8.4 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/534
    • Add psutil as dependency in setup.py by @ed-velez in https://github.com/sshuttle/sshuttle/pull/536
    • Include sshuttle version in verbose output. by @skuhl in https://github.com/sshuttle/sshuttle/pull/537
    • sdnotify.py documentation by @skuhl in https://github.com/sshuttle/sshuttle/pull/543
    • Only write /etc/hosts when necessary. by @skuhl in https://github.com/sshuttle/sshuttle/pull/545
    • When subnets and excludes are specified with hostnames, use all IPs. by @skuhl in https://github.com/sshuttle/sshuttle/pull/541
    • Document -s/--subnets option in man page by @nickray in https://github.com/sshuttle/sshuttle/pull/547
    • Make prefixes in verbose output more consistent. by @skuhl in https://github.com/sshuttle/sshuttle/pull/548
    • Allow no remote to work. by @skuhl in https://github.com/sshuttle/sshuttle/pull/544
    • Make nat and nft rules consistent; improve rule ordering. by @skuhl in https://github.com/sshuttle/sshuttle/pull/549
    • IPv6 support in nft method. by @skuhl in https://github.com/sshuttle/sshuttle/pull/550
    • Bump pytest from 6.1.1 to 6.1.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/553
    • Improve consistency of PATH, environments, and which() by @skuhl in https://github.com/sshuttle/sshuttle/pull/551
    • Improve nft IPv6 support. by @skuhl in https://github.com/sshuttle/sshuttle/pull/557
    • Intercept DNS requests sent by systemd-resolved. by @skuhl in https://github.com/sshuttle/sshuttle/pull/552
    • Fix "DNS request from ... to None" messages. by @skuhl in https://github.com/sshuttle/sshuttle/pull/558
    • Bump attrs from 20.2.0 to 20.3.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/560
    • Fix handling OSError in FirewallClient#init by @Krout0n in https://github.com/sshuttle/sshuttle/pull/561
    • Bump setuptools-scm from 4.1.2 to 5.0.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/569
    • Bump pytest from 6.1.2 to 6.2.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/570
    • Bump pytest from 6.2.0 to 6.2.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/571
    • Bump mock from 2.0.0 to 4.0.3 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/568
    • Launch multiple sshuttle with different tproxy mark by @samuelbernardolip in https://github.com/sshuttle/sshuttle/pull/565
    • Refactor automatic method selection. by @skuhl in https://github.com/sshuttle/sshuttle/pull/575

    New Contributors

    • @Rylan12 made their first contribution in https://github.com/sshuttle/sshuttle/pull/511
    • @xoro made their first contribution in https://github.com/sshuttle/sshuttle/pull/512
    • @ed-velez made their first contribution in https://github.com/sshuttle/sshuttle/pull/536
    • @nickray made their first contribution in https://github.com/sshuttle/sshuttle/pull/547
    • @Krout0n made their first contribution in https://github.com/sshuttle/sshuttle/pull/561
    • @samuelbernardolip made their first contribution in https://github.com/sshuttle/sshuttle/pull/565

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.0.4...v1.0.5

    Source code(tar.gz)
    Source code(zip)
  • v1.0.4(Jan 27, 2022)

    What's Changed

    • Fix formatting in installation.rst by @brianmay in https://github.com/sshuttle/sshuttle/pull/487
    • Douglas Adams and Deep Thought was wrong, 42 is not the answer by @erikselin in https://github.com/sshuttle/sshuttle/pull/490
    • README: add Ubuntu by @AsciiWolf in https://github.com/sshuttle/sshuttle/pull/495
    • Bump pytest from 5.4.3 to 6.0.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/497
    • Bump pytest from 6.0.0 to 6.0.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/498
    • Fix doc about --listen option by @shimobayashi in https://github.com/sshuttle/sshuttle/pull/500
    • fix: require -r/--remote by @joshuarli in https://github.com/sshuttle/sshuttle/pull/502
    • Add missing package in OpenWRT documentation by @lnaundorf in https://github.com/sshuttle/sshuttle/pull/501
    • Fix parse_hostport to always return string for host by @brianmay in https://github.com/sshuttle/sshuttle/pull/506
    • Bump pytest-cov from 2.10.0 to 2.10.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/509
    • allow Mux() flush/fill to work with python < 3.5 by @ddstreet in https://github.com/sshuttle/sshuttle/pull/507
    • Bump attrs from 19.3.0 to 20.1.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/510

    New Contributors

    • @erikselin made their first contribution in https://github.com/sshuttle/sshuttle/pull/490
    • @AsciiWolf made their first contribution in https://github.com/sshuttle/sshuttle/pull/495
    • @shimobayashi made their first contribution in https://github.com/sshuttle/sshuttle/pull/500
    • @lnaundorf made their first contribution in https://github.com/sshuttle/sshuttle/pull/501
    • @ddstreet made their first contribution in https://github.com/sshuttle/sshuttle/pull/507

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.0.3...v1.0.4

    Source code(tar.gz)
    Source code(zip)
  • v1.0.3(Jan 27, 2022)

    What's Changed

    • Restrict setuptools from executing on Python2 by @wilsonehusin in https://github.com/sshuttle/sshuttle/pull/471
    • Add missing import by @brianmay in https://github.com/sshuttle/sshuttle/pull/476
    • Fix formatting typos in usage docs by @chrisburr in https://github.com/sshuttle/sshuttle/pull/483

    New Contributors

    • @wilsonehusin made their first contribution in https://github.com/sshuttle/sshuttle/pull/471
    • @chrisburr made their first contribution in https://github.com/sshuttle/sshuttle/pull/483

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.0.2...v1.0.3

    Source code(tar.gz)
    Source code(zip)
  • v1.0.2(Jan 27, 2022)

    What's Changed

    • Bump flake8 from 3.8.2 to 3.8.3 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/456
    • fix connection with @ sign in username by @alex0z1 in https://github.com/sshuttle/sshuttle/pull/460
    • ref: replace usage of deprecated imp by @joshuarli in https://github.com/sshuttle/sshuttle/pull/449
    • doc: py2 removal clean sweep by @joshuarli in https://github.com/sshuttle/sshuttle/pull/461
    • Bump pytest-cov from 2.9.0 to 2.10.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/465
    • leave use of default port to ssh command by @tokas in https://github.com/sshuttle/sshuttle/pull/468

    New Contributors

    • @alex0z1 made their first contribution in https://github.com/sshuttle/sshuttle/pull/460
    • @tokas made their first contribution in https://github.com/sshuttle/sshuttle/pull/468

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v1.0.1...v1.0.2

    Source code(tar.gz)
    Source code(zip)
  • v1.0.1(Jan 27, 2022)

  • v1.0.0(Jan 27, 2022)

    What's Changed

    • Fix/pep8 by @venthur in https://github.com/sshuttle/sshuttle/pull/277
    • assembler import fix by @crahan in https://github.com/sshuttle/sshuttle/pull/319
    • Hyphen in hostname fix by @crahan in https://github.com/sshuttle/sshuttle/pull/318
    • Add install instructions for Arch Linux by @ElijahLynn in https://github.com/sshuttle/sshuttle/pull/327
    • Add install instructions for Fedora by @jeremyeder in https://github.com/sshuttle/sshuttle/pull/341
    • Fix tests for existing PR-312 by @danjeffery in https://github.com/sshuttle/sshuttle/pull/337
    • update readme to correct flag for arch linux. by @JAugusto42 in https://github.com/sshuttle/sshuttle/pull/342
    • Fix Arch linux installation instructions by @cptpcrd in https://github.com/sshuttle/sshuttle/pull/346
    • Use prompt for sudo, not needed for doas by @twinshadow in https://github.com/sshuttle/sshuttle/pull/353
    • The size of pfioc_rule grew in OpenBSD 6.4 by @twinshadow in https://github.com/sshuttle/sshuttle/pull/354
    • Fix crashing on ECONNABORTED by @chemikadze in https://github.com/sshuttle/sshuttle/pull/359
    • docs: openwrt by @unl89 in https://github.com/sshuttle/sshuttle/pull/360
    • Fix capturing of local DNS servers by @chemikadze in https://github.com/sshuttle/sshuttle/pull/358
    • readme: add Nix by @unl89 in https://github.com/sshuttle/sshuttle/pull/364
    • Add tproxy udp port mark filter that was missed in #144, fixes #367. by @normanr in https://github.com/sshuttle/sshuttle/pull/368
    • README: add FreeBSD by @lwhsu in https://github.com/sshuttle/sshuttle/pull/373
    • Fix broken string substitution from a765aa32 by @drjbarker in https://github.com/sshuttle/sshuttle/pull/375
    • Add option for latency control buffer size by @drjbarker in https://github.com/sshuttle/sshuttle/pull/376
    • Make hostwatch locale-independent by @BenWiederhake in https://github.com/sshuttle/sshuttle/pull/379
    • Auto sudoers file by @wmantly in https://github.com/sshuttle/sshuttle/pull/269
    • Link Directly to TCP Over TCP Explanation by @naclander in https://github.com/sshuttle/sshuttle/pull/291
    • Handle when default chains already exists (#392) by @hloeung in https://github.com/sshuttle/sshuttle/pull/393
    • Simplify nftables based method by @juw in https://github.com/sshuttle/sshuttle/pull/389
    • Trap UnicodeError to handle cases where hostnames returned by DNS are invalid by @lordsutch in https://github.com/sshuttle/sshuttle/pull/408
    • Run all systemd notifications from main process by @rjharmon in https://github.com/sshuttle/sshuttle/pull/403
    • Add password in prompt cmd by @vBlackOut in https://github.com/sshuttle/sshuttle/pull/401
    • Fix 410 Issue Correcte syntax write for connect server by @vBlackOut in https://github.com/sshuttle/sshuttle/pull/411
    • Fix parsing of hostnames to allow ssh aliases defined in ssh configs) by @tobigrimm in https://github.com/sshuttle/sshuttle/pull/418
    • sshuttle as service link by @perfecto25 in https://github.com/sshuttle/sshuttle/pull/425
    • fix crash triggered by port scans closing socket by @mheiges in https://github.com/sshuttle/sshuttle/pull/424
    • Add 'My VPN broke and need a solution fast' to the docs. by @jtagcat in https://github.com/sshuttle/sshuttle/pull/430
    • Bump pytest-cov from 2.6.0 to 2.8.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/437
    • Bump pytest from 3.4.2 to 5.4.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/438
    • Create github workflow by @brianmay in https://github.com/sshuttle/sshuttle/pull/435
    • Bump attrs from 19.1.0 to 19.3.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/439
    • Bump setuptools-scm from 1.15.6 to 3.5.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/440
    • Bump flake8 from 3.6.0 to 3.8.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/441
    • Bump flake8 from 3.8.1 to 3.8.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/442
    • Bump pytest-cov from 2.8.1 to 2.9.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/443
    • Bump setuptools-scm from 3.5.0 to 4.0.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/444
    • Bump setuptools-scm from 4.0.0 to 4.1.0 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/445
    • Bump setuptools-scm from 4.1.0 to 4.1.1 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/446
    • Fix Python 3.8 file operations by @brianmay in https://github.com/sshuttle/sshuttle/pull/431
    • Bump setuptools-scm from 4.1.1 to 4.1.2 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/447
    • chore: remove branching related to python < 3.5 by @joshuarli in https://github.com/sshuttle/sshuttle/pull/450
    • Bump pytest from 5.4.2 to 5.4.3 by @dependabot-preview in https://github.com/sshuttle/sshuttle/pull/451

    New Contributors

    • @crahan made their first contribution in https://github.com/sshuttle/sshuttle/pull/319
    • @ElijahLynn made their first contribution in https://github.com/sshuttle/sshuttle/pull/327
    • @jeremyeder made their first contribution in https://github.com/sshuttle/sshuttle/pull/341
    • @danjeffery made their first contribution in https://github.com/sshuttle/sshuttle/pull/337
    • @JAugusto42 made their first contribution in https://github.com/sshuttle/sshuttle/pull/342
    • @cptpcrd made their first contribution in https://github.com/sshuttle/sshuttle/pull/346
    • @twinshadow made their first contribution in https://github.com/sshuttle/sshuttle/pull/353
    • @chemikadze made their first contribution in https://github.com/sshuttle/sshuttle/pull/359
    • @unl89 made their first contribution in https://github.com/sshuttle/sshuttle/pull/360
    • @normanr made their first contribution in https://github.com/sshuttle/sshuttle/pull/368
    • @lwhsu made their first contribution in https://github.com/sshuttle/sshuttle/pull/373
    • @BenWiederhake made their first contribution in https://github.com/sshuttle/sshuttle/pull/379
    • @wmantly made their first contribution in https://github.com/sshuttle/sshuttle/pull/269
    • @hloeung made their first contribution in https://github.com/sshuttle/sshuttle/pull/393
    • @lordsutch made their first contribution in https://github.com/sshuttle/sshuttle/pull/408
    • @rjharmon made their first contribution in https://github.com/sshuttle/sshuttle/pull/403
    • @vBlackOut made their first contribution in https://github.com/sshuttle/sshuttle/pull/401
    • @tobigrimm made their first contribution in https://github.com/sshuttle/sshuttle/pull/418
    • @perfecto25 made their first contribution in https://github.com/sshuttle/sshuttle/pull/425
    • @mheiges made their first contribution in https://github.com/sshuttle/sshuttle/pull/424
    • @jtagcat made their first contribution in https://github.com/sshuttle/sshuttle/pull/430

    Full Changelog: https://github.com/sshuttle/sshuttle/compare/v0.78.5...v1.0.0

    Source code(tar.gz)
    Source code(zip)
Owner
null
🍯 16 honeypots in a single pypi package (DNS, HTTP Proxy, HTTP, HTTPS, SSH, POP3, IMAP, STMP, VNC, SMB, SOCKS5, Redis, TELNET, Postgres & MySQL)

Easy to setup customizable honeypots for monitoring network traffic, bots activities and username\password credentials. The current available honeypot

QeeqBox 242 Nov 22, 2022
Arbitrium is a cross-platform, fully undetectable remote access trojan, to control Android, Windows and Linux and doesn't require any firewall exceptions or port forwarding rules

About: Arbitrium is a cross-platform is a remote access trojan (RAT), Fully UnDetectable (FUD), It allows you to control Android, Windows and Linux an

Ayoub 861 Feb 18, 2021
Python DNS Lookup: The Domain Name System (DNS) is basically the phonebook of the Internet

-Python-DNS-Lookup- ✨ ?? Python DNS Lookup ✨ ?? The Domain Name System (DNS) is

Ronnie Atuhaire 2 Feb 14, 2022
Log4Shell RCE Exploit - fully independent exploit does not require any 3rd party binaries.

Log4Shell RCE Exploit fully independent exploit does not require any 3rd party binaries. The exploit spraying the payload to all possible logged HTTP

null 257 Nov 21, 2022
Wireguard VPN Server Installer for: on Ubuntu, Debian, Arch, Fedora and CentOS

XGuard (Wireguard Server Installer) This Python script should make the installation of a Wireguard VPN server as easy as possible. Wireguard is a mode

Johann 3 Nov 4, 2022
SonicWALL SSL-VPN Web Server Vulnerable Exploit

SonicWALL SSL-VPN Web Server Vulnerable Exploit

null 44 Nov 15, 2022
this keylogger is only for pc not for android but it will only work on those pc who have python installed it is made for all linux,windows and macos

Keylogger this keylogger is only for pc not for android but it will only work on those pc who have python installed it is made for all linux,windows a

Titan_Exodous 1 Nov 4, 2021
A proxy server application written in python for trial purposes

python-proxy-server This is a proxy server ❤️ application written in python ❤️ for trial purposes. The purpose of the application; Connecting to Hacke

Ali Kasimoglu 2 Dec 27, 2021
VPN Overall Reconnaissance, Testing, Enumeration and eXploitation Toolkit

Vortex VPN Overall Reconnaissance, Testing, Enumeration and Exploitation Toolkit Overview A very simple Python framework, inspired by SprayingToolkit,

null 309 Nov 9, 2022
SSH Tool For OSINT and then Cracking.

sshmap SSH Tool For OSINT and then Cracking. Linux Systems Only Usage: Scanner Syntax: scanner start/stop/status - Sarts/stops/sho

Miss Bliss 5 Apr 4, 2022
The Linux defender anti-virus software ported to work on CentOS Linux.

By: Seanpm2001, Et; Al. Top README.md Read this article in a different language Sorted by: A-Z Sorting options unavailable ( af Afrikaans Afrikaans |

Sean P. Myrick V19.1.7.2 2 Sep 12, 2022
Cowrie SSH/Telnet Honeypot https://cowrie.readthedocs.io

Cowrie Welcome to the Cowrie GitHub repository This is the official repository for the Cowrie SSH and Telnet Honeypot effort. What is Cowrie Cowrie is

Cowrie 4.1k Nov 21, 2022
A simple multi-threaded distributed SSH brute-forcing tool written in Python.

OrbitalDump A simple multi-threaded distributed SSH brute-forcing tool written in Python. How it Works When the script is executed without the --proxi

K4YT3X 393 Nov 20, 2022
A python package with tools to read and postprocess the output of the channel DNS-solver (davecats/channel), as well as its associated postprocessing tools.

Python tools for davecats/channel A python package with tools to read and postprocess the output of the channel dns solver, as well as its associated

Andrea Andreolli 1 Dec 13, 2021
A high-performance DNS stub resolver for bulk lookups and reconnaissance (subdomain enumeration)

MassDNS A high-performance DNS stub resolver MassDNS is a simple high-performance DNS stub resolver targeting those who seek to resolve a massive amou

B. Blechschmidt 2.5k Nov 22, 2022
DNS hijacking via dead records automation tool

DeadDNS Multi-threaded DNS hijacking via dead records automation tool How it works 1) Dig provided subdomains file for dead DNS records. 2) Dig the fo

null 44 Nov 12, 2022
This script checks for any possible SSRF dns/http interactions in xmlrpc.php pingback feature

rpckiller This script checks for any possible SSRF dns/http interactions in xmlrpc.php pingback feature and with that you can further try to escalate

Ashish Kunwar 33 Sep 23, 2022
Um script simples de Port Scan + DNS by Hostname

?? PortScan-DNS Esta é uma ferramenta simples de Port Scan + DNS by Hostname... ?? | DNS Resolver / by Hostname: HOST IP EXTERNO IP INTERNO ?? | Port

AlbâniaSecurity-RT 6 Oct 20, 2022
Tool to check if your DNS comply to Polish Ministry of Finance gambling domains restrictions

dns-mf-hazard Tool to check if your DNS comply to Polish Ministry of Finance gambling domains restrictions How to use it? Installation You need python

Marek Wajdzik 2 Jan 1, 2022