123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- package main
- import (
- "fmt"
- "git.swzry.com/zry/go-hhc-cli/hhc_mangekyo"
- "git.swzry.com/zry/go-hhc-cli/hhc_telws"
- "github.com/gin-gonic/gin"
- "github.com/gorilla/websocket"
- "github.com/tjfoc/gmsm/sm2"
- "net/http"
- "os"
- "time"
- )
- var ListenAddress string
- var TestSM2KeyPair *sm2.PrivateKey
- var upGrader = websocket.Upgrader{
- CheckOrigin: func(r *http.Request) bool {
- return true
- },
- }
- func main() {
- //runtime.Breakpoint()
- ListenAddress = os.Getenv("listen")
- if ListenAddress == "" {
- fmt.Println("No environment variable 'listen', use default value ':9090'")
- ListenAddress = ":9090"
- }
- k, err := sm2.GenerateKey()
- if err != nil {
- fmt.Println("Failed Generate SM2 Key:", err)
- return
- }
- TestSM2KeyPair = k
- r := gin.Default()
- r.GET("/api/app-config.satori", appConfig)
- telwsGrp := r.Group("/api/telws/")
- muh := NewMUH()
- mhf := hhc_mangekyo.NewMangekyoHandlerFactory(muh)
- cbh := hhc_telws.NewCliBackendHandler(telwsGrp, mhf)
- err = cbh.InitSecure(time.Minute * 10)
- if err != nil {
- fmt.Println("Failed Init Telws Handler:", err)
- return
- }
- sah := hhc_telws.NewTelwsAuthSimpleAAA()
- sah.SimpleAAAAddSimple("admin", "114514", 4)
- cbh.AddAuthHandler(sah)
- r.Run(ListenAddress)
- }
- func appConfig(ctx *gin.Context) {
- ctx.JSON(200, gin.H{
- "title": "Hypothetical Swtich",
- "appBarColor": "#1c2c61",
- "telwsUrl": "/api/telws/",
- "projectName": "Hypothetical Switch",
- "projectDescription": "A hypothetical switch CLI interface for HHC_CLI demo.",
- })
- }
|