Package Exports
- the-wireguard-effect
- the-wireguard-effect/InternetSchemas
- the-wireguard-effect/WireguardConfig
- the-wireguard-effect/WireguardErrors
- the-wireguard-effect/WireguardInterface
- the-wireguard-effect/WireguardKey
- the-wireguard-effect/WireguardPeer
- the-wireguard-effect/package.json
Readme
the-wireguard-effect
Cross platform userspace wireguard api client for nodejs built on wireguard-go with effect-ts. The Wireguard cross platform docs are a good place to look if you don't know what I am talking about.
Motivation/ideation 💡
The motivation for this project came from wanting to communicate between two Github Actions runners on the same workflow. I needed to send network requests
Goals ✅
-
- don't need to have wireguard installed
-
- cross platform (supports linux amd64, linux arm64, mac amd64, mac arm64, windows amd64, and windows arm64, freebsd amd64, freebsd arm64, openbsd amd64, and openbsd arm64)
-
- userspace (at least my code, the node.js part, operates entirely in userspace. When wireguard-go needs admin permissions you will be prompted)
-
- Github actions to allow two runners in the same workflow to communicate
Non-Goals 🗑️
- Performance. I know I should be using the wireguard kernel module when on a linux host, but for simplicity this uses wireguard-go on all platforms.
Compatibility 🔐
As of writing, there is only one version of the wireguard api. If this changes in the future, I will update the package to add compatibility for the newer version.
Contributing and getting help 💬 🍻
Contributions, suggestions, and questions are welcome! I'll review prs and respond to issues/discussion here on GitHub but if you want more synchronous communication you can find me in the effect discord as @leonitous