Major update - symmetric encryption, UDP hole punching, code cleanup.
Reviewed-on: #1
This commit is contained in:
@@ -4,6 +4,8 @@ import (
|
||||
"errors"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"strings"
|
||||
"vppn/hub/api"
|
||||
"vppn/m"
|
||||
|
||||
@@ -155,6 +157,29 @@ func (a *App) _adminPeerList(s *api.Session, w http.ResponseWriter, r *http.Requ
|
||||
})
|
||||
}
|
||||
|
||||
func (a *App) _adminHosts(s *api.Session, w http.ResponseWriter, r *http.Request) error {
|
||||
conf := a.api.Config_Get()
|
||||
|
||||
peers, err := a.api.Peer_List()
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
b := strings.Builder{}
|
||||
|
||||
for _, peer := range peers {
|
||||
ip := conf.VPNNetwork
|
||||
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) _adminPeerCreate(s *api.Session, w http.ResponseWriter, r *http.Request) error {
|
||||
return a.render("/admin-peer-create.html", w, struct{ Session *api.Session }{s})
|
||||
}
|
||||
@@ -167,7 +192,7 @@ func (a *App) _adminPeerCreateSubmit(s *api.Session, w http.ResponseWriter, r *h
|
||||
Scan("Name", &args.Name).
|
||||
Scan("PublicIP", &ipStr).
|
||||
Scan("Port", &args.Port).
|
||||
Scan("Mediator", &args.Mediator).
|
||||
Scan("Relay", &args.Relay).
|
||||
Error()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -249,7 +274,7 @@ func (a *App) _adminPeerEditSubmit(s *api.Session, w http.ResponseWriter, r *htt
|
||||
Scan("Name", &peer.Name).
|
||||
Scan("PublicIP", &ipStr).
|
||||
Scan("Port", &peer.Port).
|
||||
Scan("Mediator", &peer.Mediator).
|
||||
Scan("Relay", &peer.Relay).
|
||||
Error()
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -311,19 +336,16 @@ func (a *App) _peerCreate(w http.ResponseWriter, r *http.Request) error {
|
||||
func (a *App) _peerFetchState(w http.ResponseWriter, r *http.Request) error {
|
||||
_, apiKey, ok := r.BasicAuth()
|
||||
if !ok {
|
||||
log.Printf("1")
|
||||
return api.ErrNotAuthorized
|
||||
}
|
||||
|
||||
peer, err := a.api.Peer_GetByAPIKey(apiKey)
|
||||
if err != nil {
|
||||
log.Printf("2")
|
||||
return err
|
||||
}
|
||||
|
||||
peers, err := a.api.Peer_List()
|
||||
if err != nil {
|
||||
log.Printf("3")
|
||||
return err
|
||||
}
|
||||
|
||||
@@ -339,14 +361,13 @@ func (a *App) _peerFetchState(w http.ResponseWriter, r *http.Request) error {
|
||||
|
||||
for _, p := range peers {
|
||||
state.Peers[p.PeerIP] = &m.Peer{
|
||||
PeerIP: p.PeerIP,
|
||||
Version: p.Version,
|
||||
Name: p.Name,
|
||||
PublicIP: p.PublicIP,
|
||||
Port: p.Port,
|
||||
Mediator: p.Mediator,
|
||||
EncPubKey: p.EncPubKey,
|
||||
SignPubKey: p.SignPubKey,
|
||||
PeerIP: p.PeerIP,
|
||||
Version: p.Version,
|
||||
Name: p.Name,
|
||||
PublicIP: p.PublicIP,
|
||||
Port: p.Port,
|
||||
Relay: p.Relay,
|
||||
PubKey: p.PubKey,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user