🧦

SOCKSサーバーDante

2024/06/04に公開

DanteはフリーのSOCKSサーバーです

server

debian12だとこんな感じ

インストール

apt install dante-server

起動設定

systemctl edit --full danted.service 

サービス定義はこんな感じで

[Unit]
Description=SOCKS (v4 and v5) proxy daemon (danted)
Documentation=man:danted(8) man:danted.conf(5)
After=basic.target

[Service]
Type=simple
ExecStart=/usr/sbin/danted
Restart=always
RestartSec=30
User=root
Group=root

[Install]
WantedBy=multi-user.target

/etc/danted.conf はこんな感じ
0/0 はIPv4, IPv6両方の意味

logoutput: stderr
internal: ens10 port = 1080
external: ens10
socksmethod: none
user.privileged: proxy
user.unprivileged: nobody
user.libwrap: nobody
client pass {
        from: 0/0 to: 0/0
}
socks pass {
        from: 0/0 to: 0/0
}

client

インストール

apt install dante-client

以下のようにコマンドの前に socksifyをつけることで、通信がSOCKSプロキシ経由になります

socksify 実行したいコマンド

使用する SOCKSサーバーは SOCKS5_SERVER という環境変数で指定できます
(IPv6のサポートは1.5で対応するみたいです)

例えばこんな感じにリクエストするとSOCKSサーバー経由のリクエストになり、SOCKSサーバーのIPが表示されます

export SOCKS5_SERVER=hoge.example.net:1080
socksify curl https://ipv6test.app/

curlの場合は最初からsocksに対応しているので、-xオプションでもOKですが・・・

curl -x socks5://hoge.example.net:1080 https://ipv6test.app/

参考

SOCKS5透過プロキシを作るにはこんなのもあるみたいです
https://github.com/heiher/hev-socks5-tproxy

Discussion