{"id":19865871,"url":"https://github.com/cunicu/go-rosenpass","last_synced_at":"2025-04-30T12:36:43.484Z","repository":{"id":167449353,"uuid":"643003667","full_name":"cunicu/go-rosenpass","owner":"cunicu","description":"A port of Rosenpass post-quantum key-exchange protocol to Go.","archived":false,"fork":false,"pushed_at":"2024-04-29T08:00:29.000Z","size":228,"stargazers_count":15,"open_issues_count":14,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-02T06:17:22.184Z","etag":null,"topics":["cryptography","go","golang","post-quantum","rosenpass","vpn","wireguard"],"latest_commit_sha":null,"homepage":"","language":"Go","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/cunicu.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":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-19T21:09:32.000Z","updated_at":"2024-05-06T03:24:34.170Z","dependencies_parsed_at":"2023-08-13T18:42:32.982Z","dependency_job_id":"ba02b8b2-5806-4399-ae89-7d1cf5e35836","html_url":"https://github.com/cunicu/go-rosenpass","commit_stats":null,"previous_names":["stv0g/go-rosenpass","cunicu/go-rosenpass"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cunicu%2Fgo-rosenpass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cunicu%2Fgo-rosenpass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cunicu%2Fgo-rosenpass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cunicu%2Fgo-rosenpass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cunicu","download_url":"https://codeload.github.com/cunicu/go-rosenpass/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":237897686,"owners_count":19383727,"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","go","golang","post-quantum","rosenpass","vpn","wireguard"],"created_at":"2024-11-12T15:24:24.785Z","updated_at":"2025-02-09T02:35:27.825Z","avatar_url":"https://github.com/cunicu.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# go-rosenpass\n\n\u003c!-- [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/cunicu/go-rosenpass/test.yaml?style=flat-square)](https://github.com/cunicu/go-rosenpass/actions) --\u003e\n[![Codecov branch](https://img.shields.io/codecov/c/github/cunicu/go-rosenpass/main?style=flat-square\u0026token=xUGG2iEsuQ)](https://app.codecov.io/gh/cunicu/go-rosenpass/tree/main)\n[![goreportcard](https://goreportcard.com/badge/github.com/cunicu/go-rosenpass?style=flat-square)](https://goreportcard.com/report/github.com/cunicu/go-rosenpass)\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue?style=flat-square)](https://github.com/cunicu/go-rosenpass/blob/main/LICENSES/Apache-2.0.txt)\n![GitHub go.mod Go version](https://img.shields.io/github/go-mod/go-version/cunicu/go-rosenpass?style=flat-square)\n[![Go Reference](https://pkg.go.dev/badge/github.com/cunicu/go-rosenpass.svg)](https://pkg.go.dev/github.com/cunicu/go-rosenpass)\n\n🚧 go-rosenpass has not been audited. Please use with care!\n\ngo-rosenpass is a port of [Rosenpass](https://github.com/rosenpass/rosenpass) to [Go](https://go.dev/).\n\nThe implementation aims to be compatible with the reference implementation in Rust for the:\n- on-wire protocol\n- handshake parameters\n- command-line interface\n\n## Installation\n\n### Binary releases\n\n_go-rosenpass_ distributes builds via [GitHub Releases](https://github.com/cunicu/go-rosenpass/releases).\nYou can download a pre-built binary from there.\n\n### From source\n\n```bash\ngo install cunicu.li/go-rosenpass/cmd@latest\n```\n\n## Example Setup\n\n```bash\n# Generate our own WireGuard key pair\nWG_PRIVATE_KEY=$(wg genkey)\nWG_PUBLIC_KEY=$(wg pubkey \u003c\u003c\u003c ${WG_PRIVATE_KEY})\n\n# Generate our own Rosenpass key pair\ngo-rosenpass gen-keys-intf wg0\n\n# Show our details\necho \"Your hostname: $(hostname)\"\necho \"Your WireGuard public key: ${WG_PUBLIC_KEY}\"\n\n# Query the peer details\nread -p \"Enter your peers hostname: \" PEER\nread -p \"Enter your peers WireGuard public key: \" WG_PUBLIC_KEY_PEER\n\n# Exchange Rosenpass public key\nscp /etc/wireguard/wg0/pqpk root@${PEER}:/etc/wireguard/wg0/${WG_PUBLIC_KEY//\\//}.pqpk\n\n# Generate wg-quick configuration\ncat \u003c\u003cEOF \u003e\u003e /etc/wireguard/wg0.conf\n[Interface]\nPrivateKey = ${WG_PRIVATE_KEY}\nListenPort = 51820\n\nPostUp = go-rosenpass exchange-intf %i \u0026 echo $! \u003e /run/go-rosenpass.%i.pid\nPreDown = pkill -F /run/go-rosenpass.%i.pid || true\n\n[Peer]\nPublicKey = ${WG_PUBLIC_KEY_PEER}\nEndpoint = ${PEER}:51820\nEOF\n\n# Bring connection up\nwg-quick up wg0\n```\n\n## References\n\n- \u003chttps://github.com/rosenpass/rosenpass\u003e\n- \u003chttps://rosenpass.eu/\u003e\n- \u003chttps://media.ccc.de/v/eh20-4-rosenpass-ein-vpn-zum-schutz-vor-quantencomputern\u003e\n\n## Contact\n\nPlease have a look at the contact page: [cunicu.li/docs/contact](https://cunicu.li/docs/contact).\n\n## License\n\ngo-rosenpass is licensed under the [Apache 2.0](./LICENSE) license.\n\n- SPDX-FileCopyrightText: 2023 Steffen Vogel \u003cpost@steffenvogel.de\u003e\n- SPDX-License-Identifier: Apache-2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcunicu%2Fgo-rosenpass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcunicu%2Fgo-rosenpass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcunicu%2Fgo-rosenpass/lists"}