命令行增加自动解密的参数

This commit is contained in:
ZLX 2025-07-04 10:15:30 +08:00
parent d124086e70
commit 6836723c1b
2 changed files with 21 additions and 7 deletions

View File

@ -16,14 +16,18 @@ func init() {
serverCmd.Flags().StringVarP(&serverWorkDir, "work-dir", "w", "", "work dir")
serverCmd.Flags().StringVarP(&serverPlatform, "platform", "p", runtime.GOOS, "platform")
serverCmd.Flags().IntVarP(&serverVer, "version", "v", 3, "version")
serverCmd.Flags().StringVarP(&serverDataKey, "data-key", "k", "", "data key for auto decrypt")
serverCmd.Flags().BoolVarP(&serverAutoDecrypt, "auto-decrypt", "", false, "enable auto decrypt")
}
var (
serverAddr string
serverDataDir string
serverWorkDir string
serverPlatform string
serverVer int
serverAddr string
serverDataDir string
serverWorkDir string
serverPlatform string
serverVer int
serverDataKey string
serverAutoDecrypt bool
)
var serverCmd = &cobra.Command{
@ -35,7 +39,7 @@ var serverCmd = &cobra.Command{
log.Err(err).Msg("failed to create chatlog instance")
return
}
if err := m.CommandHTTPServer(serverAddr, serverDataDir, serverWorkDir, serverPlatform, serverVer); err != nil {
if err := m.CommandHTTPServer(serverAddr, serverDataDir, serverWorkDir, serverPlatform, serverVer, serverDataKey, serverAutoDecrypt); err != nil {
log.Err(err).Msg("failed to start server")
return
}

View File

@ -307,7 +307,7 @@ func (m *Manager) CommandDecrypt(dataDir string, workDir string, key string, pla
return nil
}
func (m *Manager) CommandHTTPServer(addr string, dataDir string, workDir string, platform string, version int) error {
func (m *Manager) CommandHTTPServer(addr string, dataDir string, workDir string, platform string, version int, dataKey string, autoDecrypt bool) error {
if addr == "" {
addr = "127.0.0.1:5030"
@ -330,6 +330,7 @@ func (m *Manager) CommandHTTPServer(addr string, dataDir string, workDir string,
m.ctx.WorkDir = workDir
m.ctx.Platform = platform
m.ctx.Version = version
m.ctx.DataKey = dataKey
// 如果是 4.0 版本,更新下 xorkey
if m.ctx.Version == 4 && m.ctx.DataDir != "" {
@ -345,5 +346,14 @@ func (m *Manager) CommandHTTPServer(addr string, dataDir string, workDir string,
return err
}
// 如果启用自动解密,启动自动解密功能
if autoDecrypt {
if err := m.StartAutoDecrypt(); err != nil {
log.Info().Err(err).Msg("启动自动解密失败但HTTP服务器将继续运行")
} else {
log.Info().Msg("自动解密功能已启动")
}
}
return m.http.ListenAndServe()
}