Hysteria is a feature-packed network utility optimized for networks of poor quality (e.g. satellite connections, congested public Wi-Fi, connecting from China to servers abroad)

Logo

License Release Telegram Discussions

Hysteria is a feature-packed network utility optimized for networks of poor quality (e.g. satellite connections, congested public Wi-Fi, connecting from China to servers abroad) powered by a custom version of QUIC protocol. It currently has the following features: (still growing!)

  • SOCKS5 proxy (TCP & UDP)
  • HTTP/HTTPS proxy
  • TCP/UDP relay
  • TCP/UDP TPROXY (Linux only)
  • TUN (TAP on Windows)

Documentation has now been moved to our wiki


Hysteria 是一个功能丰富的,专为恶劣网络环境进行优化的网络工具(双边加速),比如卫星网络、拥挤的公共 Wi-Fi、在中国连接国外服务器等。 基于修改版的 QUIC 协议。目前有以下模式:(仍在增加中)

  • SOCKS5 代理 (TCP & UDP)
  • HTTP/HTTPS 代理
  • TCP/UDP 转发
  • TCP/UDP TPROXY 透明代理 (Linux)
  • TUN (Windows 下为 TAP)

文档现已移动到 wiki


Bench

Comments
  • 测试UDP转发似乎不生效。

    测试UDP转发似乎不生效。

    使用客户端的 socks5 代理 udp 测试 dns 查询失败,使用其它 socks5 代理工具测试成功。

    服务端日志:

    2021-11-22T18:02:33+08:00 [DEBU] [src:127.0.0.1:60573] [session:1] UDP request
    2021-11-22T18:02:33+08:00 [DEBU] [src:127.0.0.1:60573] [session:1] UDP EOF
    2021-11-22T18:02:33+08:00 [DEBU] [src:127.0.0.1:60573] [session:2] UDP request
    2021-11-22T18:02:33+08:00 [DEBU] [src:127.0.0.1:60573] [session:2] UDP EOF
    2021-11-22T18:02:34+08:00 [DEBU] [src:127.0.0.1:60573] [session:3] UDP request
    2021-11-22T18:02:34+08:00 [DEBU] [src:127.0.0.1:60573] [session:3] UDP EOF
    2021-11-22T18:02:34+08:00 [DEBU] [src:127.0.0.1:60573] [session:4] UDP request
    2021-11-22T18:02:34+08:00 [DEBU] [src:127.0.0.1:60573] [session:4] UDP EOF
    

    客户端日志:

    2021-11-22T18:02:33+08:00 [DEBU] [src:192.168.2.84:55150] SOCKS5 UDP associate
    2021-11-22T18:02:33+08:00 [DEBU] [src:192.168.2.84:55150] SOCKS5 UDP EOF
    2021-11-22T18:02:33+08:00 [DEBU] [src:192.168.2.84:55151] SOCKS5 UDP associate
    2021-11-22T18:02:33+08:00 [DEBU] [src:192.168.2.84:55151] SOCKS5 UDP EOF
    2021-11-22T18:02:34+08:00 [DEBU] [src:192.168.2.84:55152] SOCKS5 UDP associate
    2021-11-22T18:02:34+08:00 [INFO] [src:192.168.2.84:55152] [error:read tcp 192.168.2.36:1084->192.168.2.84:55152: read: connection reset by peer] SOCKS5 UDP error
    2021-11-22T18:02:34+08:00 [DEBU] [src:192.168.2.84:55153] SOCKS5 UDP associate
    2021-11-22T18:02:34+08:00 [DEBU] [src:192.168.2.84:55153] SOCKS5 UDP EOF
    
  • Server running, socat works, client fails

    Server running, socat works, client fails

    Server System: Ubuntu 22.04.1 LTS Client: windows 10 home here I replaced the actual website domain with example.com, I have a functioning domain with cloudflare dns setup. Nginx is installed but the html page is the default one still, with default settings. server conf:

    {
        "listen": ":666",
        "alpn": "h3",
        "cert": "/etc/letsencrypt/live/example.com/fullchain.pem",
        "key": "/etc/letsencrypt/live/example.com/privkey.pem",
        "obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY"
    }
    

    client conf:

    {
      "server": "example.com:666",  
      "alpn": "h3",
      "obfs": "8ZuA2Zpqhuk8yakXvMjDqEXBwY",
      "up_mbps": 100,
      "down_mbps": 100,
      "retry": 3, // Number of retries when unable to connect to the server at startup. 0 (default) = no retry. Negative value = infinite retries.
      "retry_interval": 5, // Retry interval in seconds
      "quit_on_disconnect": false, // Quit the client when disconnected from the server
      "handshake_timeout": 10, // Handshake timeout in seconds
      "idle_timeout": 60, // Idle timeout in seconds. The client will send a ping to the server every 2/5 of this value.
      "hop_interval": 120, // Port hopping interval in seconds. See port hopping page for details.
      "socks5": {
        "listen": "127.0.0.1:6666"
      },
      "http": {
        "listen": "127.0.0.1:7777"
      }
    }
    
    Nov 28 18:05:23 ubuntu systemd[1]: Stopping Hysteria, a feature-packed network utility optimized for networks of poor quality...
    Nov 28 18:05:23 ubuntu systemd[1]: hysteria-server.service: Deactivated successfully.
    Nov 28 18:05:23 ubuntu systemd[1]: Stopped Hysteria, a feature-packed network utility optimized for networks of poor quality.
    Nov 28 18:05:23 ubuntu systemd[1]: hysteria-server.service: Consumed 2.323s CPU time.
    Nov 28 18:47:01 ubuntu systemd[1]: Started Hysteria, a feature-packed network utility optimized for networks of poor quality.
    Nov 28 18:47:01 ubuntu hysteria[284943]: 2022-11-28T18:47:01+08:00 [INFO] [config:{Listen::666 Protocol: ACME:{Domains:[] Email: DisableHTTPChallenge:false DisableTLSALPNChallenge:false Al>
    Nov 28 18:47:01 ubuntu hysteria[284943]: 2022-11-28T18:47:01+08:00 [INFO] [addr::666] Server up and running
    

    The test with socat between server and client was a success, and a connection was established and test transited between client and server /

    Client used to crash the moment I start it, but after adding some extra lines from the advanced setup I get this

    2022-11-28T14:44:54+03:30←[36m [INFO] [config:{Server:example.com:666 Protocol: Up: UpMbps:100 Down: DownMbps:100 Retry:3 RetryInterval:5 QuitOnDisconnect:false HandshakeTimeout:10 IdleTimeout:60 HopInterval:120 SOCKS5:{Listen:127.0.0.1:6666 Timeout:0 DisableUDP:false User: Password:} HTTP:{Listen:127.0.0.1:7777 Timeout:0 User: Password: Cert: Key:} TUN:{Name: Timeout:0 MTU:0 TCPSendBufferSize: TCPReceiveBufferSize: TCPModerateReceiveBuffer:false} TCPRelays:[] TCPRelay:{Listen: Remote: Timeout:0} UDPRelays:[] UDPRelay:{Listen: Remote: Timeout:0} TCPTProxy:{Listen: Timeout:0} UDPTProxy:{Listen: Timeout:0} TCPRedirect:{Listen: Timeout:0} ACL: MMDB: Obfs:8ZuA2Zpqhuk8yakXvMjDqEXBwY Auth:[] AuthString: ALPN:h3 ServerName: Insecure:false CustomCA: ReceiveWindowConn:0 ReceiveWindow:0 DisableMTUDiscovery:false FastOpen:false Resolver: ResolvePreference:}] ←[0mClient configuration loaded
    2022-11-28T14:45:04+03:30←[31m [ERRO] [error:timeout: no recent network activity] ←[0mFailed to initialize client
    2022-11-28T14:45:04+03:30←[36m [INFO] [retry:1] [interval:5] ←[0mRetrying...
    

    Any help with diagnosing this issue is appreciated

  • [功能请求] 增加单个 UDP 连接设置自动过期时间

    [功能请求] 增加单个 UDP 连接设置自动过期时间

    功能描述

    你好,我查阅了wiki,当前Hysteria似乎没有“单个 UDP 连接设置自动过期时间”这个设置项,因为如果使用UDP协议长时间单一端口进行通讯,容易引起运营商对UDP协议的Qos,我也是最近尝试使用Hysteria来进行上网的,之前我一直用的Kcptun(https://github.com/xtaci/kcptun)进行上网,Kcptun 有一个功能,--autoexpire,这个参数可以设置UDP连接自动断开的时间,我之前用Kcptun配合iptables 来实现动态端口的功能,效果如下图 image 昨晚在尝试Hysteria配合iptables也想实现同样的功能时,发现并没有,我设置Hysteria端口为50000,iptables设置Hysteria动态端口范围为50001-59999。发现Hysteria长时间只会使用一个端口进行通讯,并未断开连接更换端口。效果图如下。 image

    这个功能的必要性

    避免长时间使用同一个端口进行通讯而被运营商QoS而断流。

    当前可用的替代方案

    重启Hysteria服务,重新连接,然后就可以实现自动更换端口。

    补充

    No response

  • [Feature Request] 对于心跳增加一个判断

    [Feature Request] 对于心跳增加一个判断

    Feature Details

    心跳设置一个值,超过这个值,就主动断开,重新发起请求。

    The necessity of this feature

    image

    存在一种情况, 发起请求之后,这个连接是没有速度的, 必须强制断开,重新发起请求,才有速度。

    image

    如果不判断,就会导致一种类似假死的情况。

    虽然是小概率,但是十分影响体验。

    Available alternative

    No response

    Additional informations

    No response

  • [请求帮助] 更新1.2 hysteria-linux-arm64 后 造成部分网页无法打开 8/17更新

    [请求帮助] 更新1.2 hysteria-linux-arm64 后 造成部分网页无法打开 8/17更新

    问题详情

    更新1.2 hysteria-linux-arm64 后出现问题 无法访问此网站网址为 https://www.jd.com/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。 ERR_TUNNEL_CONNECTION_FAILED

    acl: direct cidr 192.168.1.1/24 direct country cn block all udp/443 proxy all 环境 服务器端1.2 hysteria-linux-amd64 客户端 1.2 hysteria-linux-arm64 解决办法: 将客户端退回 1.1 hysteria-linux-arm64 (服务器端任就1.2)一切正常

    服务端安装信息或者一键脚本信息

    1.2

    VPS 信息

    正常

    服务端配置

    正常

    服务端日志

    无异常

    客户端安装信息

    1.2

    客户端配置

    正常

    客户端运行环境(操作系统)

    coreelec

    客户端日志

    无异常

  • BUG,Tproxy模式下,QQ等国产软件不能正确处理链接

    BUG,Tproxy模式下,QQ等国产软件不能正确处理链接

    服务器ip用6.6.6.6代替 iptables(参考V2RAY) :

    ulimit -n 65535
    ip rule add fwmark 1 table 100
    ip route add local 0.0.0.0/0 dev lo table 100
    iptables -t mangle -N hysteria
    iptables -t mangle -A Hysteria -d 6.6.6.6/32 -j RETURN
    iptables -t mangle -A Hysteria -d 127.0.0.1/32 -j RETURN
    iptables -t mangle -A Hysteria -d 224.0.0.0/4 -j RETURN
    iptables -t mangle -A Hysteria -d 240.0.0.0/4 -j RETURN
    iptables -t mangle -A Hysteria -d 255.255.255.255/32 -j RETURN
    iptables -t mangle -A Hysteria -d 192.168.0.0/24 -p tcp -j RETURN
    iptables -t mangle -A Hysteria -d 192.168.0.0/24 -p udp ! --dport 53 -j RETURN 
    iptables -t mangle -A Hysteria -p udp -j TPROXY --on-port 9000 --tproxy-mark 1
    iptables -t mangle -A Hysteria -p tcp -j TPROXY --on-port 9000 --tproxy-mark 1
    iptables -t mangle -A PREROUTING -j Hysteria
    
    iptables -t mangle -N Hysteria_MASK
    iptables -t mangle -A Hysteria_MASK -d 6.6.6.6/32 -j RETURN
    iptables -t mangle -A Hysteria_MASK -d 224.0.0.0/4 -j RETURN
    iptables -t mangle -A Hysteria_MASK -d 240.0.0.0/4 -j RETURN
    iptables -t mangle -A Hysteria_MASK -d 255.255.255.255/32 -j RETURN
    iptables -t mangle -A Hysteria_MASK -d 192.168.0.0/24 -p tcp -j RETURN
    iptables -t mangle -A Hysteria_MASK -d 192.168.0.0/24 -p udp ! --dport 53 -j RETURN 
    iptables -t mangle -A Hysteria_MASK -j RETURN -m mark --mark 0xff 
    iptables -t mangle -A Hysteria_MASK -p udp -j MARK --set-mark 1
    iptables -t mangle -A Hysteria_MASK -p tcp -j MARK --set-mark 1
    iptables -t mangle -A OUTPUT -j Hysteria_MASK
    

    配置:

    {
      "server": "6.6.6.6:8000",
      "up_mbps": 50,
      "down_mbps": 200,
      "tproxy_tcp": {
        "listen": "127.0.0.1:9000",
        "timeout": 60
      },
      "tproxy_udp": {
        "listen": "127.0.0.1:9000",
        "timeout": 60
      },
      "acl": "/usr/local/bin/gfw.acl",
      "obfs": "whatever",
      "server_name": "google.com",
      "insecure": false,
      "recv_window_conn": 15728640,
      "recv_window": 67108864,
      "disable_mtu_discovery": true
    }
    

    报错:

    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52594] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52596] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52598] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52600] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52602] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52604] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52606] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52608] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52610] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52612] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52614] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52616] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52618] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52620] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52622] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52624] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52626] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52628] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52630] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52632] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52634] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52636] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52638] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52640] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52642] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52644] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52646] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52648] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52650] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52652] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52654] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52656] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52658] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52660] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52662] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52664] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52666] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52668] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52670] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52672] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52674] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52676] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52678] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52680] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52682] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52684] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52686] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52688] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52690] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52692] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52694] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52696] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52698] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52700] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52702] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52704] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52706] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52708] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52710] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52712] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52714] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52716] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52718] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52720] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52722] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52724] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52726] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52728] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52730] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52732] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52734] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52736] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52738] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52740] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52742] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52744] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52746] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52748] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52750] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52752] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52754] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52756] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52758] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52760] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52762] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52764] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52766] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52768] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52770] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52772] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52774] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52776] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52778] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52780] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52782] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52784] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52786] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52788] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52790] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52792] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52794] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52796] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    2021-09-08T14:18:47+08:00 [DEBU] [src:192.168.0.252:52798] [dst:221.198.69.77:14000] [action:Direct] TCP TProxy request
    

    无限循环直到too many open files报错退出 dst后面的ip不固定,但都是腾讯云,经排查是QQ,以上是打开QQ情况下开tproxy,下面是先开tproxy,后打开QQ的报错:

    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35443] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35441] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35451] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35449] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35699] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35457] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35455] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35453] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35463] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35461] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35459] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35469] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35467] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35465] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35475] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35473] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35471] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:53172] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35481] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35479] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35477] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35487] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35485] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35483] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35493] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35519] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35491] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35489] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    2021-09-08T14:44:15+08:00 [INFO] [src:192.168.0.252:35741] [dst:203.205.239.146:443] [error:dial tcp <nil>->203.205.239.146:443: i/o timeout] TCP TProxy error
    

    不开QQ一切正常,微信都正常,开了QQ大概不到20s程序就会退出,占用内存成线性增长,直到内存耗尽

  • socks udp issue

    socks udp issue

    It seems that udp function does not work properly (or maybe i'm wrong1?). I used hysteria with tun2socks but dns lookups could not be processed (but for example v2ray client' socks could process the dns requests).

  • 无法连接

    无法连接

    客户端报错:

    2022-02-21T13:26:39Z [ERRO] [error:timeout: no recent network activity] Failed to initialize client
    2022-02-21T13:26:39Z [FATA] Out of retries, exiting...
    

    服务器配置:

    {
      "listen": ":36718",
      "cert": "/root/server.crt",
      "key": "/root/server.key",
      "obfs": "*******",
      "alpn": "hyquic",
      "auth": {
        "mode": "passwords",
        "config": ["**********"]
      },
      "up_mbps": 500,
      "down_mbps": 500,
      "protocol": "udp"
    }
    

    客户端配置:

    {
      "insecure": false,
      "protocol": "udp",
      "down_mbps": 500,
      "socks5": {
        "timeout": 300,
        "disable_udp": false,
        "listen": "0.0.0.0:2082"
      },
      "obfs": "g**u",
      "server": "103***6:36718",
      "auth_str": "ea*********43c4",
      "disable_mtu_discovery": false,
      "up_mbps": 500,
      "alpn": "****",
      "server_name": "quic*****"
    }
    

    iperf3 测试过两端udp可通

  • Request: mipsel_24kc binaries added to downloads 中文也行

    Request: mipsel_24kc binaries added to downloads 中文也行

    Hi guys

    I'm looking to run Hysteria on some openwrt mipsel routers like xiaomi etc. They're all mipsel_24kc and arm. You support arm but not mipsel_24kc yet. Could you? (X-ray does.) That would be great! Thanks!

  • [功能请求] 把内部传输协议从socks5替换为relay

    [功能请求] 把内部传输协议从socks5替换为relay

    功能描述

    把内部传输协议从socks5替换为relay

    https://github.com/go-gost/relay

    这个功能的必要性

    可以降低一个RTT,在握手的时候会减少一个RTT, 在看视频的时候,比如谷歌的youtube,采用的quic协议, 他有个视频清晰度选择,就是按照握手的延时进行判断,而非带宽。

    降低一个RTT体验会明显上升,可以直接转发dns 8.8.8.8:53

    nslookup www.qq.com

    会明显快!

    当前可用的替代方案

    No response

    补充

    No response

  • Failed to initialize client when using a floating IP as DNS A record

    Failed to initialize client when using a floating IP as DNS A record

    But when I change it to my VPS's real IP, hysteria works properly.

    OS: Ubuntu 20.04 hysteria version: v0.9.6 VPS: Digital Ocean

    I have done a simple test with nc command:

    • remote server: nc -lu 0.0.0.0 1234
    • local machine; nc -zvu <real or float IP or domain> 1234

    image

    Obviously, the UDP port was not forbidden by my local ISP(China Telecom)

  • [Feature Request] Chain Outbound

    [Feature Request] Chain Outbound

    Details

    As far as I read in documents hysteria dosent support "hysteria" chain like "Outbound" in v2ray. only socks5 supported as outbound connection. would you please add something like v2ray outbound for chaining purpose? In some restricted country like Iran,Uzbekistan or Turkemenistan sometimes users just have access to intranet(national network) so we have to access internet through chaining servers ( user --hy--> Mainland server --hy--> foreign server ).

    Value

    Help people from aggressively censored country to access free internet

    Available alternatives

    No response

    Additional information

    No response

  • [功能请求] 客户端启动时不检查服务器连接,只在有代理请求时连接

    [功能请求] 客户端启动时不检查服务器连接,只在有代理请求时连接

    功能描述

    现在客户端启动的时候一定要成功连接服务器,否则就退出或者重试。如果启动时正好网络不通,客户端就会退出,等到网络好了就得手动启动。

    其他的工具比如trojan都是等代理请求过来才连接服务器,Hy完全可以也这么做。

    这个功能的必要性

    现有的行为和ss,trojan,v2ray,xray,tuic等等的客户端都不一样

    当前可用的替代方案

    可以设置无限重试,但是这样在网络断开或者服务器不可用的时候,做了太多无用功。

    补充

    No response

  • [Help me] Packet drops, near zero upload speed, poor performance in Iran

    [Help me] Packet drops, near zero upload speed, poor performance in Iran

    Details

    I've set up Hysteria on a server and I'm using its client on Linux (Iran). No scripts is used for hysteria in this setup and I'm using the binaries (amd64-avx) directly with manually written config files.

    Hysteria performs worse than X-ray + VLESS + TCP + TLS (or even VLESS without TLS, over WebSocket). Meaning it consistently has less download and upload speed than the mentioned x-ray method. Here are some Speedtest stats showing the situation:

    Iran (without any proxies):

    iran

    X-ray + VLESS + TCP + TLS:

    (It usually has better upload speed than this) xray

    Hysteria (passing speedtest):

    hysteria

    Hysteria (failing speedtest):

    (It freezes here and test stops) hysteria-bad

    I have done the socat test to check whether the UDP connection is completely blocked or not (https://github.com/apernet/hysteria/issues/518). The test succeeded (I saw what I typed locally on remote). Meaning the UDP connection is not completely blocked (as of now).

    Note that on server, I'm using a script for x-ui setup + Cloudflare WARP to bypass Google ReCaptcha.

    Hysteria server information

    hysteria version v1.3.2 2022-12-11 02:15:05 dd4c17972fdfef7517c22d017ec922463fb94350

    VPS information

    OS: Ubuntu 22.04.1 LTS x86_64 Kernel: 5.15.0-56-generic

    Server config

    {
      "listen": ":36712",
      "protocol": "udp",
      "cert": "....../fullchain.pem",
      "key": "....../privkey.pem",
      "obfs": "mypassword",
      "up_mbps": 4,
      "down_mbps": 8,
      "resolver": "udp://1.1.1.1:53",
      "resolve_preference": "64"
    }
    

    Hysteria client information

    hysteria version v1.3.2 2022-12-11 02:15:05 dd4c17972fdfef7517c22d017ec922463fb94350

    Client config

    {
        "server": "my.domain.name:36712",
        "protocol": "udp",
        "obfs": "mypassword",
        "up_mbps": 4,
        "down_mbps": 8,
        "resolver": "udp://1.1.1.1:53",
        "resolve_preference": "64",
        "socks5": {
            "listen": "127.0.0.1:1080"
        },
        "http": {
            "listen": "127.0.0.1:1089"
        }
    }
    
    

    Client environment (operating system)

    Ubuntu

  • 反馈一个bug,armv7版本非常慢,arm64正常

    反馈一个bug,armv7版本非常慢,arm64正常

    看到也有人提到这个问题,就详细测试对比了下,发现不正常的版本是armv7,为了方便作者排查,我写下重现步骤: 找一个arm64位平台当客户端,分别用arm64版本和armv7版本去测速,服务端用x86平台就可以,会发现速度差距非常大,下图第1个是arm64的,第2个是armv7的。 arm64 armv7

    测试版本:v1.3.1 服务端配置:

    { "listen": ":777", "protocol": "wechat-video", "cert": "wechat.com.crt", "key": "wechat.com.key", "obfs": "123456", "up_mbps": 500, "down_mbps": 500, "disable_mtu_discovery": true, "alpn": "h3" }

    客户端配置:

    { "server": "1.2.3.4:777", "protocol": "wechat-video", "retry": -1, "obfs": "123456", "up_mbps": 50, "down_mbps": 300, "redirect_tcp": { "listen": ":1090"

    }, "insecure": false, "ca": "wechat.com.ca.crt", "alpn": "h3", "fast_open": true, "disable_mtu_discovery": true, "server_name": "wechat.com" }

scrapligo -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.
scrapligo -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

scrapligo -- scrap(e c)li (but in go!) -- is a Go library focused on connecting to devices, specifically network devices (routers/switches/firewalls/etc.) via SSH and NETCONF.

Jan 4, 2023
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.
Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump.

Capdns is a network capture utility designed specifically for DNS traffic. This utility is based on tcpdump. Some of its features include: Unde

Feb 26, 2022
Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time

Basenine Schema-free, document-oriented streaming database that optimized for monitoring network traffic in real-time. Featured Aspects Has the fastes

Nov 2, 2022
Designed to support DNS brute-forcing with a minimal number of network connections

Fast Use of DNS Resolvers Designed to support DNS brute-forcing with a minimal number of network connections. Installation go get -v -u github.com/caf

Dec 8, 2022
A Go library for connecting to HandlerSocket (github.com/ahiguti/HandlerSocket-Plugin-for-MySQL)

handlersocket-go Go library for connecting to HandlerSocket Mysql plugin. See github.com/ahiguti/HandlerSocket-Plugin-for-MySQL/ Installation $ go get

Jan 19, 2021
Simple tool for connecting to remote hosts via ssh written on GO.

sshmenu is a simple tool for connecting to remote hosts via ssh written on GO. Great if you have trouble remembering IP addresses, hostnames, usernames or path to a key file.

Jul 21, 2022
Web app utility to get server list data from Minecraft servers.

Ping Web app utility to get server list data from Minecraft servers. Avalible at https://ping.turtley12.dev/app, Running yourself Before compiling and

Dec 21, 2021
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.
🚀Gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily build high-performance servers.

gev 中文 | English gev is a lightweight, fast non-blocking TCP network library based on Reactor mode. Support custom protocols to quickly and easily bui

Jan 6, 2023
A library for working with IP addresses and networks in Go

IPLib I really enjoy Python's ipaddress library and Ruby's ipaddr, I think you can write a lot of neat software if some of the little problems around

Dec 20, 2022
A flexible configuration manager for Wireguard networks
A flexible configuration manager for Wireguard networks

Drago A flexible configuration manager for WireGuard networks Drago is a flexible configuration manager for WireGuard networks which is designed to ma

Jan 7, 2023
webrpc is a schema-driven approach to writing backend services for modern Web apps and networks
webrpc is a schema-driven approach to writing backend services for modern Web apps and networks

webrpc is a schema-driven approach to writing backend servers for the Web. Write your server's api interface in a schema format of RIDL or JSON, and t

Jan 7, 2023
The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks.
The Swiss Army knife for 802.11, BLE and Ethernet networks reconnaissance and MITM attacks.

bettercap is a powerful, easily extensible and portable framework written in Go which aims to offer to security researchers, red teamers and reverse e

Jan 3, 2023
Transfer 10Gbps http traffic over 1Gbps networks :)

httpteleport Teleports 10Gbps http traffic over 1Gbps networks. Built on top of fastrpc. Use cases httpteleport may significantly reduce inter-server

Nov 30, 2022
Netmaker is a tool for creating and managing virtual networks
Netmaker is a tool for creating and managing virtual networks

Netmaker is a tool for creating and managing virtual networks. The goal is to make virtual/overlay/mesh networking easy for non-networking people. It should be like clicking a button. Netmaker consists of a server, an agent, and a UI.

Jan 2, 2023
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.
A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.

Hyprspace A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks. demo.mp4 Table of Contents A Bit of Backstory Use Cases A Digital N

Dec 29, 2022
Data source provider for Terraform that interacts with the Solana networks

Terraform Solana Provider Registry Page Requirements Terraform >= 0.13.x Go 1.16.x (for building from source) Example Usage Full provider documentatio

Aug 6, 2022
Mount your podman container into WireGuard networks on spawn

wg-pod A tool to quickly join your podman container/pod into a WireGuard network. Explanation wg-pod wires up the tools ip,route,wg and podman. It cre

Aug 14, 2022
Attach services to specified networks automatically

Docker swarm network attacher Description docker-swarm-network-attacher aims to solve the problem of sharing a network between unrelated services. Wit

Nov 11, 2021
A memory-safe SSH server, focused on listening only on VPN networks such as Tailscale

Features Is tested to work with SCP Integrates well with systemd Quickstart Download binary for your architecture. We only support Linux. If you don't

Jun 10, 2022