still testing yggdrasil
This commit is contained in:
parent
9c88f7e744
commit
92cd3ebffe
3 changed files with 113 additions and 12 deletions
|
|
@ -3,6 +3,7 @@ package yggdrasil
|
|||
import (
|
||||
"context"
|
||||
"io/fs"
|
||||
"log"
|
||||
"math/rand"
|
||||
"net"
|
||||
"net/url"
|
||||
|
|
@ -64,9 +65,10 @@ func getPublicPeers() []url.URL {
|
|||
}
|
||||
|
||||
var peers []url.URL
|
||||
re := regexp.MustCompile(`(?m)^\s*(tcp|tls)://[^\s]+`)
|
||||
re := regexp.MustCompile(`(?m)(tcp|tls)://[^\s` + "`" + `]+`)
|
||||
filepath.WalkDir(tempDir, func(path string, d fs.DirEntry, err error) error {
|
||||
if err != nil {
|
||||
log.Printf("walk error: %v", err)
|
||||
return nil
|
||||
}
|
||||
if d.IsDir() || !strings.HasSuffix(d.Name(), ".md") || d.Name() == "README.md" {
|
||||
|
|
@ -77,7 +79,8 @@ func getPublicPeers() []url.URL {
|
|||
return nil
|
||||
}
|
||||
for _, m := range re.FindAllStringSubmatch(string(data), -1) {
|
||||
url, err := url.Parse(strings.TrimSpace(m[1]))
|
||||
urlStr := strings.TrimSpace(m[0])
|
||||
url, err := url.Parse(urlStr)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,12 +82,12 @@ func Yggdrasil(config *viper.Viper, ch chan string) {
|
|||
cfg.AdminListen = ygg.GetString("admin_listen")
|
||||
cfg.Listen = ygg.GetStringSlice("listen")
|
||||
if ygg.GetString("peers") == "auto" {
|
||||
publicPeers := getPublicPeers()
|
||||
var urlsAsStrings []string
|
||||
publicPeers := RandomPick(GetClosestPeers(getPublicPeers(), 20), 3)
|
||||
var urls []string
|
||||
for _, u := range publicPeers {
|
||||
urlsAsStrings = append(urlsAsStrings, u.String())
|
||||
urls = append(urls, u.String())
|
||||
}
|
||||
cfg.Peers = urlsAsStrings
|
||||
cfg.Peers = urls
|
||||
} else {
|
||||
cfg.Peers = ygg.GetStringSlice("peers")
|
||||
}
|
||||
|
|
@ -284,5 +284,3 @@ func Yggdrasil(config *viper.Viper, ch chan string) {
|
|||
}
|
||||
n.core.Stop()
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue