{"id":16769522,"url":"https://github.com/cmur2/openvpn-status-web","last_synced_at":"2025-03-17T02:31:27.776Z","repository":{"id":7123948,"uuid":"8418831","full_name":"cmur2/openvpn-status-web","owner":"cmur2","description":"Small Rack (Ruby) application serving OpenVPN status file","archived":false,"fork":false,"pushed_at":"2025-03-03T09:07:23.000Z","size":124,"stargazers_count":13,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-16T07:31:33.684Z","etag":null,"topics":["monitoring","openvpn","openvpn-status","ruby","status","vpn"],"latest_commit_sha":null,"homepage":"https://mycroba.se/mirror-redirect/openvpn-status-web","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cmur2.png","metadata":{"files":{"readme":"README.md","changelog":null,"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":"2013-02-25T21:37:57.000Z","updated_at":"2025-03-03T09:07:27.000Z","dependencies_parsed_at":"2023-09-28T12:12:43.506Z","dependency_job_id":"b06ceb1a-95b1-43ff-8d4d-9a795b9aa950","html_url":"https://github.com/cmur2/openvpn-status-web","commit_stats":{"total_commits":180,"total_committers":4,"mean_commits":45.0,"dds":0.5166666666666666,"last_synced_commit":"184e0c2a9b1187b131bed47937c256038379d1ba"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmur2%2Fopenvpn-status-web","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmur2%2Fopenvpn-status-web/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmur2%2Fopenvpn-status-web/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cmur2%2Fopenvpn-status-web/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cmur2","download_url":"https://codeload.github.com/cmur2/openvpn-status-web/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243961764,"owners_count":20375310,"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":["monitoring","openvpn","openvpn-status","ruby","status","vpn"],"created_at":"2024-10-13T06:14:18.969Z","updated_at":"2025-03-17T02:31:27.245Z","avatar_url":"https://github.com/cmur2.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# openvpn-status-web\n\n![ci](https://github.com/cmur2/openvpn-status-web/workflows/ci/badge.svg)\n\n## Description\n\nSmall (another word for naive in this case, it's simple and serves my needs) [Rack](http://rack.github.com/) application providing the information an [OpenVPN](http://openvpn.net/index.php/open-source.html) server collects in it's status file especially including a list of currently connected clients (common name, remote address, traffic, ...).\n\nIt lacks:\n\n* caching (parses file on each request, page does auto-refresh every minute as OpenVPN updates the status file these often by default)\n* management interface support\n* *possibly more...*\n\n## Usage\n\nInstall the gem:\n\n\tgem install openvpn-status-web\n\nCreate a configuration file in YAML format somewhere:\n\n```yaml\n# listen address and port\nhost: \"0.0.0.0\"\nport: \"8080\"\n# optional: drop priviliges in case you want to but you should give this user at least read access on the log files\nuser: \"nobody\"\ngroup: \"nogroup\"\n# logfile is optional, logs to STDOUT else\nlogfile: \"openvpn-status-web.log\"\n# hash with each VPNs display name for humans as key and further config as value\nvpns:\n  My Small VPN:\n    # the status file path and status file format version are required\n    version: 1\n    status_file: \"/var/log/openvpn-status.log\"\n  My Other VPN:\n    version: 3\n    status_file: \"/var/log/other-openvpn-status.log\"\n```\n\nYour OpenVPN configuration should contain something like this:\n\n```\n# ...snip...\nstatus /var/log/openvpn-status.log\nstatus-version 1\n# ...snip...\n```\n\nFor more information about OpenVPN status file and version, see their [man page](https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage). openvpn-status-web is able to parse all versions from 1 to 3.\n\n## Advanced topics\n\n### Authentication\n\nIf the information exposed is important to you serve it via the VPN or use a webserver as a proxy to handle SSL and/or HTTP authentication.\n\n### Startup\n\nThere is a [Dockerfile](docs/Dockerfile) that can be used to build a Docker image for running openvpn-status-web.\n\nThis can for example be used with `docker-compose` via:\n\n```yaml\nversion: \"2.4\"\nservices:\n  openvpn-status-web:\n    image: your-selfbuilt-docker-image\n    user: root  # needed since the default status files are chmod 600\n    volumes:\n    - /path/to/host/config.yml:/etc/openvpn-status-web/config.yml:ro\n    - /run/openvpn-server:/run/openvpn-server\n    ports:\n    - \"8080:8080\"\n```\n\nThe `/path/to/host/config.yml` could be:\n\n```yaml\nhost: \"0.0.0.0\"\nport: \"8080\"\nvpns:\n  my-cool-vpn:  # the following depends on your setup\n    version: 2\n    status_file: \"/run/openvpn-server/status-my-cool-vpn.log\"\n```\n\n## License\n\nopenvpn-status-web is licensed under the Apache License, Version 2.0. See LICENSE for more information.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmur2%2Fopenvpn-status-web","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcmur2%2Fopenvpn-status-web","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcmur2%2Fopenvpn-status-web/lists"}