Update trojan-go

This commit is contained in:
Teddysun 2023-11-15 20:52:50 +09:00
parent 9d94a26b12
commit 49ad970132
No known key found for this signature in database
GPG Key ID: 09BD4C080AD6C46D
3 changed files with 124 additions and 114 deletions

View File

@ -1,30 +1,31 @@
# Dockerfile for trojan-go based alpine # Dockerfile for trojan-go based alpine
# Copyright (C) 2019 - 2021 Teddysun <i@teddysun.com> # Copyright (C) 2019 - 2023 Teddysun <i@teddysun.com>
# Reference URL: # Reference URL:
# https://github.com/p4gefau1t/trojan-go # https://github.com/p4gefau1t/trojan-go
# https://github.com/v2fly/v2ray-core # https://github.com/v2fly/v2ray-core
# https://github.com/v2fly/geoip # https://github.com/v2fly/geoip
# https://github.com/v2fly/domain-list-community # https://github.com/v2fly/domain-list-community
# https://github.com/Potterli20/trojan-go-fork
FROM --platform=${TARGETPLATFORM} alpine:latest
LABEL maintainer="Teddysun <i@teddysun.com>" FROM --platform=${TARGETPLATFORM} alpine:latest
LABEL maintainer="Teddysun <i@teddysun.com>"
ARG TARGETPLATFORM
COPY trojan-go.sh /root/trojan-go.sh ARG TARGETPLATFORM
COPY config.json /etc/trojan-go/config.json COPY trojan-go.sh /root/trojan-go.sh
RUN set -ex \ COPY config.json /etc/trojan-go/config.json
&& apk add --no-cache tzdata ca-certificates \ RUN set -ex \
&& chmod +x /root/trojan-go.sh \ && apk add --no-cache tzdata ca-certificates \
&& /root/trojan-go.sh "${TARGETPLATFORM}" \ && chmod +x /root/trojan-go.sh \
&& rm -fv /root/trojan-go.sh \ && /root/trojan-go.sh "${TARGETPLATFORM}" \
&& mkdir -p /usr/share/trojan-go \ && rm -fv /root/trojan-go.sh \
&& wget -O /usr/share/trojan-go/geosite.dat https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat \ && mkdir -p /usr/share/trojan-go \
&& wget -O /usr/share/trojan-go/geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat \ && wget -O /usr/share/trojan-go/geosite.dat https://github.com/v2fly/domain-list-community/releases/latest/download/dlc.dat \
&& wget -O /usr/share/trojan-go/geoip-only-cn-private.dat https://github.com/v2fly/geoip/releases/latest/download/geoip-only-cn-private.dat \ && wget -O /usr/share/trojan-go/geoip.dat https://github.com/v2fly/geoip/releases/latest/download/geoip.dat \
&& ln -fs /usr/share/trojan-go/geoip.dat /usr/bin/ \ && wget -O /usr/share/trojan-go/geoip-only-cn-private.dat https://github.com/v2fly/geoip/releases/latest/download/geoip-only-cn-private.dat \
&& ln -fs /usr/share/trojan-go/geoip-only-cn-private.dat /usr/bin/ \ && ln -fs /usr/share/trojan-go/geoip.dat /usr/bin/ \
&& ln -fs /usr/share/trojan-go/geosite.dat /usr/bin/ && ln -fs /usr/share/trojan-go/geoip-only-cn-private.dat /usr/bin/ \
&& ln -fs /usr/share/trojan-go/geosite.dat /usr/bin/
VOLUME /etc/trojan-go
ENV TZ=Asia/Shanghai VOLUME /etc/trojan-go
CMD [ "/usr/bin/trojan-go", "-config", "/etc/trojan-go/config.json" ] ENV TZ=Asia/Shanghai
CMD [ "/usr/bin/trojan-go", "-config", "/etc/trojan-go/config.json" ]

View File

@ -1,65 +1,72 @@
## Trojan-Go Docker Image by Teddysun ## Trojan-Go Docker Image by Teddysun
[Trojan-Go][1] is An unidentifiable mechanism that helps you bypass [GFW](https://en.wikipedia.org/wiki/Great_Firewall). [Trojan-Go][1] is An unidentifiable mechanism that helps you bypass [GFW](https://en.wikipedia.org/wiki/Great_Firewall).
Trojan-Go features multiple protocols over `TLS` to avoid both active/passive detections and ISP `QoS` limitations. Trojan-Go 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. Docker images are built for quick deployment in various computing cloud providers.
For more information on docker and containerization technologies, refer to [official document][2]. For more information on docker and containerization technologies, refer to [official document][2].
## Prepare the host ## Prepare the host
If you need to install docker by yourself, follow the [official installation guide][3]. If you need to install docker by yourself, follow the [official installation guide][3].
## Pull the image ## Pull the image
```bash ```bash
$ docker pull teddysun/trojan-go $ docker pull teddysun/trojan-go
``` ```
This pulls the latest release of trojan-go. This pulls the latest release of trojan-go.
It can be found at [Docker Hub][4]. It can be found at [Docker Hub][4].
## Start a container ## Start a container
You **must create a configuration file** `/etc/trojan-go/config.json` in host at first: You **must create a configuration file** `/etc/trojan-go/config.json` in host at first:
``` ```
$ mkdir -p /etc/trojan-go $ mkdir -p /etc/trojan-go
``` ```
A sample in JSON like below: A sample in JSON like below:
``` ```
{ {
"run_type": "server", "run_type": "server",
"local_addr": "0.0.0.0", "local_addr": "0.0.0.0",
"local_port": 443, "local_port": 443,
"remote_addr": "127.0.0.1", "remote_addr": "127.0.0.1",
"remote_port": 80, "remote_port": 80,
"password": [ "password": [
"your_awesome_password" "your_password"
], ],
"ssl": { "ssl": {
"cert": "server.crt", "cert": "your_cert.crt",
"key": "server.key", "key": "your_key.key",
"sni": "your-domain-name.com", "sni": "your-domain-name.com"
"fallback_port": 1234 },
} "router": {
} "enabled": true,
``` "block": [
"geoip:private"
An online documentation can be found [here](https://p4gefau1t.github.io/trojan-go/) ],
"geoip": "/usr/share/trojan-go/geoip.dat",
There is an example to start a container that use host network, run as a trojan-go server like below: "geosite": "/usr/share/trojan-go/geosite.dat"
}
```bash }
$ docker run -d --network host --name trojan-go --restart=always -v /etc/trojan-go:/etc/trojan-go teddysun/trojan-go ```
```
An online documentation can be found [here](https://p4gefau1t.github.io/trojan-go/)
[1]: https://github.com/p4gefau1t/trojan-go
[2]: https://docs.docker.com/ There is an example to start a container that use host network, run as a trojan-go server like below:
[3]: https://docs.docker.com/install/
```bash
$ docker run -d --network host --name trojan-go --restart=always -v /etc/trojan-go:/etc/trojan-go teddysun/trojan-go
```
[1]: https://github.com/p4gefau1t/trojan-go
[2]: https://docs.docker.com/
[3]: https://docs.docker.com/install/
[4]: https://hub.docker.com/r/teddysun/trojan-go/ [4]: https://hub.docker.com/r/teddysun/trojan-go/

View File

@ -1,21 +1,23 @@
{ {
"run_type": "server", "run_type": "server",
"local_addr": "0.0.0.0", "local_addr": "0.0.0.0",
"local_port": 443, "local_port": 443,
"remote_addr": "127.0.0.1", "remote_addr": "127.0.0.1",
"remote_port": 80, "remote_port": 80,
"password": [ "password": [
"your_password" "your_password"
], ],
"ssl": { "ssl": {
"cert": "your_cert.crt", "cert": "your_cert.crt",
"key": "your_key.key", "key": "your_key.key",
"sni": "your-domain-name.com" "sni": "your-domain-name.com"
}, },
"router":{ "router": {
"enabled": true, "enabled": true,
"block": [ "block": [
"geoip:private" "geoip:private"
] ],
} "geoip": "/usr/share/trojan-go/geoip.dat",
"geosite": "/usr/share/trojan-go/geosite.dat"
}
} }