48 lines
997 B
Nix
48 lines
997 B
Nix
{
|
|
pkgs,
|
|
secrets,
|
|
...
|
|
}: let
|
|
inherit (secrets) 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.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
|
|
'';
|
|
}
|