英語の README
Wiki サイト: v2.gost.run
Telegram ディスカッション グループ: https://t.me/gogost
Google ディスカッション グループ: https://groups.google.com/d/forum/go-gost
https://github.com/ginuerzh/gost/releases
git clone https://github.com/ginuerzh/gost.git
cd gost/cmd/gost
go build
docker run --rm ginuerzh/gost -V
brew install gost
sudo snap install core
sudo snap install gost
gost -L=:8080
gost -L=admin:123456@localhost:8080
gost -L=http2://:443 -L=socks5://:1080 -L=ss://aes-128-cfb:123456@:8338
gost -L=:8080 -F=192.168.1.1:8081
gost -L=:8080 -F=http://admin:[email protected]:8081
gost -L=:8080 -F=quic://192.168.1.1:6121 -F=socks5+wss://192.168.1.2:1080 -F=http2://192.168.1.3:443 ... -F=a.b.c.d:NNNN
gost は最終的に、-F で設定された順序でプロキシ チェーンを介して処理するためにリクエストを abcd:NNNN に転送します。各転送プロキシには、HTTP/HTTPS/HTTP2/SOCKS4/SOCKS5/Shadowsocks タイプのプロキシを使用できます。
gost -L=tcp://:2222/192.168.1.1:22 [-F = ...]
ローカル TCP ポート 2222 上のデータを (プロキシ チェーン経由で) 192.168.1.1:22 に転送します。プロキシ チェーンの最後 (最後の -F パラメータ) が SSH 転送チャネル タイプの場合、gost は SSH のローカル ポート転送機能を直接使用します。
gost -L=tcp://:2222/192.168.1.1:22 -F forward+ssh://:2222
gost -L=udp://:5353/192.168.1.1:53 ? ttl=60 [-F = ...]
ローカル UDP ポート 5353 上のデータを (プロキシ チェーン経由で) 192.168.1.1:53 に転送します。 各転送チャネルにはタイムアウトがあり、この時間を超過し、この期間内にデータのやり取りがない場合、チャネルは閉じられます。タイムアウトはttl
パラメータを通じて設定でき、デフォルト値は 60 秒です。
注: UDP データを転送する場合、プロキシ チェーンがある場合、プロキシ チェーンの終端 (最後の -F パラメータ) は gost SOCKS5 タイプ プロキシである必要があり、gost は転送に UDP over TCP を使用します。
gost -L=rtcp://:2222/192.168.1.1:22 [-F = ... -F = socks5://172.24.10.1:1080]
172.24.10.1:2222 のデータを (プロキシ チェーン経由で) 192.168.1.1:22 に転送します。プロキシ チェーンの最後 (最後の -F パラメータ) が SSH 転送チャネル タイプの場合、gost は SSH のリモート ポート転送機能を直接使用します。
gost -L=rtcp://:2222/192.168.1.1:22 -F forward+ssh://:2222
gost -L=rudp://:5353/192.168.1.1:53 ? ttl=60 [-F = ... -F = socks5://172.24.10.1:1080]
172.24.10.1:5353 のデータを (プロキシ チェーン経由で) 192.168.1.1:53 に転送します。 各転送チャネルにはタイムアウトがあり、この時間を超過し、この期間内にデータのやり取りがない場合、チャネルは閉じられます。タイムアウトはttl
パラメータを通じて設定でき、デフォルト値は 60 秒です。
注: UDP データを転送する場合、プロキシ チェーンがある場合、プロキシ チェーンの終端 (最後の -F パラメータ) は GOST SOCKS5 タイプのプロキシである必要があり、gost は転送に UDP-over-TCP を使用します。
gost の HTTP2 は 2 つのモードをサポートします。
サーバ:
gost -L=http2://:443
クライアント:
gost -L=:8080 -F=http2://server_ip:443
サーバ:
gost -L=h2://:443
クライアント:
gost -L=:8080 -F=h2://server_ip:443
gost の QUIC サポートは、quic-go ライブラリに基づいています。
サーバ:
gost -L=quic://:6121
クライアント:
gost -L=:8080 -F=quic://server_ip:6121
注: QUIC モードは、プロキシ チェーンの最初のノードとしてのみ使用できます。
gost の KCP サポートは、kcp-go ライブラリと kcptun ライブラリに基づいています。
サーバ:
gost -L=kcp://:8388
クライアント:
gost -L=:8080 -F=kcp://server_ip:8388
gost は、kcp.json (存在する場合) 構成ファイルを現在の作業ディレクトリに自動的にロードします。または、パラメーターを使用して構成ファイルのパスを手動で指定することもできます。
gost -L=kcp://:8388 ? c=/path/to/conf/file
注: KCP モードは、プロキシ チェーンの最初のノードとしてのみ使用できます。
gost の SSH は 2 つのモードをサポートしています。
サーバ:
gost -L=forward+ssh://:2222
クライアント:
gost -L=rtcp://:1222/:22 -F=forward+ssh://server_ip:2222
サーバ:
gost -L=ssh://:2222
クライアント:
gost -L=:8080 -F=ssh://server_ip:2222 ? ping=60
ping
パラメータを使用して、ハートビート パケットの送信期間を秒単位で設定できます。ハートビート パケットはデフォルトでは送信されません。
iptables に基づく透過的プロキシ。
gost -L=redirect://:12345 -F=http2://server_ip:443
この機能は @isofew によって提供されました。
サーバ:
gost -L=obfs4://:443
サーバーが実行されている場合、クライアントが使用できるように接続アドレスがコンソールに表示されます。
obfs4://:443/?cert=4UbQjIfjJEQHPOs8vs5sagrSXx1gfrDCGdVh2hpIPSKH0nklv1e4f29r7jb91VIrq4q5Jw&iat-mode=0
クライアント:
gost -L=:8888 -F='obfs4://server_ip:443?cert=4UbQjIfjJEQHPOs8vs5sagrSXx1gfrDCGdVh2hpIPSKH0nklv1e4f29r7jb91VIrq4q5Jw&iat-mode=0'
HTTP の場合、TLS を使用して通信プロセス全体、つまり HTTPS プロキシを暗号化できます。
サーバ:
gost -L=https://:443
クライアント:
gost -L=:8080 -F=http+tls://server_ip:443
Gost の HTTP2 プロキシ モードは、TLS 暗号化を使用する HTTP2 プロトコルのみをサポートし、プレーンテキストの HTTP2 送信はサポートしません。
gost の HTTP2 チャネル モードは、暗号化 (h2) モードと平文 (h2c) モードをサポートします。
gost は、標準 SOCKS5 プロトコルの no-auth (0x00) および user/pass (0x02) メソッドをサポートし、これに基づいてデータ暗号化用の tls (0x80) と tls-auth (0x82) の 2 つのメソッドを拡張します。
サーバ:
gost -L=socks5://:1080
クライアント:
gost -L=:8080 -F=socks5://server_ip:1080
(上記のように) 両端が gost の場合、データ送信は暗号化されます (tls または tls-auth メソッドを使用したネゴシエーション)。それ以外の場合は、通信に標準 SOCKS5 が使用されます (非認証またはユーザー/パスメソッド)。
gost の Shadowsocks サポートは、shadowsocks-go ライブラリに基づいています。
サーバ:
gost -L=ss://chacha20:123456@:8338
クライアント:
gost -L=:8080 -F=ss://chacha20:123456@server_ip:8338
現在、UDP リレーをサポートしているのはサーバーのみです。
サーバ:
gost -L=ssu://chacha20:123456@:8338
gost には TLS 証明書が組み込まれています。他の TLS 証明書を使用する必要がある場合は、次の 2 つの方法があります。
gost -L= " http2://:443?cert=/path/to/my/cert/file&key=/path/to/my/key/file "
クライアントの場合、 secure
パラメーターを使用してサーバー証明書とドメイン名の検証を有効にできます。
gost -L=:8080 -F= " http2://server_domain_name:443?secure=true "
クライアントの場合、証明書の固定用の CA 証明書を指定できます (証明書の固定)。
gost -L=:8080 -F= " http2://:443?ca=ca.pem "
@sheerun によって提供された証明書ピン留め機能