# p4gefau1t/trojan-go

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/p4gefau1t-trojan-go).**

8,385 stars · 1,767 forks · Go · GPL-3.0

## Links

- GitHub: https://github.com/p4gefau1t/trojan-go
- awesome-repositories: https://awesome-repositories.com/repository/p4gefau1t-trojan-go.md

## Topics

`anticensorship` `china` `gfw` `go` `golang` `network` `privacy` `proxy` `tls` `transparent-proxy` `trojan-gfw` `trojan-go` `tunnel`

## Description

Trojan-go is a network proxy implementation that uses the Trojan protocol to disguise internet traffic as standard TLS to bypass censorship and deep packet inspection. It functions as a tunneling gateway that encapsulates network data within encrypted tunnels to mimic ordinary web browsing.

The project distinguishes itself through advanced obfuscation techniques, including TLS fingerprint mimicry to avoid detection by client signature identification and the use of WebSockets to relay encrypted traffic through content delivery networks. It also supports UDP forwarding through the Trojan protocol to enable non-TCP traffic.

The system includes capabilities for secure network proxying, such as AEAD-based second-layer encryption and database-driven user authentication for quota management. Traffic is managed via rule-based destination routing and TCP connection multiplexing to reduce handshake latency. It further supports transparent proxying by intercepting network traffic at the system level.

## Tags

### Networking & Communication

- [Traffic Proxying](https://awesome-repositories.com/f/networking-communication/traffic-proxying.md) — Functions as a tunneling gateway that encapsulates network data to bypass internet censorship and hide online activity. ([source](https://github.com/p4gefau1t/trojan-go#readme))
- [Traffic Disguise Techniques](https://awesome-repositories.com/f/networking-communication/traffic-tunneling/traffic-disguise-techniques.md) — Encapsulates proxy data within TLS tunnels to disguise network traffic as standard web browsing.
- [CDN-Based Obfuscation Relays](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/cdn-integrations/cdn-based-obfuscation-relays.md) — Wraps protocol traffic in WebSockets to relay encrypted data through content delivery networks for traffic obfuscation.
- [CDN Routing Gateways](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-routing-traffic-management/network-traffic-management/cdn-routing-gateways.md) — Acts as a gateway that uses WebSockets to route traffic through CDNs to mask server identity.
- [Connection Multiplexing](https://awesome-repositories.com/f/networking-communication/network-tunnels/tunnel-managers/connection-multiplexing.md) — Maps multiple independent TCP streams into a single shared TLS tunnel to eliminate repeated handshake latency.
- [Proxy Protocol Implementations](https://awesome-repositories.com/f/networking-communication/proxy-protocol-implementations.md) — Implements the Trojan protocol to disguise network traffic as standard TLS for bypassing deep packet inspection.
- [Secure Proxy Gateways](https://awesome-repositories.com/f/networking-communication/secure-proxy-gateways.md) — Routes internet and UDP traffic through encrypted tunnels to hide online activity and protect user privacy.
- [CDN Relay Obfuscation](https://awesome-repositories.com/f/networking-communication/traffic-obfuscation/cdn-relay-obfuscation.md) — Wraps protocol traffic in WebSockets to relay encrypted data through content delivery networks for obfuscation. ([source](https://github.com/p4gefau1t/trojan-go#readme))
- [Destination-Based Routing](https://awesome-repositories.com/f/networking-communication/traffic-routing/protocol-based-routing-rules/destination-based-routing.md) — Directs network requests to be proxied, bypassed, or blocked based on customizable destination rules. ([source](https://github.com/p4gefau1t/trojan-go#readme))
- [Trojan Protocol Implementations](https://awesome-repositories.com/f/networking-communication/trojan-protocol-implementations.md) — Uses the Trojan protocol to encapsulate network traffic, disguising it as standard TLS to bypass deep packet inspection. ([source](https://p4gefau1t.github.io/trojan-go))
- [Pluggable Transport Layers](https://awesome-repositories.com/f/networking-communication/communication-protocols-architectures/communication-protocols-standards/network-transport-layers/pluggable-transport-layers.md) — Provides modular interfaces that allow external obfuscation tools to replace the default security layer for data transmission.
- [Plugin-Based Transport Extensions](https://awesome-repositories.com/f/networking-communication/custom-transport-protocols/plugin-based-transport-extensions.md) — Supports the integration of external plugins to implement custom transport protocols and obfuscation methods. ([source](https://github.com/p4gefau1t/trojan-go/blob/master/README.md))
- [UDP Tunneling](https://awesome-repositories.com/f/networking-communication/network-infrastructure-routing/network-proxying-tools/network-proxies/udp-tunneling.md) — Provides encapsulation and redirection of UDP traffic through the Trojan proxy tunnel.
- [Quota Management Systems](https://awesome-repositories.com/f/networking-communication/socks5-proxies/socks5-user-authentication/quota-management-systems.md) — Provides database-driven authentication and tracks data consumption to enforce traffic quotas for shared proxy resources.
- [TCP Connection Multiplexers](https://awesome-repositories.com/f/networking-communication/tcp-connection-multiplexers.md) — Multiplexes multiple TCP streams through a single TLS tunnel to improve speed and reduce handshake latency. ([source](https://github.com/p4gefau1t/trojan-go#readme))
- [Low-Latency Tunneling](https://awesome-repositories.com/f/networking-communication/tcp-protocol-implementations/tcp-tunneling/low-latency-tunneling.md) — Reduces connection latency and overhead by multiplexing multiple TCP streams through a single encrypted TLS tunnel.
- [AEAD Encrypted Proxies](https://awesome-repositories.com/f/networking-communication/tcp-proxies/aead-encrypted-proxies.md) — Implements AEAD ciphers with per-session subkeys to protect proxy data from inspection by untrusted intermediaries. ([source](https://github.com/p4gefau1t/trojan-go#readme))
- [Multiplexed](https://awesome-repositories.com/f/networking-communication/tcp-proxies/multiplexed.md) — Implements a proxy system that carries multiple TCP streams through a single TLS connection to reduce handshake latency.
- [Transparent Network Proxies](https://awesome-repositories.com/f/networking-communication/transparent-network-proxies.md) — Intercepts network traffic at the system level using network address translation to route packets without client-side configuration. ([source](https://github.com/p4gefau1t/trojan-go/blob/master/README.md))
- [UDP Proxies](https://awesome-repositories.com/f/networking-communication/udp-proxies.md) — Supports the forwarding of UDP packets through the Trojan protocol to enable non-TCP internet traffic. ([source](https://github.com/p4gefau1t/trojan-go/blob/master/README.md))

### Development Tools & Productivity

- [Censorship Bypasses](https://awesome-repositories.com/f/development-tools-productivity/traffic-bypass-configuration/censorship-bypasses.md) — Utilizes the Trojan protocol to disguise traffic as ordinary web browsing to evade state-level internet censorship.

### Security & Cryptography

- [TLS Fingerprint Impersonators](https://awesome-repositories.com/f/security-cryptography/device-fingerprinting/fingerprint-configuration/tls-fingerprinting/tls-fingerprint-impersonators.md) — Impersonates the TLS handshake of specific browsers to evade detection by network fingerprinting systems.
- [Traffic Obfuscation Suites](https://awesome-repositories.com/f/security-cryptography/device-fingerprinting/fingerprint-configuration/tls-fingerprinting/tls-fingerprint-impersonators/traffic-obfuscation-suites.md) — Modifies TLS fingerprints and uses CDN relaying to make proxy connections indistinguishable from standard web browsing.
- [TLS and WebSocket Tunnel Encryption](https://awesome-repositories.com/f/security-cryptography/secure-tunneling/tls-and-websocket-tunnel-encryption.md) — Functions as a gateway that encapsulates network data within TLS and WebSocket encrypted tunnels to mimic web traffic.
- [AEAD Cipher Implementations](https://awesome-repositories.com/f/security-cryptography/encrypted-tunneling/aead-cipher-implementations.md) — Implements AEAD ciphers like chacha20-poly1305 to provide an additional layer of integrity and authenticity for tunnel traffic.
- [Traffic Quota Enforcements](https://awesome-repositories.com/f/security-cryptography/firewalls/client-access-policies/traffic-quota-enforcements.md) — Provides database-driven user authentication to enforce data consumption limits and traffic quotas. ([source](https://github.com/p4gefau1t/trojan-go/blob/master/README.md))
- [Proxy User Managers](https://awesome-repositories.com/f/security-cryptography/user-account-management/multi-user-support/proxy-user-managers.md) — Manages multiple proxy users and enforces data consumption limits via an external database.

### System Administration & Monitoring

- [Rule-Based Routing Systems](https://awesome-repositories.com/f/system-administration-monitoring/administrative-operations/linux-system-administration/networking/proxy-management-systems/traffic-routing-controllers/rule-based-routing-systems.md) — Directs network requests to be proxied, bypassed, or blocked based on criteria such as domain, IP, or port.
