使用 python 脚本启动 vpn

Cha*_*yen 6 vpn python-3.x

我需要能够在 python 脚本中打开我的 vpn,然后终止它。手动完成很容易(见下面链接中的图片),但我不知道如何编码。我听说过 subprocess.Popen 但不确定我是否在正确的轨道上。

手动打开我的 vpn

我使用的是 Ubuntu 16.04,我的 VPN 是 TrustZone。

感谢您的帮助。

查尔斯

sal*_*ili 7

我一直在研究类似的东西,它在 Debian 和 Ubuntu 上与 python 一起工作得很好,它依赖于 openvpn 所以请确保在你的机器上安装 openvpn 使用:

Sudo apt-get update
Sudo apt-get install openvpn
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用这段简短的 python 代码(vpn.py)来运行 vpn,确保使用 sudo,并在运行之前对文件使用 chmod 777。在您使用 trustzone 的情况下,请确保生成扩展名为 .ovpn 的配置文件

https://trust.zone/setup/ubuntu/ovpn/za

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import requests, os, sys, subprocess, time
    path = '/home/user/Download/trustedzone.ovpn'
    with open("/home/user/Download/trustedzone.ovpn", "a") as myfile:
        myfile.write('\nscript-security 2\nup /etc/openvpn/update-resolv-conf\ndown /etc/openvpn/update-resolv-conf')
        myfile.close()
x = subprocess.Popen(['sudo', 'openvpn', '--auth-nocache', '--config', path])
    try:
        while True:
            time.sleep(600)
    # termination with Ctrl+C
    except:
        try:
            x.kill()
        except:
            pass
        while x.poll() != 0:
            time.sleep(1)
Run Code Online (Sandbox Code Playgroud)

将脚本放置在要运行它的位置,然后使用命令

Sudo chmod 777 vpn.py
Run Code Online (Sandbox Code Playgroud)

启动 vpn 客户端 运行

Sudo ./vpn.py
Run Code Online (Sandbox Code Playgroud)

希望它对您有用,祝您旅途愉快。