Files
frpc-client-win/internal/service/signals_unix.go
T
cnbugs 69801ecc3f Initial commit: frpc-client-win v1.0
Single-file Windows frpc service wrapper.

Features:
- Embeds frpc v0.70.1 (16.7MB) into one 18.9MB EXE
- Registers as Windows Service (auto-start, no login required)
- Auto-detects frpc config by three-tier search:
  1. frpc.ini  2. frpc.toml  3. any *.ini/*.toml in exe dir
- Self-healing supervisor: frpc crashes are restarted with
  exponential backoff (2s..60s), capped to avoid log spam
- Console subsystem so install/start show feedback
- FreeConsole on SCM start to suppress console window
- Logs to <exe-dir>/logs/service.log

Subcommands:
  install  start  stop  remove  import  -d

Smoke test (smoke_linux.go) covers all config detection paths
including the custom-name (e.g. frpc-mike.ini) use case.
2026-08-10 22:11:43 +08:00

15 lines
243 B
Go

//go:build !windows
// +build !windows
package service
import (
"os"
"os/signal"
"syscall"
)
// signalNotify 跨平台注册 Ctrl+C / SIGTERM。
func signalNotify(ch chan<- os.Signal) {
signal.Notify(ch, os.Interrupt, syscall.SIGTERM)
}