
फ़ाइल के माध्यम से TCP कनेक्शन को टनल करें
फ़ाइल सर्वर के माध्यम से TCP कनेक्शन टनल करें।
समर्थित फ़ाइल सिस्टम की पूरी सूची यहाँ पाई जा सकती है।
Windows, Linux और Mac के लिए पोर्टेबल एक्ज़ीक्यूटेबल रिलीज़ अनुभाग में पाए जा सकते हैं।
आप Host A से Host B तक कनेक्ट करना चाहते हैं, लेकिन रास्ते में फ़ायरवॉल है। लेकिन दोनों होस्ट के पास एक साझा फ़ोल्डर तक पहुँच है।

ft.exe -L 5000:127.0.0.1:3389 --write "\\server\share\1.dat" --read "\\server\share\2.dat"
यह कमांड पोर्ट 5000 पर कनेक्शन सुनता है। जब कोई कनेक्शन प्राप्त होता है, तो इसे फ़ाइल टनल के माध्यम से और फिर 127.0.0.1:3389 पर अग्रेषित किया जाता है।
ft.exe --read "\\server\share\1.dat" --write "\\server\share\2.dat"
अब Host A पर, क्लाइंट को 127.0.0.1:5000 से कनेक्ट करें और इसे रिमोट सर्वर पर अग्रेषित कर दिया जाएगा।
ऑपरेट करते समय File Tunnel ऐसा दिखता है:

आप किसी रिमोट सेवा से कनेक्ट करना चाहते हैं (जैसे 192.168.1.50:8888), लेकिन आपके पास केवल RDP का उपयोग करके Host B तक पहुँच है।
ft.exe -L 5000:192.168.1.50:8888 --write "C:\Temp\1.dat" --read "C:\Temp\2.dat"
एक RDP क्लाइंट चलाएँ और सुनिश्चित करें कि लोकल ड्राइव साझा हैं जैसा यहाँ दिखाया गया है।
Host B पर RDP करें।
ft.exe --read "\\tsclient\c\Temp\1.dat" --write "\\tsclient\c\Temp\2.dat"
अब Host A पर, आप 127.0.0.1:5000 से कनेक्ट कर सकते हैं और इसे 192.168.1.50:8888 पर अग्रेषित किया जाएगा।
-L का उपयोग कई बार किया जा सकता है, एक ही टनल के माध्यम से कई पोर्ट अग्रेषित करने के लिए।
अन्य कंप्यूटरों को टनल का उपयोग करने में सक्षम करने के लिए, 0.0.0.0 का बाइंडिंग पता निर्दिष्ट करें। उदाहरण के लिए: -L 0.0.0.0:5000:192.168.1.50:3389 नेटवर्क पर किसी भी कंप्यूटर को टनल से कनेक्ट होने और 192.168.1.50:3389 तक पहुँचने की अनुमति देता है।
रिमोट फ़ॉरवर्डिंग के लिए -R का उपयोग करें। उदाहरण के लिए: -R 5000:10.0.0.50:6000 रिमोट पक्ष को पोर्ट 5000 पर सुनने का निर्देश देता है, और जब कोई कनेक्शन प्राप्त होता है तो इसे टनल के माध्यम से लोकल मशीन के द्वारा 10.0.0.50:6000 पर अग्रेषित करें। यह आपको अपनी लोकल मशीन पर चल रहे सर्वर को अन्य कंप्यूटरों के साथ साझा करने की अनुमति देता है।
डायनामिक (SOCKS) फ़ॉरवर्डिंग के लिए -D का उपयोग करें, बिल्कुल SSH की तरह। उदाहरण के लिए: -D 1080 पोर्ट 1080 पर SOCKS4/4a/5 प्रॉक्सी शुरू करता है; प्रत्येक कनेक्शन रिमोट पक्ष से डायल किया जाता है, इसलिए एप्लिकेशन रिमोट मशीन की पहुँच वाली किसी भी चीज़ तक पहुँच सकते हैं। एक बेयर -R 1080 (कोई गंतव्य नहीं) इसका उल्टा है: यह रिमोट पक्ष पर SOCKS प्रॉक्सी होस्ट करता है, आपकी लोकल मशीन के माध्यम से बाहर डायल करते हुए। TCP (CONNECT) और SOCKS5 UDP (ASSOCIATE) दोनों को संभालता है; कोई प्रमाणीकरण नहीं।
HTTP प्रॉक्सी के लिए --http-proxy का उपयोग करें। उदाहरण के लिए: --http-proxy 8080 पोर्ट 8080 पर एक HTTP CONNECT प्रॉक्सी शुरू करता है, जो रिमोट पक्ष से डायल की जाती है (इस पर ब्राउज़र या curl -x http://127.0.0.1:8080 https://example.com इंगित करें)। रिमोट पक्ष पर प्रॉक्सी होस्ट करने के लिए इसके बजाय --remote-http-proxy 8080 का उपयोग करें, आपकी लोकल मशीन के माध्यम से बाहर डायल करते हुए। केवल CONNECT विधि (HTTPS और कोई भी TCP टनल); कोई प्रमाणीकरण नहीं।
आप इन निर्देशों का पालन करके किसी अन्य कंप्यूटर के इंटरनेट कनेक्शन का उपयोग कर सकते हैं।
प्रोग्राम एक TCP लिसनर शुरू करता है, और जब कोई कनेक्शन प्राप्त होता है तो यह TCP डेटा को एक फ़ाइल में लिखता है। इसी फ़ाइल को दूसरा प्रोग्राम पढ़ता है, जो TCP कनेक्शन स्थापित करता है और TCP डेटा को आगे भेजता है। साझा फ़ाइल को अनिश्चित काल तक बढ़ने से रोकने के लिए, जब भी यह 10 MB से बड़ी हो जाती है तो इसे हटा दिया जाता है।