Youtube视频
相关链接
安装
# centos
sudo yum -y install tor
# debian/ubuntu
sudo apt -y install tor
基本配置
配置文件默认路径 /etc/tor/torrc
tor服务默认监听9050端口
# 隐匿服务的根目录,用户存放hostname以及密钥等文件
HiddenServiceDir /var/lib/tor/hidden_service/
# 隐匿服务端口映射,前面的80是tor服务的访问端口,后面的是隐匿服务的本地服务地址和端口
HiddenServicePort 80 127.0.0.1:80
# 多个服务
HiddenServiceDir /var/lib/tor/ssh/
HiddenServicePort 22 127.0.0.1:22
# tor服务监听的端口,可指定ip:port提供给其他设备连接
SocksPort 9050
# 配置前置socks5代理
Socks5Proxy 127.0.0.1:1080
# 数据目录,存放keys
DataDirectory /var/lib/tor
# 日志,建议notice
Log notice file /var/log/tor/debug.log
# 用于与Tor控制端口进行通信的端口。允许远程管理Tor配置和运行。
ControlPort 9051
管理
不同系统服务名可能不一样,可以尝试tor.service、tor@default.service等
启动
systemctl start tor.service
停止
systemctl stop tor.service
自启动
systemctl enabled tor.service
重启
systemctl restart tor.service
指定Tor出口节点地区
# 指定地区 多选用“,”分隔,例:{tw},{uk},{zw}
ExitNodes {tw}
# 不使用该地区的出口节点
ExcludeExitNodes {cn}
# 设为1则强制使用您指定的地区的节点,若设为0则可能会无视您的设置
StrictNodes 1
torsocks安装
安装tor时候通常会包括torsocks,如果没有可以手动安装
将应用程序的网络连接路由通过 Tor 网络
# Debian/Ubuntu
sudo apt-get -y install torsocks
# Centos/RHEL
sudo yum install torsocks
# macOS
brew install torsocks
torsocks使用
默认配置文件路径/etc/tor/torsocks.conf,默认是连接本地主机的9050端口
- 配置torsocks
TorAddress 192.168.1.100
TorPort 9050
- 使用
torsocks ssh root@xxxx.onion
torsocks curl http://xxx.onion
Hidden Service客户端授权访问
安装依赖
# Centos sudo yum -y install basez # Ubuntu/Debian sudo apt -y install basez
创建保存秘钥的目录,并切换到该目录
mkdir -p /var/lib/tor/onion-auth && cd /var/lib/tor/onion-auth
生成X25519密钥(私钥)
openssl genpkey -algorithm X25519 -outform PEM -out private_key.pem
读取私钥并格式化为Base32编码保存
cat private_key.pem | grep -v "PRIVATE KEY" \ |base64pem -d |tail --bytes=32 | base32 \ | sed 's/=//g' > private.key
生成公钥并格式化为Base32编码保存
openssl pkey -in private_key.pem -pubout -outform PEM \ |grep -v "PUBLIC KEY" |base64pem -d \ | tail --bytes=32 | base32 |sed 's/=//g' > public.key
创建elden.auth文件,用于身份认证
格式为:descriptor:x25519:{publicKey}
echo -n > elden.auth && echo -n "descriptor:x25519:" >> elden.auth && \ cat public.key |tr -d '\n' >> elden.auth
创建elden.auth_private文件(可选)
格式为:{hostname去除.onion}:descriptor:x25519:{privateKey}
# # {hidden_service} 替换为自己服务的目录 echo -n > elden.auth_private && cat /var/lib/tor/{hidden_service}/hostname \ | cut -b -56 | tr '\n' ':' >> elden.auth_private && \ echo -n "descriptor:x25519:" >> elden.auth_private && \ cat private.key | tr -d '\n' >> elden.auth_private
将认证文件拷贝到授权客户端目录
# {hidden_service} 替换为自己服务的目录 cp elden.auth /var/lib/tor/{hidden_service}/authorized_clients