İPhone / iPod Touch'tan SOCKS Proxy'ye nasıl bağlanırım?


19

Mac'te SSH tüneli üzerinden oluşturduğum bir SOCKS proxy'si ile güvenli ve özel bir şekilde sörf yapmayı seviyorum. Bunu başarmak için Mac bilgisayarımdaki SSH istemcisini kullandım. Sonra düşündüm ki, iPhone OS aslında Mac OS olduğundan, aynı hile iPhone'da da işe yarayabilir.

İPhone'umda Terminal (iPhone'un Terminali) aracılığıyla bir SSh tüneli oluşturmayı başardım. (Evet, hapishane kırıldı)

ssh -D [port] user@domain.com

Bu aşamada iPhone'um SOCKS proxy'sidir.

Ancak, iPhone ağ tercih panelinde bir SOCKS proxy'si belirtmenin bir yolu yok gibi görünüyor. Birisi bu sorunu çözmek için bir Proxy Otomatik Contig (PAC) dosyası oluşturmanızı önerir, ancak bu kulağa karmaşık gelebilir.

Herhangi bir fikir iPhone kendi SOCKS proxy kullanmak nasıl?

Yanıtlar:


20

Sanırım bunu yapmanın daha iyi bir yolu yok. Lanet olsun Apple, iPhone OS ağ ayarları paneline bir SOCKS Proxy ayarı koymak çok mu zor? :-(

Her neyse, şimdiye kadarki en iyi cevap ve Net'te bulabildiğim tek cevap, SNIPPLR Code 2.0 web sitesinden, Unjailbroken iPhone / iPod Touch'dan Bir SOCKS Proxy'ye Nasıl Bağlanılır adlı bir belgeden .

Aşağıda çözümlerinin temizlenmiş bir sürümü bulunmaktadır:

Diyelim ki, web trafiğinizi zaten işyerinde bir SSH / SOCKS tüneli üzerinden iletiyorsunuz (gizlilik nedeniyle) ve aynı tüneli iPhone / iPod Touch'ınızda kullanmak istiyorsunuz. Bunu başarmak aslında oldukça kolaydır.

  1. İş bilgisayarınızdaki SOCKS tünelinin, iPhone / iPod Touch cihazınızın ona bağlanabilmesi için LAN bağlantılarına izin verdiğinden emin olun.

    ssh -N -g -D 1080 user@domain.com
    
  2. Bir metin dosyası oluşturun ve aşağıdaki kodu ekleyin:

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

    X'leri IP'nizle, y'leri SSH komutunuzda -D'den sonra kullandığınız bağlantı noktasıyla değiştirin

  3. Metin dosyasını Proxy Otomatik Yapılandırma (PAC) dosyası olarak, .pac uzantılı web erişimine sahip bir yere kaydedin .

    Bu şansı okuyorsanız, çalışma LAN'ınızda HTTP üzerinden nasıl dosya sunacağınızı biliyorsunuz, bu yüzden bunu araştırmayacağım.

  4. Son olarak, iPhone / iPod Touch cihazınızda Ayarlar → Wi-Fi seçeneğine gidin ve iş ağınızın sağındaki mavi oku tıklayın. En alta gidin, Otomatik'i tıklayın ve PAC dosyanızın adresini yazın (örn. Http: //192.168.xx.xx/mysupersecretproxy.pac ).

Artık iPhone / iPod touch'ınızdan güvenle internette gezinebilirsiniz.


Bu, WIFI kullanım durumunu kapsar, ancak 2g / 3g ağ bağlantısını kapsamaz.
Douglas

Bu ssh tünelinin tüm amacını yenmez mi? İPhone ve bilgisayar arasındaki trafik şifrelenmeyecek mi?
JBis

Ayrıca, iOS cihazı ve çalışan sunucu arasındaki bağlantıyı şifrelemek için buna güvenmek istediğim için sinir bozucu olan bir VPN'ye (WireGuard) bağlandığında proxy ayarının yok sayıldığı görülüyor ssh -gD. Çizim tahtasına geri dön.
sjy

4

Vay bu son cevap için teşekkürler.

Bu "SSH'nizi USB kablosu ile çevrimiçi hale getirmek için SSH" blog yazısı ile birlikte , ağınızda bir yerde sadece bir SSH sunucusu verilen USB tether üzerinden oldukça sağlam bir anında ters SSH / SOCKS çözümü buldum . Bu, tüm tcp tabanlı uygulamaların, WiFi'm arızalı olmasına ve güçlü bir telefon veri planına (T-Mobile Prepaid) sahip olmamasına rağmen USB üzerinden bir SSH sunucusunun İnternetini kullanmasına izin veriyor.

Proxy sunucu yapılandırması gerekmez.

Blog gönderisinin özü, proxy'yi komut satırından kontrol edebilmenizdir. Dosyayı kullanın:

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

"İp1" bölümünü bulun (GPRS / EDGE / 3G arayüzünü değiştirmek istiyorsanız):

<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>

EDGE / 3G'yi geçersiz kılmak istiyorsanız ip1 bölümüne sahip olduğunuza dikkat edin! Dosyadaki diğer Proxies girişlerini aramayın.

Daha sonra aşağıdaki bölümü ekleyin:

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

Ardından, az önce belirttiğimiz dosyada bir SOCKS proxy'si belirtmek için hilenizi kullanın:

/private/var/preferences/proxy.pac

Ekle:

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

Proxy.pac üzerindeki izinleri 777 olarak değiştirin (hepsi okuyabilir, yazabilir, yürütebilir).

İPhone'u yeniden başlatın.

İTunes 9 için iTunnel'i indirin (eski sürümler de mevcuttur). (Http://www.mediafire.com/?2q1fzowoy12)

Yeni bir Macun Bağlantısı oluşturun: Bağlantı> SSH> Tüneller bölümünde, internete bakan SSH sunucunuza iPhone'daki 202 numaralı bağlantı noktası gibi yeni iletilen "uzak" bağlantı noktasını ekleyin (örneğin, 192.168.2.100:22).

Source Port: 202
Destination: 192.168.2.100:22

Aynı Macun Bağlantısının SSH bölümünde Uzaktan Commmand'ınızı şu şekilde ayarlayın:

ssh -D 1080 user@127.0.0.1 -p 202

Putty yapılandırmanızı yeni adlandırılmış bir oturuma kaydedin.

İsteğe bağlı olarak anahtarlar oluşturun ve ortak anahtarları * ~ / .ssh / yetkili_anahtarlar * 'a her iki uçta ekleyin, böylece parola yazmanız gerekmez. Daha da hızlandırmak için bir kısayolda putty.exe -load "Profil Adı" kullanın .


Tabii ki, Cygwin veya başka bir şeyle Windows'ta bir OpenSSH sunucusu çalıştırıyorsanız, muhtemelen ara tüneli atlayabilirsiniz.
thadk

İşte normal tethering yapmak için bunun tersini yapan biri: snipplr.com/view/16563/…
thadk

0

Bu mesaj , doğru bir şekilde yorumladığımda bunu komut satırı üzerinden yapmanın mümkün olmadığını gösteriyor. Ağ tercihleri ​​ÇORAP desteklemediğinden, bu gerçekten hiç yapamayacağınız anlamına geliyor.


Bu site, SOCKS proxy'sini oluşturmada sorun olmadığını, ancak ayarın PAC dosyaları kullanılarak ayarlanması gerektiğini söylüyor. Daha kolay bir yol olsaydı wodnerign'dim. snipplr.com/view/16563/…
GeneQ


0

Yukarıdaki cevaplar doğru değil.

  1. Ssh -D, iOS sisteminde (iPhone ve iPad gibi) global bir proxy değildir.

  2. HTTP proxy aynı zamanda genel bir proxy değildir.

Her ikisi de çoğu oyunda ve IM'de (anlık mesaj) kullanılamaz. Sadece bazı web sörf için (Safari Tamam) ama çoğunlukla sadece bu.

İPhone ve iPad'de en iyi ve en kolay yol VPN kullanmaktır. Bu, tüm İnternet verilerini uzak VPN sunucusu üzerinden aktarabilen global bir ajandır. Başka bir seçenek, iOS'ta bir istemci veren OpenVPN'dir.

İPhone ve iPad'in Windows'taki global çorap proxy'sini çalıştırması için böyle bir program yoktur.


0

Bunu jailbreak yapmadan yapmanın bir yolunu buldum, ancak kendi ev bilgisayarınızda barındırabileceğiniz bir ssh sunucusuna erişmeniz gerekecek.

İki iPhone uygulamasına ihtiyacınız olacak; iSSH (ssh tüneli) ve ProxyBrowse (çorap5 tarayıcı).

Ayrıca bir SSH sunucusuna ihtiyacınız olacaktır.

Bu örnekte SSH sunucumuzu [host] ve ssh sunucusunun [user] kullanıcı hesabımızı arayacağız.


SSH Sunucusu

Aşağıdaki komutu çalıştırın:

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

Bu doğru, [host] [host] 'a geri dinamik bir port oluşturuyorsunuz, neden yakında göreceksiniz.


Issh

"Yapılandırma Ekle ...", sunucu / kullanıcı adı / vb. İçin olağan şeyleri doldurun. Altta SSH> Yok'u seçerseniz, "Tünel" için bir seçenek göreceksiniz, bunu seçin. "Tünel Ekle" düğmesini seçin.

Yerel Liman: 8080

Hedef Ana Makine: [ana makine]

Varış Noktası: 8080

Her şeyi kaydedin ve bağlantıyı açın.


ProxyBrowse

Sunucu: localhost

Liman: 8080

Kullanıcı Adı veya Parola doldurmayın, buna gerek yoktur, çünkü iSSH zaten tüneli oluşturdu ve iSSH iPhone'unuzda arka planda çalışmaya devam ediyor.

Hepsi bu, şimdi web'e bir SSH tüneli üzerinden göz atabilirsiniz.


Bir adım daha ileri gitmek ister misiniz? Tor'u sunucunuza kurun, iSSH tünelinin Tor bağlantı noktasına bağlanmasını sağlayın ve ardından telefonunuzdan web'e anonim olarak gerçekten göz atabilirsiniz.

Teknik olarak eğimli olanlar için olanlar hakkında biraz daha ayrıntılı bilgi almak isteyenler:

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

SOCKS proxy tarayıcısı, yerel bağlantı noktası yönlendirme tüneli üzerinden sunucudaki dinamik bağlantı noktası yönlendirme tüneline iletişim kurar.

ilk


Bu, ProxyBrowse dışındaki ağ erişimlerinin hiçbirini kapsamaz. Örneğin, e-posta korumasız.
Douglas

0

Kabuğa (jailbroken) erişiminiz varsa ve proxy.pacdosyayı yukarıda belirtilen konuma yerleştirebiliyorsanız, proxy.pactünel oluşturmaya çalıştığınız bağlantı için Ağ tercihlerinde dosya için aşağıdaki bağlantıyı da kullanabilirsiniz :

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

ABD'deki bir SSH sunucusuna bir SSH tüneli ile birlikte, Pandora / Slacker vb
. İzin verilen kapsama alanı dışında Wi-Fi üzerinden dinleyebilirim (yani ABD dışında seyahat ederken).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.