Compare commits
No commits in common. "main" and "v0.8.0" have entirely different histories.
@ -2,8 +2,6 @@
|
|||||||
|
|
||||||
## TO DO
|
## TO DO
|
||||||
|
|
||||||
* peer - write status to file instead of using sockets
|
|
||||||
* peer - improve relay selection
|
|
||||||
* Double buffering in IFReader and ConnReader ?
|
* Double buffering in IFReader and ConnReader ?
|
||||||
|
|
||||||
## Hub Server Configuration
|
## Hub Server Configuration
|
||||||
|
@ -5,6 +5,8 @@ import (
|
|||||||
"errors"
|
"errors"
|
||||||
"log"
|
"log"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"net/netip"
|
||||||
|
"strings"
|
||||||
"vppn/hub/api"
|
"vppn/hub/api"
|
||||||
"vppn/m"
|
"vppn/m"
|
||||||
|
|
||||||
@ -246,6 +248,27 @@ func (a *App) _adminPeerDeleteSubmit(s *api.Session, w http.ResponseWriter, r *h
|
|||||||
return a.redirect(w, r, "/admin/network/view/?NetworkID=%d", n.NetworkID)
|
return a.redirect(w, r, "/admin/network/view/?NetworkID=%d", n.NetworkID)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *App) _adminNetworkHosts(s *api.Session, w http.ResponseWriter, r *http.Request) error {
|
||||||
|
n, peers, err := a.formGetNetworkPeers(r.Form)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
|
b := strings.Builder{}
|
||||||
|
|
||||||
|
for _, peer := range peers {
|
||||||
|
ip := n.Network
|
||||||
|
ip[3] = peer.PeerIP
|
||||||
|
b.WriteString(netip.AddrFrom4([4]byte(ip)).String())
|
||||||
|
b.WriteString(" ")
|
||||||
|
b.WriteString(peer.Name)
|
||||||
|
b.WriteString("\n")
|
||||||
|
}
|
||||||
|
|
||||||
|
w.Write([]byte(b.String()))
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (a *App) _adminPasswordEdit(s *api.Session, w http.ResponseWriter, r *http.Request) error {
|
func (a *App) _adminPasswordEdit(s *api.Session, w http.ResponseWriter, r *http.Request) error {
|
||||||
return a.render("/admin-password-edit.html", w, struct{ Session *api.Session }{s})
|
return a.render("/admin-password-edit.html", w, struct{ Session *api.Session }{s})
|
||||||
}
|
}
|
||||||
|
@ -19,6 +19,7 @@ func (a *App) registerRoutes() {
|
|||||||
a.handleSignedIn("POST /admin/network/delete/", a._adminNetworkDeleteSubmit)
|
a.handleSignedIn("POST /admin/network/delete/", a._adminNetworkDeleteSubmit)
|
||||||
|
|
||||||
a.handleSignedIn("GET /admin/network/view/", a._adminNetworkView)
|
a.handleSignedIn("GET /admin/network/view/", a._adminNetworkView)
|
||||||
|
a.handleSignedIn("GET /admin/network/hosts/", a._adminNetworkHosts)
|
||||||
a.handleSignedIn("GET /admin/peer/create/", a._adminPeerCreate)
|
a.handleSignedIn("GET /admin/peer/create/", a._adminPeerCreate)
|
||||||
a.handleSignedIn("POST /admin/peer/create/", a._adminPeerCreateSubmit)
|
a.handleSignedIn("POST /admin/peer/create/", a._adminPeerCreateSubmit)
|
||||||
a.handleSignedIn("GET /admin/peer/view/", a._adminPeerView)
|
a.handleSignedIn("GET /admin/peer/view/", a._adminPeerView)
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
{{define "body" -}}
|
{{define "body" -}}
|
||||||
<p>
|
<p>
|
||||||
<a href="/admin/network/delete/?NetworkID={{.Network.NetworkID}}">Delete</a>
|
<a href="/admin/network/delete/?NetworkID={{.Network.NetworkID}}">Delete</a> /
|
||||||
|
<a href="/admin/network/hosts/?NetworkID={{.Network.NetworkID}}">Hosts</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<table class="def-list">
|
<table class="def-list">
|
||||||
|
@ -108,11 +108,9 @@ func main_status() {
|
|||||||
fmt.Printf("\n%s Status\n\n", netName)
|
fmt.Printf("\n%s Status\n\n", netName)
|
||||||
|
|
||||||
if len(report.Network) != 4 {
|
if len(report.Network) != 4 {
|
||||||
fmt.Println("ERROR: Network isn't 4 bytes.")
|
|
||||||
fmt.Printf("Network: %v\n\n", report.Network)
|
fmt.Printf("Network: %v\n\n", report.Network)
|
||||||
} else {
|
} else {
|
||||||
nw := report.Network
|
nw := report.Network
|
||||||
fmt.Printf("%-8s %d.%d.%d.%d\n", "IP", nw[0], nw[1], nw[2], report.LocalPeerIP)
|
|
||||||
fmt.Printf("%-8s %d.%d.%d.%d/24\n", "Network", nw[0], nw[1], nw[2], nw[3])
|
fmt.Printf("%-8s %d.%d.%d.%d/24\n", "Network", nw[0], nw[1], nw[2], nw[3])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,10 +30,6 @@ func newPeerMain(args mainArgs) *peerMain {
|
|||||||
log.Printf("[Main] "+s, args...)
|
log.Printf("[Main] "+s, args...)
|
||||||
}
|
}
|
||||||
|
|
||||||
if err := os.MkdirAll(configDir(args.NetName), 0700); err != nil {
|
|
||||||
log.Fatalf("Failed to create config directory: %v", err)
|
|
||||||
}
|
|
||||||
|
|
||||||
lockFile, err := flock.TryLock(lockFilePath(args.NetName))
|
lockFile, err := flock.TryLock(lockFilePath(args.NetName))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Failed to open lock file: %v", err)
|
log.Fatalf("Failed to open lock file: %v", err)
|
||||||
|
@ -280,11 +280,6 @@ func (r *Remote) handleDataPacket(h Header, data []byte) {
|
|||||||
// HandleLocalDiscoveryPacket is called by the MCReader.
|
// HandleLocalDiscoveryPacket is called by the MCReader.
|
||||||
func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) {
|
func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) {
|
||||||
conf := r.conf()
|
conf := r.conf()
|
||||||
if conf.Peer == nil {
|
|
||||||
r.logf("No peer for discovery packet.")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
if conf.Peer.PubSignKey == nil {
|
if conf.Peer.PubSignKey == nil {
|
||||||
r.logf("No signing key for discovery packet.")
|
r.logf("No signing key for discovery packet.")
|
||||||
return
|
return
|
||||||
|
@ -10,7 +10,6 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type StatusReport struct {
|
type StatusReport struct {
|
||||||
LocalPeerIP byte
|
|
||||||
Network []byte
|
Network []byte
|
||||||
RelayPeerIP byte
|
RelayPeerIP byte
|
||||||
Remotes []RemoteStatus
|
Remotes []RemoteStatus
|
||||||
@ -33,7 +32,6 @@ func runStatusServer(g Globals, socketPath string) {
|
|||||||
|
|
||||||
handler := func(w http.ResponseWriter, r *http.Request) {
|
handler := func(w http.ResponseWriter, r *http.Request) {
|
||||||
report := StatusReport{
|
report := StatusReport{
|
||||||
LocalPeerIP: g.LocalPeerIP,
|
|
||||||
Network: g.Network,
|
Network: g.Network,
|
||||||
Remotes: make([]RemoteStatus, 0, 255),
|
Remotes: make([]RemoteStatus, 0, 255),
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user