增加root_token查询

This commit is contained in:
Sakurasan
2023-05-02 01:57:42 +08:00
parent ac79ceb04e
commit 0dc1d13720
3 changed files with 40 additions and 12 deletions

View File

@@ -30,10 +30,13 @@ or
``` ```
wget https://github.com/mirrors2/opencatd-open/raw/main/docker/docker-compose.yml wget https://github.com/mirrors2/opencatd-open/raw/main/docker/docker-compose.yml
``` ```
## reset root token ## 支持的命令
``` >获取 root 的 token
docker exec -it opencatd-open ./opencatd reset_root - `docker exec opencatd-open opencatd root_token`
```
>重置 root 的 token
- `docker exec opencatd-open opencatd reset_root`
## Q&A ## Q&A
关于证书? 关于证书?

View File

@@ -12,10 +12,10 @@ FROM alpine:latest AS runner
# 设置alpine 时间为上海时间 # 设置alpine 时间为上海时间
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories && apk update && apk --no-cache add tzdata && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
&& echo "Asia/Shanghai" > /etc/timezone \ && echo "Asia/Shanghai" > /etc/timezone \
&& export PATH=$PATH:/app
# RUN apk update && apk --no-cache add openssl libgcc libstdc++ binutils # RUN apk update && apk --no-cache add openssl libgcc libstdc++ binutils
WORKDIR /app WORKDIR /app
COPY --from=builder /build/bin/opencatd /app/opencatd COPY --from=builder /build/bin/opencatd /app/opencatd
ENV GIN_MODE=release ENV GIN_MODE=release
ENV PATH=$PATH:/app
EXPOSE 80 EXPOSE 80
ENTRYPOINT ["/app/opencatd"] ENTRYPOINT ["/app/opencatd"]

View File

@@ -9,19 +9,44 @@ import (
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
"github.com/google/uuid" "github.com/google/uuid"
"gorm.io/gorm"
) )
func main() { func main() {
args := os.Args[1:] args := os.Args[1:]
if len(args) > 0 && args[0] == "reset_root" { if len(args) > 0 {
log.Println("reset root token...") switch args[0] {
ntoken := uuid.NewString() case "reset_root":
if err := store.UpdateUser(uint(1), ntoken); err != nil { log.Println("reset root token...")
log.Fatalln(err) if _, err := store.GetUserByID(uint(1)); err != nil {
if err == gorm.ErrRecordNotFound {
log.Println("请在opencat(或其他APP)客户端完成team初始化")
return
} else {
log.Fatalln(err)
return
}
}
ntoken := uuid.NewString()
if err := store.UpdateUser(uint(1), ntoken); err != nil {
log.Fatalln(err)
return
}
log.Println("new root token:", ntoken)
return
case "root_token":
log.Println("reset root token...")
if user, err := store.GetUserByID(uint(1)); err != nil {
log.Fatalln(err)
return
} else {
log.Println("root token:", user.Token)
return
}
default:
return return
} }
log.Println("new root token:", ntoken)
return
} }
port := os.Getenv("PORT") port := os.Getenv("PORT")
r := gin.Default() r := gin.Default()