
A SOCKS proxy for Citrix.
Ica2Tcp एक उपकरण है जो C में विकसित किया गया है और किसी भी TCP कनेक्शन को Citrix ICA कनेक्शन के अंदर प्रॉक्सी करने की अनुमति देता है। यह Citrix के लिए वही है जो SSH के लिए ssh -D है।
अतिरिक्त जानकारी यहाँ पाई जा सकती है: https://www.sstic.org/2022/presentation/ica2tcp/
यह उपकरण एक इंटर्नशिप परियोजना के रूप में विकसित किया गया था और अभी भी विकासाधीन है। इसे "जैसा है" वैसा ही प्रकाशित किया गया है, इसलिए कोड के कुछ हिस्से अभी भी थोड़े गंदे हैं। इस प्रकार, आपको कभी-कभी क्रैश का सामना करना पड़ सकता है। एक साफ-सुथरा संस्करण बन रहा है और जल्द ही जारी किया जाएगा। हालाँकि, इस संस्करण के बारे में कोई भी टिप्पणी स्वागत योग्य है!
सर्वर पक्ष के स्टैंडअलोन बाइनरी और क्लाइंट पक्ष की साझा लाइब्रेरी दोनों का निर्माण किया जाना चाहिए। अधिक विवरण के लिए कृपया संबंधित README देखें:
सुविधा के लिए, सभी आवश्यक Citrix हेडर और लाइब्रेरी (Linux64 क्लाइंट और Win32 सर्वर के लिए) इस रिपॉजिटरी में शामिल किए गए हैं (citrix_sdk_files/ में)। ये सभी Virtual Channel SDK और WFAPI SDK से उत्पन्न हुए हैं, जो सार्वजनिक रूप से उपलब्ध हैं:
इस रिपॉजिटरी में मौजूद CMakeLists.txt फ़ाइलें इन शामिल फ़ाइलों के साथ सर्वर और क्लाइंट बाइनरी बनाने की अनुमति देती हैं। यदि आप नवीनतम SDK फ़ाइलों का उपयोग करना चाहते हैं या किसी अन्य लक्ष्य आर्किटेक्चर के लिए बनाना चाहते हैं, तो बेझिझक SDK को मैन्युअल रूप से डाउनलोड और इंस्टॉल करें, हालाँकि आपको संबंधित CMakeLists.txt बदलने पड़ सकते हैं।
एक बार सब कुछ बन जाने के बाद, आपको क्लाइंट साझा लाइब्रेरी स्थापित करनी होगी।
सबसे पहले, बिल्ड आउटपुट फ़ाइल DRIVER.DLL को <CITRIX_INSTALL_FOLER>/ICAClient/<DRIVER_NAME>.DLL पर कॉपी करें
फिर, <CITRIX_INSTALL_FOLER>/ICAClient/config/module.ini कॉन्फ़िगरेशन फ़ाइल को निम्नानुसार संशोधित करें:
[ICA 3.0] अनुभाग में VirtualDriver सूची में <VIRTUAL_DRIVER_NAME> जोड़ें (<VIRTUAL_DRIVER_NAME> को अपनी पसंद की किसी भी चीज़ से बदलें)।[ICA 3.0] अनुभाग में ही, पंक्ति <VIRTUAL_DRIVER_NAME>=On जोड़ें[<VIRTUAL_DRIVER_NAME>] अनुभाग जोड़ें:DriverName = <DRIVER_NAME>.DLL
LogPath = /path/to/logs/folder/
Port = <PORT_NUMBER_FOR_SOCKS> //default: 33556
Address = <LISTENING_IP_ADDRESS> //default: 127.0.0.1, use 0.0.0.0 to open the socks for non local clients
बस इतना ही!
एक बार क्लाइंट पक्ष का ड्राइवर सही ढंग से स्थापित हो जाने पर, आपको बस सर्वर बाइनरी को सर्वर पर कॉपी करना होगा और उसे सक्रिय ICA सत्र से निष्पादित करना होगा।
यह क्लाइंट पक्ष पर module.ini फ़ाइल में निर्दिष्ट पते और पोर्ट पर एक SOCKS सेवा खोलता है।