├── .gitignore ├── CMakeLists.txt ├── LICENSE ├── README.md ├── app ├── CMakeLists.txt ├── config │ ├── dokodemo.toml │ ├── socks-native.toml │ ├── socks-socks4.toml │ ├── socks-vmess.toml │ └── vmess-native.toml ├── test │ ├── CMakeLists.txt │ ├── socks5 │ │ ├── CMakeLists.txt │ │ ├── client.c │ │ └── server.c │ └── vmess │ │ ├── CMakeLists.txt │ │ ├── client.c │ │ ├── middle.c │ │ └── server.c ├── vhook │ ├── CMakeLists.txt │ ├── hook.c │ ├── hook.def │ ├── hook.h │ ├── hookv │ └── main.c └── vmecs │ ├── CMakeLists.txt │ └── main.c ├── crypto ├── CMakeLists.txt ├── aes.c ├── aes.h ├── hash.c └── hash.h ├── plan.txt ├── proto ├── CMakeLists.txt ├── buf.c ├── buf.h ├── common.c ├── common.h ├── dokodemo │ ├── inbound.c │ ├── inbound.h │ ├── outbound.c │ └── outbound.h ├── native │ ├── outbound.c │ ├── outbound.h │ ├── tcp.c │ └── tcp.h ├── relay │ ├── etcp.c │ ├── etcp.h │ ├── inbound.h │ ├── outbound.h │ ├── tcp.c │ └── tcp.h ├── socks │ ├── inbound.c │ ├── inbound.h │ ├── outbound.c │ ├── outbound.h │ ├── socks4.c │ ├── socks4.h │ ├── socks5.c │ ├── socks5.h │ ├── tcp.c │ └── tcp.h ├── tcp.h └── vmess │ ├── decoding.c │ ├── decoding.h │ ├── inbound.c │ ├── inbound.h │ ├── outbound.c │ ├── outbound.h │ ├── request.c │ ├── response.c │ ├── tcp.c │ ├── tcp.h │ ├── vmess.c │ └── vmess.h ├── pub ├── CMakeLists.txt ├── epoll.h ├── err.h ├── fd.h ├── hash.h ├── random.c ├── random.h ├── serial.c ├── serial.h ├── socket.h ├── thread.h ├── time.h └── type.h └── toml ├── CMakeLists.txt ├── ast.c ├── ast.h ├── lexer.c ├── lexer.h ├── obj.c ├── obj.h ├── parser.h ├── table.c ├── table.h ├── test.c ├── test.toml ├── toml.c └── toml.h /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/.gitignore -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/README.md -------------------------------------------------------------------------------- /app/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/CMakeLists.txt -------------------------------------------------------------------------------- /app/config/dokodemo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/config/dokodemo.toml -------------------------------------------------------------------------------- /app/config/socks-native.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/config/socks-native.toml -------------------------------------------------------------------------------- /app/config/socks-socks4.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/config/socks-socks4.toml -------------------------------------------------------------------------------- /app/config/socks-vmess.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/config/socks-vmess.toml -------------------------------------------------------------------------------- /app/config/vmess-native.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/config/vmess-native.toml -------------------------------------------------------------------------------- /app/test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/CMakeLists.txt -------------------------------------------------------------------------------- /app/test/socks5/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/socks5/CMakeLists.txt -------------------------------------------------------------------------------- /app/test/socks5/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/socks5/client.c -------------------------------------------------------------------------------- /app/test/socks5/server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/socks5/server.c -------------------------------------------------------------------------------- /app/test/vmess/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/vmess/CMakeLists.txt -------------------------------------------------------------------------------- /app/test/vmess/client.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/vmess/client.c -------------------------------------------------------------------------------- /app/test/vmess/middle.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/vmess/middle.c -------------------------------------------------------------------------------- /app/test/vmess/server.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/test/vmess/server.c -------------------------------------------------------------------------------- /app/vhook/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/CMakeLists.txt -------------------------------------------------------------------------------- /app/vhook/hook.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/hook.c -------------------------------------------------------------------------------- /app/vhook/hook.def: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/hook.def -------------------------------------------------------------------------------- /app/vhook/hook.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/hook.h -------------------------------------------------------------------------------- /app/vhook/hookv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/hookv -------------------------------------------------------------------------------- /app/vhook/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vhook/main.c -------------------------------------------------------------------------------- /app/vmecs/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vmecs/CMakeLists.txt -------------------------------------------------------------------------------- /app/vmecs/main.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/app/vmecs/main.c -------------------------------------------------------------------------------- /crypto/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/crypto/CMakeLists.txt -------------------------------------------------------------------------------- /crypto/aes.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/crypto/aes.c -------------------------------------------------------------------------------- /crypto/aes.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/crypto/aes.h -------------------------------------------------------------------------------- /crypto/hash.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/crypto/hash.c -------------------------------------------------------------------------------- /crypto/hash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/crypto/hash.h -------------------------------------------------------------------------------- /plan.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/plan.txt -------------------------------------------------------------------------------- /proto/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/CMakeLists.txt -------------------------------------------------------------------------------- /proto/buf.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/buf.c -------------------------------------------------------------------------------- /proto/buf.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/buf.h -------------------------------------------------------------------------------- /proto/common.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/common.c -------------------------------------------------------------------------------- /proto/common.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/common.h -------------------------------------------------------------------------------- /proto/dokodemo/inbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/dokodemo/inbound.c -------------------------------------------------------------------------------- /proto/dokodemo/inbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/dokodemo/inbound.h -------------------------------------------------------------------------------- /proto/dokodemo/outbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/dokodemo/outbound.c -------------------------------------------------------------------------------- /proto/dokodemo/outbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/dokodemo/outbound.h -------------------------------------------------------------------------------- /proto/native/outbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/native/outbound.c -------------------------------------------------------------------------------- /proto/native/outbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/native/outbound.h -------------------------------------------------------------------------------- /proto/native/tcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/native/tcp.c -------------------------------------------------------------------------------- /proto/native/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/native/tcp.h -------------------------------------------------------------------------------- /proto/relay/etcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/etcp.c -------------------------------------------------------------------------------- /proto/relay/etcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/etcp.h -------------------------------------------------------------------------------- /proto/relay/inbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/inbound.h -------------------------------------------------------------------------------- /proto/relay/outbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/outbound.h -------------------------------------------------------------------------------- /proto/relay/tcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/tcp.c -------------------------------------------------------------------------------- /proto/relay/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/relay/tcp.h -------------------------------------------------------------------------------- /proto/socks/inbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/inbound.c -------------------------------------------------------------------------------- /proto/socks/inbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/inbound.h -------------------------------------------------------------------------------- /proto/socks/outbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/outbound.c -------------------------------------------------------------------------------- /proto/socks/outbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/outbound.h -------------------------------------------------------------------------------- /proto/socks/socks4.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/socks4.c -------------------------------------------------------------------------------- /proto/socks/socks4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/socks4.h -------------------------------------------------------------------------------- /proto/socks/socks5.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/socks5.c -------------------------------------------------------------------------------- /proto/socks/socks5.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/socks5.h -------------------------------------------------------------------------------- /proto/socks/tcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/tcp.c -------------------------------------------------------------------------------- /proto/socks/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/socks/tcp.h -------------------------------------------------------------------------------- /proto/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/tcp.h -------------------------------------------------------------------------------- /proto/vmess/decoding.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/decoding.c -------------------------------------------------------------------------------- /proto/vmess/decoding.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/decoding.h -------------------------------------------------------------------------------- /proto/vmess/inbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/inbound.c -------------------------------------------------------------------------------- /proto/vmess/inbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/inbound.h -------------------------------------------------------------------------------- /proto/vmess/outbound.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/outbound.c -------------------------------------------------------------------------------- /proto/vmess/outbound.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/outbound.h -------------------------------------------------------------------------------- /proto/vmess/request.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/request.c -------------------------------------------------------------------------------- /proto/vmess/response.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/response.c -------------------------------------------------------------------------------- /proto/vmess/tcp.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/tcp.c -------------------------------------------------------------------------------- /proto/vmess/tcp.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/tcp.h -------------------------------------------------------------------------------- /proto/vmess/vmess.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/vmess.c -------------------------------------------------------------------------------- /proto/vmess/vmess.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/proto/vmess/vmess.h -------------------------------------------------------------------------------- /pub/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # pub 2 | 3 | add_lib_batch(vmecs-pub STATIC "*.c") 4 | -------------------------------------------------------------------------------- /pub/epoll.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/epoll.h -------------------------------------------------------------------------------- /pub/err.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/err.h -------------------------------------------------------------------------------- /pub/fd.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/fd.h -------------------------------------------------------------------------------- /pub/hash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/hash.h -------------------------------------------------------------------------------- /pub/random.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/random.c -------------------------------------------------------------------------------- /pub/random.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/random.h -------------------------------------------------------------------------------- /pub/serial.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/serial.c -------------------------------------------------------------------------------- /pub/serial.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/serial.h -------------------------------------------------------------------------------- /pub/socket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/socket.h -------------------------------------------------------------------------------- /pub/thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/thread.h -------------------------------------------------------------------------------- /pub/time.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/time.h -------------------------------------------------------------------------------- /pub/type.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/pub/type.h -------------------------------------------------------------------------------- /toml/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/CMakeLists.txt -------------------------------------------------------------------------------- /toml/ast.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/ast.c -------------------------------------------------------------------------------- /toml/ast.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/ast.h -------------------------------------------------------------------------------- /toml/lexer.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/lexer.c -------------------------------------------------------------------------------- /toml/lexer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/lexer.h -------------------------------------------------------------------------------- /toml/obj.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/obj.c -------------------------------------------------------------------------------- /toml/obj.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/obj.h -------------------------------------------------------------------------------- /toml/parser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/parser.h -------------------------------------------------------------------------------- /toml/table.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/table.c -------------------------------------------------------------------------------- /toml/table.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/table.h -------------------------------------------------------------------------------- /toml/test.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/test.c -------------------------------------------------------------------------------- /toml/test.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/test.toml -------------------------------------------------------------------------------- /toml/toml.c: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/toml.c -------------------------------------------------------------------------------- /toml/toml.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicholascw/vmecs/HEAD/toml/toml.h --------------------------------------------------------------------------------