|
|
@@ -31,7 +31,6 @@ import (
|
|
|
"tailscale.com/net/stun"
|
|
|
"tailscale.com/tsweb"
|
|
|
"tailscale.com/types/key"
|
|
|
- "tailscale.com/types/wgkey"
|
|
|
)
|
|
|
|
|
|
var (
|
|
|
@@ -70,12 +69,12 @@ func init() {
|
|
|
}
|
|
|
|
|
|
type config struct {
|
|
|
- PrivateKey wgkey.Private
|
|
|
+ PrivateKey key.NodePrivate
|
|
|
}
|
|
|
|
|
|
func loadConfig() config {
|
|
|
if *dev {
|
|
|
- return config{PrivateKey: mustNewKey()}
|
|
|
+ return config{PrivateKey: key.NewNode()}
|
|
|
}
|
|
|
if *configPath == "" {
|
|
|
if os.Getuid() == 0 {
|
|
|
@@ -101,21 +100,13 @@ func loadConfig() config {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func mustNewKey() wgkey.Private {
|
|
|
- key, err := wgkey.NewPrivate()
|
|
|
- if err != nil {
|
|
|
- log.Fatal(err)
|
|
|
- }
|
|
|
- return key
|
|
|
-}
|
|
|
-
|
|
|
func writeNewConfig() config {
|
|
|
- key := mustNewKey()
|
|
|
+ k := key.NewNode()
|
|
|
if err := os.MkdirAll(filepath.Dir(*configPath), 0777); err != nil {
|
|
|
log.Fatal(err)
|
|
|
}
|
|
|
cfg := config{
|
|
|
- PrivateKey: key,
|
|
|
+ PrivateKey: k,
|
|
|
}
|
|
|
b, err := json.MarshalIndent(cfg, "", "\t")
|
|
|
if err != nil {
|
|
|
@@ -152,7 +143,7 @@ func main() {
|
|
|
|
|
|
serveTLS := tsweb.IsProd443(*addr)
|
|
|
|
|
|
- s := derp.NewServer(key.Private(cfg.PrivateKey), log.Printf)
|
|
|
+ s := derp.NewServer(cfg.PrivateKey.AsPrivate(), log.Printf)
|
|
|
s.SetVerifyClient(*verifyClients)
|
|
|
|
|
|
if *meshPSKFile != "" {
|