Make the request using a random IPv6 address within the IPv6 subnet
Taking tunnelbroker / Debian10
as an example, make sure your server supports IPv6
and has configured the tunnel
If you run the program with sudo, it will automatically configure sysctl net.ipv6.ip_nonlocal_bind=1 and ip route add local 2001:470:e953::/48 dev lo for you. If you do not run it with sudo, you will need to configure these manually.
sysctl net.ipv6.ip_nonlocal_bind=1
# Replace your IPv6 subnet
ip route add local 2001:470:e953::/48 dev lo
# Run
vproxy run -i 2001:470:e953::/48
# Start Daemon (Run in the background), must use sudo
vproxy start -i 2001:470:e953::/48
# Restart Daemon, must use sudo
vproxy restart
# Stop Daemon, must use sudo
vproxy stop
# Show Daemon log
vproxy log
# Show Daemon status
vproxy status
# Online Update
vproxy update
while true; do curl -x http://127.0.0.1:8100 -s https://api.ip.sb/ip -A Mozilla; done
...
2001:470:e953:5b75:c862:3328:3e8f:f4d1
2001:470:e953:b84d:ad7d:7399:ade5:4c1c
2001:470:e953:4f88:d5ca:84:83fd:6faa
2001:470:e953:29f3:41e2:d3f2:4a49:1f22
2001:470:e953:98f6:cb40:9dfd:c7ab:18c4
2001:470:e953:f1d7:eb68:cc59:b2d0:2c6f
If no subnet is configured, the local default network proxy request will be used. When the local machine sets the priority
Ipv4
/Ipv6
and the priority isIpv4
, it will always useIpv4
to make requests (if any).
--bind
, Http service listening address, default 0.0.0.0:8100--fallback
, The binding address used when IPv6 access is unreachable--ipv6-subnet
, IPv6 subnet--typed
, Proxy type, e.g. http, https, socks5--auth-user
, Basic auth username--auth-pass
, Basic auth password--tls-cert
, TLS certificate file--tls-key
, TLS private key file
The functionalities of the parameters --typed, --tls-cert, --tls-key have not been implemented yet.
$ vproxy -h
Random IPv6 request proxy
Usage: vproxy
vproxy <COMMAND>
Commands:
run Run server
start Start server daemon
restart Restart server daemon
stop Stop server daemon
status Show the server daemon process
log Show the server daemon log
update Update the application
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
$ vproxy run -h
Run server
Usage: vproxy run [OPTIONS]
Options:
-L, --debug Debug mode [env: VPROXY_DEBUG=]
-B, --bind <BIND> Bind address [default: 0.0.0.0:8100]
-u, --auth-user <AUTH_USER> Basic auth username
-p, --auth-pass <AUTH_PASS> Basic auth password
-C, --tls-cert <TLS_CERT> TLS certificate file
-K, --tls-key <TLS_KEY> TLS private key file
-i, --ipv6-subnet <IPV6_SUBNET> Ipv6 subnet, e.g. 2001:db8::/32
-f, --fallback <FALLBACK> Fallback address
-t, --typed <TYPED> Proxy type, e.g. http, https, socks5 [default: http]
-h, --help Print help
- Linux compile, Ubuntu machine for example:
git clone https://github.com/gngpp/vproxy.git && cd vproxy
cargo build --release
If you would like to submit your contribution, please open a Pull Request.
Your question might already be answered on the issues