所以我安装了tor并使用systemctl启用了它,所以tor.service在启动时启动,我可以自动将SOCKS5代理配置为127.0.0.1:9050。
现在,Tor 有一些小烦恼。由于众所周知,某些站点会阻止退出节点。我想出了一个解决方案。我购买了 VPS 并使用 SSH 隧道作为 SOCKS5 代理。如果我使用 torsocks 命令启动隧道,则实际路线如下所示:
me > tor network > VPS > internet
我使用的命令是单行命令:
torsocks sshpass -p password ssh -p 69 -D 9040 user@IP
而且效果很好。它启动了一个终端,只要我保持该终端打开,它就可以工作。
现在我想要的是它在系统启动时启动并在后台运行。我尝试在启动时使用 nohup 但没有成功。它只是没有启动代理。我尝试了 systemctl,我尝试了 gnome 的 .gnomerc,一切。
编辑:
我当前的解决方案:
[me@me ~]$ echo 'torsocks sshpass -p password ssh -p 69 -D 9040 user@IP' > proxy
[me@me ~]$ sudo chmod +x proxy
然后每当我需要它时我就会这样做:
./proxy
答案1
最干净的解决方案是在网络启动后让 systemd 也处理您的代理。看https://wiki.archlinux.org/index.php/Systemd#Writing_unit_files 有关编写自己的服务文件的信息以及https://wiki.archlinux.org/index.php/Systemd/User#How_it_works如果您只想为您的用户提供更多详细信息。我建议用公钥替换您的 sshpass 和密码调用,我希望您的 VPS 支持。
您的用例的一个例子是
[Unit]
Description=Starts torsocks script
[Service]
ExecStart=torsocks sshpass -p password ssh -p 69 -D 9040 user@IP
[Install]
WantedBy=default.target
Requires=<torservice>
After=<torservice>