readme on udpgw

This commit is contained in:
ssrlive 2024-11-02 13:55:47 +08:00
parent 9088cf6fe5
commit 53f60ffda6

View file

@ -18,6 +18,7 @@ A tunnel interface for HTTP and SOCKS proxies on Linux, Android, macOS, iOS and
- GFW evasion mechanism for certain use cases (see [issue #35](https://github.com/tun2proxy/tun2proxy/issues/35)) - GFW evasion mechanism for certain use cases (see [issue #35](https://github.com/tun2proxy/tun2proxy/issues/35))
- SOCKS5 UDP support - SOCKS5 UDP support
- Native support for proxying DNS over TCP - Native support for proxying DNS over TCP
- UdpGW (UDP gateway) support for UDP over TCP, see the [wiki](https://github.com/tun2proxy/tun2proxy/wiki/UDP-gateway-feature) for more information
## Build ## Build
Clone the repository and `cd` into the project folder. Then run the following: Clone the repository and `cd` into the project folder. Then run the following:
@ -129,28 +130,38 @@ Tunnel interface to proxy.
Usage: tun2proxy-bin [OPTIONS] --proxy <URL> [ADMIN_COMMAND]... Usage: tun2proxy-bin [OPTIONS] --proxy <URL> [ADMIN_COMMAND]...
Arguments: Arguments:
[ADMIN_COMMAND]... Specify a command to run with root-like capabilities in the new namespace when using `--unshare`. [ADMIN_COMMAND]... Specify a command to run with root-like capabilities in the new namespace when using `--unshare`. This could be
This could be useful to start additional daemons, e.g. `openvpn` instance useful to start additional daemons, e.g. `openvpn` instance
Options: Options:
-p, --proxy <URL> Proxy URL in the form proto://[username[:password]@]host:port, where proto is one of -p, --proxy <URL> Proxy URL in the form proto://[username[:password]@]host:port, where proto is one of
socks4, socks5, http. For example: socks5://myname:password@127.0.0.1:1080 socks4, socks5, http. Username and password are encoded in percent encoding. For example:
socks5://myname:pass%40word@127.0.0.1:1080
-t, --tun <name> Name of the tun interface, such as tun0, utun4, etc. If this option is not provided, the -t, --tun <name> Name of the tun interface, such as tun0, utun4, etc. If this option is not provided, the
OS will generate a random one OS will generate a random one
--tun-fd <fd> File descriptor of the tun interface --tun-fd <fd> File descriptor of the tun interface
--close-fd-on-drop <true or false> Set whether to close the received raw file descriptor on drop or not. This setting is
dependent on [tun_fd] [possible values: true, false]
--unshare Create a tun interface in a newly created unprivileged namespace while maintaining proxy --unshare Create a tun interface in a newly created unprivileged namespace while maintaining proxy
connectivity via the global network namespace connectivity via the global network namespace
--unshare-pidfile <UNSHARE_PIDFILE> Create a pidfile of `unshare` process when using `--unshare`
-6, --ipv6-enabled IPv6 enabled -6, --ipv6-enabled IPv6 enabled
-s, --setup Routing and system setup, which decides whether to setup the routing and system -s, --setup Routing and system setup, which decides whether to setup the routing and system
configuration. This option is only available on Linux and requires root-like privileges. configuration. This option is only available on Linux and requires root-like privileges.
See `capabilities(7)` See `capabilities(7)`
-d, --dns <strategy> DNS handling strategy [default: direct] [possible values: virtual, over-tcp, direct] -d, --dns <strategy> DNS handling strategy [default: direct] [possible values: virtual, over-tcp, direct]
--dns-addr <IP> DNS resolver address [default: 8.8.8.8] --dns-addr <IP> DNS resolver address [default: 8.8.8.8]
--virtual-dns-pool <CIDR> IP address pool to be used by virtual DNS in CIDR notation [default: 198.18.0.0/15]
-b, --bypass <IP/CIDR> IPs used in routing setup which should bypass the tunnel, in the form of IP or IP/CIDR. -b, --bypass <IP/CIDR> IPs used in routing setup which should bypass the tunnel, in the form of IP or IP/CIDR.
Multiple IPs can be specified, e.g. --bypass 3.4.5.0/24 --bypass 5.6.7.8 Multiple IPs can be specified, e.g. --bypass 3.4.5.0/24 --bypass 5.6.7.8
--tcp-timeout <seconds> TCP timeout in seconds [default: 600] --tcp-timeout <seconds> TCP timeout in seconds [default: 600]
--udp-timeout <seconds> UDP timeout in seconds [default: 10] --udp-timeout <seconds> UDP timeout in seconds [default: 10]
-v, --verbosity <level> Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace] -v, --verbosity <level> Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace]
--daemonize Daemonize for unix family or run as Windows service
--exit-on-fatal-error Exit immediately when fatal error occurs, useful for running as a service
--max-sessions <number> Maximum number of sessions to be handled concurrently [default: 200]
--udpgw-server <IP:PORT> UDP gateway server address, similar to badvpn-udpgw
--udpgw-max-connections <number> Max udpgw connections, default value is 5
-h, --help Print help -h, --help Print help
-V, --version Print version -V, --version Print version
``` ```