# vpn-backend **Repository Path**: hellouise/vpn-backend ## Basic Information - **Project Name**: vpn-backend - **Description**: openvpn是一个可以用于网络代理的开源组件,本项目通过在云服务上自动化部署openvpn服务来实现局域网联机 编译后可以在linux系统上直接运行的基于go语言的后端服务,通过请求接口可以完成自动化部署openvpn服务 同时支持对openvpn的参数进行修改以及状态管理等,达到轻松运维的目的。 任何人可以查看代码以及提供修改建议,客户端运维工具还在开发中...尽情期待 - **Primary Language**: Go - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-01-24 - **Last Updated**: 2025-10-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 基于openvpn的服务端自动化部署工具 #### 介绍 openvpn是一个可以用于网络代理的开源组件,本项目通过在云服务上自动化部署openvpn服务来实现局域网联机 编译后可以在linux系统上直接运行的基于go语言的后端服务,通过请求接口可以完成自动化部署openvpn服务 同时支持对openvpn的参数进行修改以及状态管理等,达到轻松运维的目的。 任何人可以查看代码以及提供修改建议,客户端运维工具还在开发中...尽情期待 #### 软件架构 软件架构说明 #### 安装教程 ``` 复制build目录下的vpn-backend到服务器任意目录 ``` #### 使用说明(目前仅支持centos7.9版本,root用户) ##### 一. 开启API服务 ``` chmod +x vpn-backend nohup ./vpn-backend & ``` ##### 二. 调用API接口开启vpn服务 ``` 请提前开启89(api请求端口),1194(vpn服务UDP[入站与出站]端口) (根据实际请求IP替换127.0.0.1) 1. 验证远程api服务启动 curl 127.0.0.1:89/index 出现 Welcome to vpn-backend! 即为正常 2. 登录管理员用户获取jwt_token curl 127.0.0.1:89/user/login -i -X POST -H "Content-Type: application/json" -d "{\"name\":\"admin\", \"password\":\"123456\"}" 3. 安装远程openvpN服务 参数password为证书加密密码,默认123456, 替换jwt_token为第二步获取的Token信息 jwt_token=xxxxxxx curl 127.0.0.1:89/openvpn/reset -X POST -H "Content-Type: application/json" -H "Authorization: Bearer $jwt_token" -d "{\"open_vpn_sub_net\": \"10.8.0.0\",\"open_vpn_mask\": \"255.255.255.0\", \"client_conn_enable\": true, \"password\": \"123456\"}" 耐心等待1~5分钟 正常提示 {"code":200,"data":{},"msg":"openvpn服务安装成功!"} ``` ##### 三. 客户端配置 ``` 1.本地安装openvpn客户端,安装到默认路径(可以自行搜索openvpn的官网进行下载,或者https://obs.cstcloud.cn/s/cstcloud/OpenVPN-2.6.12-I001-amd64.msi) 2.替换客户端路径下[C:\Program Files\OpenVPN\config]配置文件为服务器刚生成的配置文件[从此路径下载证书/vpn-backend/client.zip] 以及修改client.ovpn文件,按如下内容替换,修改127.0.0.1为服务器IP ``` ``` client dev tun proto udp remote-cert-tls server remote 127.0.0.1 1194 #此处更改127.0.0.1为服务器IP resolv-retry infinite nobind ca ca.crt cert client.crt key client.key verb 3 persist-key cipher AES-256-GCM # 使用AES-256进行加密 data-ciphers AES-256-GCM:AES-128-GCM # AES-128作为次选 ``` ``` 3.客户端以管理员身份启动并对后台进程右键连接或者重新连接 至此vpn-backend的使用到此结束. 客户端运维工具请期待vpn-application项目的完善 ``` #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)