在 Python 脚本中使用 OpenVPN

通常是否可以仅在 Python 脚本范围内使用 OpenVPN 连接?


例如有这样的东西


import some_ovpn_library as sol


with sol.connection(config=config):

  # OpenVPN connection is only active for this part of the script and not for anything else that is running in parallel on the same server

  do_something


谢谢!


HUH函数
浏览 455回答 3
3回答

呼如林

您可以尝试将 openVPN 连接作为进程并在脚本末尾将其终止,如下所示:cmd = 'start /b cmd /c "C:\Program Files\OpenVPN\bin\openvpn-gui.exe" --connect config.ovpn'args = shlex.split(cmd)x = subprocess.Popen(args, shell=True).........try:    x.kill()except:    pass使示例适应您的操作系统很容易。

潇湘沐

不。网络功能在内核中,并且对所有进程都以相同的方式工作。在 Linux 中,您可能会使用 iptables 做一些技巧(例如,根据进程 ID 标记数据包,使用不同的路由表等),但这并不是一个真正的好方法。如果您需要这样的隔离,请考虑在单独的虚拟机中运行 Python 程序。不过,您可以从 Python 控制 openvpn - 运行它、启动它或停止它。

有只小跳蛙

如果您使用 OpenVPN 作为代理,这是可能的import requestsproxies = { 'http': 'http://your.proxy.addres:port',}r = requests.get('http://somesite.com', proxies=proxies)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python