Sign inSign up

teddysun/trojan

By teddysun

•Updated over 5 years ago

Trojan Docker Image by Teddysun

Image
80

1M+

teddysun/trojan repository overview

⁠Trojan Docker Image by Teddysun

Trojan⁠ is An unidentifiable mechanism that helps you bypass GFW⁠.

Trojan features multiple protocols over TLS to avoid both active/passive detections and ISP QoS limitations.

Docker images are built for quick deployment in various computing cloud providers.

For more information on docker and containerization technologies, refer to official document⁠.

⁠Reference
  • Supported architectures (more info⁠): amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x

⁠Prepare the host

If you need to install docker by yourself, follow the official installation guide⁠.

⁠Pull the image

$ docker pull teddysun/trojan

This pulls the latest release of Trojan.

It can be found at Docker Hub⁠.

⁠Start a container

You must create a configuration file /etc/trojan/config.json in host at first:

$ mkdir -p /etc/trojan

A sample in JSON like below:

$ cat > /etc/trojan/config.json <<EOF
{
    "run_type": "server",
    "local_addr": "0.0.0.0",
    "local_port": 443,
    "remote_addr": "127.0.0.1",
    "remote_port": 80,
    "password": [
        "password1",
        "password2"
    ],
    "log_level": 1,
    "ssl": {
        "cert": "/path/to/certificate.crt",
        "key": "/path/to/private.key",
        "key_password": "",
        "cipher": "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384",
        "cipher_tls13": "TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_256_GCM_SHA384",
        "prefer_server_cipher": true,
        "alpn": [
            "http/1.1"
        ],
        "reuse_session": true,
        "session_ticket": false,
        "session_timeout": 600,
        "plain_http_response": "",
        "curves": "",
        "dhparam": ""
    },
    "tcp": {
        "prefer_ipv4": false,
        "no_delay": true,
        "keep_alive": true,
        "reuse_port": false,
        "fast_open": false,
        "fast_open_qlen": 20
    },
    "mysql": {
        "enabled": false,
        "server_addr": "127.0.0.1",
        "server_port": 3306,
        "database": "trojan",
        "username": "trojan",
        "password": ""
    }
}
EOF

An online documentation can be found here⁠

There is an example to start a container that listen on port 443, run as a Trojan server like below:

$ docker run -d -p 443:443 --name trojan --restart=always -v /etc/trojan:/etc/trojan teddysun/trojan

Warning: The port number 443 must be same as configuration and opened in firewall.

Tag summary

Content type

Image

Digest

Size

4.7 MB

Last updated

over 5 years ago

docker pull teddysun/trojan