Bagaimana cara saya terhubung ke Proxy SOCKS dari iPhone / iPod Touch?

19

Saya suka berselancar dengan aman dan pribadi melalui proxy SOCKS yang saya buat melalui tunneling SSH, di Mac. Saya menggunakan klien SSH pada Mac saya untuk mencapai ini. Kemudian saya berpikir, karena iPhone OS pada dasarnya adalah Mac OS, trik yang sama mungkin juga berfungsi pada iPhone.

Saya berhasil membuat terowongan SSh di iPhone saya melalui Terminal (Terminal iPhone). (Ya, ini rusak karena penjara)

ssh -D [port] [email protected]

Pada tahap ini iPhone saya adalah proxy SOCKS.

Namun, sepertinya tidak ada cara di panel preferensi jaringan iPhone untuk menentukan proxy SOCKS. Seseorang menyarankan untuk membuat file Proxy Auto-Contig (PAC) untuk mengatasinya, tetapi itu terdengar rumit.

Ada ide bagaimana menggunakan iPhone menggunakan proxy SOCKS sendiri?

GeneQ
sumber

Jawaban:

20

Yah saya kira, tidak ada cara yang lebih baik untuk melakukannya. Darn Anda Apple, apakah begitu sulit untuk menempatkan pengaturan Proxy SOCKS di panel pengaturan jaringan iPhone OS? :-(

Bagaimanapun, jawaban terbaik sejauh ini, dan satu-satunya yang dapat saya temukan di Net, adalah dari sebuah dokumen dari situs web SNIPPLR Code 2.0 yang berjudul How To Connect To A SOCKS Proxy From an iPhone / iPod Touch yang belum rusak .

Di bawah ini adalah versi bersih dari solusi mereka:

Katakanlah, mungkin, bahwa Anda telah meneruskan lalu lintas web Anda melalui terowongan SSH / SOCKS di tempat kerja (untuk alasan privasi) dan Anda ingin menggunakan terowongan yang sama di iPhone / iPod Touch Anda. Ini sebenarnya cukup mudah untuk dicapai.

  1. Pastikan terowongan SOCKS pada komputer kerja Anda memungkinkan koneksi LAN sehingga iPhone / iPod Touch Anda dapat terhubung.

    ssh -N -g -D 1080 [email protected]
    
  2. Buat file teks dan masukkan kode berikut:

    function FindProxyForURL(url, host)
    { 
         return "SOCKS 192.168.xx.xx:yyyy";
    }
    

    Ganti x's dengan IP Anda dan y's dengan port yang Anda gunakan setelah -D dalam perintah SSH Anda

  3. Simpan file teks sebagai file Proxy Auto-Config (PAC) ke tempat yang dapat diakses web dengan ekstensi .pac .

    Jika Anda membaca kemungkinan ini, Anda tahu cara menyajikan file melalui HTTP pada LAN kantor Anda, jadi saya tidak akan membahasnya.

  4. Terakhir, pada iPhone / iPod Touch Anda, buka Pengaturan → Wi-Fi dan klik panah biru di sebelah kanan jaringan kerja Anda. Gulir ke bawah, klik Otomatis dan ketik alamat ke file PAC Anda (mis. Http: //192.168.xx.xx/mysupersecretproxy.pac ).

Sekarang Anda dapat menjelajahi web dengan aman dari iPhone / iPod touch Anda.

GeneQ
sumber
Ini mencakup kasus penggunaan WIFI, tetapi bukan tautan jaringan 2g / 3g.
Douglas Held
Bukankah ini mengalahkan seluruh tujuan terowongan ssh? Bukankah lalu lintas antara iPhone dan komputer tidak akan dienkripsi?
JBis
Tampaknya juga pengaturan proxy diabaikan ketika terhubung ke VPN (WireGuard), yang menjengkelkan, karena saya ingin mengandalkan itu untuk mengenkripsi koneksi antara perangkat iOS dan server yang berjalan ssh -gD. Kembali ke papan gambar.
sjy
4

Wow terima kasih atas jawaban terakhirnya.

Bersama-sama dengan posting blog "SSH ini untuk membuat iPhone Anda online melalui kabel USB" , saya datang dengan solusi SSH / SOCKS terbalik instan yang cukup solid melalui tether USB yang hanya diberikan server SSH di suatu tempat di jaringan Anda. Hal ini memungkinkan semua aplikasi berbasis tcp saya untuk menggunakan internet server SSH di USB meskipun WiFi saya rusak dan tidak memiliki paket data ponsel yang kuat (T-Mobile Prabayar).

Tidak diperlukan konfigurasi server proxy.

Inti dari posting blog adalah bahwa Anda BISA mengendalikan proxy dari baris perintah. Gunakan file:

/private/var/preferences/SystemConfiguration/preferences.plist

Temukan bagian "ip1" (jika Anda ingin mengganti antarmuka GPRS / EDGE / 3G) seperti:

<dict>
<key>Interface</key>
<dict>
<key>DeviceName</key>
<string>ip1</string>
<key>Hardware</key>
<string>com.apple.CommCenter</string>
<key>Type</key>
<string>com.apple.CommCenter</string>
</dict>

Hati-hati karena Anda mendapat bagian ip1 jika Anda ingin mengganti EDGE / 3G! Jangan mencari entri Proksi lain dalam file.

Kemudian tambahkan bagian berikut setelahnya:

<key>Proxies</key>
<dict>
<key>ProxyAutoConfigEnable</key>
<integer>1</integer>
<key>ProxyAutoConfigURLString</key>
<string>file:///private/var/preferences/proxy.pac</string>
</dict>

Kemudian gunakan trik Anda untuk menentukan proxy SOCKS dalam file yang baru saja kami tentukan:

/private/var/preferences/proxy.pac

Menambahkan:

function FindProxyForURL(url, host)
{ 
     return "SOCKS 127.0.0.1:1080";
}

Ubah izin pada proxy.pac ke 777 (semua dapat membaca, menulis, mengeksekusi).

Mulai ulang iPhone.

Unduh iTunnel untuk iTunes 9 (versi yang lebih lama juga tersedia). (http://www.mediafire.com/?2q1fzowoy12)

Buat Koneksi Putty baru: di bagian Connection> SSH> Tunnels tambahkan port "remote" yang diteruskan, seperti port 202 pada iPhone ke server SSH Anda yang menghadap ke internet (katakanlah, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

Di bagian SSH dari Koneksi Dempul yang sama setel Remote Commmand Anda ke:

ssh -D 1080 [email protected] -p 202

Simpan konfigurasi Putty Anda ke sesi bernama baru.

Secara opsional menghasilkan kunci & menambahkan kunci publik ke * ~ / .ssh / otor_keys * untuk kedua ujungnya sehingga Anda tidak perlu mengetikkan kata sandi. Gunakan putty.exe-muat "Nama Profil" di jalan pintas untuk mempercepat lebih banyak.

thadk
sumber
Tentu saja, jika Anda menjalankan server OpenSSH di Windows dengan Cygwin atau apalah, maka Anda mungkin bisa melewati terowongan perantara.
thadk
Inilah seseorang yang melakukan kebalikan dari ini untuk melakukan tethering normal: snipplr.com/view/16563/…
thadk
0

Pesan ini tampaknya menunjukkan bahwa tidak mungkin melakukan ini melalui baris perintah, jika saya menafsirkannya dengan benar. Saya pikir itu berarti Anda benar-benar tidak bisa sama sekali, karena preferensi Jaringan tidak mendukung SOCKS.

jtbandes
sumber
Situs ini mengatakan bahwa tidak ada masalah dengan membuat proksi SOCKS, tetapi pengaturan harus diatur menggunakan file PAC. Saya bingung jika ada cara yang lebih mudah. snipplr.com/view/16563/…
GeneQ
0

Jawaban di atas tidak semuanya benar.

  1. Ssh -D bukan proxy global pada sistem iOS (seperti iPhone dan iPad).

  2. Proxy HTTP juga bukan proxy global.

Keduanya tidak dapat digunakan pada sebagian besar game dan IM (pesan instan). Ini hanya untuk beberapa penjelajahan web (Safari tidak masalah) tetapi kebanyakan hanya ini.

Cara terbaik dan paling mudah untuk iPhone dan iPad adalah menggunakan VPN. Itu agen global, yang dapat mentransfer semua data Internet melalui server VPN jarak jauh. Pilihan lain adalah OpenVPN, yang memberikan klien di iOS.

Tidak ada program seperti itu untuk iPhone dan iPad untuk menjalankan proksi kaus kaki global seperti itu di Windows.

Hanya begitu
sumber
0

Saya menemukan cara untuk melakukan ini tanpa jailbreaking, tetapi Anda akan memerlukan akses ke server ssh, yang dapat Anda host di komputer rumah Anda sendiri.

Anda akan membutuhkan dua aplikasi iPhone; iSSH (ssh tunnel), dan ProxyBrowse (browser socks5).

Anda juga akan memerlukan server SSH.

Untuk contoh ini kita akan memanggil server SSH kami [host] dan akun pengguna kami untuk server ssh [pengguna].


Server SSH

Jalankan perintah berikut:

SSH -f -N -D 8080 [user]@[host]

Itu benar, Anda berada di [host] membuat port dinamis maju kembali ke [host], Anda akan segera melihat alasannya.


iSSH

"Tambah Konfigurasi ...", isi barang-barang yang biasa untuk server / nama pengguna / dll. Di dekat bagian bawah Anda dapat memilih SSH> Tidak Ada, dan Anda akan melihat opsi untuk "Terowongan", pilih itu. Pilih tombol untuk "Tambah Terowongan".

Localport: 8080

Dest Host: [host]

Pelabuhan Dest: 8080

Simpan semuanya dan buka koneksi.


ProxyBrowse

Server: localhost

Port: 8080

Jangan mengisi Nama Pengguna atau Kata Sandi, Anda tidak perlu, karena iSSH sudah membuat terowongan dan iSSH terus berjalan di latar belakang pada iPhone Anda.

Itu saja, sekarang Anda dapat menjelajahi web melalui terowongan SSH.


Ingin melangkah lebih jauh? Instal Tor di server Anda, minta terowongan iSSH terhubung ke port Tor, dan kemudian dari ponsel Anda, Anda dapat benar-benar menjelajahi web secara anonim.

Untuk yang cenderung teknis yang ingin sedikit lebih detail tentang apa yang baru saja terjadi:

[host] : ssh -f -N -D 8080 [host]
[client_tunnel] : ssh -L 8080:localhost:8080 [host]
[client_socks5] : localhost:8080

Peramban proksi SOCKS berkomunikasi melalui terowongan penerusan port lokal ke terowongan penerusan port dinamis di server.

pertama

pertama
sumber
Ini tidak mencakup akses jaringan apa pun kecuali untuk ProxyBrowse. Email misalnya, tidak terlindungi.
Douglas Held
0

Jika Anda memiliki akses ke shell (jailbroken) dan dapat menempatkan proxy.pacfile di lokasi yang disebutkan di atas, Anda juga dapat menggunakan tautan berikut untuk proxy.pacfile di preferensi Jaringan untuk koneksi yang Anda coba lakukan tunnel:

file://private/var/preferences/proxy.pac

Bersama dengan terowongan SSH ke server SSH di AS, saya dapat mendengarkan Pandora / Slacker dll. Melalui
Wi-Fi di luar area jangkauan yang diizinkan (yaitu saat bepergian di luar AS).

pengguna3439894
sumber