2010-10-09 11 views
23

मुझे पता है कि वेबस्केट्स (http://novnc.com) का उपयोग कर वीएनसी का कार्यान्वयन है लेकिन अभी भी एक सर्वर की आवश्यकता है। मैं एसएसएच चलाने वाले बंदरगाह के लिए केवल एक साधारण क्लाइंट-साइड जावास्क्रिप्ट (कोई फ्लैश) कनेक्शन बनाना चाहता हूं। मैं अनुमान लगा रहा हूं कि वेबसाकेट्स जाने का एकमात्र तरीका है क्योंकि यह टीसीपी करता है। कोई उदाहरण कोड? कोई अन्य तरीका?जावास्क्रिप्ट का उपयोग कर एसएसएच से कनेक्ट करना संभव है?

उत्तर

15

क्षमा करें, आपकी कमी को देखते हुए (क्लाइंट-साइड जावास्क्रिप्ट केवल), कोई रास्ता नहीं एक सादे पुराने SSH सर्वर से कनेक्ट करने के लिए है।

WebSockets सादा टीसीपी नहीं है। यह एक फ़्रेमयुक्त प्रोटोकॉल है जिसमें क्लाइंट और सर्वर के बीच HTTP जैसी हैंडशेक है जिसमें मूल नीति शामिल है।

फ्लैश सादा TCP कनेक्शन बना सकते हैं, लेकिन यह भी मूल नीति को लागू करने की है। जिस तरह से यह पोर्ट 843 पर एक ही सर्वर से कनेक्शन बना रहा है और एक विशेष एक्सएमएल फ़ाइल मांग रहा है जिसमें मूल नीति है। यदि आप अपनी बाधाओं को थोड़ा आराम करने के इच्छुक हैं, तो आप सर्वर (किसी भी सर्वर) या क्लाइंट पर टीसीपी प्रॉक्सी को जेनेरिक वेबस्केट चलाने के इच्छुक हैं, तो आप जो भी करना चाहते हैं वह कर सकते हैं। नोवीएनसी में टीसीपी प्रॉक्सी में सी और पायथन वेबसाकेट शामिल हैं: http://github.com/kanaka/noVNC/tree/master/utils/

अन्य जानकारी जो आपके लिए उपयोगी हो सकता है:

+1

क्या इसका उत्तर दो साल से अधिक हो गया है? मुझे यह जानना अच्छा लगेगा कि कुछ नया आया है या नहीं! – Danny

+2

सादे वेब ऐप्स के लिए नहीं। हालांकि, क्रोम पैक किए गए ऐप्स अब कच्चे टीसीपी/यूडीपी सॉकेट का समर्थन करते हैं: https://developer.chrome.com/apps/app_network.html उदाहरण के लिए, उनके पास एक उदाहरण टेलनेट क्लाइंट है: https://github.com/GoogleChrome/chrome- ऐप-नमूने/पेड़/मास्टर/टेलनेट आप एसएसएच ऐप बनाने के लिए एन्क्रिप्शन और कुंजी प्रबंधन जोड़ने के लिए टेलनेट उदाहरण का विस्तार कर सकते हैं। लेकिन यह क्रोम पैक किए गए ऐप्स तक ही सीमित होगा, न कि एक सामान्य वेब ऐप। – kanaka

+2

उपर्युक्त में जोड़कर, इन दिनों क्रोम एक एसएसएच क्लाइंट को पैक किए गए ऐप के रूप में भी प्रदान करता है: https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo – BHSPitMonkey

3

आप serfish पर एक नज़र ले जा सकते हैं। यह एक एसएसएच सर्वर तक पहुंचने का एक समाधान है। लेकिन यदि आप अपने वेब एप्लिकेशन को अपने एसएसएच के समान सर्वर पर होस्ट कर रहे हैं, तो shell in a box जैसे अन्य समाधान भी हैं।

+0

Serfish ssh की मेजबानी के लिए ब्राउज़र में टाइप सुरंग आदेशों के लिए एक सर्वर का उपयोग करता। शेलिनैबॉक्स को समान रूप से फ्रंट-एंड ब्राउज़र-टर्मिनल के लिए मेजबान पर चलाने की आवश्यकता होती है। क्या किसी भी सर्वर (या एसएसएच होस्ट) साइड कोड लिखने के बिना केवल जेएस का उपयोग कर क्लाइंट-साइड पर टर्मिनल का अनुकरण करने के लिए वैसे भी है? – pathikrit

4

अभी भी खोज कर उन लोगों के लिए, paramikojs जवाब हो सकता है।

मुझे वर्तमान में एक ही समस्या है: मुझे एक एसएसएच जेएस क्लाइंट-साइड कार्यान्वयन की आवश्यकता है, और मुझे इसे बीएसडी लाइसेंस प्राप्त करने की आवश्यकता है। लगता है कि अलस परमिकोज़ जीपीएल लाइसेंस प्राप्त है।

+1

[readme] से (https://github.com/mimecuvalo/paramikojs): * पूछने से पहले, यह नियमित वेब पृष्ठों पर काम नहीं करता है। * – Tamlyn

1

महान ओपनआरआईएससी एम्यूलेटर jor1k जैसे पूर्ण नेटवर्क समर्थन के साथ लिनक्स एमुलेटर का उपयोग करना निश्चित रूप से संभव है।

ध्यान दें कि मैंने browser-tools.net बनाया है, विभिन्न परियोजनाओं की संख्या से ब्राउज़र ब्राउज़र का संग्रह।

संबंधित मुद्दे

 संबंधित मुद्दे