영어 읽어보기
위키 사이트: v2.gost.run
텔레그램 토론 그룹: 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는 두 가지 모드를 지원합니다.
섬기는 사람:
gost -L=http2://:443
고객:
gost -L=:8080 -F=http2://server_ip:443
섬기는 사람:
gost -L=h2://:443
고객:
gost -L=:8080 -F=h2://server_ip:443
QUIC에 대한 gost의 지원은 quic-go 라이브러리를 기반으로 합니다.
섬기는 사람:
gost -L=quic://:6121
고객:
gost -L=:8080 -F=quic://server_ip:6121
참고: QUIC 모드는 프록시 체인의 첫 번째 노드로만 사용할 수 있습니다.
KCP에 대한 gost의 지원은 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는 두 가지 모드를 지원합니다:
섬기는 사람:
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)의 두 가지 방법을 확장합니다.
섬기는 사람:
gost -L=socks5://:1080
고객:
gost -L=:8080 -F=socks5://server_ip:1080
위와 같이 양쪽 끝이 gost인 경우 데이터 전송은 암호화됩니다(tls 또는 tls-auth 방법을 사용하여 협상). 그렇지 않으면 표준 SOCKS5가 통신에 사용됩니다(no-auth 또는 사용자/패스 방법).
gost의 Shadowsocks 지원은 Shadowsocks-go 라이브러리를 기반으로 합니다.
섬기는 사람:
gost -L=ss://chacha20:123456@:8338
고객:
gost -L=:8080 -F=ss://chacha20:123456@server_ip:8338
현재는 서버에서만 UDP Relay를 지원합니다.
섬기는 사람:
gost -L=ssu://chacha20:123456@:8338
gost에는 TLS 인증서가 내장되어 있습니다. 다른 TLS 인증서를 사용해야 하는 경우 다음 두 가지 방법이 있습니다.
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이 제공한 인증서 고정 기능