Ubuntu Online, Fedora Online, Windows online emulator അല്ലെങ്കിൽ MAC OS ഓൺലൈൻ എമുലേറ്റർ എന്നിങ്ങനെയുള്ള ഞങ്ങളുടെ ഒന്നിലധികം സൗജന്യ ഓൺലൈൻ വർക്ക്സ്റ്റേഷനുകളിലൊന്ന് ഉപയോഗിച്ച് OnWorks സൗജന്യ ഹോസ്റ്റിംഗ് ദാതാവിൽ പ്രവർത്തിപ്പിക്കാവുന്ന websockify കമാൻഡ് ആണിത്.
പട്ടിക:
NAME
websockify - WebSockets മുതൽ TCP സോക്കറ്റ് ബ്രിഡ്ജ് വരെ
സിനോപ്സിസ്
websockify [options] [source_addr:]source_port target_addr:target_port
websockify [options] [source_addr:]source_port -- WRAP_COMMAND_LINE
ഓപ്ഷനുകൾ
-h, --സഹായം ഈ സഹായ സന്ദേശം കാണിച്ച് പുറത്തുകടക്കുക
-v, --verbose verbose സന്ദേശങ്ങളും ഓരോ ഫ്രെയിം ട്രാഫിക്കും
--record=FILE ലേക്കുള്ള FILE റെക്കോർഡ് സെഷനുകൾ.[session_number]
-D, --ഡെമൺ ഒരു ഡെമൺ ആയി മാറുന്നു (പശ്ചാത്തല പ്രക്രിയ)
--റൺ-ഒരിക്കൽ ഒരൊറ്റ വെബ്സോക്കറ്റ് കണക്ഷൻ കൈകാര്യം ചെയ്ത് പുറത്തുകടക്കുക
--timeout=TIMEOUT-ന് ശേഷം TIMEOUT സെക്കന്റുകൾക്ക് ശേഷം കണക്റ്റുചെയ്യാത്തപ്പോൾ പുറത്തുകടക്കുക
--cert=CERT SSL സർട്ടിഫിക്കറ്റ് ഫയൽ
--key=KEY SSL കീ ഫയൽ (സർട്ടിൽ നിന്ന് വേർപെട്ടാൽ)
--ssl-മാത്രം എൻക്രിപ്റ്റ് ചെയ്യാത്ത കണക്ഷനുകൾ അനുവദിക്കരുത്
--web=ഡിഐആർ അതേ പോർട്ടിൽ വെബ്സെർവർ പ്രവർത്തിപ്പിക്കുന്നു. DIR-ൽ നിന്നുള്ള ഫയലുകൾ സേവിക്കുക.
--wrap-mode=റാപ്പ് ചെയ്ത പ്രോഗ്രാം പുറത്തുകടക്കുമ്പോൾ എടുക്കേണ്ട മോഡ് പ്രവർത്തനം അല്ലെങ്കിൽ
ഡെമോണൈസ് ചെയ്യുന്നു: പുറത്തുകടക്കുക (സ്ഥിരസ്ഥിതി), അവഗണിക്കുക, പുനഃസ്ഥാപിക്കുക
വിവരണം
ഏറ്റവും അടിസ്ഥാന തലത്തിൽ, websockify വെബ്സോക്കറ്റ് ട്രാഫിക്കിനെ സാധാരണ TCP-യിലേക്ക് വിവർത്തനം ചെയ്യുന്നു
സോക്കറ്റ് ട്രാഫിക്. Websockify, WebSockets ഹാൻഡ്ഷേക്ക് സ്വീകരിക്കുന്നു, അത് പാഴ്സ് ചെയ്യുന്നു, തുടർന്ന് ആരംഭിക്കുന്നു
ക്ലയന്റും ടാർഗെറ്റും തമ്മിലുള്ള ട്രാഫിക് രണ്ട് ദിശകളിലേക്കും കൈമാറുന്നു.
websockify മുമ്പ് wsproxy എന്ന് പേരിട്ടിരുന്നു, ഇത് noVNC പ്രോജക്റ്റിന്റെ ഭാഗമായിരുന്നു.
കുറിപ്പുകൾ
വെബ്സോക്കറ്റുകൾ ബൈനറി ഡാറ്റ
Websockify വെബ്സോക്കറ്റ് പ്രോട്ടോക്കോളിന്റെ (Hixie, HyBI) എല്ലാ പതിപ്പുകളെയും പിന്തുണയ്ക്കുന്നു. മൂത്തത്
പ്രോട്ടോക്കോളിന്റെ Hixie പതിപ്പുകൾ UTF-8 ടെക്സ്റ്റ് പേലോഡുകളെ മാത്രമേ പിന്തുണയ്ക്കൂ. ഗതാഗതത്തിനായി
UTF-8-നുള്ള ബൈനറി ഡാറ്റ UTF-8-നുള്ളിൽ ഡാറ്റ എൻകാപ്സുലേറ്റ് ചെയ്യാൻ ഒരു എൻകോഡിംഗ് ഉപയോഗിക്കണം.
ക്ലയന്റിലേക്കും പുറത്തേക്കും എല്ലാ ട്രാഫിക്കും എൻകോഡ് ചെയ്യുന്നതിന് Websockify base64 ഉപയോഗിക്കുന്നു. ഇത് ബാധിക്കില്ല
websockify-നും സെർവറിനും ഇടയിലുള്ള ഡാറ്റ.
എൻക്രിപ്റ്റുചെയ്തു വെബ്സോക്കറ്റ് കണക്ഷനുകൾ (wss://)
WebSocket 'wss://' URI സ്കീം ഉപയോഗിച്ച് ട്രാഫിക് എൻക്രിപ്റ്റ് ചെയ്യാൻ നിങ്ങൾ ഒരു ജനറേറ്റ് ചെയ്യേണ്ടതുണ്ട്
വെബ്സോക്കിഫൈ ലോഡുചെയ്യുന്നതിനുള്ള സർട്ടിഫിക്കറ്റ്. സ്ഥിരസ്ഥിതിയായി websockify ഒരു സർട്ടിഫിക്കറ്റ് ഫയലിന്റെ പേര് ലോഡ് ചെയ്യുന്നു
self.pem എന്നാൽ --cert=CERT ഓപ്ഷന് ഫയലിന്റെ പേര് അസാധുവാക്കാൻ കഴിയും. നിങ്ങൾക്ക് സ്വയം സൃഷ്ടിക്കാൻ കഴിയും
openssl ഉപയോഗിച്ച് ഒപ്പിട്ട സർട്ടിഫിക്കറ്റ്. പൊതുവായ പേര് ചോദിക്കുമ്പോൾ, ഹോസ്റ്റ്നാമം ഉപയോഗിക്കുക
പ്രോക്സി പ്രവർത്തിക്കുന്ന സെർവർ:
openssl req -new -x509 -days 365 -nodes -out self.pem -keyout self.pem
വെബ്സോക്ക് ഏണാബ്ലെ ലൈബ്രറി
The websock.js (https://github.com/kanaka/websockify കാണുക) Javascript ലൈബ്രറി ലൈബ്രറി
സാധാരണ വെബ്സോക്കറ്റ് ഒബ്ജക്റ്റിന് സമാനമായ ഒരു വെബ്സോക്ക് ഒബ്ജക്റ്റ് നൽകുന്നു, എന്നാൽ വെബ്സോക്ക്
websockify വഴി റോ TCP സോക്കറ്റുകളുമായി (അതായത് ബൈനറി സ്ട്രീം) ആശയവിനിമയം സാധ്യമാക്കുന്നു. ഈ
Websock, websockify എന്നിവയ്ക്കിടയിലുള്ള ഡാറ്റ സ്ട്രീം base64 എൻകോഡ് ചെയ്താണ് ഇത് നടപ്പിലാക്കുന്നത്.
വെബ്സോക്കിൽ ബിൽറ്റ്-ഇൻ റിസീവ് ക്യൂ ബഫറിംഗ് ഉണ്ട്; സന്ദേശ പരിപാടിയിൽ യഥാർത്ഥമായത് അടങ്ങിയിട്ടില്ല
ഡാറ്റ എന്നാൽ പുതിയ ഡാറ്റ ലഭ്യമാണെന്ന അറിയിപ്പ് മാത്രമാണ്. നിരവധി rQ* രീതികൾ
സ്വീകരിക്കുന്ന ക്യൂവിൽ നിന്ന് ബൈനറി ഡാറ്റ വായിക്കാൻ ലഭ്യമാണ്.
Websock API, websock.js API വിക്കി പേജിൽ രേഖപ്പെടുത്തപ്പെട്ടിരിക്കുന്നു:
https://github.com/kanaka/websockify/wiki/websock.js
Websock ഉം websockify ഉം a ആയി ഉപയോഗിക്കുന്നതിന്റെ ഉദാഹരണത്തിനായി താഴെയുള്ള "Wrap a Program" വിഭാഗം കാണുക
ബ്രൗസർ ടെൽനെറ്റ് ക്ലയന്റ് (wstelnet.html).
അധികമായ websockify സവിശേഷതകൾ
അടിസ്ഥാന പ്രവർത്തനത്തിന് ഇവ ആവശ്യമില്ല.
* ഡെമോണൈസിംഗ്: -D ഓപ്ഷൻ വ്യക്തമാക്കുമ്പോൾ, websockify പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുന്നു
ഒരു ഡെമൺ പ്രക്രിയ.
* SSL (the wss:// WebSockets URI): ഇത് websockify വഴി സ്വയമേവ കണ്ടെത്തുന്നു
ക്ലയന്റിൽ നിന്ന് അയച്ച ആദ്യത്തെ ബൈറ്റ് സ്നിഫ് ചെയ്യുക, തുടർന്ന് സോക്കറ്റ് പൊതിയുക
ഡാറ്റ ആരംഭിക്കുന്നത് '\x16' അല്ലെങ്കിൽ '\x80' (SSL സൂചിപ്പിക്കുന്നു).
* ഫ്ലാഷ് സുരക്ഷാ നയം: websockify ഫ്ലാഷ് സുരക്ഷാ നയ അഭ്യർത്ഥനകൾ കണ്ടെത്തുന്നു (വീണ്ടും
ആദ്യത്തെ പാക്കറ്റ് സ്നിഫ് ചെയ്യുന്നു) കൂടാതെ ഉചിതമായ ഫ്ലാഷ് സുരക്ഷാ നയത്തോടെയുള്ള ഉത്തരങ്ങളും
പ്രതികരണം (തുടർന്ന് പോർട്ട് അടയ്ക്കുന്നു). ഇതിനർത്ഥം പ്രത്യേക ഫ്ലാഷ് സുരക്ഷാ നയം ഇല്ല എന്നാണ്
ഫ്ലാഷ് WebSockets ഫാൾബാക്ക് എമുലേറ്ററിനെ പിന്തുണയ്ക്കുന്നതിന് സെർവർ ആവശ്യമാണ്.
* സെഷൻ റെക്കോർഡിംഗ്: അയച്ച ട്രാഫിക്കിന്റെ റെക്കോർഡിംഗ് അനുവദിക്കുന്ന ഈ സവിശേഷത
--record ഐച്ഛികം ഉപയോഗിച്ച് ഒരു ഫയലിലേക്ക് ക്ലയന്റിൽ നിന്ന് സ്വീകരിച്ചു.
* Mini-webserver: websockify-ൽ സാധാരണ വെബ് അഭ്യർത്ഥനകൾ കണ്ടെത്താനും പ്രതികരിക്കാനും കഴിയും
WebSockets പ്രോക്സിയുടെയും ഫ്ലാഷ് സുരക്ഷാ നയത്തിന്റെയും അതേ പോർട്ട്. ഈ പ്രവർത്തനം
--web DIR ഓപ്ഷൻ ഉപയോഗിച്ച് സജീവമാക്കുക, ഇവിടെ DIR എന്നത് വെബ് ഡയറക്ടറിയുടെ റൂട്ട് ആണ്
സേവിക്കുക.
* ഒരു പ്രോഗ്രാം പൊതിയുക: താഴെയുള്ള "റാപ്പ് എ പ്രോഗ്രാം" വിഭാഗം കാണുക.
പൊതിയുക a പ്രോഗ്രാം
ഒരു ഉറവിട വിലാസത്തിൽ നിന്ന് ഒരു ടാർഗെറ്റ് വിലാസത്തിലേക്ക് പ്രോക്സി ചെയ്യുന്നതിനു പുറമേ (അത് a
വ്യത്യസ്ത സിസ്റ്റം), websockify ന് പ്രാദേശിക സിസ്റ്റത്തിൽ ഒരു പ്രോഗ്രാം സമാരംഭിക്കാനുള്ള കഴിവുണ്ട്
പ്രോഗ്രാമിന്റെ ഉടമസ്ഥതയിലുള്ള/ബന്ധിതമായ ഒരു സാധാരണ TCP പോർട്ടിലേക്കുള്ള പ്രോക്സി വെബ്സോക്കറ്റ് ട്രാഫിക്.
ബൈൻഡ്() തടസ്സപ്പെടുത്തുന്ന ഒരു ചെറിയ LD_PRELOAD ലൈബ്രറി (rebind.so) ഉപയോഗിച്ചാണ് ഇത് പൂർത്തിയാക്കുന്നത്.
പ്രോഗ്രാം വഴിയുള്ള സിസ്റ്റം കോളുകൾ. നിർദ്ദിഷ്ട പോർട്ട് ഒരു പുതിയ ലോക്കൽ ഹോസ്റ്റ്/ലൂപ്പ്ബാക്ക് ഫ്രീയിലേക്ക് നീക്കി
ഉയർന്ന തുറമുഖം. websockify തുടർന്ന് വെബ്സോക്കറ്റ് ട്രാഫിക് പ്രോക്സികൾ യഥാർത്ഥ പോർട്ടിലേക്ക് നയിക്കുന്നു
പ്രോഗ്രാമിന്റെ പുതിയ (നീക്കിയ) പോർട്ട്.
പ്രോഗ്രാം റാപ് മോഡ് ടാർഗെറ്റിനെ മാറ്റി പകരം വയ്ക്കുന്നത് -- തുടർന്ന് പ്രോഗ്രാം
പൊതിയാനുള്ള കമാൻഡ് ലൈൻ.
`./websockify 2023 -- PROGRAM ARGS`
പൊതിയുമ്പോൾ എന്ത് നടപടിയെടുക്കണമെന്ന് സൂചിപ്പിക്കാൻ --wrap-mode ഓപ്ഷൻ ഉപയോഗിക്കാം
പ്രോഗ്രാം പുറത്തുകടക്കുന്നു അല്ലെങ്കിൽ ഡെമോണൈസ് ചെയ്യുന്നു.
vncserver കമാൻഡ് പൊതിയുന്നതിനായി websockify ഉപയോഗിക്കുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതാ (ഏത് പശ്ചാത്തലങ്ങൾ
തന്നെ) noVNC ഉപയോഗിച്ചുള്ള ഉപയോഗത്തിന്:
`./websockify 5901 --wrap-mode=ignore -- vncserver -geometry 1024x768 :1`
telnetd (krb5-telnetd-ൽ നിന്ന്) പൊതിയുന്നതിനുള്ള ഒരു ഉദാഹരണം ഇതാ.
കമാൻഡ് പുനഃസ്ഥാപിക്കുന്നതിനായി റാപ് മോഡ് സജ്ജമാക്കിയതിനാൽ കണക്ഷൻ ക്ലോസ് ചെയ്യുന്നു:
`sudo ./websockify 2023 --wrap-mode=respawn -- telnetd -debug 2023`
wstelnet.html പേജ് ഒരു ലളിതമായ WebSockets അടിസ്ഥാനമാക്കിയുള്ള ടെൽനെറ്റ് ക്ലയന്റ് കാണിക്കുന്നു.
onworks.net സേവനങ്ങൾ ഉപയോഗിച്ച് websockify ഓൺലൈനായി ഉപയോഗിക്കുക