├── .github └── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md ├── .gitignore ├── .gitpod.Dockerfile ├── .gitpod.yml ├── CMakeLists.txt ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── Dockerfile ├── LICENSE ├── README.md ├── SECURITY.md ├── azure-pipelines.yml ├── cmake └── FindMySQL.cmake ├── docs ├── README.md ├── _config.yml ├── authenticator.md ├── build.md ├── config.md ├── overview.md ├── protocol.md ├── trojan.1 └── usage.md ├── examples ├── client.json-example ├── forward.json-example ├── nat.json-example ├── server.json-example └── trojan.service-example ├── scripts └── getcert.py ├── src ├── core │ ├── authenticator.cpp │ ├── authenticator.h │ ├── config.cpp │ ├── config.h │ ├── log.cpp │ ├── log.h │ ├── service.cpp │ ├── service.h │ ├── version.cpp │ └── version.h ├── main.cpp ├── proto │ ├── socks5address.cpp │ ├── socks5address.h │ ├── trojanrequest.cpp │ ├── trojanrequest.h │ ├── udppacket.cpp │ └── udppacket.h ├── session │ ├── clientsession.cpp │ ├── clientsession.h │ ├── forwardsession.cpp │ ├── forwardsession.h │ ├── natsession.cpp │ ├── natsession.h │ ├── serversession.cpp │ ├── serversession.h │ ├── session.cpp │ ├── session.h │ ├── udpforwardsession.cpp │ └── udpforwardsession.h └── ssl │ ├── ssldefaults.cpp │ ├── ssldefaults.h │ ├── sslsession.cpp │ └── sslsession.h └── tests ├── .gitignore └── LinuxSmokeTest ├── README.md ├── basic.sh ├── client.json ├── common.sh ├── fake-client.json ├── fake-client.sh ├── forward.json └── server.json /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/.github/ISSUE_TEMPLATE/bug_report.md -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/.github/ISSUE_TEMPLATE/feature_request.md -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitpod.Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/.gitpod.Dockerfile -------------------------------------------------------------------------------- /.gitpod.yml: -------------------------------------------------------------------------------- 1 | image: 2 | file: .gitpod.Dockerfile 3 | -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/CONTRIBUTORS.md -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/README.md -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/SECURITY.md -------------------------------------------------------------------------------- /azure-pipelines.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/azure-pipelines.yml -------------------------------------------------------------------------------- /cmake/FindMySQL.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/cmake/FindMySQL.cmake -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/_config.yml -------------------------------------------------------------------------------- /docs/authenticator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/authenticator.md -------------------------------------------------------------------------------- /docs/build.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/build.md -------------------------------------------------------------------------------- /docs/config.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/config.md -------------------------------------------------------------------------------- /docs/overview.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/overview.md -------------------------------------------------------------------------------- /docs/protocol.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/protocol.md -------------------------------------------------------------------------------- /docs/trojan.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/trojan.1 -------------------------------------------------------------------------------- /docs/usage.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/docs/usage.md -------------------------------------------------------------------------------- /examples/client.json-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/examples/client.json-example -------------------------------------------------------------------------------- /examples/forward.json-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/examples/forward.json-example -------------------------------------------------------------------------------- /examples/nat.json-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/examples/nat.json-example -------------------------------------------------------------------------------- /examples/server.json-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/examples/server.json-example -------------------------------------------------------------------------------- /examples/trojan.service-example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/examples/trojan.service-example -------------------------------------------------------------------------------- /scripts/getcert.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/scripts/getcert.py -------------------------------------------------------------------------------- /src/core/authenticator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/authenticator.cpp -------------------------------------------------------------------------------- /src/core/authenticator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/authenticator.h -------------------------------------------------------------------------------- /src/core/config.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/config.cpp -------------------------------------------------------------------------------- /src/core/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/config.h -------------------------------------------------------------------------------- /src/core/log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/log.cpp -------------------------------------------------------------------------------- /src/core/log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/log.h -------------------------------------------------------------------------------- /src/core/service.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/service.cpp -------------------------------------------------------------------------------- /src/core/service.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/service.h -------------------------------------------------------------------------------- /src/core/version.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/version.cpp -------------------------------------------------------------------------------- /src/core/version.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/core/version.h -------------------------------------------------------------------------------- /src/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/main.cpp -------------------------------------------------------------------------------- /src/proto/socks5address.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/socks5address.cpp -------------------------------------------------------------------------------- /src/proto/socks5address.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/socks5address.h -------------------------------------------------------------------------------- /src/proto/trojanrequest.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/trojanrequest.cpp -------------------------------------------------------------------------------- /src/proto/trojanrequest.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/trojanrequest.h -------------------------------------------------------------------------------- /src/proto/udppacket.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/udppacket.cpp -------------------------------------------------------------------------------- /src/proto/udppacket.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/proto/udppacket.h -------------------------------------------------------------------------------- /src/session/clientsession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/clientsession.cpp -------------------------------------------------------------------------------- /src/session/clientsession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/clientsession.h -------------------------------------------------------------------------------- /src/session/forwardsession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/forwardsession.cpp -------------------------------------------------------------------------------- /src/session/forwardsession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/forwardsession.h -------------------------------------------------------------------------------- /src/session/natsession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/natsession.cpp -------------------------------------------------------------------------------- /src/session/natsession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/natsession.h -------------------------------------------------------------------------------- /src/session/serversession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/serversession.cpp -------------------------------------------------------------------------------- /src/session/serversession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/serversession.h -------------------------------------------------------------------------------- /src/session/session.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/session.cpp -------------------------------------------------------------------------------- /src/session/session.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/session.h -------------------------------------------------------------------------------- /src/session/udpforwardsession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/udpforwardsession.cpp -------------------------------------------------------------------------------- /src/session/udpforwardsession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/session/udpforwardsession.h -------------------------------------------------------------------------------- /src/ssl/ssldefaults.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/ssl/ssldefaults.cpp -------------------------------------------------------------------------------- /src/ssl/ssldefaults.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/ssl/ssldefaults.h -------------------------------------------------------------------------------- /src/ssl/sslsession.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/ssl/sslsession.cpp -------------------------------------------------------------------------------- /src/ssl/sslsession.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/src/ssl/sslsession.h -------------------------------------------------------------------------------- /tests/.gitignore: -------------------------------------------------------------------------------- 1 | # Allow config files in tests 2 | !*.json 3 | -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/README.md -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/basic.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/basic.sh -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/client.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/client.json -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/common.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/common.sh -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/fake-client.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/fake-client.json -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/fake-client.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/fake-client.sh -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/forward.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/forward.json -------------------------------------------------------------------------------- /tests/LinuxSmokeTest/server.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/trojan-gfw/trojan/HEAD/tests/LinuxSmokeTest/server.json --------------------------------------------------------------------------------