「HTTP・SOCKS・透過プロキシ・UDP」の版間の差分

Notion-MW
タグ: 手動差し戻し
Notion-MW
78行目: 78行目:
<span id="socksプロキシサーバー"></span>
<span id="socksプロキシサーバー"></span>
== SOCKSプロキシサーバー ==
== SOCKSプロキシサーバー ==
ここにあげたものは特に注記がなければUDPに対応している。


<span id="dante"></span>
<span id="dante"></span>
101行目: 103行目:
[https://github.com/ge9/socks-with-udp-over-ssh https://github.com/ge9/socks-with-udp-over-ssh]
[https://github.com/ge9/socks-with-udp-over-ssh https://github.com/ge9/socks-with-udp-over-ssh]


TCP接続(あるいは任意のバイトストリーム)の上にUDP付きのSOCKS5を通すために自分が実装したツール。サーバー側とクライアント側に分かれている。しかし実装した後にgostで同じことができることに気付いた。
これ自体はSOCKS5サーバーではなく、TCP接続(あるいは任意のバイトストリーム)の上にUDP付きのSOCKS5を通すために自分が実装したツール。サーバー側とクライアント側に分かれている。しかし実装した後にgostで同じことができることに気付いた。


経緯・使い方などは[https://turgenev.hatenablog.com/entry/2024/05/12/231208 root権限のないssh上にUDPを通す方法について(ポートフォワード、SOCKS5プロキシなど) - turgenev’s blog]に書いてある。
経緯・使い方などは[https://turgenev.hatenablog.com/entry/2024/05/12/231208 root権限のないssh上にUDPを通す方法について(ポートフォワード、SOCKS5プロキシなど) - turgenev’s blog]に書いてある。
111行目: 113行目:
[https://github.com/3proxy/3proxy https://github.com/3proxy/3proxy]
[https://github.com/3proxy/3proxy https://github.com/3proxy/3proxy]


ロシア系。エラーメッセージなどがかなり不親切だが、ちゃんと動くソフト。
ロシア系。SOCKS・HTTP・POP3・SMTPなどいくつかのプロキシを含む。エラーメッセージなどがかなり不親切だが、結構多機能で、ちゃんと動くソフト。<code>3proxy</code>というメインの実行ファイルとあわせて、各プロキシに対応した<code>socks</code>や<code>proxy</code>といった検索性の低い名前の実行ファイルがいくつか含まれているちょっと謎の構成。


==== fast&#45;socks5 ====
==== fast&#45;socks5 ====
272行目: 274行目:
<span id="socks関連の話題"></span>
<span id="socks関連の話題"></span>
== SOCKS関連の話題 ==
== SOCKS関連の話題 ==
<span id="socks5によるドメイン解決"></span>
==== SOCKS5によるドメイン解決 ====
SOCKS5(SOCKS4aも?)では、クライアントがCONNECTなどの要求をする際、接続先をIPアドレスではなくホスト名(ドメイン名)で指定することができる仕様になっている。これによりクライアント側ではなくSOCKS5サーバー側でドメイン解決が行われる。
Proxifyreやredsocksを普通に使う場合、TCP/UDPレイヤでのプロキシとなるので、この機能が使われることはない([https://turgenev.hatenablog.com/entry/2025/03/25/171736 squidで透過プロキシ(intercept, tproxy)を動かす - turgenev’s blog])。一方、HTTPのレイヤで動作するWebブラウザでは、この機能が使われる場合がある。2018年時点での[https://github.com/FelisCatus/SwitchyOmega/issues/1379 https://github.com/FelisCatus/SwitchyOmega/issues/1379]によれば、Chromeでは必ずSOCKS5サーバー側でドメイン解決が行われる一方、Firefoxではそうでなかったようである。現在のFirefoxでは「SOCKS v5 を使用するときは DNS もプロキシーを使用する(Proxy DNS when using SOCKS v5)」(v4についても同様のオプションがあるが、SOCKS4aではないSOCKS4でどうなるかは未検証)というオプションがあってデフォルトで有効になっているため、やはり基本的にはSOCKSサーバー側でドメイン解決が行われる。AndroidのFirefox(この設定項目がない)にProxy SwitchyOmegaを入れた場合もそのように動作した。
なお、HTTPプロキシについても、ブラウザで普通に使う分には、(HTTP/HTTPS共に)ドメイン解決は基本的にプロキシサーバー側で行われる。
* 拡張機能などではうまく動作しない場合がある模様。 [https://github.com/FelisCatus/SwitchyOmega/issues/2304 https://github.com/FelisCatus/SwitchyOmega/issues/2304]


<span id="ブラウザのsocks5プロキシのwebrtc対応"></span>
<span id="ブラウザのsocks5プロキシのwebrtc対応"></span>