{"id":13815878,"url":"https://github.com/dantecatalfamo/wireguard-config-manager","last_synced_at":"2025-05-14T11:34:13.095Z","repository":{"id":184869410,"uuid":"672604586","full_name":"dantecatalfamo/wireguard-config-manager","owner":"dantecatalfamo","description":"Command line wireguard configuration manager","archived":false,"fork":false,"pushed_at":"2024-07-19T03:51:48.000Z","size":193,"stargazers_count":27,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-05-06T06:08:35.126Z","etag":null,"topics":["cli","command-line","configuration-management","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Zig","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/dantecatalfamo.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":"2023-07-30T16:40:17.000Z","updated_at":"2025-01-26T13:02:32.000Z","dependencies_parsed_at":"2023-10-11T19:19:04.309Z","dependency_job_id":"17beda01-7aa0-4400-8e28-6f809a932435","html_url":"https://github.com/dantecatalfamo/wireguard-config-manager","commit_stats":null,"previous_names":["dantecatalfamo/wgbank","dantecatalfamo/wireguard-config-manager"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dantecatalfamo%2Fwireguard-config-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dantecatalfamo%2Fwireguard-config-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dantecatalfamo%2Fwireguard-config-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dantecatalfamo%2Fwireguard-config-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dantecatalfamo","download_url":"https://codeload.github.com/dantecatalfamo/wireguard-config-manager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254132000,"owners_count":22020060,"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","command-line","configuration-management","wireguard"],"created_at":"2024-08-04T04:04:21.872Z","updated_at":"2025-05-14T11:34:12.757Z","avatar_url":"https://github.com/dantecatalfamo.png","language":"Zig","funding_links":[],"categories":["Zig"],"sub_categories":[],"readme":"# wireguard-config-manager\nCommand line wireguard configuration manager\n\n## Demo\n\nhttps://asciinema.org/a/uDC4RKB2vfSRN3YJeUjNBwKL5\n\n## Usage\n```\nusage: wgcm \u003ccommand\u003e [args]\ncommands:\n  names                                      List just interface names\n  list                                       List interfaces and some details\n  list      \u003cname\u003e                           Display detailed view of an interface\n  add       \u003cname\u003e \u003cip[/prefix]\u003e             Add a new interface with name and IP/subnet\n  peer      \u003cname1\u003e \u003cname2\u003e                  Peer two interfaces\n  unpeer    \u003cname1\u003e \u003cname2\u003e                  Remove the connection between two interfaces\n  route     \u003cname\u003e \u003crouter_name\u003e             Peer two interfaces, where \u003cname\u003e accepts the entire subnet from \u003crouter_if\u003e\n  allow     \u003cname\u003e \u003cpeer_name\u003e \u003cip[/prefix]\u003e Allow an IP or subnet into \u003cname\u003e from \u003cpeer_name\u003e\n  unallow   \u003cname\u003e \u003cpeer_name\u003e \u003cip[/prefix]\u003e Unallow an IP or subnet into \u003cname\u003e from \u003cpeer_name\u003e\n  remove    \u003cname\u003e                           Remove an interface\n  export    \u003cname\u003e                           Export the configuration for an interface in wg-quick format to stdout\n  openbsd   \u003cname\u003e                           Export the configuration for an interface in OpenBSD hostname.if format to stdout\n  genpsk    \u003cname1\u003e \u003cname2\u003e                  Generate a preshared key between two interfaces\n  setpsk    \u003cname1\u003e \u003cname2\u003e \u003ckey\u003e            Set the preshared key between two interfaces\n  clearpsk  \u003cname1\u003e \u003cname2\u003e                  Remove the preshared key between two interfaces\n  keepalive \u003cname1\u003e \u003cname2\u003e \u003cseconds\u003e        Set the persistent keepalive time between two interfaces\n  set       \u003cname\u003e \u003cfield\u003e  [value]          Set a value for a field on an interface\n  dump      \u003cdirectory\u003e                      Export all configuration files to a directory\n  dump      -                                Dump all interfaces as JSON to stdout\n  bash                                       Print bash completion code to stdout\nfields:\n  name\n  comment\n  privkey\n  hostname\n  address  (ip/prefix)\n  port\n  dns\n  table\n  mtu\n  pre_up\n  post_up\n  pre_down\n  post_down\n```\n\n## JSON Output\n\nTo print JSON output instead of human-readable tables, set the environment variable `WGCM_OUTPUT=json`.\n\nExample:\n```zig\nWGCM_OUTPUT=json wgcm list\n```\n\n## Dependencies\n\n- `sqlite3`\n\n## Building\n\nUsing the latest master build of zig\n- `zig build -Doptimize=ReleaseSafe`\n\n## Completion\n\nTo enable bash tab completion, add the following to your `.bashrc`.\n\n```bash\neval \"$(wgcm bash)\"\n```\n\n## Database location\n\nThe default database is located at `~/.config/wireguard-config-manager/wgcm.db`\n\nYou can customize the location of the database using the `WGCM_DB_PATH` environment variable.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdantecatalfamo%2Fwireguard-config-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdantecatalfamo%2Fwireguard-config-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdantecatalfamo%2Fwireguard-config-manager/lists"}