បង្កើត SOCKS proxy មូលដ្ឋានដោយ SSH
ប្រើ OpenSSH dynamic forwarding លើ 127.0.0.1 រក្សា process ក្នុង session និងបែងចែក listener ដំណើរការពីគោលដៅចូលដល់បាន។
មានសិទ្ធិ SSH ដែលបានអនុញ្ញាតទៅ server នោះ OpenSSH អាចបង្កើត SOCKS listener លើកុំព្យូទ័រអ្នក។ ការភ្ជាប់ SSH ដឹក traffic បញ្ជូនបន្ត ហើយ server ឆ្ងាយភ្ជាប់ទៅគោលដៅ។
Listener សម្រាប់ loopback ប៉ុណ្ណោះ
ssh -N -T -o ControlPath=none -o ForkAfterAuthentication=no -o ExitOnForwardFailure=yes -D 127.0.0.1:1080 [email protected]
ប្តូរគណនី និង hostname។ SSH server ត្រូវអនុញ្ញាត forwarding ហើយអ្នកគ្រប់គ្រងអាចកំណត់ forwarding និងគោលដៅដោយឡែកពី login គណនី។
-D បង្កើត dynamic forwarding ហើយអាសយដ្ឋាន loopback ច្បាស់លាស់កំណត់ listener លើម៉ាស៊ីននេះ។ -N មិនរត់ remote command ហើយ -T មិនផ្តល់ pseudo-terminal។ ControlPath=none ជៀស sharing master ដែលមានស្រាប់ ហើយ ForkAfterAuthentication=no រក្សាការហៅនេះក្នុង foreground។
រក្សា process ដំណើរការពេលប្រើ proxy។ បើ port1080 ជាប់ប្រើ សូមជ្រើស high port ផ្សេងដែលទំនេរ និងកែ client។ ExitOnForwardFailure=yes ធ្វើឱ្យ SSH ចេញ បើមិនអាចបង្កើត listener។
ប្រើ SOCKS endpoint
curl --proxy socks5h://127.0.0.1:1080 --noproxy '' --connect-timeout 5 --max-time 15 https://example.com/
សំណើនេះប្រគល់ការគ្រប់គ្រងឈ្មោះគោលដៅតាម SOCKS5។ កម្មវិធីផ្សេងត្រូវការការកំណត់ SOCKS ផ្ទាល់ខ្លួន។ វាល HTTP proxy មិនអាចនិយាយ SOCKS ជាមួយ listener នេះទេ។
ពិនិត្យ process ដែលជាម្ចាស់ port៖
ss -ltnp 'sport = :1080'
Process SSH ដែលចង់ប្រើគួរជាម្ចាស់ loopback listener។ សំណើតាមវាពិនិត្យថា server ឆ្ងាយក៏អាចទៅដល់គោលដៅ។ ប្រើគោលដៅដែលអ្នកគ្រប់គ្រង ពេលត្រូវពិនិត្យច្រកចេញដែលសង្កេតឃើញ។
អាយុកាល session
Ctrl-C បិទ SSH process, listener និងការភ្ជាប់បញ្ជូនបន្ត។ ការភ្ជាប់ SSH ដាច់ក៏ធ្វើឱ្យ proxy មិនអាចប្រើបាន។
ExitOnForwardFailure ពិនិត្យការរៀបចំដំបូង។ វាមិនបញ្ចប់ SSH រាល់ពេលភ្ជាប់គោលដៅក្រោយមកបរាជ័យទេ ដូច្នេះត្រូវពិនិត្យ session, port មូលដ្ឋាន និងសំណើគោលដៅដាច់ដោយឡែក។