vpnbook.com提供免费的 openVPN 服务。这是他们的文件之一:http://paste.ubuntu.com/7231382/名称为vpnbook-uk1-tcp80.ovpn
。
我想将其转换为 3 个文件,以便在 network-manager-openvpn 中使用:
答案1
我创建了一个脚本这里自动从 VPN 网站获取密码和 zip 文件,例如vpnbook.com,从 ovpn 文件中提取ca
、cert
和key
数据,并更新 opvn 文件,以便证书只需为您导入。
答案2
<ca>
复制和之间的文本</ca>
,将其粘贴到文本编辑器中并另存为。和ca.crt
之间的文本应另存为,和之间的文本应另存为。<cert>
</cert>
client.crt
<key>
</key>
client.key
您必须根据配置文件设置一些高级选项。我无法使用端口 80 连接到服务器,但端口 443 对我来说是可行的。这是我所做的:
答案3
由于所有 ovpn 文件都是简单的纯文本文件,因此您可以根据以下逻辑创建 python 脚本:
(1)读取ovpn文本文件的内容;
(2)使用正则表达式抓取标签之间的相关文本;
def grabBetweenTag(tagName, fileContents):
betweentag = re.findall('<'+tagName+'>.*\n(^.*$.*\n[\S\n]+.*$\n)</'+tagName+'>', fileContents, re.MULTILINE)
return betweentag[0]
grabBetweenTag('ca', fileContents)
grabBetweenTag('cert', fileContents)
grabBetweenTag('key', fileContents)
(3)将该文本复制到新的文本文件中;
(4)标签和要创建的新文本文件之间的映射如下所示:
- '<ca>' 和 '</ca>' 之间的所有文本将用于创建 '**ca.crt';
- '<cert>' 和 '</cert>' 之间的所有文本将用于创建 '**client.crt';
- '<key>' 和 '</key>' 之间的所有文本将用于创建 '**client.key'。
我创建了这个存储库作为该逻辑的一个示例实现,用于抓取所有 ovpn 文件并创建证书