Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/b-m-f/wired
WireGuard configuration generator written in Rust
https://github.com/b-m-f/wired
generator network network-automation networking vpn wireguard wireguard-vpn-setup
Last synced: about 1 month ago
JSON representation
WireGuard configuration generator written in Rust
- Host: GitHub
- URL: https://github.com/b-m-f/wired
- Owner: b-m-f
- License: bsd-3-clause
- Created: 2023-01-08T15:12:37.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-18T10:49:07.000Z (5 months ago)
- Last Synced: 2024-08-19T10:46:16.097Z (5 months ago)
- Topics: generator, network, network-automation, networking, vpn, wireguard, wireguard-vpn-setup
- Language: Rust
- Homepage:
- Size: 419 KB
- Stars: 15
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-wireguard - b-m-f/wired - WireGuard network configuration generator with support for multiple topologies written in Rust (Projects / User Interface)
README
# Wired
Wired is a [WireGuard™](https://wireguard.com) configuration generator.
It parses TOML file network specifications and generates configurations of different formats.Currently supported:
- wg-quick `.conf`
- nix `.nix`
- QR `.png`For nix there is optional auto-encryption of keys via [pass](https://www.passwordstore.org) and [colmena](https://colmena.cli.rs/). See [Behaviour](./docs/behaviour.md)
## Getting started
- Create minimal [configuration](./docs/configuration.md)
- run wired, pass configuration with `-c`
- Config files will now be in a directory named after the network name
- Backup the generated statefile to recreated the exact same configs in the
future.## Documentation
- Run with `-h` to see CLI options
- [Configuration File](./docs/configuration.md)
- [Statefile](./docs/statefile.md)
- [Behaviour](./docs/behaviour.md)## Development
A `flake.nix` with all dependencies as well as a `.envrc` for [direnv](https://direnv.net) is provided.
The program is tested with [cram tests](https://bitheap.org/cram/). Execute them with `just test`.The code can be improved in places, so feel free to suggest refactorings in order to make extensibility easier going forward.
Just open an issue first if you would like to add new functionality and get it merged.