Skip to content
This repository was archived by the owner on Jul 7, 2024. It is now read-only.

mcpt/qrystal

This branch is up to date with nyiyui/qrystal:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9c56c36 · Oct 6, 2023
Oct 6, 2023
Aug 31, 2023
Sep 4, 2023
Dec 30, 2022
Aug 31, 2023
Jul 16, 2023
Oct 3, 2023
Mar 31, 2023
Sep 4, 2023
Oct 2, 2023
Oct 2, 2023
Feb 9, 2023
Jul 13, 2023
Jul 24, 2023
Jan 10, 2023
Feb 7, 2023
Mar 23, 2023
Sep 22, 2022
Jul 16, 2023
Dec 30, 2022
Aug 31, 2023
Oct 16, 2022
Jun 24, 2023
Jan 1, 2023
Mar 31, 2023
Jun 27, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Jul 28, 2023
Sep 2, 2023
Oct 22, 2022
Jan 1, 2023
Sep 2, 2023
Jun 24, 2023
Jul 24, 2023
Sep 2, 2023
Sep 1, 2023
Jul 4, 2023

Repository files navigation

Qrystal

Website/Docs / Github.com

Qrystal /kristl/ sets up several WireGuard tunnels between servers. In addition, it provides centralised configuration management. Nodes and tokens can be dynamically added (and removed, in a future version).

Installation

Make sure to open the appropriate ports (defaults listed below):

  • CS: 39252/tcp for Nodes and 39253 for utilities
  • The WireGuard ports for UDP (from the expected peers)

Most Linux distros

$ git clone https://github.com/nyiyui/qrystal
$ cd qrystal
$ mkdir build && cd build
$ make src=.. -f ../Makefile
# make src=.. -f ../Makefile install

Then, enable/start qrystal-runner.service (Node) and/or qrystal-cs.service (CS) (depending on what you want to run).

NixOS

Flakes are recommended. See flake.nix for options.

Installation from Generic Archive

# make pre_install # if Qrystal services are already running
# make src=. install
# systemctl start qrystal-runner # for Node
# systemctl start qrystal-cs # for CS

TODO

  • node: test node backport (in test.nix)
  • confine qrystal-node and qrystal-cs (using systemd's options)
  • configure existing interfaces without disrupting connections (as much as possible)
  • support multiple hosts
    • e.g. specify VPC network IP address first, and then public IP address
    • heuristics for a successful wg connection?
  • test all fails on host cs but after waiting a few hours, host cs works so I'll have to figure that out...
  • if azusa contains configuration for a network that isn't in config.cs.networks, warn about this (possible misconfiguration)
  • SRV records

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 69.6%
  • Nix 25.6%
  • Shell 2.4%
  • Makefile 1.8%
  • Python 0.6%