This commit is contained in:
Hiddify
2024-01-29 14:22:22 +01:00
21 changed files with 1170 additions and 4 deletions

20
cmd/cmd_gen_cert.go Normal file
View File

@@ -0,0 +1,20 @@
package main
import (
"github.com/hiddify/libcore/utils"
"github.com/spf13/cobra"
"os"
)
var commandGenerateCertification = &cobra.Command{
Use: "gen-cert",
Short: "Generate certification for web server",
Run: func(cmd *cobra.Command, args []string) {
err := os.MkdirAll("cert", 600)
if err != nil {
panic("Error: " + err.Error())
}
utils.GenerateCertificate("cert/server-cert.pem", "cert/server-key.pem", true)
utils.GenerateCertificate("cert/client-cert.pem", "cert/client-key.pem", false)
},
}

10
cmd/cmd_service.go Normal file
View File

@@ -0,0 +1,10 @@
package main
import (
"github.com/spf13/cobra"
)
var commandService = &cobra.Command{
Use: "service",
Short: "Sign box service",
}

View File

@@ -0,0 +1,12 @@
package main
import (
"github.com/hiddify/libcore/service"
"github.com/spf13/cobra"
)
var commandServiceInstall = &cobra.Command{
Use: "install",
Short: "install the service",
Run: service.InstallService,
}

12
cmd/cmd_service_start.go Normal file
View File

@@ -0,0 +1,12 @@
package main
import (
"github.com/hiddify/libcore/service"
"github.com/spf13/cobra"
)
var commandServiceStart = &cobra.Command{
Use: "start",
Short: "Start a sign box instance",
Run: service.StartService,
}

12
cmd/cmd_service_stop.go Normal file
View File

@@ -0,0 +1,12 @@
package main
import (
"github.com/hiddify/libcore/service"
"github.com/spf13/cobra"
)
var commandServiceStop = &cobra.Command{
Use: "stop",
Short: "stop sign box",
Run: service.StopService,
}

View File

@@ -22,8 +22,18 @@ var mainCommand = &cobra.Command{
}
func init() {
mainCommand.AddCommand(commandService)
mainCommand.AddCommand(commandGenerateCertification)
commandService.AddCommand(commandServiceStart)
commandService.AddCommand(commandServiceStop)
commandService.AddCommand(commandServiceInstall)
commandServiceStart.Flags().Int("port", 8080, "Webserver port number")
mainCommand.PersistentFlags().StringVarP(&workingDir, "directory", "D", "", "set working directory")
mainCommand.PersistentFlags().BoolVarP(&disableColor, "disable-color", "", false, "disable color output")
}
func main() {