chore: change service && filename rule to "superfrpc_instanceID"

This commit is contained in:
2026-05-07 22:46:28 +08:00
parent 6e705ce2f3
commit 00319d790d
5 changed files with 69 additions and 147 deletions
+6 -26
View File
@@ -68,18 +68,8 @@ func createSystemdService(instanceID int, configPath, runUser string) error {
return err
}
instance, err := database.DBQueryFrpcInstanceByID(instanceID)
if err != nil {
return fmt.Errorf("failed to query frpc instance: %w", err)
}
user, err := database.GetUserByID(instance.UserID)
if err != nil {
return fmt.Errorf("failed to get user info: %w", err)
}
serviceContent := fmt.Sprintf(`[Unit]
Description=superfrpc_%s_%s
Description=superfrpc_%d
After=network.target
[Service]
@@ -91,7 +81,7 @@ RestartSec=5
[Install]
WantedBy=multi-user.target
`, user.Username, instance.Name, frpcPath, configPath, runUser)
`, instanceID, frpcPath, configPath, runUser)
servicePath := filepath.Join("/etc/systemd/system", serviceName+".service")
if err := os.WriteFile(servicePath, []byte(serviceContent), 0644); err != nil {
@@ -123,16 +113,6 @@ func createInitDService(instanceID int, configPath, runUser string) error {
return err
}
instance, err := database.DBQueryFrpcInstanceByID(instanceID)
if err != nil {
return fmt.Errorf("failed to query frpc instance: %w", err)
}
user, err := database.GetUserByID(instance.UserID)
if err != nil {
return fmt.Errorf("failed to get user info: %w", err)
}
var serviceContent string
runUserArg := ""
if runUser != "" && runUser != "root" {
@@ -145,7 +125,7 @@ func createInitDService(instanceID int, configPath, runUser string) error {
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: superfrpc %s %s
# Description: superfrpc %d
### END INIT INFO
NAME="%s"
@@ -187,7 +167,7 @@ case "$1" in
esac
exit 0
`, serviceName, user.Username, instance.Name, serviceName, frpcPath, configPath, runUserArg)
`, serviceName, instanceID, serviceName, frpcPath, configPath, runUserArg)
} else {
serviceContent = fmt.Sprintf(`#!/bin/sh
@@ -197,7 +177,7 @@ exit 0
# Required-Stop: $network $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Description: superfrpc %s %s
# Description: superfrpc %d
### END INIT INFO
NAME="%s"
@@ -238,7 +218,7 @@ case "$1" in
esac
exit 0
`, serviceName, user.Username, instance.Name, serviceName, frpcPath, configPath)
`, serviceName, instanceID, serviceName, frpcPath, configPath)
}
servicePath := filepath.Join("/etc/init.d", serviceName)