をプロキシする方法

Fidel Montesino

Follow

7月10日。 2020 – 5 min read

あなたがモバイル エンジニアなら、開発とテストの両方で、Charles Proxy や Fiddler などの、ネットワーク コールをデバッグ、傍受、書き換えるための最も一般的なツールを使用していると思われます。

また、デバイスにプロキシを設定するプロセスが非常に煩わしいと感じるでしょう: 設定 > ネットワーク設定 > WiFi ネットワークを選択 > ネットワークの変更 > プロキシの追加に移動します。 すべての。 シングル。 時間。 Phew!

異なるデバイスのセットで作業している場合、おそらく Android のバージョンやメーカーなどの違いにより、プロキシを設定するための手順が追加または変更される可能性があることもご存知でしょう。 また、プロキシを有効または無効にするたびに、デバイスを adb がインストールされたコンピューターに接続する必要があります…この回避策を使用することは、おそらく最も理想的な解決策ではありません。

Proxy Toggle では、ワンタップでグローバルプロキシの設定ができます

簡単設定:希望の IP とポートを追加して、プロキシを有効にすれば完了!

さらに簡単に

これがエキサイティングなニュースであることはわかっています。 しかし、私はまた、プロキシを有効にするたびにアプリを開く必要があることも長いプロセスかもしれないと感じています…ね?

そのため、私はまた、使用するための 2 つのオプションのショートカットを追加しました: ホーム画面ウィジェットおよびクイック設定タイル。

ホーム画面ウィジェット

このショートカットは、ホーム画面からすばやく最後に使用したプロキシを有効および無効にするのに非常に便利です。

ウィジェットを追加するには、通常、ホーム画面 (ランチャーによって異なる) を長押しし、ウィジェットの追加を選択して、アプリ リストをプロキシ トグル ウィジェットが見えるまで下へスクロールします。

ホーム画面ウィジェットは最後に使用したプロキシを自動的に設定する

それだけです! シングル タップでプロキシのオンとオフを切り替えます!

クイック設定タイル

お使いのデバイスが Android 7.0 以上を実行している場合、別の素晴らしいショートカットにアクセスできます:クイック設定タイルです。 このショートカットは通知ドロワー内にあり、WiFi、位置情報、Bluetooth、機内モードなどの他の便利なショートカットの隣にあります。

これを有効にするには、ナビゲーション ドロワーを展開して、編集アイコンをクリックし、配置したい場所に Proxy Toggle アイコンをドラッグするだけです。

一度有効にすると、クイック設定タイルは、プロキシの切り替えを行う素晴らしいショートカットとなります

Done! 現在のアプリを終了することなく、プロキシのオンとオフを切り替えることができます!

Note: 継続中のネットワーク通話がある場合、新しい設定を完了し更新するのに、数秒かかることがあります。

光り輝くものはすべて金ではない

このアプリはその目標を完全に達成し、私たちの生活を便利にしてくれますが、この輝くアプリについて強調したいいくつかの注意点があります。

Using system restricted permissions

アプリでは Settings.Global. これはシステム設定であるため、通常は読み取り専用です。 この小さな不便は、アプリに WRITE_SECURE_SETTINGS 制限付きアクセス許可を与えることで回避できます。

注意: これは、システム アプリのみに許可されるべき保護されたアクセス許可です。 不明なソースからのアプリにこの権限を付与する場合は、特に注意してください。

これはいくつかの懸念を引き起こすかもしれませんが、私はそれを理解しています。
それが、このプロジェクトをオープンソース化することにした理由です。つまり、舞台裏で起こっていることを完全に制御し、知ることができるので、この許可を与えることが完全に安全であることを証明するためです。

システムの制限付き権限を付与する

これは制限付き権限であるため、通常のように実行時に要求することはできませんので、コンピュータから手動で付与する必要があります。 zip ファイルをダウンロードし、installAndGrantPermission.sh スクリプトを実行するだけです。
あるいは、ターミナル上で adb install -g App.apk を実行して、アプリを手動でインストールすることもできます。

アプリがすでにインストールされている状態でこの権限を付与するには、デバイスをコンピューターに接続し、ターミナル上で次のコマンドを実行します:

adb shell pm grant com.kinandcarta.create.proxytoggle android.permission.WRITE_SECURE_SETTINGS

アプリをアンインストールするときの注意

残念ですが、開発者として、アプリがアンインストールされているといかなるコードも実行できません。 したがって、プロキシが有効な状態でアプリをアンインストールすると、デバイスにこの設定が永久に残ります (Settings.Global の設定だからです!)。

アプリをアンインストールする前に、プロキシが無効であることを確認する必要があります。 これが実行されることを保証できないので、アプリをアンインストールした後にすべてがクリーンな状態であることを確認するための uninstallAndCleanUp.sh スクリプトも用意されています。

あるいは、ターミナル上で次のコマンドを実行して、プロキシ設定をクリーンアップすることもできます:

adb shell settings delete global http_proxy
adb shell settings delete global global_http_proxy_host
adb shell settings delete global global_http_proxy_port

Convenience at your fingertips

Proxy Toggle により、あらゆる Android 携帯電話でグローバル プロキシを簡単にセットアップでき、また、画面をシングルタップして、プロキシの有効/無効を切り替えた異なるショートカットも提供されます。 このツールが、開発者とテスターの両方である私たちの内部アプリ チームにとってそうであったように、皆さんのチームにとっても役立つことを願っています!

ここから最新バージョンをダウンロードするか、Github からプロジェクトをクローンできます。

アプリ デザインで貴重な助けをくれたユニークで素晴らしい Flor Novello に大いに感謝します!

コメントを残す

メールアドレスが公開されることはありません。