├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── LICENSE ├── benches ├── bench_simd.rs.dep └── mod.rs.dep ├── readme.md └── src ├── The Speed Of Lite —— Lite-Tls Specification.md ├── args.rs ├── client ├── inbound │ ├── http.rs │ ├── listener.rs │ ├── mod.rs │ └── socks5.rs ├── mod.rs ├── outbound │ ├── connect.rs │ ├── mod.rs │ ├── quic.rs │ ├── request_cmd.rs │ ├── tcp_tls.rs │ └── trojan_auth.rs ├── run.rs └── utils │ ├── client_server_connection.rs │ ├── client_tcp_stream.rs │ ├── client_udp_stream.rs │ ├── connection_mode.rs │ ├── data_transfer.rs │ ├── mod.rs │ └── rustls_utils.rs ├── main.rs ├── protocol.rs ├── proxy.rs ├── server ├── inbound │ ├── acceptor.rs │ ├── handler.rs │ ├── listener.rs │ ├── mod.rs │ ├── quic.rs │ └── tcp_tls.rs ├── mod.rs ├── outbound │ ├── connector.rs │ ├── fallback.rs │ └── mod.rs ├── run.rs └── utils │ ├── lite_tls.rs │ ├── mod.rs │ ├── rustls_utils.rs │ └── server_udp_stream.rs ├── simd ├── mod.rs └── simd_parse.rs └── utils ├── adapter.rs ├── buffered_recv.rs ├── buffers.rs ├── copy_tcp.rs ├── dns_utils ├── dns_resolver.rs └── mod.rs ├── either_io.rs ├── forked_copy ├── copy_bidirectional.rs ├── copy_buf.rs └── mod.rs ├── glommio_utils ├── copy_bidirectional.rs ├── copy_buf.rs ├── mod.rs └── start_tcp_relay_thread.rs ├── lite_tls ├── The Journey to The Speed of Lite.md ├── error.rs ├── leave_tls.rs ├── lite_tls_stream.rs ├── mod.rs └── tls_relay_buffer.rs ├── macros.rs ├── mix_addr.rs ├── mod.rs ├── timedout_duplex_io.rs ├── udp ├── copy_udp.rs ├── copy_udp_bidirectional.rs ├── mod.rs ├── trojan_udp_stream.rs ├── udp_relay_buffer.rs ├── udp_shutdown.rs └── udp_traits.rs └── wr_tuple.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | .VSCodeCounter 3 | .devcontainer -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/LICENSE -------------------------------------------------------------------------------- /benches/bench_simd.rs.dep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/benches/bench_simd.rs.dep -------------------------------------------------------------------------------- /benches/mod.rs.dep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/benches/mod.rs.dep -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/readme.md -------------------------------------------------------------------------------- /src/The Speed Of Lite —— Lite-Tls Specification.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/The Speed Of Lite —— Lite-Tls Specification.md -------------------------------------------------------------------------------- /src/args.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/args.rs -------------------------------------------------------------------------------- /src/client/inbound/http.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/inbound/http.rs -------------------------------------------------------------------------------- /src/client/inbound/listener.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/inbound/listener.rs -------------------------------------------------------------------------------- /src/client/inbound/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/inbound/mod.rs -------------------------------------------------------------------------------- /src/client/inbound/socks5.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/inbound/socks5.rs -------------------------------------------------------------------------------- /src/client/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/mod.rs -------------------------------------------------------------------------------- /src/client/outbound/connect.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/connect.rs -------------------------------------------------------------------------------- /src/client/outbound/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/mod.rs -------------------------------------------------------------------------------- /src/client/outbound/quic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/quic.rs -------------------------------------------------------------------------------- /src/client/outbound/request_cmd.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/request_cmd.rs -------------------------------------------------------------------------------- /src/client/outbound/tcp_tls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/tcp_tls.rs -------------------------------------------------------------------------------- /src/client/outbound/trojan_auth.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/outbound/trojan_auth.rs -------------------------------------------------------------------------------- /src/client/run.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/run.rs -------------------------------------------------------------------------------- /src/client/utils/client_server_connection.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/client_server_connection.rs -------------------------------------------------------------------------------- /src/client/utils/client_tcp_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/client_tcp_stream.rs -------------------------------------------------------------------------------- /src/client/utils/client_udp_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/client_udp_stream.rs -------------------------------------------------------------------------------- /src/client/utils/connection_mode.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/connection_mode.rs -------------------------------------------------------------------------------- /src/client/utils/data_transfer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/data_transfer.rs -------------------------------------------------------------------------------- /src/client/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/mod.rs -------------------------------------------------------------------------------- /src/client/utils/rustls_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/client/utils/rustls_utils.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/main.rs -------------------------------------------------------------------------------- /src/protocol.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/protocol.rs -------------------------------------------------------------------------------- /src/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/proxy.rs -------------------------------------------------------------------------------- /src/server/inbound/acceptor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/acceptor.rs -------------------------------------------------------------------------------- /src/server/inbound/handler.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/handler.rs -------------------------------------------------------------------------------- /src/server/inbound/listener.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/listener.rs -------------------------------------------------------------------------------- /src/server/inbound/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/mod.rs -------------------------------------------------------------------------------- /src/server/inbound/quic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/quic.rs -------------------------------------------------------------------------------- /src/server/inbound/tcp_tls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/inbound/tcp_tls.rs -------------------------------------------------------------------------------- /src/server/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/mod.rs -------------------------------------------------------------------------------- /src/server/outbound/connector.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/outbound/connector.rs -------------------------------------------------------------------------------- /src/server/outbound/fallback.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/outbound/fallback.rs -------------------------------------------------------------------------------- /src/server/outbound/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/outbound/mod.rs -------------------------------------------------------------------------------- /src/server/run.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/run.rs -------------------------------------------------------------------------------- /src/server/utils/lite_tls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/utils/lite_tls.rs -------------------------------------------------------------------------------- /src/server/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/utils/mod.rs -------------------------------------------------------------------------------- /src/server/utils/rustls_utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/utils/rustls_utils.rs -------------------------------------------------------------------------------- /src/server/utils/server_udp_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/server/utils/server_udp_stream.rs -------------------------------------------------------------------------------- /src/simd/mod.rs: -------------------------------------------------------------------------------- 1 | pub mod simd_parse; -------------------------------------------------------------------------------- /src/simd/simd_parse.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/simd/simd_parse.rs -------------------------------------------------------------------------------- /src/utils/adapter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/adapter.rs -------------------------------------------------------------------------------- /src/utils/buffered_recv.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/buffered_recv.rs -------------------------------------------------------------------------------- /src/utils/buffers.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/buffers.rs -------------------------------------------------------------------------------- /src/utils/copy_tcp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/copy_tcp.rs -------------------------------------------------------------------------------- /src/utils/dns_utils/dns_resolver.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/dns_utils/dns_resolver.rs -------------------------------------------------------------------------------- /src/utils/dns_utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/dns_utils/mod.rs -------------------------------------------------------------------------------- /src/utils/either_io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/either_io.rs -------------------------------------------------------------------------------- /src/utils/forked_copy/copy_bidirectional.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/forked_copy/copy_bidirectional.rs -------------------------------------------------------------------------------- /src/utils/forked_copy/copy_buf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/forked_copy/copy_buf.rs -------------------------------------------------------------------------------- /src/utils/forked_copy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/forked_copy/mod.rs -------------------------------------------------------------------------------- /src/utils/glommio_utils/copy_bidirectional.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/glommio_utils/copy_bidirectional.rs -------------------------------------------------------------------------------- /src/utils/glommio_utils/copy_buf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/glommio_utils/copy_buf.rs -------------------------------------------------------------------------------- /src/utils/glommio_utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/glommio_utils/mod.rs -------------------------------------------------------------------------------- /src/utils/glommio_utils/start_tcp_relay_thread.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/glommio_utils/start_tcp_relay_thread.rs -------------------------------------------------------------------------------- /src/utils/lite_tls/The Journey to The Speed of Lite.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/The Journey to The Speed of Lite.md -------------------------------------------------------------------------------- /src/utils/lite_tls/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/error.rs -------------------------------------------------------------------------------- /src/utils/lite_tls/leave_tls.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/leave_tls.rs -------------------------------------------------------------------------------- /src/utils/lite_tls/lite_tls_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/lite_tls_stream.rs -------------------------------------------------------------------------------- /src/utils/lite_tls/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/mod.rs -------------------------------------------------------------------------------- /src/utils/lite_tls/tls_relay_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/lite_tls/tls_relay_buffer.rs -------------------------------------------------------------------------------- /src/utils/macros.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/macros.rs -------------------------------------------------------------------------------- /src/utils/mix_addr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/mix_addr.rs -------------------------------------------------------------------------------- /src/utils/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/mod.rs -------------------------------------------------------------------------------- /src/utils/timedout_duplex_io.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/timedout_duplex_io.rs -------------------------------------------------------------------------------- /src/utils/udp/copy_udp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/copy_udp.rs -------------------------------------------------------------------------------- /src/utils/udp/copy_udp_bidirectional.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/copy_udp_bidirectional.rs -------------------------------------------------------------------------------- /src/utils/udp/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/mod.rs -------------------------------------------------------------------------------- /src/utils/udp/trojan_udp_stream.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/trojan_udp_stream.rs -------------------------------------------------------------------------------- /src/utils/udp/udp_relay_buffer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/udp_relay_buffer.rs -------------------------------------------------------------------------------- /src/utils/udp/udp_shutdown.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/udp_shutdown.rs -------------------------------------------------------------------------------- /src/utils/udp/udp_traits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/udp/udp_traits.rs -------------------------------------------------------------------------------- /src/utils/wr_tuple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/3andne/trojan-oxide/HEAD/src/utils/wr_tuple.rs --------------------------------------------------------------------------------