One systemd Unit File, Many Instances: Template Units (with frp as the Example)

I needed one machine to connect to three different frp servers. Most tutorials solve this by copying frpc.service three times and editing the path in each. Change one parameter and you have to remember to change it in three files — that breaks eventually. systemd has a built-in answer: template units. Write frpc@.service once, then spin up as many instances as you like. This post walks through the full frp setup first, then shows how the same pattern applies to xray, socat, Python scripts, or anything else you need to run several copies of. ...

August 18, 2026 · 4 min · Vinkey

Port Forwarding on Windows, Linux and macOS (with a Command Generator)

Local TCP/UDP port forwarding on all three platforms: Windows has it built in via netsh interface portproxy, while Linux and macOS use socat wrapped in a service so it survives reboots. A comparison table and a troubleshooting checklist are at the end. The parameters are easy to get wrong, so there is a command generator below — fill in the addresses and ports and copy the result. When you need port forwarding The cases I run into most often: ...

August 17, 2026 · 8 min · Vinkey