Add db-dir to specify where to save boringproxy_db.json

This commit is contained in:
Dany Mahmalat 2022-02-21 13:07:07 -05:00
parent eaf95f6bea
commit 32d2ef14ee
2 changed files with 10 additions and 5 deletions

View File

@ -46,6 +46,7 @@ func Listen() {
flagSet := flag.NewFlagSet(os.Args[0], flag.ExitOnError) flagSet := flag.NewFlagSet(os.Args[0], flag.ExitOnError)
newAdminDomain := flagSet.String("admin-domain", "", "Admin Domain") newAdminDomain := flagSet.String("admin-domain", "", "Admin Domain")
sshServerPort := flagSet.Int("ssh-server-port", 22, "SSH Server Port") sshServerPort := flagSet.Int("ssh-server-port", 22, "SSH Server Port")
dbDir := flagSet.String("db-dir", "", "Database file directory")
certDir := flagSet.String("cert-dir", "", "TLS cert directory") certDir := flagSet.String("cert-dir", "", "TLS cert directory")
printLogin := flagSet.Bool("print-login", false, "Prints admin login information") printLogin := flagSet.Bool("print-login", false, "Prints admin login information")
httpPort := flagSet.Int("http-port", 80, "HTTP (insecure) port") httpPort := flagSet.Int("http-port", 80, "HTTP (insecure) port")
@ -61,7 +62,7 @@ func Listen() {
log.Println("Starting up") log.Println("Starting up")
db, err := NewDatabase() db, err := NewDatabase(*dbDir)
if err != nil { if err != nil {
log.Fatal(err) log.Fatal(err)
} }

View File

@ -10,6 +10,8 @@ import (
"github.com/takingnames/namedrop-go" "github.com/takingnames/namedrop-go"
) )
var DBFolderPath string
type Database struct { type Database struct {
AdminDomain string `json:"admin_domain"` AdminDomain string `json:"admin_domain"`
Tokens map[string]TokenData `json:"tokens"` Tokens map[string]TokenData `json:"tokens"`
@ -60,11 +62,13 @@ type Tunnel struct {
AuthPassword string `json:"auth_password"` AuthPassword string `json:"auth_password"`
} }
func NewDatabase() (*Database, error) { func NewDatabase(path string) (*Database, error) {
dbJson, err := ioutil.ReadFile("boringproxy_db.json") DBFolderPath = path
dbJson, err := ioutil.ReadFile(DBFolderPath + "boringproxy_db.json")
if err != nil { if err != nil {
log.Println("failed reading boringproxy_db.json") log.Printf("failed reading %sboringproxy_db.json\n", DBFolderPath)
dbJson = []byte("{}") dbJson = []byte("{}")
} }
@ -319,5 +323,5 @@ func (d *Database) DeleteUser(username string) {
} }
func (d *Database) persist() { func (d *Database) persist() {
saveJson(d, "boringproxy_db.json") saveJson(d, DBFolderPath+"boringproxy_db.json")
} }