# Trojan - sing-box
The universal proxy platform.
Author: nekohasekai

跳转至

# Trojan

Trojan is the most commonly used TLS proxy made in China. It can be used in various combinations.

Protocol and implementation combination | Specification | Resists passive detection | Resists active probes
--- | --- | --- | ---
Origin / trojan-gfw | trojan-gfw.github.io |  |
Basic Go implementation | / |  |
with privates transport by V2Ray | No formal definition |  |
with uTLS enabled | No formal definition |  |

##
Password Generator

Generate Password | Action
--- | ---
```` |

##
Server Example

With local certificate
With ACME
With ACME and Cloudflare API

    {
      "inbounds": [
        {
          "type": "trojan",
          "listen": "::",
          "listen_port": 8080,
          "users": [
            {
              "name": "example",
              "password": "password"
            }
          ],
          "tls": {
            "enabled": true,
            "server_name": "example.org",
            "key_path": "/path/to/key.pem",
            "certificate_path": "/path/to/certificate.pem"
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }

    {
      "inbounds": [
        {
          "type": "trojan",
          "listen": "::",
          "listen_port": 8080,
          "users": [
            {
              "name": "example",
              "password": "password"
            }
          ],
          "tls": {
            "enabled": true,
            "server_name": "example.org",
            "acme": {
              "domain": "example.org",
              "email": "admin@example.org"
            }
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }

    {
      "inbounds": [
        {
          "type": "trojan",
          "listen": "::",
          "listen_port": 8080,
          "users": [
            {
              "name": "example",
              "password": "password"
            }
          ],
          "tls": {
            "enabled": true,
            "server_name": "example.org",
            "acme": {
              "domain": "example.org",
              "email": "admin@example.org",
              "dns01_challenge": {
                "provider": "cloudflare",
                "api_token": "my_token"
              }
            }
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }

##
Client Example

With valid certificate
With self-sign certificate
Ignore certificate verification

    {
      "outbounds": [
        {
          "type": "trojan",
          "server": "127.0.0.1",
          "server_port": 8080,
          "password": "password",
          "tls": {
            "enabled": true,
            "server_name": "example.org"
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }

Tip

Use `sing-box merge` command to merge configuration and certificate into one file.

    {
      "outbounds": [
        {
          "type": "trojan",
          "server": "127.0.0.1",
          "server_port": 8080,
          "password": "password",
          "tls": {
            "enabled": true,
            "server_name": "example.org",
            "certificate_path": "/path/to/certificate.pem"
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }

    {
      "outbounds": [
        {
          "type": "trojan",
          "server": "127.0.0.1",
          "server_port": 8080,
          "password": "password",
          "tls": {
            "enabled": true,
            "server_name": "example.org",
            "insecure": true
          },
          "multiplex": {
            "enabled": true
          }
        }
      ]
    }