{"id":23694653,"url":"https://github.com/sovereign-engineering/obscuravpn-api","last_synced_at":"2025-09-02T22:31:12.252Z","repository":{"id":265426476,"uuid":"894675867","full_name":"Sovereign-Engineering/obscuravpn-api","owner":"Sovereign-Engineering","description":null,"archived":false,"fork":false,"pushed_at":"2024-12-12T21:14:53.000Z","size":55,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"v0","last_synced_at":"2024-12-23T03:43:08.000Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://obscura.net","language":"Rust","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Sovereign-Engineering.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2024-11-26T19:28:43.000Z","updated_at":"2024-12-12T21:14:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"b9298a10-6f3f-416e-bb4d-a0ba1cd2a81a","html_url":"https://github.com/Sovereign-Engineering/obscuravpn-api","commit_stats":null,"previous_names":["sovereign-engineering/obscuravpn-api"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sovereign-Engineering%2Fobscuravpn-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sovereign-Engineering%2Fobscuravpn-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sovereign-Engineering%2Fobscuravpn-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Sovereign-Engineering%2Fobscuravpn-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Sovereign-Engineering","download_url":"https://codeload.github.com/Sovereign-Engineering/obscuravpn-api/tar.gz/refs/heads/v0","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231813734,"owners_count":18430511,"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-12-30T04:27:30.742Z","updated_at":"2024-12-30T04:27:31.398Z","avatar_url":"https://github.com/Sovereign-Engineering.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Obscura VPN API Client\n\n## Unstable\n\nThis crate and the API behind it are unstable in a number of ways:\n\n1. The API of this crate may be broken at any time.\n2. This crate may expose experimental interfaces and services which are completely unsupported. There is no indication of which interfaces these are. Both the Rust APIs and the backing APIs and implementations may change at any time with no notice.\n\n## Support\n\nNo support is provided for this code or the API directly. However, if you are experiencing issues with your Obscura VPN service please contact \u003csupport@obscura.net\u003e.\n\n## Contributions\n\nAt this time we are unable to accept external contributions. This is something that we plan to resolve soon. However until we finish the paperwork we are unable to look at any patches and will close all PRs without looking at them.\n\n## Development\n\nTo enter a setup environment run:\n\n```sh\nnix develop\n```\n\nTo run single commands in the environment run:\n\n```sh\nnix develop -c just lint\n```\n\n## Static WireGuard UDP relay tunnel\n\nWarning: This is not an officially supported service.\n\nTo create a UDP relay tunnel and write the matching WireGuard configuration to `wg0.conf`.\n\n```bash\ncargo run --example api_cli -- --account-no $OBS_ACCOUNT_ID create-static-tunnel --wg-conf \u003e wg0.conf\n```\n\nThe resulting configuration file should be compatible with any WireGuard client.\n```bash\nwg-quick up ./wg0.conf\n```\n\n### Tunnel deletion\n\nIdle static tunnels are not removed automatically by clients if no tunnel slots are left.\nYou may use this command to delete all tunnels if you run out of tunnel slots:\n```bash\ncargo run --example api_cli -- --account-no $OBS_ACCOUNT_ID delete-all-tunnels\n```\n\n### Common issues\n\n- The API or your internet stopped working unexpectedly? You probably deleted the tunnel while your WireGuard client was connected.\n- Can't connect to a newly created tunnel? You are probably connected to another tunnel already.\n\nIn any case, the solution is almost always:\n```bash\nwg-quick down ./wg0.conf\n```\n\n## Utilities\n\n### Generating a Valid User ID\n\n```bash\ncargo run --example gen_id\n```\n\nNote that this generates a user id _with_ the checksum (20 characters).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsovereign-engineering%2Fobscuravpn-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsovereign-engineering%2Fobscuravpn-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsovereign-engineering%2Fobscuravpn-api/lists"}