在系统启动时启动代理

在系统启动时启动代理

所以我安装了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>

相关内容