Android SSH SOCKS прокси: яагаад таны програмуудын тал хувь нь л холбогддог вэ
ssh -D нь SOCKS сонсогчийг үүсгэдэг, бүх төхөөрөмжийн туннель биш. Программаас адаптер, SSH хүртэлх хэлхээг дайрч, дараа нь DNS болон амьдралын мөчлөгийн цоорхойг шалгана уу.
Та SSH-ээр нэвтэрч, -D 1080 нэмэхэд команд амжилттай болно. Одоо утсан дээр SOCKS сонсогч байгаа ч програмуудын тал хувь нь гар утасны өгөгдлөөр гарсаар байна. Энэ нь хэвийн үр дүн, эвдэрсэн туннель биш: ssh -D прокси төгсгөлийн цэг үүсгэдэг бөгөөд Android програмууд зөвхөн ямар нэгэн зүйл албадсан үед л прокси ашигладаг. Хэлхээг алхам алхмаар дайрах нь ажлын хэсэг бүр үнэхээр хаана байгааг харуулна.
Хөдөлгөөн эхэлдэг газраас эхэл
Туннель ашиглах ёстой нэг програмыг сонгоод өөрийн прокси тохиргоо байгаа эсэхийг шалга. SOCKS талбартай хөтөч бол хялбар тохиолдол: түүнийг 127.0.0.1:1080 рүү чиглүүлж, тохиргоо байвал алсын DNS-ийг асаагаад хүсэлт өнгөрнө. Чат клиент, газрын зурагны програм эсвэл ийм талбаргүй тоглоомд сонсогчийг ашиглах арга байхгүй бөгөөд SSH команд дээр бичсэн юу ч үүнийг өөрчлөхгүй.
Өөр юу ч оролцуулахаас өмнө сонсогч утасны өөрийн shell-ээс SOCKS-ийг шууд ярьдаг клиенттэй ажиллаж байгааг нотол:
ssh -N -D 1080 [email protected]
curl --socks5-hostname 127.0.0.1:1080 https://ifconfig.me
Буцаж ирэх хаяг нь SSH серверийн хаяг байх ёстой, утасны биш. Хэрэв тийм бол проксигийн хагас дууссан бөгөөд үлдсэн ажил хамрах хүрээний тухай. Хэрэв тийм биш бол эхлээд SSH талыг зас: түлхүүрийн баталгаажуулалт, серверийн очих газартаа хүрэх чадвар, SSH серверийн өөрийн гарах зам.
Android-д хэрэгтэй хэсгийг нэм
Прокси тохиргоогүй програмуудад тэдний пакетыг барьж прокси холболт болгох зүйл хэрэгтэй. rootгүй төхөөрөмж дээр энэ нь VPN үйлчилгээний адаптер: виртуал интерфейсийг авч, сонгосон хөдөлгөөнийг орон нутгийн SOCKS сонсогч руу дамжуулдаг програм. Хэлхээ нь програм, адаптер, SOCKS сонсогч, SSH холболт, очих газар болно.
Адаптерыг суулгаж, түүнд VPN зөвшөөрөл өгөөд барьж авах програмууд эсвэл маршрутуудыг сонго. Төлөвийн мөрний түлхүүрийн дүрс тэгэхэд адаптерыг илэрхийлнэ, тусдаа арилжааны VPN-ийг биш. Android хэрэглэгчийн профайл тутамд нэг л идэвхтэй VPN үйлчилгээний холболт зөвшөөрдөг тул хоёр дахь VPN програм эхлүүлэх нь хэлхээнд давхарга нэмэхгүй: энэ нь ижил үүргийн төлөө өрсөлддөг.
Энэ бол амжилттай туршилт таныг төөрөгдүүлж болох алхам юм. Хэрэв адаптер зөвхөн таны өмнө нь прокси руу чиглүүлсэн хөтчийг барьж авахаар тохируулагдсан бол бүх зүйл ажиллаж, өөр юу ч хамрагдаагүй. Төхөөрөмж туннельд орсон гэж дүгнэхээс өмнө барих жагсаалтыг унш.
SSH тээврийг барилтаас гадуур байлга
SSH холболт өөрөө өөрийн дэмжиж буй SOCKS туннель руу буцаж урсах ёсгүй. Хэрэв адаптер SSH програмын хөдөлгөөнийг барьж авбал туннель нь туннелийг хүлээж буй холболтоос хамаарна, үр дүн нь адаптер эхлэх тэр мөчид гацах эсвэл бүтэлгүйтэх давталт юм.
Нэгдсэн хэрэгжүүлэлтүүд өөрийн тээврийн socket-ийг хамгаалдаг. Тусдаа програмуудтай бол дэмжигдсэн үл хамаарах зүйл хэрэгтэй: SSH програмыг барилтаас гадуур үлдээ, эсвэл SSH төгсгөлийн цэгийг хаягаар үл хамааруул. Хоёулаа үнэтэй. Бүх терминал програмыг үл хамааруулбал түүний холбоогүй сүлжээний үйл ажиллагаа туннелээс гарна, харин хаягийн үл хамаарах зүйл серверийн хаяг өөрчлөгдөх эсвэл дараагийн холболтод нэр өөрөөр шийдэгдэх үед эвдэрнэ.
Үл хамаарах зүйлийг гаднаас шалга: адаптерыг дахин холбож, дараа нь SSH сесс амьд үлдэж, проксигоор явсан хүсэлт серверийн хаягийг мэдээлсээр байгааг батал. Адаптер эхлэх хүртэл ажиллаад дараа нь хөлддөг сесс нь тэр давталт юм.
DNS болон UDP-г хэлхээний төгсгөл хүртэл дага
OpenSSH-ийн динамик дамжуулалт TCP холболтыг зөөдөг. Энэ нь UDP-associate эсвэл ICMP тээвар биш бөгөөд адаптер UDP пакет хүлээж авах замаар UDP дамжуулалт зохиож чадахгүй. UDP шаарддаг бүхэн, QUIC болон WebRTC медиа орвол, програмаас хамаарч бүтэлгүйтэх эсвэл TCP руу буцах болно.
DNS өөрийн шийдвэр хэрэгтэй. Нэрийг локалаар шийддэг програм холбогдохын өмнө ердийн шийдэгчээр асуулга илгээдэг тул туннель холболтыг зөөдөг ч хайлтыг зөөдөггүй. Алсын DNS сонголттой прокси мэддэг клиент үүнээс зайлсхийдэг; тэр сонголтгүй баригдсан програм зайлсхийхгүй. Адаптер өөрчилсөн гэж таамаглахын оронд аль шийдэгч хариулсныг шалга.
SOCKS сонсогчийг loopback-д холбосон байлга, анх ашиглах үед SSH серверийн host түлхүүрийг шалга, эцсийн сайтад ердийн HTTPS баталгаажуулалтыг байранд нь үлдээ. SSH нь утаснаас сервер хүртэлх хэсгийг хамгаалдаг; сервер дараа нь юу хийдгийг шифрлэдэггүй.
Хоёр амьдралын мөчлөгийг шалгаад шийд
Адаптер болон SSH сесс нь тусдаа амьдралын мөчлөгтэй. Хэрэв адаптер барьсаар байтал SSH унавал програмууд тодорхой алдаагүйгээр дүүжлэгдэж болно, учир нь тэдний пакет одоо ажиллах гарцгүй виртуал интерфейс рүү орсоор байна. Хэрэв адаптер зогсвол програмууд төхөөрөмжийн VPN бодлогоос хамаарч шууд гарна эсвэл блоклогдоно.
Хоёр чиглэлийг санаатайгаар турш: адаптер ажиллаж байхад SSH сессийг ал, дараа нь SSH дээр байхад адаптерыг зогсоо. Утас тохиолдол бүрд хийдэг зүйл нь суулгах заавар юу гэж байсан ч таны үнэхээр хэрэгжүүлж буй бодлого юм.
Хэрэв ажлын урсгалд урьдчилан таамаглах боломжтой бүтэлгүйтлийн горимтой бүх төхөөрөмжийн хамрах хүрээ хэрэгтэй бол жинхэнэ IP VPN эсвэл энэ хэлхээнд зориулсан дэмжигдсэн адаптер бол шударга хариулт. Холбоогүй баригч програмын хажууд ажиллуулсан shell сесс нь дэмжигдсэн төхөөрөмжийн туннель биш; энэ нь аль нэг нь дуусахад юу болох тухай тохиролцоогүй хоёр бүрэлдэхүүн хэсэг юм.