github.com/imgk/caddy-trojan@v0.0.0-20221206043256-2631719e16c8/README.md (about)

     1  # Caddy-Trojan
     2  
     3  ## Build with xcaddy
     4  ```
     5  $ xcaddy build --with github.com/imgk/caddy-trojan
     6  ```
     7  
     8  ##  Config (Caddyfile)
     9  ```
    10  {
    11  	order trojan before file_server
    12  	servers :443 {
    13  		listener_wrappers {
    14  			trojan
    15  		}
    16  	}
    17  	trojan {
    18  		caddy
    19  		no_proxy
    20  		users pass1234 word5678
    21  	}
    22  }
    23  :443, example.com {
    24  	tls your@email.com #optional,recommended
    25  	trojan {
    26  		connect_method
    27  		websocket
    28  	}
    29  	file_server {
    30  		root /var/www/html
    31  	}
    32  }
    33  ```
    34  ##  Config (JSON)
    35  ```
    36  {
    37    "apps": {
    38      "http": {
    39        "servers": {
    40          "srv0": {
    41            "listen": [":443"],
    42            "listener_wrappers": [{
    43              "wrapper": "trojan"
    44            }],
    45            "routes": [{
    46              "handle": [{
    47                "handler": "trojan",
    48                "connect_method": true,
    49                "websocket": true
    50              },
    51              {
    52                "handler": "file_server",
    53                "root": "/var/www/html"
    54              }]
    55            }]
    56          }
    57        }
    58      },
    59      "trojan": {
    60        "upstream": {
    61          "upstream": "caddy"
    62        },
    63        "proxy": {
    64          "proxy": "no_proxy"
    65        },
    66        "users": ["pass1234","word5678"]
    67      },
    68      "tls": {
    69        "certificates": {
    70          "automate": ["example.com"]
    71        },
    72        "automation": {
    73          "policies": [{
    74            "issuers": [{
    75              "module": "acme",
    76              "email": "your@email.com" //optional,recommended
    77            },
    78            {
    79              "module": "zerossl",
    80              "email": "your@email.com" //optional,recommended
    81            }]
    82          }]
    83        }
    84      }
    85    }
    86  }
    87  ```
    88  
    89  ## Manage Users
    90  
    91  1. Add user.
    92  ```
    93  curl -X POST -H "Content-Type: application/json" -d '{"password": "test1234"}' http://localhost:2019/trojan/users/add
    94  ```
    95  
    96  ## Docker
    97  
    98  ```
    99  git clone https://github.com/imgk/caddy-trojan
   100  cd caddy-trojan/Dockerfiles
   101  docker build -t caddy-trojan .
   102  docker run --env MYPASSWD=MY_PASSWORD --env MYDOMAIN=MY_DOMAIN.COM -itd --name caddy-trojan --restart always -p 80:80 -p 443:443 caddy-trojan
   103  ```