diff --git a/nostrh/cmd/keystore/keystore.go b/nostrh/cmd/keystore/keystore.go index 4c6ff9d..7f7f79d 100644 --- a/nostrh/cmd/keystore/keystore.go +++ b/nostrh/cmd/keystore/keystore.go @@ -4,9 +4,11 @@ import ( "errors" "fmt" "os" + "path/filepath" "github.com/nbd-wtf/go-nostr" "github.com/nbd-wtf/go-nostr/nip19" + "github.com/studiokaiji/nostr-webhost/nostrh/cmd/paths" ) const PATH = ".nostr_account_secret" @@ -20,8 +22,19 @@ func SetSecret(key string) error { } key = v.(string) } + + dir, err := paths.GetSettingsDirectory() + if err != nil { + return err + } + + filePath := filepath.Join(dir, PATH) + if err != nil { + return err + } + // キーをファイルに書き込み - return os.WriteFile(PATH, []byte(key), 0644) + return os.WriteFile(filePath, []byte(key), 0644) } func ShowPublic() (string, string, error) { diff --git a/nostrh/cmd/paths/paths.go b/nostrh/cmd/paths/paths.go new file mode 100644 index 0000000..de52894 --- /dev/null +++ b/nostrh/cmd/paths/paths.go @@ -0,0 +1,28 @@ +package paths + +import ( + "os" + "path/filepath" +) + +const BaseDirName = ".nostr-webhost" + +func GetSettingsDirectory() (string, error) { + homeDir, err := os.UserHomeDir() + if err != nil { + return "", err + } + + dirPath := filepath.Join(homeDir, BaseDirName) + if os.IsNotExist(err) { + // ディレクトリが存在しない場合に作成 + err = os.Mkdir(dirPath, 0700) + if err != nil { + return "", err + } + } else if err != nil { + return "", err + } + + return dirPath, nil +} diff --git a/nostrh/cmd/relays/relays.go b/nostrh/cmd/relays/relays.go index 471042c..66df0d3 100644 --- a/nostrh/cmd/relays/relays.go +++ b/nostrh/cmd/relays/relays.go @@ -2,13 +2,22 @@ package relays import ( "os" + "path/filepath" "strings" + + "github.com/studiokaiji/nostr-webhost/nostrh/cmd/paths" ) const PATH = ".nostr_relays" func AddRelay(relayURL string) error { - file, err := os.OpenFile(PATH, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644) + dir, err := paths.GetSettingsDirectory() + if err != nil { + return err + } + + filePath := filepath.Join(dir, PATH) + file, err := os.OpenFile(filePath, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644) if err != nil { return err } diff --git a/nostrh/main.go b/nostrh/main.go index 27df8a3..af535fc 100644 --- a/nostrh/main.go +++ b/nostrh/main.go @@ -154,7 +154,6 @@ func main() { fmt.Println(buf.String()) } - } // Start app