
GO Simple Tunnel - गोलांग में लिखा गया एक सरल टनल
Wiki साइट: v2.gost.run
Telegram चर्चा समूह: https://t.me/gogost
Google चर्चा समूह: https://groups.google.com/d/forum/go-gost
GOST v3 https://gost.run
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 सेट किए गए क्रम में प्रॉक्सी चेन के माध्यम से अनुरोध को अंततः a.b.c.d: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
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 दो मोड का समर्थन करता है:
सर्वर:
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 या user/pass विधि)।
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 प्रमाणपत्र का उपयोग करना है, तो दो विधियाँ हैं:
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 द्वारा योगदान की गई है।