回答:
Servers Ultimateは、携帯電話をサーバーに変えるための高度なアプリです。同じ開発者によって、Proxy Serverはより基本的で、完全に「プロキシサーバーベース」のアプローチを提供します。その説明で述べたように:
デバイスで独自のプロキシサーバーを実行します。アプリはHTTPおよびHTTPSプロトコルとGET / POSTリクエストを処理できます。すべての接続をデフォルトのホストとポートに転送するようにアプリを設定して、ソケットを通じて他のプロトコルも使用できるようにすることもできます。
彼らは後で追加します
より多くのサーバーと機能については、当社のアプリServers Ultimateをご覧ください。
サーバーの究極についてのいくつかの追加情報については、確認してくださいライフハッカーの記事、XDAでこの記事を、そして自分のXDAのスレッドをアプリ。
Wifi経由でプロキシを設定することに興味がある場合は、Servers Ultimateを使用して簡単に設定できますが、なぜ誰が本当にそうしたいのかはわかりません。さらに便利なオプションはモバイルデータを使用することですが、@ Kevinが言ったように、ISPレベル(Verizon、AT&Tなど)で多くの頭痛の種に直面することになります。おそらく、あなたは彼らにあなたのために彼らのNATポリシーを変更させないでしょう。
すべての着信接続がブロックされるため、モバイルデータをプロキシとして使用するのは困難です。ただし、ラップトップをwifiに接続し、携帯電話をadb経由でラップトップに接続している場合、1つのオプションは次のようなコマンドを実行することです。
adb forward tcp:6400 tcp:8080
このコマンドは、ホスト(ラップトップ)の6400ポートに送信されたすべてのTCP接続を電話の8080ポートに転送します。次に、ポート8080で実行されているServers Ultimateアプリにプロキシサーバーを設定します。ルートは必要ありません。
これで、ポート6400を介したラップトップへの要求はすべてモバイルデータに転送されます。これをテストするには、Firefoxを開き、設定、ネットワークに移動し、127.0.0.1とポート6400をプロキシとして使用します。ルーターを開いて、このポートを使用してパブリックwifi経由でアクセスできますが、セキュリティポリシーを設定することをお勧めします。
ノートパソコンで開発者向けオプションとadbを有効にするためのチュートリアルはたくさんあります。簡単です。
If you're just interested in setting a proxy up over your Wifi, you can do that with Servers Ultimate quite easily, but I don't know why anyone would really want to do that. A much more useful option is to use mobile data,
Servers Ultimateでは、4Gを介して(WiFiを介してではなく)プロキシを設定できないことに同意しますか?(私は4G経由でプロキシを設定でき、それが可能かどうか知りたいのでお願いします)
Servers Ultimateのプロキシサーバーを機能させるのに問題がありました。最初に考えたのは、私の電話がルート化されていないためです。ただし、ユースケースによっては、ここでの問題は実際には必ずしもOSレベルであるとは限りません。
モバイルデータ接続をプロキシとして使用しようとしている場合、ほとんどのモバイルデータプロバイダーが通常はプロキシの設定に使用できるすべてのポートをブロックするため、問題が発生する可能性があります。あなたの最善の策は、モバイルデータプロバイダーに連絡して、1024の値を超えて開いているポートがあるかどうかを確認することです(Androidは、セキュリティ上の理由から、この数値より下のポートをブロックします)。
または、次のこともできます。
これが事実であることを理解するために、ポートを開いた状態で、WifiでサーバーUltimateプロキシサーバーを実行してみてください。機能するものがありますが、モバイルデータを使用することが目標である場合、今のところ運が悪いです。
スマートフォンがルート化されている(または少なくともブートローダーがロック解除されている)場合は、tinyproxy(HTTP / HTTPSプロキシ)をinit
サービスとして実行できます。Wi-Fiとモバイルデータの両方で機能します。後者の場合、インターネットから携帯電話にアクセスできることを確認する必要があります。3G / 4GパブリックIP上のSSHを介してAndroidに接続する方法を参照してください。
/data
またはにディレクトリを作成します/system
。
~# mkdir -p /data/local/tinyproxy/tmp
構成ファイルを作成します。
# /data/local/tinyproxy/tinyproxy.conf
Port 8080
Timeout 600
LogFile "/tinyproxy.log"
LogLevel Connect
MaxClients 100
MinSpareServers 5
MaxSpareServers 20
StartServers 5
MaxRequestsPerChild 0
ViaProxyName "tinyproxy"
#BasicAuth <username> <password>
詳細な構成オプションについては、ドキュメントを参照してください。
tinyproxy
ソースからビルドするか、これを試してください。バイナリをに移動して/data/local/tinyproxy/
権限を設定します。使用AID_NOBODY
やサービスの他、未使用のUID:
~# cd /data/local/tinyproxy/
~# chown -R 9999.9999 .
~# chmod 0755 . tmp tinyproxy
~# chmod 0644 tinyproxy.conf
/init.rc
またはその他の.rc
ファイルに次の行を追加します。
# /system/etc/init/tinyproxy.rc
service tinyproxy /system/bin/chroot /data/local/tinyproxy /tinyproxy -d -c /tinyproxy.conf
seclabel u:r:magisk:s0
user 9999
group 9999
disabled
capabilities NET_RAW NET_BIND_SERVICE SYS_CHROOT
on property:sys.boot_completed=1
start tinyproxy
ファイアウォールアプリを使用している場合は、受信ポートのブロックを解除してください8080
。デバイスを再起動します。tinyproxy
サーバーは最小限の特権で実行する必要があります。ローカルまたはリモートで接続します。
電話がroot化されていない場合、またはプロキシサーバーをさらにサンドボックス化する場合は、次のルールを使用してSELinuxポリシーにパッチを適用できます。使用Magiskのsupolicy
ツールまたはsepolicy-inject
:
create tinyproxy
allow init tinyproxy process transition
allow init tinyproxy process { rlimitinh siginh noatsecure }
allow tinyproxy tinyproxy process { getsched fork }
allow tinyproxy toolbox_exec file { entrypoint read getattr execute }
allow tinyproxy tinyproxy dir { search write add_name remove_name }
allow tinyproxy tinyproxy lnk_file read
allow tinyproxy labeledfs filesystem associate
allow tinyproxy tinyproxy file { read open getattr create write append unlink execute execute_no_trans }
allow tinyproxy tinyproxy capability { sys_chroot net_raw }
allow tinyproxy tinyproxy unix_dgram_socket { create connect write }
allow tinyproxy tinyproxy tcp_socket { create connect accept read bind getattr write shutdown setopt listen }
allow tinyproxy port tcp_socket { name_connect name_bind }
allow tinyproxy node tcp_socket node_bind
allow tinyproxy tinyproxy udp_socket { create connect read getattr write bind }
allow tinyproxy node udp_socket node_bind
allow tinyproxy system_data_file file lock
allow tinyproxy tinyproxy file lock
dmesg
、avc
必要なルールをさらに定義します。seclabel u:r:magisk:s0
稼働中のと交換しますseclabel u:r:tinyproxy:s0
。~# chcon -R u:object_r:tinyproxy:s0 /data/local/tinyproxy
これで、サービスはMagiskなしでも実行されます。
関連:
SOCKSプロキシはSSHで実行できます。以下を参照してください: