{"id":22472588,"url":"https://github.com/jcarrano/wg-keygen-notrust","last_synced_at":"2025-07-19T08:34:32.903Z","repository":{"id":65930988,"uuid":"501313377","full_name":"jcarrano/wg-keygen-notrust","owner":"jcarrano","description":"Wireguard Key Generator, web-based, client-side, trustless","archived":false,"fork":false,"pushed_at":"2025-02-03T18:58:04.000Z","size":25,"stargazers_count":12,"open_issues_count":1,"forks_count":5,"subscribers_count":2,"default_branch":"split-files-clean","last_synced_at":"2025-04-08T17:54:05.497Z","etag":null,"topics":["cryptography","ipfs","wireguard","wireguard-vpn","wireguard-vpn-setup"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/jcarrano.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}},"created_at":"2022-06-08T15:41:57.000Z","updated_at":"2025-02-03T18:58:07.000Z","dependencies_parsed_at":"2024-02-20T20:43:24.862Z","dependency_job_id":null,"html_url":"https://github.com/jcarrano/wg-keygen-notrust","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/jcarrano/wg-keygen-notrust","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcarrano%2Fwg-keygen-notrust","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcarrano%2Fwg-keygen-notrust/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcarrano%2Fwg-keygen-notrust/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcarrano%2Fwg-keygen-notrust/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jcarrano","download_url":"https://codeload.github.com/jcarrano/wg-keygen-notrust/tar.gz/refs/heads/split-files-clean","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jcarrano%2Fwg-keygen-notrust/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265905116,"owners_count":23846696,"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":["cryptography","ipfs","wireguard","wireguard-vpn","wireguard-vpn-setup"],"created_at":"2024-12-06T12:16:30.066Z","updated_at":"2025-07-19T08:34:32.893Z","avatar_url":"https://github.com/jcarrano.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Wireguard Key Generator\n\nBrowser-based, offline-capable, client-side, trustless\n\n## Available\n\n### IPFS\n\nThese are content-addressed, so you can trust the content does not change. There\nare two hashes, one with files stored as UnixFS, and another with files stored\nas raw data:\n\n- [bafybeiguzvr2ntejejphl2uktl726qkjqzpvoguifn4ymellaqjdlvghbq](https://explore.ipld.io/#/explore/bafybeiguzvr2ntejejphl2uktl726qkjqzpvoguifn4ymellaqjdlvghbq) (UnixFS)\n\nGateway links:\n\n- https://flk-ipfs.xyz/ipfs/bafybeiguzvr2ntejejphl2uktl726qkjqzpvoguifn4ymellaqjdlvghbq\n- https://ipfs.io/ipfs/bafybeiguzvr2ntejejphl2uktl726qkjqzpvoguifn4ymellaqjdlvghbq\n\n### Web\n\n- https://wg-keygen.carrano.com.ar\n- https://jcarrano.github.io/wg-keygen-notrust/\n\nNote that this link is not content-addressed, so here you should trust me.\n\n## What is this\n\nThis is a website that can generate a Wireguard keypair. The user\nis given two files to download: a wireguard config with his private key (and additional parameters),\nto load into his VPN software, and a \"fragment\", which is a `[Peer]` section that he\nmust send to the server administrator.\n\nAT NO POINT IS ANY EXTERNAL SERVER CONTACTED. KEYS NEVER LEAVE THE USER'S COMPUTER UNTIL\nTHEY EXPLICITLY SEND THE FRAGMENT TO THE SEVER ADMIN.\n\nCompared to other online key generators out there, this one does not require you to\ntrust me (the author) or the person running the webserver.\n\n- You don't have to trust me because the code is small and clear. You can review and\n  audit it from the point where I imported Jason Donenfeld's code through all\n  the additions I made.\n- You do not have to trust the webserver not to tamper with the site because it\n  is hosted on IPFS, which is [content-addressed](https://en.wikipedia.org/wiki/Content-addressable_storage),\n  so if the address/hash is the same, the content is the same.\n\nAlternatively, you could host the site yourself.\n\n## Single-file version\n\nA single-file version with embedded scripts is available under the \"single-file\"\nbranch, however it does not work on IPFS gateways due the content-security\npolicy.\n\n## Some additional background\n\nWhen setting up a Wireguard VPN server you have two choices:\n\n- Generate the private keys yourself and send them to users, in which\n  case the files must be send under a secure (private, authenticated) channel\n  (i.e. NOT email).\n- Users can generate a keypair and send the server admin the public key over\n  an authenticated (but not necessarily private) channel, in which case they\n  need to have the technical know how to use the command line tools and to\n  build a configuration file.\n\nThis website allows users to generate their own keys and configuration files with\nno special knowledge required..\n\n### Instructions\n\nThe VPN admin fills in the form fields and clicks \"save\", which generates a URL\nwith the parameters saved inside the query string. Upon opening this URL the form will\nbe pre-filled.\n\nThe admin sends the URL to users, which generate the keys and send the \"Server\nFragment\" back to the admin. An email address can optionally be specified,\nwhich will enable a \"mailto\" link to directly mail the fragment back to the\nadmin.\n\n## License\n\nThis code is licensed under the GNU GPLv2, since that was the license of the\noriginal JS code. I would like a more permissive license.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcarrano%2Fwg-keygen-notrust","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjcarrano%2Fwg-keygen-notrust","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjcarrano%2Fwg-keygen-notrust/lists"}