website.git

ref: master

./main.go


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package main

import (
	"flag"
	"fmt"
	"io/ioutil"
	"math/rand"
	"path/filepath"
	"time"
)

func main() {
	rand.Seed(time.Now().UnixNano())

	pass := flag.String("p", "", "password")
	dataDir := flag.String("d", "/usr/share/website", "data directory")
	stateDir := flag.String("s", "/var/lib/website", "data directory")
	flag.Parse()

	if *pass != "" {
		hash, err := GenerateFromPassword(*pass)
		if err != nil {
			fmt.Println(err)
			return
		}
		ioutil.WriteFile(filepath.Join(*stateDir, "password"), []byte(hash), 0600)
		fmt.Println("Password updated")
		return
	}

	route(*dataDir, *stateDir)
}