iPhone / iPod TouchからSOCKSプロキシに接続するにはどうすればよいですか?


18

MacでSSHトンネリングを介して作成したSOCKSプロキシを介して、安全かつプライベートにサーフィンするのが好きです。これを実現するために、MacでSSHクライアントを使用しました。iPhone OSは基本的にMac OSであるため、同じトリックがiPhoneでも機能する可能性があると考えました。

私は、ターミナル(iPhoneのターミナル)経由でiPhoneにSShトンネルを作成することができました。(はい、ジェイルブレイクです)

ssh -D [port] user@domain.com

この段階では、私のiPhoneはSOCKSプロキシです。

ただし、iPhoneネットワーク設定パネルにSOCKSプロキシを指定する方法はないようです。これを回避するためにProxy Auto-Contig(PAC)ファイルを作成することをお勧めしますが、それは複雑に聞こえます。

iPhoneで独自のSOCKSプロキシを使用する方法はありますか?

回答:


20

まあ、それをするより良い方法はありません。Appleさん、iPhone OSネットワーク設定パネルにSOCKSプロキシ設定を置くのは難しいですか? :-(

とにかく、これまでの最良の答えは、ネット上で見つけることができる唯一のもので、SNIPPLR Code 2.0 Webサイトの「Unjailbroken iPhone / iPod TouchからSOCKSプロキシに接続する方法」というタイトルの文書からです。

以下は、ソリューションのクリーンアップバージョンです。

おそらく、職場のSSH / SOCKSトンネルを介して既にWebトラフィックを転送しているので(プライバシー上の理由から)、iPhone / iPod Touchで同じトンネルを使用したいとします。これは実際に達成するのは非常に簡単です。

  1. iPhone / iPod Touchが接続できるように、職場のコンピューターのSOCKSトンネルがLAN接続を許可していることを確認してください。

    ssh -N -g -D 1080 user@domain.com
    
  2. テキストファイルを作成し、次のコードを挿入します。

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

    xをIPに、yをSSHコマンドの-Dの後に使用したポートに置き換えます

  3. テキストファイルを、プロキシ自動構成(PAC)ファイルとして、拡張子が.pacの Webアクセス可能な場所に保存します。

    このチャンスを読んでいるのであれば、仕事用LANでHTTP経由でファイルを提供する方法を知っているので、私はそれを掘り下げません。

  4. 最後に、iPhone / iPod Touchで[設定]→[Wi-Fi]に移動し、仕事用ネットワークの右側にある青い矢印をクリックします。一番下までスクロールし、[自動]をクリックして、PACファイルのアドレスを入力します(例:http://192.168.xx.xx/mysupersecretproxy.pac)。

これで、iPhone / iPod touchから安全にWebを閲覧できます。


これはWIFIのユースケースを対象としていますが、2g / 3gネットワークリンクは対象外です。
ダグラスは

これはsshトンネルの目的全体を無効にしませんか?iPhoneとコンピューター間のトラフィックは暗号化されませんか?
-JBis

また、VPN(WireGuard)に接続するとプロキシ設定が無視されるように思われますが、これは迷惑ssh -gDです。ふりだしに戻る。
sjy

4

その最後の答えに感謝します。

この「SSHでiPhoneをUSBケーブルでオンラインにする」ブログ投稿と一緒に、ネットワーク上のどこかにSSHサーバーだけがあれば、USBテザーを介した非常に堅実なインスタントSSH / SOCKSソリューションを思いつきました。これにより、WiFiに欠陥があり、強力な電話データプラン(T-Mobile Prepaid)がなくても、すべてのtcpベースのアプリでUSB経由でSSHサーバーのインターネットを使用できます。

プロキシサーバーの構成は必要ありません。

ブログ投稿の要点は、コマンドラインからプロキシを制御できることです。ファイルを使用します。

/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:///private/var/preferences/proxy.pac</string>
</dict>

次に、トリックを使用して、指定したファイルでSOCKSプロキシを指定します。

/private/var/preferences/proxy.pac

追加:

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

proxy.pacのアクセス許可を777に変更します(すべて読み取り、書き込み、実行可能)。

iPhoneを再起動します。

iTunnel for iTunes 9をダウンロードします(古いバージョンも利用可能です)。(http://www.mediafire.com/?2q1fzowoy12)

新しいPuTTY接続を作成します。「接続」>「SSH」>「トンネル」セクションで、iPhoneのポート202のような新しい転送「リモート」ポートをインターネットに接続するSSHサーバーに追加します(たとえば、192.168.2.100:22)。

Source Port: 202
Destination: 192.168.2.100:22

同じPutty接続のSSHセクションで、リモートコマンドを次のように設定します。

ssh -D 1080 user@127.0.0.1 -p 202

Putty構成を新しい名前付きセッションに保存します。

オプションで鍵を生成し、公開鍵を*〜/ .ssh / authorized_keys *の両端に追加して、パスワードを入力する必要がないようにします。ショートカットでputty.exe -load "Profile Name"を使用して、さらに高速化します。


もちろん、Windows上でCygwinなどを使用してOpenSSHサーバーを実行している場合は、おそらく中間トンネルをスキップできます。
thadk

これを逆にして通常のテザリングを行う人がいます。snipplr.com
16563

0

このメッセージは、正しく解釈している場合、コマンドラインからこれを実行できないことを示唆しているようです。ネットワークの環境設定はSOCKSをサポートしていないため、これはまったく不可能だと思います。


このサイトでは、SOCKSプロキシの作成に問題はありませんが、PACファイルを使用して設定する必要があります。もっと簡単な方法があれば私は気弱になりました。snipplr.com/view/16563/...
GeneQ


0

上記の答えは大丈夫ではありません。

  1. ssh -Dは、iOSシステム(iPhoneやiPadなど)のグローバルプロキシではありません。

  2. HTTPプロキシもグローバルプロキシではありません。

ほとんどのゲームとIM(インスタントメッセージ)の両方で使用することはできません。一部のWebサーフィン用(Safariでも大丈夫です)が、ほとんどこれだけです。

iPhoneとiPadで最も簡単で最良の方法は、VPNを使用することです。これはグローバルエージェントであり、リモートVPNサーバー経由ですべてのインターネットデータを転送できます。もう1つの選択肢はOpenVPNです。これは、iOS上のクライアントを提供します。

iPhoneやiPadでWindowsのようなグローバルソックスプロキシを実行するようなプログラムはありません。


0

ジェイルブレイクをせずにこれを行う方法を見つけましたが、sshサーバーにアクセスする必要があります。これは、自分のホームコンピューターでホストできます。

2つのiPhoneアプリケーションが必要です。iSSH(sshトンネル)、およびProxyBrowse(socks5ブラウザー)。

SSHサーバーも必要です。

この例では、SSHサーバー[host]とsshサーバーのユーザーアカウント[user]を呼び出します。


SSHサーバー

次のコマンドを実行します。

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

そうです、あなたは[ホスト]で[ホスト]に戻る動的ポートを作成しているので、すぐにその理由がわかります。


iSSH

「構成の追加...」、server / username / etcの通常のものを記入します。下の方で[SSH]> [なし]を選択できます。[トンネル]のオプションが表示されるので、それを選択します。「トンネルの追加」ボタンを選択します。

ローカルポート:8080

宛先ホスト:[ホスト]

宛先ポート:8080

すべてを保存し、接続を開きます。


ProxyBrowse

サーバー:localhost

ポート:8080

ユーザー名またはパスワードを入力しないでください。iSSHはすでにトンネルを作成しており、iSSHはiPhoneのバックグラウンドで実行され続けるため、入力する必要はありません。

これで、SSHトンネルを介してWebを閲覧できるようになりました。


さらに一歩進んでみませんか?サーバーにTorをインストールし、iSSHトンネルをTorポートに接続すると、携帯電話からWebを匿名で閲覧できます。

何が起きたのかをもう少し詳しく知りたいという技術的な傾向がある人のために:

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

SOCKSプロキシブラウザは、ローカルポート転送トンネルを介してサーバー上の動的ポート転送トンネルと通信します。

最初


これは、ProxyBrowse以外のネットワークアクセスには対応していません。たとえば、電子メールは保護されていません。
ダグラス

0

シェル(ジェイルブレイク)へのアクセス権があり、proxy.pac上記の場所にファイルを配置できるproxy.pac場合は、トンネリングしようとしている接続のネットワーク設定でファイルの次のリンクを使用することもできます。

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

米国のSSHサーバーへのSSHトンネルと一緒
に、許可されたカバレッジエリア外(米国外を旅行中)でWi-Fi経由でPandora / Slackerなどを聴くことができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.