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,30 +130,40 @@ 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:
-t, --tun <name> Name of the tun interface, such as tun0, utun4, etc. If this option is not provided, the socks5://myname:pass%40word@127.0.0.1:1080
OS will generate a random one -t, --tun <name> Name of the tun interface, such as tun0, utun4, etc. If this option is not provided, the
--tun-fd <fd> File descriptor of the tun interface OS will generate a random one
--unshare Create a tun interface in a newly created unprivileged namespace while maintaining proxy --tun-fd <fd> File descriptor of the tun interface
connectivity via the global network namespace --close-fd-on-drop <true or false> Set whether to close the received raw file descriptor on drop or not. This setting is
-6, --ipv6-enabled IPv6 enabled dependent on [tun_fd] [possible values: true, false]
-s, --setup Routing and system setup, which decides whether to setup the routing and system --unshare Create a tun interface in a newly created unprivileged namespace while maintaining proxy
configuration. This option is only available on Linux and requires root-like privileges. connectivity via the global network namespace
See `capabilities(7)` --unshare-pidfile <UNSHARE_PIDFILE> Create a pidfile of `unshare` process when using `--unshare`
-d, --dns <strategy> DNS handling strategy [default: direct] [possible values: virtual, over-tcp, direct] -6, --ipv6-enabled IPv6 enabled
--dns-addr <IP> DNS resolver address [default: 8.8.8.8] -s, --setup Routing and system setup, which decides whether to setup the routing and system
-b, --bypass <IP/CIDR> IPs used in routing setup which should bypass the tunnel, in the form of IP or IP/CIDR. configuration. This option is only available on Linux and requires root-like privileges.
Multiple IPs can be specified, e.g. --bypass 3.4.5.0/24 --bypass 5.6.7.8 See `capabilities(7)`
--tcp-timeout <seconds> TCP timeout in seconds [default: 600] -d, --dns <strategy> DNS handling strategy [default: direct] [possible values: virtual, over-tcp, direct]
--udp-timeout <seconds> UDP timeout in seconds [default: 10] --dns-addr <IP> DNS resolver address [default: 8.8.8.8]
-v, --verbosity <level> Verbosity level [default: info] [possible values: off, error, warn, info, debug, trace] --virtual-dns-pool <CIDR> IP address pool to be used by virtual DNS in CIDR notation [default: 198.18.0.0/15]
-h, --help Print help -b, --bypass <IP/CIDR> IPs used in routing setup which should bypass the tunnel, in the form of IP or IP/CIDR.
-V, --version Print version 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]
--udp-timeout <seconds> UDP timeout in seconds [default: 10]
-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
-V, --version Print version
``` ```
Currently, tun2proxy supports HTTP, SOCKS4/SOCKS4a and SOCKS5. A proxy is supplied to the `--proxy` argument in the Currently, tun2proxy supports HTTP, SOCKS4/SOCKS4a and SOCKS5. A proxy is supplied to the `--proxy` argument in the
URL format. For example, an HTTP proxy at `1.2.3.4:3128` with a username of `john.doe` and a password of `secret` is URL format. For example, an HTTP proxy at `1.2.3.4:3128` with a username of `john.doe` and a password of `secret` is