{"id":13645774,"url":"https://github.com/cad/ovpm","last_synced_at":"2026-01-17T08:53:49.821Z","repository":{"id":45324023,"uuid":"96749780","full_name":"cad/ovpm","owner":"cad","description":"OpenVPN Management Server - Effortless and free OpenVPN server administration tool","archived":false,"fork":false,"pushed_at":"2024-05-01T19:40:58.000Z","size":306101,"stargazers_count":365,"open_issues_count":19,"forks_count":76,"subscribers_count":28,"default_branch":"master","last_synced_at":"2024-11-09T19:39:27.901Z","etag":null,"topics":["cli","golang","golang-application","grpc","grpc-gateway","iptables","network","openvpn","openvpn-client","openvpn-server","rest-api","route","vpn","vpn-server"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cad.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-07-10T07:41:23.000Z","updated_at":"2024-10-21T09:18:39.000Z","dependencies_parsed_at":"2022-09-15T20:50:57.353Z","dependency_job_id":"7b7c36fb-5206-48c3-8523-a70f3740fdd1","html_url":"https://github.com/cad/ovpm","commit_stats":null,"previous_names":[],"tags_count":32,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cad%2Fovpm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cad%2Fovpm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cad%2Fovpm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cad%2Fovpm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cad","download_url":"https://codeload.github.com/cad/ovpm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250100381,"owners_count":21374930,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","golang","golang-application","grpc","grpc-gateway","iptables","network","openvpn","openvpn-client","openvpn-server","rest-api","route","vpn","vpn-server"],"created_at":"2024-08-02T01:02:41.509Z","updated_at":"2026-01-17T08:53:49.807Z","avatar_url":"https://github.com/cad.png","language":"Go","readme":"# OVPM - OpenVPN Management Server\n\n![Build Status](https://github.com/cad/ovpm/workflows/Go/badge.svg)\n[![GitHub version](https://badge.fury.io/gh/cad%2Fovpm.svg)](https://badge.fury.io/gh/cad%2Fovpm)\n[![codecov](https://codecov.io/gh/cad/ovpm/branch/master/graph/badge.svg)](https://codecov.io/gh/cad/ovpm)\n[![GoDoc](https://godoc.org/github.com/cad/ovpm?status.svg)](https://godoc.org/github.com/cad/ovpm)\n\n*OVPM* allows you to administrate an **OpenVPN** server on linux easily via command line and web interface. \n\nWith OVPM you can create and run an OpenVPN server, add/remove VPN users, generate client .ovpn files for your users etc. \n\n*This software is not stable yet. We recommend against using it for anything serious until, version 1.0 is released.*\n\n**NOTICE: Version 0.2.8 comes with `comp-lzo` option disabled by default as it is deprecated by OpenVPN.**\n\n**Roadmap**\n\n- [x] OpenVPN management functionality\n- [x] User management functionality\n- [x] Network management functionality\n- [x] Command Line Interface (CLI)\n- [x] API (REST and gRPC)\n- [x] Web User Interface (WebUI)\n- [ ] Import/Export/Backup OVPM config\n- [ ] Effortless client profile (.ovpn file) delivery over Web\n- [ ] Monitoring and Quota functionality\n\n**Demo**\nHere is a little demo of what it looks on terminal to init the server, create a vpn user and generate **.ovpn** file for the created user.\n\n[![asciicast](https://asciinema.org/a/136016.png)](https://asciinema.org/a/136016)\n\n \n## Installation\n**from RPM (CentOS/Fedora):**\n\n```bash\n# Add YUM Repo\n$ sudo yum install yum-utils -y\n$ sudo yum install epel-release -y\n$ sudo yum-config-manager --add-repo https://cad.github.io/ovpm/rpm/ovpm.repo\n\n# Install OVPM\n$ sudo yum install ovpm\n\n# Enable and start ovpmd service\n$ systemctl start ovpmd\n$ systemctl enable ovpmd\n```\n\n**from DEB (Ubuntu/Debian):**\n\nThis is tested only on Ubuntu \u003e=16.04.3 LTS\n\n```bash\n# Add APT Repo\n$ sudo sh -c 'echo \"deb [trusted=yes] https://cad.github.io/ovpm/deb/ ovpm main\" \u003e\u003e /etc/apt/sources.list'\n$ sudo apt update\n\n# Install OVPM\n$ sudo apt install ovpm\n\n# Enable and start ovpmd service\n$ systemctl start ovpmd\n$ systemctl enable ovpmd  \n```\n\n**from Source (go get):**\n\nOnly dependency for ovpm is **OpenVPN\u003e=2.3.3**.\n\n```bash\n$ go get -u github.com/cad/ovpm/...\n\n# Make sure user nobody and group nogroup is available\n# on the system\n$ sudo useradd nobody\n$ sudo groupadd nogroup\n\n# Start ovpmd on a seperate terminal\n$ sudo ovpmd\n```\n\nNow ovpmd should be running.\n\n## Quickstart\nCreate a vpn user and export vpn profile for the created user.\n\n```bash\n# We should init the server after fresh install\n$ ovpm vpn init --hostname \u003cvpn.example.com\u003e\nINFO[0004] ovpm server initialized\n\n# Now, lets create a new vpn user\n$ ovpm user create -u joe -p verySecretPassword\nINFO[0000] user created: joe\n\n# Finally export the vpn profile for, the created user, joe\n$ ovpm user genconfig -u joe\nINFO[0000] exported to joe.ovpn\n```\n\nOpenVPN profile for user joe is exported to joe.ovpn file.\nYou can simply use this file with OpenVPN to connect to the vpn server from \nanother computer.\n\n\n# Next Steps\n\n* [User Management](https://github.com/cad/ovpm/wiki/User-Management)\n* [Network Management](https://github.com/cad/ovpm/wiki/Network-Management)\n* [Web Interface](https://github.com/cad/ovpm/wiki/Web-Interface)\n\n# Troubleshooting\n\n## Q: My clients cannot connect to VPN after updating OVPM to v0.2.8\n\nSince `comp-lzo` is disabled by default in OVPM v0.2.8, existing clients' .ovpn profiles became invalid.\n\nIn order to solve this you have the options below:\n\n* Generate new .ovpn profile for existing clients\n* Or manually remove `comp-lzo` line from clients .ovpn profiles yourself.\n* Or you can upgrade to v0.2.9 and enable lzo option back by invoking the following command.\n```bash\n$ ovpm vpn update --enable-use-lzo\n``` \nBut please note that this is not recommended as lzo option is [deprecated](https://community.openvpn.net/openvpn/wiki/DeprecatedOptions?__cf_chl_jschl_tk__=0468cbb180cdf21ca5119b591d260538cf788d30-1595873970-0-AY1Yn79gf57uYv2hrAKPwvzk-xuDvhY79eHrxJqWw1hpbapF-XgOJSsglI70HxmV78LDzJSz7m_A7eDhvzo_hCM-tx4UB7PfccKTtoHATGrOBqq4mHDhggN_EwJ7yee3fIzLgc9kvhL9pOCiISlE3NpbC0SOX21tYwFs1njdpOVGG4dHLMyudNKRGexapsQxiD2i23r30i_dzqS12QobGvPe96CuWS84ARjIRAUlutT6t5SxkccyOBunduDnbgYoB7RN8x7ab8y8Paim9ypizKiEHbxwP0Z2Y3lXByKdzHUUZSJzjzolHyRyQx-nSBuZQQ#Option:--comp-lzo) in OpenVPN.","funding_links":[],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcad%2Fovpm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcad%2Fovpm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcad%2Fovpm/lists"}