diff --git a/hosts/rico1/services/frpc.nix b/hosts/rico1/services/frpc.nix index f0ef1d6..56877e1 100644 --- a/hosts/rico1/services/frpc.nix +++ b/hosts/rico1/services/frpc.nix @@ -5,44 +5,40 @@ }: let inherit (secrets) frp_config; in { - systemd.services.frpc = { + services.frp = { 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"; + role = "client"; + settings = { + common = { + server_addr = "${frp_config.ip}"; + server_port = 7000; + authentication_method = "token"; + token = "${frp_config.token}"; + }; + + "ssh.rico1" = { + type = "tcp"; + local_port = 22; + remote_port = 6001; + }; + + "http.matrix.adtya.xyz" = { + type = "http"; + custom_domains = "matrix.adtya.xyz"; + local_port = 80; + }; + + "https.matrix.adtya.xyz" = { + type = "https"; + custom_domains = "matrix.adtya.xyz"; + local_port = 443; + }; + + "https.matrix.adtya.xyz.8448" = { + type = "tcp"; + local_port = 8448; + remote_port = 8448; + }; }; }; - environment.etc."frp/frpc.ini".text = '' - [common] - server_addr = "${frp_config.ip}" - server_port = 7000 - authentication_method = token - token = "${frp_config.token}" - - [ssh.rico1] - type = tcp - local_port = 22 - remote_port = 6001 - - [http.matrix.adtya.xyz] - type = http - custom_domains = matrix.adtya.xyz - local_port = 80 - - [https.matrix.adtya.xyz] - type = https - custom_domains = matrix.adtya.xyz - local_port = 443 - - [https.matrix.adtya.xyz.8448] - type = tcp - local_port = 8448 - remote_port = 8448 - ''; } diff --git a/hosts/rico2/services/frpc.nix b/hosts/rico2/services/frpc.nix index 878c327..b4c5aca 100644 --- a/hosts/rico2/services/frpc.nix +++ b/hosts/rico2/services/frpc.nix @@ -5,59 +5,58 @@ }: let inherit (secrets) frp_config; in { - systemd.services.frpc = { + services.frp = { 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"; + role = "client"; + settings = { + "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; + }; }; }; - 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 - ''; }