├── .cargo └── config.toml ├── .gitignore ├── .vscode └── settings.json ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── README.md ├── clippy.toml ├── res ├── in │ ├── common │ │ └── etc │ │ │ └── plug2proxy │ │ │ ├── config.example.json │ │ │ └── nftables.conf │ ├── openwrt │ │ └── etc │ │ │ └── init.d │ │ │ └── plug2proxy │ └── ubuntu │ │ └── etc │ │ ├── networkd-dispatcher │ │ └── routable.d │ │ │ └── plug2proxy │ │ └── systemd │ │ └── system │ │ └── plug2proxy.service └── out │ ├── common │ └── etc │ │ └── plug2proxy │ │ └── config.example.json │ └── ubuntu │ └── etc │ └── systemd │ └── system │ └── plug2proxy.service ├── scripts └── install-to-server.sh └── src ├── config.rs ├── constants.rs ├── lib ├── common.rs ├── config.rs ├── in │ ├── dns_resolver.rs │ ├── fake_ip_dns │ │ ├── fake_authority.rs │ │ ├── fake_ip_dns.rs │ │ ├── fake_ip_resolver.rs │ │ └── mod.rs │ ├── mod.rs │ ├── transparent_proxy.rs │ ├── tunnel_manager.rs │ └── udp_forwarder.rs ├── match_server │ ├── match_server.rs │ ├── match_servers.rs │ ├── mod.rs │ └── redis_match_server.rs ├── mod.rs ├── out │ ├── local_output.rs │ ├── mod.rs │ ├── out.rs │ ├── output.rs │ └── socks5_output.rs ├── route │ ├── config │ │ ├── in_config.rs │ │ ├── mod.rs │ │ └── out_config.rs │ ├── geolite2.rs │ ├── mod.rs │ ├── router.rs │ └── rule.rs ├── tunnel │ ├── byte_stream_tunnel.rs │ ├── common.rs │ ├── direct_tunnel.rs │ ├── http2 │ │ ├── compat.rs │ │ ├── http2_tunnel.rs │ │ ├── http2_tunnel_provider.rs │ │ ├── match_pair.rs │ │ └── mod.rs │ ├── mod.rs │ ├── quic │ │ ├── match_pair.rs │ │ ├── mod.rs │ │ ├── quic_tunnel.rs │ │ ├── quic_tunnel_provider.rs │ │ └── quinn.rs │ ├── tunnel.rs │ ├── tunnel_provider.rs │ └── tunnels.rs └── utils │ ├── io.rs │ ├── log.rs │ ├── miscellaneous.rs │ ├── mod.rs │ ├── net │ ├── miscellaneous.rs │ ├── mod.rs │ └── socket │ │ ├── mod.rs │ │ ├── shadowsocks_rust │ │ ├── LICENSE │ │ └── mod.rs │ │ └── socket.rs │ ├── semaphore_rate_limiter.rs │ ├── stun.rs │ └── time.rs └── main.rs /.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | jobs = 4 3 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/README.md -------------------------------------------------------------------------------- /clippy.toml: -------------------------------------------------------------------------------- 1 | disallowed-macros = ["std::println"] 2 | -------------------------------------------------------------------------------- /res/in/common/etc/plug2proxy/config.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/in/common/etc/plug2proxy/config.example.json -------------------------------------------------------------------------------- /res/in/common/etc/plug2proxy/nftables.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/in/common/etc/plug2proxy/nftables.conf -------------------------------------------------------------------------------- /res/in/openwrt/etc/init.d/plug2proxy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/in/openwrt/etc/init.d/plug2proxy -------------------------------------------------------------------------------- /res/in/ubuntu/etc/networkd-dispatcher/routable.d/plug2proxy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/in/ubuntu/etc/networkd-dispatcher/routable.d/plug2proxy -------------------------------------------------------------------------------- /res/in/ubuntu/etc/systemd/system/plug2proxy.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/in/ubuntu/etc/systemd/system/plug2proxy.service -------------------------------------------------------------------------------- /res/out/common/etc/plug2proxy/config.example.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/out/common/etc/plug2proxy/config.example.json -------------------------------------------------------------------------------- /res/out/ubuntu/etc/systemd/system/plug2proxy.service: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/res/out/ubuntu/etc/systemd/system/plug2proxy.service -------------------------------------------------------------------------------- /scripts/install-to-server.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/scripts/install-to-server.sh -------------------------------------------------------------------------------- /src/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/config.rs -------------------------------------------------------------------------------- /src/constants.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/constants.rs -------------------------------------------------------------------------------- /src/lib/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/common.rs -------------------------------------------------------------------------------- /src/lib/config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/config.rs -------------------------------------------------------------------------------- /src/lib/in/dns_resolver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/dns_resolver.rs -------------------------------------------------------------------------------- /src/lib/in/fake_ip_dns/fake_authority.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/fake_ip_dns/fake_authority.rs -------------------------------------------------------------------------------- /src/lib/in/fake_ip_dns/fake_ip_dns.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/fake_ip_dns/fake_ip_dns.rs -------------------------------------------------------------------------------- /src/lib/in/fake_ip_dns/fake_ip_resolver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/fake_ip_dns/fake_ip_resolver.rs -------------------------------------------------------------------------------- /src/lib/in/fake_ip_dns/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/fake_ip_dns/mod.rs -------------------------------------------------------------------------------- /src/lib/in/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/mod.rs -------------------------------------------------------------------------------- /src/lib/in/transparent_proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/transparent_proxy.rs -------------------------------------------------------------------------------- /src/lib/in/tunnel_manager.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/tunnel_manager.rs -------------------------------------------------------------------------------- /src/lib/in/udp_forwarder.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/in/udp_forwarder.rs -------------------------------------------------------------------------------- /src/lib/match_server/match_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/match_server/match_server.rs -------------------------------------------------------------------------------- /src/lib/match_server/match_servers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/match_server/match_servers.rs -------------------------------------------------------------------------------- /src/lib/match_server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/match_server/mod.rs -------------------------------------------------------------------------------- /src/lib/match_server/redis_match_server.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/match_server/redis_match_server.rs -------------------------------------------------------------------------------- /src/lib/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/mod.rs -------------------------------------------------------------------------------- /src/lib/out/local_output.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/out/local_output.rs -------------------------------------------------------------------------------- /src/lib/out/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/out/mod.rs -------------------------------------------------------------------------------- /src/lib/out/out.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/out/out.rs -------------------------------------------------------------------------------- /src/lib/out/output.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/out/output.rs -------------------------------------------------------------------------------- /src/lib/out/socks5_output.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/out/socks5_output.rs -------------------------------------------------------------------------------- /src/lib/route/config/in_config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/config/in_config.rs -------------------------------------------------------------------------------- /src/lib/route/config/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/config/mod.rs -------------------------------------------------------------------------------- /src/lib/route/config/out_config.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/config/out_config.rs -------------------------------------------------------------------------------- /src/lib/route/geolite2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/geolite2.rs -------------------------------------------------------------------------------- /src/lib/route/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/mod.rs -------------------------------------------------------------------------------- /src/lib/route/router.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/router.rs -------------------------------------------------------------------------------- /src/lib/route/rule.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/route/rule.rs -------------------------------------------------------------------------------- /src/lib/tunnel/byte_stream_tunnel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/byte_stream_tunnel.rs -------------------------------------------------------------------------------- /src/lib/tunnel/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/common.rs -------------------------------------------------------------------------------- /src/lib/tunnel/direct_tunnel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/direct_tunnel.rs -------------------------------------------------------------------------------- /src/lib/tunnel/http2/compat.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/http2/compat.rs -------------------------------------------------------------------------------- /src/lib/tunnel/http2/http2_tunnel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/http2/http2_tunnel.rs -------------------------------------------------------------------------------- /src/lib/tunnel/http2/http2_tunnel_provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/http2/http2_tunnel_provider.rs -------------------------------------------------------------------------------- /src/lib/tunnel/http2/match_pair.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/http2/match_pair.rs -------------------------------------------------------------------------------- /src/lib/tunnel/http2/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/http2/mod.rs -------------------------------------------------------------------------------- /src/lib/tunnel/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/mod.rs -------------------------------------------------------------------------------- /src/lib/tunnel/quic/match_pair.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/quic/match_pair.rs -------------------------------------------------------------------------------- /src/lib/tunnel/quic/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/quic/mod.rs -------------------------------------------------------------------------------- /src/lib/tunnel/quic/quic_tunnel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/quic/quic_tunnel.rs -------------------------------------------------------------------------------- /src/lib/tunnel/quic/quic_tunnel_provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/quic/quic_tunnel_provider.rs -------------------------------------------------------------------------------- /src/lib/tunnel/quic/quinn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/quic/quinn.rs -------------------------------------------------------------------------------- /src/lib/tunnel/tunnel.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/tunnel.rs -------------------------------------------------------------------------------- /src/lib/tunnel/tunnel_provider.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/tunnel_provider.rs -------------------------------------------------------------------------------- /src/lib/tunnel/tunnels.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/tunnel/tunnels.rs -------------------------------------------------------------------------------- /src/lib/utils/io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/io.rs -------------------------------------------------------------------------------- /src/lib/utils/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/log.rs -------------------------------------------------------------------------------- /src/lib/utils/miscellaneous.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/miscellaneous.rs -------------------------------------------------------------------------------- /src/lib/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/mod.rs -------------------------------------------------------------------------------- /src/lib/utils/net/miscellaneous.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/miscellaneous.rs -------------------------------------------------------------------------------- /src/lib/utils/net/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/mod.rs -------------------------------------------------------------------------------- /src/lib/utils/net/socket/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/socket/mod.rs -------------------------------------------------------------------------------- /src/lib/utils/net/socket/shadowsocks_rust/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/socket/shadowsocks_rust/LICENSE -------------------------------------------------------------------------------- /src/lib/utils/net/socket/shadowsocks_rust/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/socket/shadowsocks_rust/mod.rs -------------------------------------------------------------------------------- /src/lib/utils/net/socket/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/net/socket/socket.rs -------------------------------------------------------------------------------- /src/lib/utils/semaphore_rate_limiter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/semaphore_rate_limiter.rs -------------------------------------------------------------------------------- /src/lib/utils/stun.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/stun.rs -------------------------------------------------------------------------------- /src/lib/utils/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/lib/utils/time.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vilicvane/plug2proxy/HEAD/src/main.rs --------------------------------------------------------------------------------