二进制及自命令命名统一简化

This commit is contained in:
2026-09-08 17:01:09 +08:00
parent 6bfe20ee00
commit edfc787e1a
18 changed files with 105 additions and 105 deletions
+6 -6
View File
@@ -20,7 +20,7 @@ type Config struct {
}
// DBPath SQLite 数据库文件路径。
func (c *Config) DBPath() string { return c.DataDir + "/pure-note.db" }
func (c *Config) DBPath() string { return c.DataDir + "/pn.db" }
func addCommonFlags(fs *flag.FlagSet, c *Config) {
fs.StringVar(&c.DataDir, "data-dir", "./data", "数据目录(SQLite 数据库所在)")
@@ -36,10 +36,10 @@ func addServeFlags(fs *flag.FlagSet, c *Config) {
fs.BoolVar(&c.Dev, "dev", false, "开发模式:允许非 Secure Cookie,仅允许监听 loopback 地址")
}
// ParseServe 解析 `pure-note serve` 参数。
func ParseServe(args []string) (*Config, error) {
// ParseStart 解析 `pn start` 参数。
func ParseStart(args []string) (*Config, error) {
c := &Config{}
fs := flag.NewFlagSet("serve", flag.ContinueOnError)
fs := flag.NewFlagSet("start", flag.ContinueOnError)
addServeFlags(fs, c)
if err := fs.Parse(args); err != nil {
return nil, err
@@ -50,7 +50,7 @@ func ParseServe(args []string) (*Config, error) {
return c, nil
}
// ParseInit 解析 `pure-note init` 参数。
// ParseInit 解析 `pn init` 参数。
func ParseInit(args []string) (*Config, error) {
c := &Config{}
fs := flag.NewFlagSet("init", flag.ContinueOnError)
@@ -61,7 +61,7 @@ func ParseInit(args []string) (*Config, error) {
return c, nil
}
// ParseMaint 解析 `pure-note backup` / `pure-note gc` 参数(均只需数据目录)。
// ParseMaint 解析 `pn backup` / `pn gc` / `pn passwd` 参数(均只需数据目录)。
// 返回 flag 解析后的剩余位置参数(如 backup 的输出路径)。
func ParseMaint(cmd string, args []string) (*Config, []string, error) {
c := &Config{}
+5 -5
View File
@@ -4,20 +4,20 @@ import "testing"
func TestDevLoopbackGuard(t *testing.T) {
// --dev 强制 loopback(§7.3-8)
if _, err := ParseServe([]string{"--dev", "--addr", ":8080"}); err == nil {
if _, err := ParseStart([]string{"--dev", "--addr", ":8080"}); err == nil {
t.Error("--dev + 0.0.0.0 应拒绝启动")
}
if _, err := ParseServe([]string{"--dev", "--addr", "192.168.1.5:8080"}); err == nil {
if _, err := ParseStart([]string{"--dev", "--addr", "192.168.1.5:8080"}); err == nil {
t.Error("--dev + 局域网地址应拒绝启动")
}
if _, err := ParseServe([]string{"--dev", "--addr", "127.0.0.1:8080"}); err != nil {
if _, err := ParseStart([]string{"--dev", "--addr", "127.0.0.1:8080"}); err != nil {
t.Errorf("--dev + 127.0.0.1 应允许: %v", err)
}
if _, err := ParseServe([]string{"--dev", "--addr", "localhost:8080"}); err != nil {
if _, err := ParseStart([]string{"--dev", "--addr", "localhost:8080"}); err != nil {
t.Errorf("--dev + localhost 应允许: %v", err)
}
// 非 dev 不限制
if _, err := ParseServe([]string{"--addr", ":8080"}); err != nil {
if _, err := ParseStart([]string{"--addr", ":8080"}); err != nil {
t.Errorf("非 dev 任意地址应允许: %v", err)
}
}
+1 -1
View File
@@ -39,7 +39,7 @@ func (s *Server) handleLogin(w http.ResponseWriter, r *http.Request) {
return
}
if !ok {
writeError(w, http.StatusInternalServerError, "not_initialized", "尚未初始化管理员口令,请先执行 pure-note init")
writeError(w, http.StatusInternalServerError, "not_initialized", "尚未初始化管理员口令,请先执行 pn init")
return
}
+1 -1
View File
@@ -53,7 +53,7 @@ func newEnvCustom(t *testing.T, global, loginIP, loginAcct *middleware.Limiter)
loginAcct = middleware.NewLimiter(1e9, 1<<20, 1<<20, time.Minute)
}
dir := t.TempDir()
st, err := store.Open(dir+"/pure-note.db", false)
st, err := store.Open(dir+"/pn.db", false)
if err != nil {
t.Fatalf("打开测试库失败: %v", err)
}
+2 -2
View File
@@ -9,7 +9,7 @@ import (
// TestMigrationsFromEmpty 空库 → 最新版本;重复打开幂等(§13 迁移组)。
func TestMigrationsFromEmpty(t *testing.T) {
dir := t.TempDir()
dbPath := filepath.Join(dir, "pure-note.db")
dbPath := filepath.Join(dir, "pn.db")
s1, err := Open(dbPath, false)
if err != nil {
t.Fatalf("首次打开失败: %v", err)
@@ -41,7 +41,7 @@ func TestMigrationsFromEmpty(t *testing.T) {
// TestMigrationNewerRejected user_version 越界拒绝启动;--allow-newer 放行(§10.4)。
func TestMigrationNewerRejected(t *testing.T) {
dir := t.TempDir()
dbPath := filepath.Join(dir, "pure-note.db")
dbPath := filepath.Join(dir, "pn.db")
s1, err := Open(dbPath, false)
if err != nil {
t.Fatal(err)