trojan-go
Go实现的Trojan代理,支持多路复用/路由功能/CDN中转/Shadowsocks混淆插件,多平台,无依赖。A Trojan proxy written in Go. An unidentifiable mechanism that helps you bypass GFW. https://p4gefau1t.github.io/trojan-go/
A proxy tool that disguises your internet traffic as normal HTTPS to bypass censorship, routing it through a server outside the blocked network so you can reach any website or service freely.
Trojan-Go is a proxy tool written in Go that helps people in countries with heavy internet censorship access blocked websites and services. It does this by disguising network traffic as ordinary HTTPS web traffic, making it very difficult for automated censorship systems to identify and block. The project is a reimplementation of an older proxy protocol called Trojan, with a number of added features and improvements.
The tool runs as either a server or a client. You install the server on a computer located outside the censored network, and the client runs on your local machine. Traffic from your device passes through an encrypted tunnel to the server, which then connects to whatever site or service you wanted to reach. The client can accept connections in several standard proxy formats, so most apps can be routed through it without extra configuration.
Trojan-Go adds several capabilities on top of the original Trojan protocol. A multiplexing feature lets a single encrypted connection carry many simultaneous requests, which reduces delays when loading pages with lots of images or files. A built-in routing module lets you decide which traffic goes through the proxy and which connects directly, so domestic sites load at full speed. It also supports routing traffic through a CDN service using WebSocket connections, which can help in situations where direct connections to the server are blocked.
For users who want extra protection, there is an optional second layer of encryption based on the Shadowsocks AEAD standard, which prevents even CDN servers from inspecting the content. The transport layer is also swappable through a plugin system that follows an established plugin standard, so you can substitute different obfuscation tools if needed.
The compiled binary has no external dependencies and runs on Windows, macOS, Linux, and even low-power devices like routers or single-board computers. Graphical client apps are available for Windows, macOS, Linux, and Android for those who prefer not to use the command line. Configuration is done via a JSON or YAML file, and pre-built binaries are available from the releases page.
Where it fits
- Access blocked websites and services from a country with heavy internet censorship by routing traffic through a server abroad.
- Speed up browsing through a proxy by using multiplexing so many page requests share one encrypted connection.
- Route only foreign traffic through the proxy while domestic sites connect directly, for faster overall speeds.
- Run the proxy through a CDN using WebSocket connections when direct server connections are blocked.