1
0
mirror of https://github.com/turtlemonvh/tnnlr.git synced 2021-09-26 15:22:24 +03:00
Files
tnnlr-tunnel-ssh-port-forwa…/templates.go
2018-08-12 10:46:31 -04:00

152 lines
4.2 KiB
Go

package tnnlr
var homePage string = `
<!doctype html>
<head>
<title>Tnnlr</title>
<style>
#tips {
float: left;
clear: left;
}
#tips > h2 {
float: none;
}
table {
float: left;
clear: left;
}
table, tr,td {
border: 1px solid black;
padding: 2px;
}
.msg {
font-weight: bold;
border: 1px solid red;
padding: 10px;
float: left;
clear: both;
}
form {
float: left;
clear: both;
margin: 10px 0px 10px 0px;
}
h2 {
float: left;
clear: left;
margin: 20px 0px 20px 0px;
}
.submit input {
float: right;
}
</style>
</head>
<body>
{{ if $.HasMessages }}
<h2>Messages</h2>
{{range $nmsg, $msg := $.Messages }}
<p class="msg"><i>{{ $msg.Tstring }}</i> : {{ $msg.Mstring }}</p>
{{ end }}
{{ end }}
<h2>Existing tunnels</h2>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Host</th>
<th>Local Port</th>
<th>Remote Port</th>
<th>Default URL</th>
<th>Bash Command</th>
<th>Logs</th>
<th>Is Alive?</th>
<th>Remove</th>
<th>Reload</th>
</tr>
{{range $tunnelId, $tunnel := $.Tunnels }}
<tr>
<td>{{ $tunnelId }}</td>
<td>{{ $tunnel.Name }}</td>
<td>{{ $tunnel.Host }}</td>
<td>{{ $tunnel.LocalPort }}</td>
<td>{{ $tunnel.RemotePort }}</td>
<td>
<a href="http://localhost:{{ $tunnel.LocalPort }}{{ $tunnel.DefaultUrl }}" target="_blank">
http://localhost:{{ $tunnel.LocalPort }}{{ $tunnel.DefaultUrl }}
</a>
</td>
<td>
<a href="bash_command/{{ $tunnelId }}/" target="_blank">Show command</a>
</td>
<td>
<a href="logs/{{ $tunnelId }}/" target="_blank">Show logs</a>
</td>
<td>{{ $tunnel.IsAlive }}</td>
<td><a href="remove/{{ $tunnelId }}/">Remove</a></td>
<td><a href="reload/{{ $tunnelId }}/">Reload</a></td>
</tr>
{{ end }}
</table>
<form action="/save/" method="post">
<input type="submit" value="Save Tunnels to File">
</form>
<form action="/reload/" method="post">
<input type="submit" value="Reload Tunnels from File">
</form>
<h2>Add new tunnel</h2>
<form class="new_tunnel" action="/add/" method="post">
<table>
<tr>
<td>Tunnel Name</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td>Host</td>
<td><input type="text" name="host"></td>
</tr>
<tr>
<td>SSH Username</td>
<td><input type="text" name="username"></td>
</tr>
<tr>
<td>Local Port</td>
<td><input type="text" name="localPort"></td>
</tr>
<tr>
<td>Remote Port</td>
<td><input type="text" name="remotePort"></td>
</tr>
<tr>
<td>Default URL</td>
<td><input type="text" name="defaultUrl"></td>
</tr>
<tr>
<td colspan="2" class="submit"><input type="submit" value="Submit"></td>
</tr>
</table>
</form>
<div id="tips">
<hr>
<h2>Tips</h2>
<ul>
<li>
The process may be marked "not alive" because of a network timeout. Try reloading this page to check status again.
</li>
<li>
Running "reload" both re-loads the definition of a process disk and restarts that process. Be sure to save any edited process state to disk before reloading.
</li>
<li>
Leave the "SSH Username" section of the form empty when adding a new tunnel to use the default value specified in your ssh config.
</li>
</ul>
</div>
</body>
`