{"id":16927837,"url":"https://github.com/ptrcnull/wg-ovpn","last_synced_at":"2025-10-29T22:03:45.980Z","repository":{"id":130413850,"uuid":"424732259","full_name":"ptrcnull/wg-ovpn","owner":"ptrcnull","description":"Magic util that \"bridges\" Wireguard with OpenVPN without a TUN/TAP interface","archived":false,"fork":false,"pushed_at":"2021-11-05T03:19:45.000Z","size":42,"stargazers_count":10,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-25T13:45:58.324Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ptrcnull.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2021-11-04T20:32:13.000Z","updated_at":"2024-06-01T11:54:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"46486d9a-fee5-40a8-bb94-a08e34a6cda6","html_url":"https://github.com/ptrcnull/wg-ovpn","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrcnull%2Fwg-ovpn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrcnull%2Fwg-ovpn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrcnull%2Fwg-ovpn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ptrcnull%2Fwg-ovpn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ptrcnull","download_url":"https://codeload.github.com/ptrcnull/wg-ovpn/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248451761,"owners_count":21105934,"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":[],"created_at":"2024-10-13T20:35:15.335Z","updated_at":"2025-10-29T22:03:45.908Z","avatar_url":"https://github.com/ptrcnull.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# wg-ovpn\n\nMagic util that \"bridges\" Wireguard with OpenVPN without a TUN/TAP interface\n\nWarning: really ugly and unstable code!\n\n# Building\n\nObtain latest source of OpenVPN ([link](https://openvpn.net/community-downloads/)),\napply patch `tunsetiff.patch` and place the resulting `openvpn` binary in this project's folder.\n\nThen, run `go build` (requires Go 1.17 or later).\n\n# Usage\n\n`./wg-ovpn \u003c.ovpn file\u003e \u003cwireguard config file\u003e`\n\nPlease note that this util doesn't support wg-quick's `.conf` format,\nrather it uses `wireguard-go`'s internal UAPI config format:\nbasically, you can't put section labels like `[Interface]`,\neverything else works _roughly_ the same (didn't test though)\n\nExample config:\n\n```\nlisten_port=55555\nprivate_key=a8dac1d8a70a751f0f699fb14ba1cff7b79cf4fbd8f09f44c6e6a90d0369604f\npublic_key=28d2b91462b95913ac4fe68259fbabfe4a150314edf04bf4437eaf553d02804c\nallowed_ip=0.0.0.0/0\n```\n\n# TL;DR How does it work?\n\nIt creates a pair of [pseudoterminals](https://man7.org/linux/man-pages/man7/pty.7.html)\nthat serve as a bidirectional pipe, with one end connected to OpenVPN, and the other one to Wireguard.\n\nIt also has a bit of code to replace source/destination IP address to match what OpenVPN expects,\nso Wireguard clients can use virtually any IP address and still connect to the OpenVPN network.\n\n# Limitations\n\n- only 1 Wireguard client is currently supported\n- I have no idea if it works with other OpenVPN setups than what I have\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrcnull%2Fwg-ovpn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fptrcnull%2Fwg-ovpn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fptrcnull%2Fwg-ovpn/lists"}