1 changed files with 33 additions and 22 deletions
@ -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:[email protected]: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%[email protected]: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 |
||||
|
|||||
Loading…
Reference in new issue