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客户端授权访问

  1. 安装依赖

    # Centos
    sudo yum -y install basez
    
    # Ubuntu/Debian
    sudo apt -y install basez
  2. 创建保存秘钥的目录,并切换到该目录

    mkdir -p /var/lib/tor/onion-auth && cd /var/lib/tor/onion-auth
  3. 生成X25519密钥(私钥)

    openssl genpkey -algorithm X25519 -outform PEM -out private_key.pem
  4. 读取私钥并格式化为Base32编码保存

    cat private_key.pem | grep -v "PRIVATE KEY" \
    |base64pem -d |tail --bytes=32 | base32 \
    | sed 's/=//g' > private.key
  5. 生成公钥并格式化为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
  6. 创建elden.auth文件,用于身份认证

    格式为:descriptor:x25519:{publicKey}
    echo -n > elden.auth && echo -n "descriptor:x25519:" >> elden.auth && \
    cat public.key |tr -d '\n' >> elden.auth
  7. 创建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
  8. 将认证文件拷贝到授权客户端目录

    # {hidden_service} 替换为自己服务的目录
    cp elden.auth /var/lib/tor/{hidden_service}/authorized_clients
如果觉得我的文章对你有用,请随意赞赏