Chromeをsocks5プロキシに設定します。
chrome://linux-proxy-config/
Chromeでchrome://linux-proxy-config/
を入力するために、次のコンテンツのページが表示されます。
Google Chromeがサポートされているデスクトップ環境で実行されている場合、システムプロキシ設定が使用されます。ただし、システムがサポートされていないか、システム構成の起動に問題がありました。
ただし、コマンドラインから構成することはできます。フラグと環境変数の詳細については、man
google-chrome
を参照してください。
コンソールにコマンドを入力します。
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080
上記のコマンドの2つの効果:
effect1:socks5プロキシ経由でサーフィンに行くことができます。
effect2:非常に多くの警告情報:
"Fontconfig warning: "/etc/fonts/fonts.conf", line 100: unknown element "blank"
[3873:3960:0808/102301.399211:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
[7:13:0808/102302.782729:ERROR:command_buffer_proxy_impl.cc(107)] ContextResult::kTransientFailure: Shared memory region is not valid
[3873:4069:0808/102302.788747:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.DBus.Properties.Get: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
[3873:4069:0808/102302.789045:ERROR:object_proxy.cc(619)] Failed to call method: org.freedesktop.UPower.GetDisplayDevice: object_path= /org/freedesktop/UPower: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.UPower was not provided by any .service files
Effect2を修正します。つまり、コマンドをバックグラウンドでサイレント実行します。
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080 &
Effect2はまだ存在し、バックグラウンドで実行できず、警告情報がコンソールに表示されます。
他の方法を試してください:
Sudo gvim /usr/share/applications/google-chrome.desktop
#replace the `Exec=/usr/bin/google-chrome-stable --incognito` with
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://127.0.0.1:1080"
Chromeとそのロゴを使用して、Chromeを開くことができますが、プロキシsocks5://127.0.0.1:1080
でサーフィンできなくなりました。修正する方法は?
物事をうまく機能させる方法を見つけ、警告が多すぎることが唯一の懸念である場合は、メッセージを破棄する方法で物事を行うことができます。
<your command> 2> /dev/null
あなたは リダイレクトファイル記述子(FD) #2であり、これはstderrであり、「ブラックホール」になります。 stdout(FD#1)に送信されたメッセージを破棄することもできますが、これはあなたのようなケースではあまり一般的ではありません。あなたはあなたが得るどのくらいの混乱をチェックしなければなりません。したがって、(stderrのみをリダイレクトする)次のようになります。
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null &
または(stderrおよびstdoutをリダイレクトします。これらは同じコマンドの代替形式です)
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null 1>&2 &
google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" > /dev/null 2>&1 &
シンタックス2>&1
は、FD#2をFD#1のある場所にリダイレクトすることを意味します。デフォルトのFDは#1なので、>
は1>
と同等です。
まれなケースでは、上記より多くの情報が必要になったり、好奇心のために必要になったりします。
https://stackoverflow.com/questions/5256599/what-are-file-descriptors-explained-in-simple-terms
Googleのさまざまな方法Chromeはプロキシ設定の影響を受けます 。Chrome内でプロキシを設定するのではなく、OSの設定を使用してください。
GNOMEを使用している場合は、gsettings
を使用してみてください
gsettings set org.gnome.system.proxy.http Host "myproxy.server.com"
gsettings set org.gnome.system.proxy.http port "3128"
wget
またはcurl
を使用してインターネットからファイルをダウンロードできますか?次のコマンドは、Googleのホームページからindex.html
ファイルを作成しますか?
wget https://www.google.com
問題がSOCKSプロキシへの接続であり、他のアプリケーションに影響している場合は、 proxychains または pacproxy を使用してみてください。
$ proxychains4 google-chrome
ほとんどの場合、google-chrome.desktop
を編集しようとしても、そのファイルには複数のExec
エントリがあり、変更したものが実際に使用されたものではなかったため、失敗しました。
Googleのリポジトリから DebianのChromeパッケージ を使用すると、google-chrome.desktop
は3つのExec
エントリを3つの異なるセクション(グループ、 freedesktop.org's nomenclature)に表示します ):
$ grep -E '^Exec|^\[|^Name=' /usr/share/applications/google-chrome.desktop
[Desktop Entry]
Name=Google Chrome
Exec=/usr/bin/google-chrome-stable %U
[Desktop Action new-window]
Name=New Window
Exec=/usr/bin/google-chrome-stable
[Desktop Action new-private-window]
Name=New Incognito Window
Exec=/usr/bin/google-chrome-stable --incognito
--incognito
オプションのあるもの(おそらく編集したもの)は、コンテキストメニューから[新しいシークレットウィンドウ]を選択した場合にのみ実行されます(たとえば、GNOMEアクティビティでChromeのアイコンを右クリックした後)。
システム上のすべてのユーザーの構成を変更することが目的でない限り、google-chrome.desktop
の独自のカスタマイズバージョンを作成することをお勧めします。
$ cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/
次に、Exec
エントリを編集します少なくとも[Desktop Entry]
グループ(他のExec
エントリを整列してChromeは、開始に使用したメニューエントリに関係なく、同じように動作します):
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://proxyURL:proxyPORT" --Host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE proxyURL" %U
コメント の Dominik Matis で説明されているように、--Host-resolver-rules
オプションを追加して、ChromeのDNSプリフェッチャーがプロキシ設定を迂回しないようにすることができます。 Chromiumのドキュメント 。
必要に応じて、proxyURL
およびproxyPORT
を調整します。 --proxy-server
オプションと--Host-resolver-rules
オプションの両方にproxyURL
を設定することを忘れないでください。
プロキシを設定せずにデフォルトの開始アクションを実行する場合はChrome=プロキシを設定せずに、メインの[Desktop Entry]
のExec
エントリを変更せずに action 代わりに。
[Desktop Entry]
グループのActions
キーに追加します。[Desktop Entry]
...
Actions=new-window;new-private-window;new-proxied-window;
...
[Desktop Action new-proxied-window]
Name=New Proxied Window
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://proxyURL:proxyPORT" --Host-resolver-rules="MAP * ~NOTFOUND , EXCLUDE proxyURL" %U
「新しいプロキシウィンドウ」は、Chromeのアイコンを右クリックするとオプションとして表示されます(ログアウト/ログインが必要な場合があります)。 --user-data-dir
オプション で開始しない限り、Chromeの同時実行インスタンスはすべて、最初に開いたものと同じプロキシ設定を共有します。 。
猫/usr/share/applications/google-chrome.desktop
[Desktop Entry]
Name=Google Chrome
Icon=/usr/share/icons/hicolor/16x16/apps/google-chrome.png
Terminal=false
Type=Application
Categories=Network;WebBrowser;
Exec=/usr/bin/google-chrome-stable --proxy-server="socks5://127.0.0.1:1080" 2> /dev/null 1>&2 &