explaingit

trojan-gfw/trojan

19,728C++Audience · developerComplexity · 4/5StaleLicenseSetup · hard

TLDR

A censorship circumvention tool that disguises proxy traffic as normal HTTPS to bypass network blocking and deep packet inspection.

Mindmap

mindmap
  root((repo))
    What it does
      Bypasses censorship
      Disguises as HTTPS
      Evades detection
    How it works
      TLS encryption
      Multiple protocols
      Traffic camouflage
    Tech stack
      C++ codebase
      OpenSSL
      Boost libraries
    Use cases
      Access blocked websites
      Circumvent firewalls
      Secure browsing

Things people build with this

USE CASE 1

Access websites blocked by national firewalls or ISP censorship.

USE CASE 2

Route traffic through a proxy that looks like regular HTTPS to evade deep packet inspection.

USE CASE 3

Set up a private circumvention server for a group of users in restricted regions.

Tech stack

C++OpenSSLBoostMySQLTLS

Getting it running

Difficulty · hard Time to first run · 1day+

Requires compiling C++ with OpenSSL/Boost, setting up MySQL backend, configuring TLS certificates, and understanding network proxy architecture.

Use and modify freely for any purpose, but you must share modifications under the same GPLv3 license and include the original copyright notice.

In plain English

Trojan is a censorship circumvention tool designed to help users bypass the Great Firewall of China (GFW). Its distinguishing approach is camouflage: rather than using a recognizable proxy protocol that network monitors could detect and block, Trojan disguises traffic as ordinary HTTPS, the same encrypted protocol used by every normal website. To a network observer or deep packet inspection system, connections look identical to regular HTTPS traffic, making the proxy very difficult to identify and block. It runs over TLS (the encryption layer used by HTTPS) and supports multiple protocols on top of that. The project is written in C++ and relies on Boost, OpenSSL, and optionally MySQL as dependencies. It is open source under the GPLv3 license.

Copy-paste prompts

Prompt 1
How do I compile and deploy Trojan on a Linux server to create a proxy endpoint?
Prompt 2
What configuration options does Trojan support for TLS certificates and multiple protocols?
Prompt 3
How does Trojan disguise proxy traffic as HTTPS to avoid detection by firewalls?
Prompt 4
Can I integrate Trojan with MySQL for user authentication and traffic logging?
Open on GitHub → Explain another repo

Generated 2026-05-18 · Model: sonnet-4-6 · Verify against the repo before relying on details.