├── .github └── workflows │ ├── ci.yml │ ├── container-image.yml │ ├── cross_compile.yml │ └── release.yml ├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Dockerfile ├── Dockerfile.alpine ├── LICENSE ├── assets ├── conf_tree └── realm.png ├── examples ├── balance.json ├── balance.toml ├── basic.json ├── basic.toml ├── full.json ├── full.toml ├── gen.sh ├── good.json ├── good.toml ├── legacy.json ├── tls.json ├── tls.toml ├── ws.json ├── ws.toml ├── wss.json └── wss.toml ├── readme.container.md ├── readme.md ├── realm_core ├── Cargo.toml ├── README.md ├── src │ ├── dns │ │ └── mod.rs │ ├── endpoint.rs │ ├── lib.rs │ ├── tcp │ │ ├── hook.rs │ │ ├── middle.rs │ │ ├── mod.rs │ │ ├── plain.rs │ │ ├── proxy.rs │ │ ├── socket.rs │ │ └── transport.rs │ ├── time.rs │ ├── trick.rs │ └── udp │ │ ├── middle.rs │ │ ├── mod.rs │ │ ├── socket.rs │ │ └── sockmap.rs └── tests │ ├── proxy_v1.rs │ ├── proxy_v2.rs │ ├── tcp.rs │ └── udp.rs ├── realm_hook ├── Cargo.toml ├── README.md ├── examples │ ├── allow_all.cpp │ ├── makefile │ └── reject_all.cpp ├── realm.h └── src │ ├── lib.rs │ └── pre_conn.rs ├── realm_io ├── Cargo.toml ├── README.md └── src │ ├── bidi_copy.rs │ ├── buf.rs │ ├── lib.rs │ ├── mem_copy.rs │ ├── peek.rs │ ├── statistic.rs │ └── zero_copy.rs ├── realm_lb ├── Cargo.toml ├── README.md └── src │ ├── balancer.rs │ ├── ip_hash.rs │ ├── lib.rs │ └── round_robin.rs ├── realm_syscall ├── Cargo.toml ├── README.md └── src │ ├── daemon.rs │ ├── lib.rs │ ├── nofile.rs │ └── socket.rs ├── rust-toolchain.toml ├── rustfmt.toml └── src ├── bin.rs ├── cmd ├── flag.rs ├── mod.rs └── sub.rs ├── conf ├── dns.rs ├── endpoint.rs ├── legacy │ └── mod.rs ├── log.rs ├── mod.rs └── net.rs ├── consts.rs └── lib.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.github/workflows/container-image.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/.github/workflows/container-image.yml -------------------------------------------------------------------------------- /.github/workflows/cross_compile.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/.github/workflows/cross_compile.yml -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/.github/workflows/release.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /debug 3 | .DS_Store 4 | -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/Dockerfile -------------------------------------------------------------------------------- /Dockerfile.alpine: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/Dockerfile.alpine -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/LICENSE -------------------------------------------------------------------------------- /assets/conf_tree: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/assets/conf_tree -------------------------------------------------------------------------------- /assets/realm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/assets/realm.png -------------------------------------------------------------------------------- /examples/balance.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/balance.json -------------------------------------------------------------------------------- /examples/balance.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/balance.toml -------------------------------------------------------------------------------- /examples/basic.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/basic.json -------------------------------------------------------------------------------- /examples/basic.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/basic.toml -------------------------------------------------------------------------------- /examples/full.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/full.json -------------------------------------------------------------------------------- /examples/full.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/full.toml -------------------------------------------------------------------------------- /examples/gen.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/gen.sh -------------------------------------------------------------------------------- /examples/good.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/good.json -------------------------------------------------------------------------------- /examples/good.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/good.toml -------------------------------------------------------------------------------- /examples/legacy.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/legacy.json -------------------------------------------------------------------------------- /examples/tls.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/tls.json -------------------------------------------------------------------------------- /examples/tls.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/tls.toml -------------------------------------------------------------------------------- /examples/ws.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/ws.json -------------------------------------------------------------------------------- /examples/ws.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/ws.toml -------------------------------------------------------------------------------- /examples/wss.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/wss.json -------------------------------------------------------------------------------- /examples/wss.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/examples/wss.toml -------------------------------------------------------------------------------- /readme.container.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/readme.container.md -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/readme.md -------------------------------------------------------------------------------- /realm_core/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/Cargo.toml -------------------------------------------------------------------------------- /realm_core/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/README.md -------------------------------------------------------------------------------- /realm_core/src/dns/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/dns/mod.rs -------------------------------------------------------------------------------- /realm_core/src/endpoint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/endpoint.rs -------------------------------------------------------------------------------- /realm_core/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/lib.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/hook.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/hook.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/middle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/middle.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/mod.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/plain.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/plain.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/proxy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/proxy.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/socket.rs -------------------------------------------------------------------------------- /realm_core/src/tcp/transport.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/tcp/transport.rs -------------------------------------------------------------------------------- /realm_core/src/time.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/time.rs -------------------------------------------------------------------------------- /realm_core/src/trick.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/trick.rs -------------------------------------------------------------------------------- /realm_core/src/udp/middle.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/udp/middle.rs -------------------------------------------------------------------------------- /realm_core/src/udp/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/udp/mod.rs -------------------------------------------------------------------------------- /realm_core/src/udp/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/udp/socket.rs -------------------------------------------------------------------------------- /realm_core/src/udp/sockmap.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/src/udp/sockmap.rs -------------------------------------------------------------------------------- /realm_core/tests/proxy_v1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/tests/proxy_v1.rs -------------------------------------------------------------------------------- /realm_core/tests/proxy_v2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/tests/proxy_v2.rs -------------------------------------------------------------------------------- /realm_core/tests/tcp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/tests/tcp.rs -------------------------------------------------------------------------------- /realm_core/tests/udp.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_core/tests/udp.rs -------------------------------------------------------------------------------- /realm_hook/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/Cargo.toml -------------------------------------------------------------------------------- /realm_hook/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/README.md -------------------------------------------------------------------------------- /realm_hook/examples/allow_all.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/examples/allow_all.cpp -------------------------------------------------------------------------------- /realm_hook/examples/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/examples/makefile -------------------------------------------------------------------------------- /realm_hook/examples/reject_all.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/examples/reject_all.cpp -------------------------------------------------------------------------------- /realm_hook/realm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/realm.h -------------------------------------------------------------------------------- /realm_hook/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/src/lib.rs -------------------------------------------------------------------------------- /realm_hook/src/pre_conn.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_hook/src/pre_conn.rs -------------------------------------------------------------------------------- /realm_io/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/Cargo.toml -------------------------------------------------------------------------------- /realm_io/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/README.md -------------------------------------------------------------------------------- /realm_io/src/bidi_copy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/bidi_copy.rs -------------------------------------------------------------------------------- /realm_io/src/buf.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/buf.rs -------------------------------------------------------------------------------- /realm_io/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/lib.rs -------------------------------------------------------------------------------- /realm_io/src/mem_copy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/mem_copy.rs -------------------------------------------------------------------------------- /realm_io/src/peek.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/peek.rs -------------------------------------------------------------------------------- /realm_io/src/statistic.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/statistic.rs -------------------------------------------------------------------------------- /realm_io/src/zero_copy.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_io/src/zero_copy.rs -------------------------------------------------------------------------------- /realm_lb/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/Cargo.toml -------------------------------------------------------------------------------- /realm_lb/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/README.md -------------------------------------------------------------------------------- /realm_lb/src/balancer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/src/balancer.rs -------------------------------------------------------------------------------- /realm_lb/src/ip_hash.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/src/ip_hash.rs -------------------------------------------------------------------------------- /realm_lb/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/src/lib.rs -------------------------------------------------------------------------------- /realm_lb/src/round_robin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_lb/src/round_robin.rs -------------------------------------------------------------------------------- /realm_syscall/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/Cargo.toml -------------------------------------------------------------------------------- /realm_syscall/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/README.md -------------------------------------------------------------------------------- /realm_syscall/src/daemon.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/src/daemon.rs -------------------------------------------------------------------------------- /realm_syscall/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/src/lib.rs -------------------------------------------------------------------------------- /realm_syscall/src/nofile.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/src/nofile.rs -------------------------------------------------------------------------------- /realm_syscall/src/socket.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/realm_syscall/src/socket.rs -------------------------------------------------------------------------------- /rust-toolchain.toml: -------------------------------------------------------------------------------- 1 | [toolchain] 2 | channel = "nightly" 3 | -------------------------------------------------------------------------------- /rustfmt.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/rustfmt.toml -------------------------------------------------------------------------------- /src/bin.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/bin.rs -------------------------------------------------------------------------------- /src/cmd/flag.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/cmd/flag.rs -------------------------------------------------------------------------------- /src/cmd/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/cmd/mod.rs -------------------------------------------------------------------------------- /src/cmd/sub.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/cmd/sub.rs -------------------------------------------------------------------------------- /src/conf/dns.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/dns.rs -------------------------------------------------------------------------------- /src/conf/endpoint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/endpoint.rs -------------------------------------------------------------------------------- /src/conf/legacy/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/legacy/mod.rs -------------------------------------------------------------------------------- /src/conf/log.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/log.rs -------------------------------------------------------------------------------- /src/conf/mod.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/mod.rs -------------------------------------------------------------------------------- /src/conf/net.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/conf/net.rs -------------------------------------------------------------------------------- /src/consts.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/consts.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zephyrchien/realm/HEAD/src/lib.rs --------------------------------------------------------------------------------