題:
如何從iPhone / iPod Touch連接到SOCKS代理?
GeneQ
2009-07-21 07:51:41 UTC
view on stackexchange narkive permalink

我想通過在Mac上通過SSH隧道創建的SOCKS代理安全和私密地進行沖浪。我在Mac上使用SSH客戶端來實現此目的。然後我想,由於iPhone操作系統本質上是Mac OS,因此同樣的技巧也可能在iPhone上起作用。 (是的,它已經越獄了)

  ssh -D [port] user@domain.com  

在這個階段,我的iPhone是SOCKS代理。 / p>

但是,iPhone網絡首選項面板中似乎沒有指定SOCKS代理的方法。有人建議創建Proxy Auto-Contig(PAC)文件來解決此問題,但這聽起來很複雜。

有什麼想法可以讓iPhone使用它自己的SOCKS代理?

七 答案:
GeneQ
2009-07-24 21:23:20 UTC
view on stackexchange narkive permalink

我猜,沒有更好的方法可以做到。哎呀,Apple,要將SOCKS代理設置放在iPhone OS網絡設置面板中這麼難嗎? :-(

無論如何,到目前為止,最好的答案,也是我在網上只能找到的唯一答案,是來自SNIPPLR Code 2.0網站上題為的文檔

下面是其解決方案的清理版本:

讓我們說吧,也許,您已經在工作時通過SSH / SOCKS隧道轉發了網絡流量(出於隱私原因),並且您希望在iPhone / iPod Touch上使用同一隧道。這實際上很容易實現。

  1. 確保工作計算機上的SOCKS隧道允許LAN連接,以便您的iPhone / iPod Touch可以連接到它。

      ssh -N- g -D 1080 user@domain.com  
  2. 創建文本文件並插入以下代碼:

      function FindProxyForURL(網址,主機){返回“ SOCKS 192.168.xx.xx:yyyy”;}  

    用IP替換x,用後置端口替換y SSH命令中的-D

  3. 使用 .pac

  4. 將文本文件作為Proxy Auto-Config(PAC)文件保存到可通過Web訪問的位置強>擴展。

    如果您正在閱讀這種機會,那麼您知道如何在您的工作LAN上通過HTTP提供文件,因此我不會對此進行深入研究。

  5. 最後,在iPhone / iPod Touch上,轉到“設置”→“ Wi-Fi”,然後單擊工作網絡右側的藍色箭頭。滾動到底部,單擊自動,然後在PAC文件中鍵入地址(例如 http://192.168.xx.xx/mysupersecretproxy.pac)。

  6. ol>

    現在,您可以從iPhone / iPod touch安全地瀏覽網頁了。

這涵蓋了WIFI用例,但不包括2g / 3g網絡鏈接。
這不會破壞ssh隧道的全部目的嗎?iPhone和計算機之間的流量不會加密嗎?
似乎在連接到VPN(WireGuard)時也會忽略代理設置,這很煩人,因為我想依靠它來加密iOS設備和運行ssh -gD的服務器之間的連接。回到繪圖板。
thadk
2010-02-06 12:19:23 UTC
view on stackexchange narkive permalink

哇,謝謝您的最後回答。

結合此“ SSH通過USB電纜使您的iPhone聯機”博客文章,我想出了一個非常可靠的即時基於USB繩索的反向SSH / SOCKS解決方案僅在您網絡中的某個地方提供SSH服務器。這使我所有基於tcp的應用程序都可以通過USB使用SSH服務器的Internet,儘管我的WiFi出現故障並且沒有強大的電話數據計劃(T-Mobile預付)。

不需要代理服務器配置。

博客文章的要旨是您可以從命令行控制代理。使用文件:

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

查找“ ip1”部分(如果要替換GPRS / EDGE / 3G接口)這樣的:

  <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,請注意獲得ip1部分!別看該文件中的其他代理條目

然後在後面加上以下部分:

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

然後使用技巧在我們剛剛指定的文件中指定一個SOCKS代理:

/private/var/preferences/proxy.pac

添加:

 函數FindProxyForURL(URL,host){返回“ SOCKS 127.0.0.1:1080”;}  

將proxy.pac的權限更改為777(所有人都可以讀取,寫入,執行)。

重新啟動iPhone。

下載iTunes 9的iTunnel(也提供舊版本)。 (http://www.mediafire.com/?2q1fzowoy12)

創建新的膩子連接:在“連接”>“ SSH”>“隧道”部分中,添加新轉發的“遠程”端口,例如iPhone上的端口202。面向Internet的SSH服務器(例如192.168.2.100:22)。

 源端口:202目標位置:192.168.2.100:22  

在SSH部分中將相同的Putty Connection的“遠程命令”設置為:

  ssh -D 1080 user@127.0.0.1 -p 202  

將您的Putty配置保存到新的命名會話。

(可選)生成密鑰&將公用密鑰添加到*〜/ .ssh / authorized_keys *的兩端,因此您無需鍵入密碼。在快捷方式中使用 putty.exe -load“配置文件名稱” 可以加快速度。

當然,如果您要在Windows上使用Cygwin或其他工具運行OpenSSH服務器,則可以跳過中間通道。
以下是與此相反的人可以進行正常的網絡共享:http://snipplr.com/view/16563/how-to-connect-to-a-socks-proxy-from-an-unjailbroken-iphoneipod-touch/
jtbandes
2009-07-21 08:23:21 UTC
view on stackexchange narkive permalink

此消息似乎表明,如果我正確解釋的話,則不可能通過命令行執行此操作。我認為那真的意味著您根本無法使用,因為“網絡”偏好設置不支持SOCKS。

該站點說,創建SOCKS代理沒有問題,但是必須使用PAC文件設置設置。如果有更簡單的方法,我會感到無聊。 http://snipplr.com/view/16563/how-to-connect-to-a-socks-proxy-from-an-unjailbroken-iphoneipod-touch/
Thireus
2010-03-14 23:13:27 UTC
view on stackexchange narkive permalink

iPhone + SSH隧道+襪子代理=成功非常高興

-> http://thireus.dareyourmind.net/index.php/thireus-home-news/8-general -announcement / 109-iphone-ssh-tunnel-socks-proxy-success-d

感謝您的幫助:)我現在可以通過Wifi / 3G使用本地襪子代理了/ Edge:p和我還創建了一個腳本,如果連接丟失,它會重新創建隧道;)

Dre
2010-05-15 18:14:14 UTC
view on stackexchange narkive permalink

如果您可以訪問shell(越獄)並且可以將 proxy.pac 文件放在上述位置,則也可以將以下鏈接用於 proxy.pac 文件:

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

與通向美國SSH服務器的SSH隧道一起,我可以在允許的覆蓋範圍之外(即,在美國以外旅行時)通過
Wi-Fi收聽Pandora / Slacker等。

Justso
2012-04-04 00:31:12 UTC
view on stackexchange narkive permalink

上面的答案並不正確。

  1. ssh -D不是iOS系統(例如iPhone和iPad)上的全局代理。

  2. HTTP代理也不是全局代理。

  3. ol>

    它們不能同時用於大多數遊戲和IM(即時消息)。

    在iPhone和iPad上最好,最簡單的方法是使用VPN。那是全球代理,可以通過遠程VPN服務器傳輸所有Internet數據。另一個選擇是OpenVPN,它在iOS上提供了一個客戶端。

    iPhone和iPad沒有像Windows那樣的程序可以運行全局襪子代理。

rst
2013-09-10 23:49:22 UTC
view on stackexchange narkive permalink

我找到了一種無需越獄的方法,但是您將需要訪問ssh服務器,您可以在自己的家用計算機上託管它。

您將需要兩個iPhone應用程序; iSSH(ssh隧道)和ProxyBrowse(socks5瀏覽器)。

您還將需要SSH服務器。

在此示例中,我們將SSH服務器稱為[host],將我們的服務器稱為SSH服務器的用戶帳戶[用戶]。


SSH服務器

運行以下命令:

  SSH -f -N- D 8080 [用戶] @ [主機]  

是的,您在[主機]上創建了一個動態端口,該端口轉發回[主機],您很快就會明白原因。


iSSH

“添加配置...”,填寫服務器/用戶名/ etc的常用內容。在底部附近,您可以選擇SSH>無,然後您將看到“隧道”的選項,然後選擇該選項。選擇“添加隧道”按鈕。

本地端口:8080

目標主機:[host]

目標端口:8080

保存所有內容並打開連接。


ProxyBrowse

服務器:本地主機

端口:8080

不要填寫用戶名或密碼,您不需要,因為iSSH已經創建了隧道,並且iSSH繼續在iPhone的後台運行。

就是這樣,現在您可以通過SSH隧道瀏覽Web。


是否要進一步?在您的服務器上安裝Tor,將iSSH隧道連接到Tor端口,然後從您的手機上可以真正地匿名瀏覽Web。

對於有技術傾向的人士,他們想更詳細地了解剛剛發生的事情:

  [主機]:ssh -f -N -D 8080 [主機] [client_tunnel]:ssh -L 8080:localhost:8080 [host] [client_socks5]:localhost:8080 代碼> 

SOCKS代理瀏覽器通過本地端口轉發隧道與服務器上的動態端口轉發隧道進行通信。

rst

除ProxyBrowse之外,這不涵蓋任何網絡訪問。例如,電子郵件不受保護。


該問答將自動從英語翻譯而來。原始內容可在stackexchange上找到,我們感謝它分發的cc by-sa 2.0許可。
Loading...