Compare commits
14 Commits
main
...
client-int
Author | SHA1 | Date | |
---|---|---|---|
|
3ebfe754e7 | ||
|
069243e5d4 | ||
|
bd78ffd669 | ||
|
a90ab3f5d6 | ||
|
650c74c013 | ||
|
b308150d21 | ||
|
a0b7ecbfe0 | ||
|
69dff24344 | ||
|
257fac67ce | ||
|
2ff8aaf5c4 | ||
|
fccc4f7d57 | ||
|
c6d35856bc | ||
|
5844584219 | ||
|
e458e43d83 |
@ -2,8 +2,6 @@
|
||||
|
||||
## TO DO
|
||||
|
||||
* peer - write status to file instead of using sockets
|
||||
* peer - improve relay selection
|
||||
* Double buffering in IFReader and ConnReader ?
|
||||
|
||||
## Hub Server Configuration
|
||||
|
@ -5,6 +5,8 @@ import (
|
||||
"errors"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"strings"
|
||||
"vppn/hub/api"
|
||||
"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)
|
||||
}
|
||||
|
||||
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 {
|
||||
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("GET /admin/network/view/", a._adminNetworkView)
|
||||
a.handleSignedIn("GET /admin/network/hosts/", a._adminNetworkHosts)
|
||||
a.handleSignedIn("GET /admin/peer/create/", a._adminPeerCreate)
|
||||
a.handleSignedIn("POST /admin/peer/create/", a._adminPeerCreateSubmit)
|
||||
a.handleSignedIn("GET /admin/peer/view/", a._adminPeerView)
|
||||
|
@ -1,6 +1,7 @@
|
||||
{{define "body" -}}
|
||||
<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>
|
||||
|
||||
<table class="def-list">
|
||||
|
@ -108,11 +108,9 @@ func main_status() {
|
||||
fmt.Printf("\n%s Status\n\n", netName)
|
||||
|
||||
if len(report.Network) != 4 {
|
||||
fmt.Println("ERROR: Network isn't 4 bytes.")
|
||||
fmt.Printf("Network: %v\n\n", report.Network)
|
||||
} else {
|
||||
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])
|
||||
}
|
||||
|
||||
|
@ -30,10 +30,6 @@ func newPeerMain(args mainArgs) *peerMain {
|
||||
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))
|
||||
if err != nil {
|
||||
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.
|
||||
func (r *Remote) HandleLocalDiscoveryPacket(h Header, srcAddr netip.AddrPort, data []byte) {
|
||||
conf := r.conf()
|
||||
if conf.Peer == nil {
|
||||
r.logf("No peer for discovery packet.")
|
||||
return
|
||||
}
|
||||
|
||||
if conf.Peer.PubSignKey == nil {
|
||||
r.logf("No signing key for discovery packet.")
|
||||
return
|
||||
|
@ -10,7 +10,6 @@ import (
|
||||
)
|
||||
|
||||
type StatusReport struct {
|
||||
LocalPeerIP byte
|
||||
Network []byte
|
||||
RelayPeerIP byte
|
||||
Remotes []RemoteStatus
|
||||
@ -33,9 +32,8 @@ func runStatusServer(g Globals, socketPath string) {
|
||||
|
||||
handler := func(w http.ResponseWriter, r *http.Request) {
|
||||
report := StatusReport{
|
||||
LocalPeerIP: g.LocalPeerIP,
|
||||
Network: g.Network,
|
||||
Remotes: make([]RemoteStatus, 0, 255),
|
||||
Network: g.Network,
|
||||
Remotes: make([]RemoteStatus, 0, 255),
|
||||
}
|
||||
|
||||
relay := g.RelayHandler.Load()
|
||||
|
Loading…
x
Reference in New Issue
Block a user