Bore#
Bore is a lightweight wrapper around frp which provides a dashboard and a nice gum based cli. It supports HTTP, TCP, and UDP tunneling. If you would like to run this in your own nix flake then simplify vendor this folder and ./modules/home/bore and import the folders into the appropriate home manager and nixos configurations.
Client Configuration#
atelier = {
bore = {
enable = true;
authTokenFile = osConfig.age.secrets.bore.path
};
}
and be sure to have a definition for your agenix secret in the osConfig as well:
age = {
identityPaths = [
"path/to/ssh/key"
];
secrets = {
bore = {
file = ./path/to/bore.age;
owner = "username";
};
};
}
Server Configuration#
For TCP and UDP tunneling support, configure the server with allowed port ranges:
atelier.services.frps = {
enable = true;
domain = "bore.dunkirk.sh";
authTokenFile = config.age.secrets.bore.path;
allowedTCPPorts = [ 20000 20001 20002 20003 20004 ];
allowedUDPPorts = [ 20000 20001 20002 20003 20004 ];
};
The secret file is just a oneline file with the key in it. If you do end up deploying this feel free to email me and let me know! I would love to hear about your setup!