configuration.nix/hosts/rico2/services/frpc.nix

59 lines
1.3 KiB
Nix

{pkgs, ...}: let
frp_config = (import ../../../secrets.nix).frp_config;
in {
systemd.services.frpc = {
enable = true;
description = "FRP Client";
after = ["network.target"];
requires = ["network.target"];
wantedBy = ["multi-user.target"];
serviceConfig = {
Type = "simple";
ExecStart = "${pkgs.frp}/bin/frpc -c /etc/frp/frpc.ini";
Restart = "always";
RestartSec = "5s";
};
};
environment.etc."frp/frpc.ini".text = ''
[common]
server_addr = "${frp_config.ip}"
server_port = 7000
authentication_method = token
token = "${frp_config.token}"
[ssh.rico2]
type = tcp
local_port = 22
remote_port = 6002
[http.adtya.xyz]
type = http
custom_domains = adtya.xyz
local_port = 80
[https.adtya.xyz]
type = https
custom_domains = adtya.xyz
local_port = 443
[http.www.adtya.xyz]
type = http
custom_domains = www.adtya.xyz
local_port = 80
[https.www.adtya.xyz]
type = https
custom_domains = www.adtya.xyz
local_port = 443
[http.proofs.adtya.xyz]
type = http
custom_domains = proofs.adtya.xyz
local_port = 80
[https.proofs.adtya.xyz]
type = https
custom_domains = proofs.adtya.xyz
local_port = 443
'';
}