WIP
This commit is contained in:
		| @@ -1,20 +0,0 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Config</h2> | ||||
|  | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{.Session.CSRF}}"> | ||||
|   <p> | ||||
|     <label>Hub Address</label><br> | ||||
|     <input type="url" name="HubAddress" value="{{.Config.HubAddress}}"> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>VPN Network</label><br> | ||||
|     <input type="text" name="VPNNetwork" value="{{ipToString .Config.VPNNetwork}}"> | ||||
|   </p> | ||||
|   <p> | ||||
|     <button type="submit">Save</button> | ||||
|     <a href="/admin/config/">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
|  | ||||
| {{- end}} | ||||
							
								
								
									
										19
									
								
								hub/templates/admin-network-create.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								hub/templates/admin-network-create.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Create Network</h2> | ||||
|  | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{.Session.CSRF}}"> | ||||
|   <p> | ||||
|     <label>Name</label><br> | ||||
|     <input type="text" name="Name"> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>Network /24</label><br> | ||||
|     <input type="text" name="Network"> | ||||
|   </p> | ||||
|   <p> | ||||
|     <button type="submit">Save</button> | ||||
|     <a href="/admin/network/list/">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
							
								
								
									
										38
									
								
								hub/templates/admin-network-list.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										38
									
								
								hub/templates/admin-network-list.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,38 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Networks</h2> | ||||
|  | ||||
| <p> | ||||
|   <a href="/admin/network/create/">Create</a> | ||||
| </p> | ||||
|  | ||||
| {{if .Networks -}} | ||||
| <table> | ||||
|   <thead> | ||||
|     <tr> | ||||
|       <th>Name</th> | ||||
|       <th>Network</th> | ||||
|     </tr> | ||||
|   </thead> | ||||
|   <tbody> | ||||
|   {{range .Networks -}} | ||||
|   <tr> | ||||
|     <td> | ||||
|       <a href="/admin/network/view/?NetworkID={{.NetworkID}}"> | ||||
|         {{.Name}} | ||||
|       </a> | ||||
|     </td> | ||||
|     <td>{{ipToString .Network}}</td> | ||||
|   </tr> | ||||
|   </tbody> | ||||
|   {{- end}} | ||||
| </table> | ||||
| {{- else}} | ||||
| <p>No networks.</p> | ||||
| {{- end}} | ||||
|  | ||||
| <h3>Settings</h3> | ||||
|  | ||||
| <ul> | ||||
|   <li><a href="/admin/password/edit/">Password</a></li> | ||||
| </ul> | ||||
| {{- end}} | ||||
| @@ -1,36 +0,0 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Delete Peer</h2> | ||||
|  | ||||
| {{with .Peer -}} | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{$.Session.CSRF}}"> | ||||
|   <p> | ||||
|     <label>Peer IP</label><br> | ||||
|     <input type="number" name="PeerIP" value="{{.PeerIP}}" disabled> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>Name</label><br> | ||||
|     <input type="text" value="{{.Name}}" disabled> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>Public IP</label><br> | ||||
|     <input type="text" value="{{ipToString .PublicIP}}" disabled> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>Port</label><br> | ||||
|     <input type="number" value="{{.Port}}" disabled> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label> | ||||
|       <input type="checkbox" {{if .Relay}}checked{{end}} disabled> | ||||
|       Relay | ||||
|     </label> | ||||
|   </p> | ||||
|   <p> | ||||
|     <button type="submit">Delete</button> | ||||
|     <a href="/admin/peer/view/?PeerIP={{.PeerIP}}">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
|  | ||||
| {{- end}} | ||||
| @@ -1,13 +0,0 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Initialize Peer</h2> | ||||
|  | ||||
| <p> | ||||
|   Configure the peer with the following URL: | ||||
| </p> | ||||
| <pre> | ||||
|   {{.HubAddress}}/peer/init/?Code={{.Code}} | ||||
| </pre> | ||||
| <p> | ||||
|   <a href="/admin/config/">Done</a> | ||||
| </p> | ||||
| {{- end}} | ||||
| @@ -1,13 +0,0 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Create Peer</h2> | ||||
|  | ||||
| <p> | ||||
|   Configure the peer with the following URL: | ||||
| </p> | ||||
| <pre> | ||||
|   {{.HubAddress}}/peer/create/?Code={{.Code}} | ||||
| </pre> | ||||
| <p> | ||||
|   <a href="/admin/config/">Done</a> | ||||
| </p> | ||||
| {{- end}} | ||||
| @@ -5,7 +5,7 @@ | ||||
|   <input type="hidden" name="CSRF" value="{{.Session.CSRF}}"> | ||||
|   <p> | ||||
|     <button type="submit">Sign Out</button> | ||||
|     <a href="/admin/config/">Cancel</a> | ||||
|     <a href="/">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
|   | ||||
| @@ -10,7 +10,7 @@ | ||||
|     <h1>VPPN</h1> | ||||
|     <nav> | ||||
|       {{if .Session.SignedIn -}} | ||||
|       <a href="/admin/config/">Home</a> / | ||||
|       <a href="/admin/networks/list/">Home</a> / | ||||
|       <a href="/admin/sign-out/">Sign out</a> | ||||
|       {{- end}} | ||||
|     </nav> | ||||
|   | ||||
							
								
								
									
										25
									
								
								hub/templates/network/base.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								hub/templates/network/base.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| <!DOCTYPE html> | ||||
| <html lang="en"> | ||||
| <head> | ||||
|   <title>VPPN Hub</title> | ||||
|   <link rel="stylesheet" href="/static/new.min.css"> | ||||
|     <link rel="stylesheet" href="/static/custom.css"> | ||||
| </head> | ||||
| <body> | ||||
|   <header> | ||||
|     <h1>VPPN</h1> | ||||
|     <nav> | ||||
|       {{if .Session.SignedIn -}} | ||||
|       <a href="/admin/networks/list/">Home</a> / | ||||
|       <a href="/admin/sign-out/">Sign out</a> | ||||
|       {{- end}} | ||||
|     </nav> | ||||
|   </header> | ||||
|   <h2> | ||||
|     Network: | ||||
|     <a href="/admin/network/view/?NetworkID={{.Network.NetworkID}}">{{.Network.Name}}</a> | ||||
|   </h2> | ||||
|  | ||||
|   {{block "body" .}}There's nothing here.{{end}} | ||||
| </body> | ||||
| </html> | ||||
							
								
								
									
										16
									
								
								hub/templates/network/network-delete.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								hub/templates/network/network-delete.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| {{define "body" -}} | ||||
| <h3>Delete</h3> | ||||
|  | ||||
| {{if .Peers -}} | ||||
| <p>You must first delete all peers.</p> | ||||
| {{- else -}} | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{.Session.CSRF}}"> | ||||
|   <input type="hidden" name="NetworkID" value="{{.Network.NetworkID}}"> | ||||
|   <p> | ||||
|     <button type="submit">Delete</button> | ||||
|     <a href="/admin/network/view/?NetworkID={{.Network.NetworkID}}">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
| {{- end}} | ||||
| @@ -1,27 +1,20 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Config</h2> | ||||
| 
 | ||||
| <p> | ||||
|   <a href="/admin/config/edit/">Edit</a> / | ||||
|   <a href="/admin/password/edit/">Change Password</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"> | ||||
|   <tr> | ||||
|     <td>Hub Address</td> | ||||
|     <td>{{.Config.HubAddress}}</td> | ||||
|   </tr> | ||||
|   <tr> | ||||
|     <td>VPN Network</td> | ||||
|     <td>{{ipToString .Config.VPNNetwork}}</td> | ||||
|     <td>Network</td> | ||||
|     <td>{{ipToString .Network.Network}}/24</td> | ||||
|   </tr> | ||||
| </table> | ||||
| 
 | ||||
| <h2>Peers</h2> | ||||
| <h3>Peers</h3> | ||||
| 
 | ||||
| <p> | ||||
|   <a href="/admin/peer/create/">Add Peer</a> / | ||||
|   <a href="/admin/peer/hosts/">Hosts</a> | ||||
|   <a href="/admin/peer/create/?NetworkID={{.Network.NetworkID}}">Create</a> | ||||
| </p> | ||||
| 
 | ||||
| {{if .Peers -}} | ||||
| @@ -39,7 +32,7 @@ | ||||
|   {{range .Peers -}} | ||||
|   <tr> | ||||
|     <td> | ||||
|       <a href="/admin/peer/view/?PeerIP={{.PeerIP}}"> | ||||
|       <a href="/admin/peer/view/?NetworkID={{$.Network.NetworkID}}&PeerIP={{.PeerIP}}"> | ||||
|         {{.PeerIP}} | ||||
|       </a> | ||||
|     </td> | ||||
| @@ -1,8 +1,9 @@ | ||||
| {{define "body" -}} | ||||
| <h2>New Peer</h2> | ||||
| <h3>New Peer</h3> | ||||
| 
 | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{.Session.CSRF}}"> | ||||
|   <input type="hidden" name="NetworkID" value="{{.Network.NetworkID}}"> | ||||
|   <p> | ||||
|     <label>IP</label><br> | ||||
|     <input type="number" name="IP" min="1" max="255" value="0"> | ||||
| @@ -27,7 +28,7 @@ | ||||
|   </p> | ||||
|   <p> | ||||
|     <button type="submit">Save</button> | ||||
|     <a href="/admin/config/">Cancel</a> | ||||
|     <a href="/admin/network/view/?NetworkID={{.Network.NetworkID}}">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| 
 | ||||
							
								
								
									
										15
									
								
								hub/templates/network/peer-delete.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								hub/templates/network/peer-delete.html
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| {{define "body" -}} | ||||
| <h3>Delete {{.Peer.Name}}</h3> | ||||
|  | ||||
| {{with .Peer -}} | ||||
| <form method="POST"> | ||||
|   <input type="hidden" name="CSRF" value="{{$.Session.CSRF}}"> | ||||
|   <input type="hidden" name="NetworkID" value="{{.NetworkID}}"> | ||||
|   <input type="hidden" name="NetworkID" value="{{.PeerIP}}"> | ||||
|   <p> | ||||
|     <button type="submit">Delete</button> | ||||
|     <a href="/admin/peer/view/?PeerIP={{.PeerIP}}&NetworkID={{.NetworkID}}">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
| {{- end}} | ||||
| @@ -6,7 +6,7 @@ | ||||
|   <input type="hidden" name="CSRF" value="{{$.Session.CSRF}}"> | ||||
|   <p> | ||||
|     <label>Peer IP</label><br> | ||||
|     <input type="number" name="PeerIP" value="{{.PeerIP}}" disabled> | ||||
|     <input type="text" value="{{.PeerIP}}" disabled> | ||||
|   </p> | ||||
|   <p> | ||||
|     <label>Name</label><br> | ||||
| @@ -28,9 +28,8 @@ | ||||
|   </p> | ||||
|   <p> | ||||
|     <button type="submit">Save</button> | ||||
|     <a href="/admin/peer/view/?PeerIP={{.PeerIP}}">Cancel</a> | ||||
|     <a href="/admin/peer/view/?NetworkID={{$.Network.NetworkID}}&PeerIP={{.PeerIP}}">Cancel</a> | ||||
|   </p> | ||||
| </form> | ||||
| {{- end}} | ||||
| 
 | ||||
| {{- end}} | ||||
| @@ -1,20 +1,25 @@ | ||||
| {{define "body" -}} | ||||
| <h2>Peer</h2> | ||||
| 
 | ||||
| <h3>{{.Peer.Name}}</h3> | ||||
| <p> | ||||
|   <a href="/admin/peer/edit/?PeerIP={{.Peer.PeerIP}}">Edit</a> / | ||||
|   <a href="/admin/peer/delete/?PeerIP={{.Peer.PeerIP}}">Delete</a> | ||||
|   <a href="/admin/peer/edit/?NetworkID={{.Network.NetworkID}}&PeerIP={{.Peer.PeerIP}}">Edit</a> / | ||||
|   <a href="/admin/peer/delete/?NetworkID={{.Network.NetworkID}}&PeerIP={{.Peer.PeerIP}}">Delete</a> | ||||
| </p> | ||||
| 
 | ||||
| {{with .Peer -}} | ||||
| <table class="def-list"> | ||||
|   <tr><td>Peer IP</td><td>{{.PeerIP}}</td></tr> | ||||
|   <tr><td>Name</td><td>{{.Name}}</td></tr> | ||||
|   <tr><td>Public IP</td><td>{{ipToString .PublicIP}}</td></tr> | ||||
|   <tr><td>Port</td><td>{{.Port}}</td></tr> | ||||
|   <tr><td>Relay</td><td>{{if .Relay}}T{{else}}F{{end}}</td></tr> | ||||
|   <tr><td>API Key</td><td>{{.APIKey}}</td></tr> | ||||
| </td></tr> | ||||
| </table> | ||||
| 
 | ||||
| <details> | ||||
|   <summary>API Key</summary> | ||||
|   <p>{{.APIKey}}</p> | ||||
| </details> | ||||
| 
 | ||||
| 
 | ||||
| {{- end}} | ||||
| 
 | ||||
| {{- end}} | ||||
		Reference in New Issue
	
	Block a user