|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
<head>
|
|
|
|
<title>Purple I2P 0.10.0 Webconsole</title>
|
|
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<link rel="stylesheet" href="css/main.css">
|
|
|
|
<script type="text/javascript" src="javascript/I2PControl.js"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
function updateRouterInfo(result, session) {
|
|
|
|
if(session.error) {
|
|
|
|
alert("Error: " + session.error["message"]);
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
I2PControl.updateDocument({
|
|
|
|
"version" : result["i2p.router.version"],
|
|
|
|
"status" : I2PControl.statusToString(result["i2p.router.net.status"]),
|
|
|
|
"uptime" : I2PControl.msToString(result["i2p.router.uptime"]),
|
|
|
|
"knownpeers" : result["i2p.router.netdb.knownpeers"],
|
|
|
|
"activepeers" : result["i2p.router.netdb.activepeers"],
|
|
|
|
"tunnels-participating" : result["i2p.router.net.tunnels.participating"],
|
|
|
|
"tunnels-successrate" : result["i2p.router.net.tunnels.creationsuccessrate"] + "%",
|
|
|
|
"bw-in" : result["i2p.router.net.bw.inbound.1s"],
|
|
|
|
"bw-out" : result["i2p.router.net.bw.outbound.1s"]
|
|
|
|
});
|
|
|
|
|
|
|
|
window.setTimeout(function() { requestRouterInfo(session); }, 5000);
|
|
|
|
}
|
|
|
|
|
|
|
|
function requestRouterInfo(session) {
|
|
|
|
session.request("RouterInfo", {
|
|
|
|
"i2p.router.version" : "",
|
|
|
|
"i2p.router.net.status" : "",
|
|
|
|
"i2p.router.uptime" : "",
|
|
|
|
"i2p.router.netdb.knownpeers" : "",
|
|
|
|
"i2p.router.netdb.activepeers" : "",
|
|
|
|
"i2p.router.net.tunnels.participating" : "",
|
|
|
|
"i2p.router.net.tunnels.creationsuccessrate" : "",
|
|
|
|
"i2p.router.net.bw.inbound.1s" : "",
|
|
|
|
"i2p.router.net.bw.outbound.1s" : ""
|
|
|
|
}, updateRouterInfo);
|
|
|
|
}
|
|
|
|
|
|
|
|
window.onload = function() {
|
|
|
|
var session = new I2PControl.Session("itoopie");
|
|
|
|
session.start(function() { requestRouterInfo(session); });
|
|
|
|
document.getElementById("shutdown").onclick = function() {
|
|
|
|
session.request("RouterManager", {"Shutdown" : ""}, function() {});
|
|
|
|
this.disabled = true;
|
|
|
|
};
|
|
|
|
document.getElementById("shutdown-graceful").onclick = function() {
|
|
|
|
session.request("RouterManager", {"ShutdownGraceful" : ""}, function() {});
|
|
|
|
this.disabled = true;
|
|
|
|
};
|
|
|
|
document.getElementById("reseed").onclick = function() {
|
|
|
|
session.request("RouterManager", {"Reseed" : ""}, function() {});
|
|
|
|
this.disabled = true;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
</script>
|
|
|
|
</head>
|
|
|
|
|
|
|
|
<body>
|
|
|
|
<div class="header">
|
|
|
|
<h1>i2pd router console</h1>
|
|
|
|
<h2>Version: <span id="version"></span>, uptime: <span id="uptime"></span></h2>
|
|
|
|
<h2>Network status: <span id="status"></span></h2>
|
|
|
|
<p>
|
|
|
|
<button id="shutdown-graceful">graceful shutdown</button>
|
|
|
|
<button id="shutdown">force shutdown</button>
|
|
|
|
<button id="restart" disabled>restart</button>
|
|
|
|
<button id="reseed">reseed</button>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="content">
|
|
|
|
<h2 class="content-subhead">
|
|
|
|
Tunnels participating: <span id="tunnels-participating"></span>
|
|
|
|
</h2>
|
|
|
|
<h2 class="content-subhead">
|
|
|
|
Tunnel create success rate: <span id="tunnels-successrate"></span>
|
|
|
|
</h2>
|
|
|
|
<h2 class="content-subhead">
|
|
|
|
Active peers: <span id="activepeers"></span>
|
|
|
|
</h2>
|
|
|
|
<h2 class="content-subhead">
|
|
|
|
Known peers: <span id="knownpeers"></span>
|
|
|
|
</h2>
|
|
|
|
<h2 class="content-subhead">
|
|
|
|
Bandwidth:
|
|
|
|
in <span id="bw-in"></span> Bps /
|
|
|
|
out <span id="bw-out"></span> Bps
|
|
|
|
</h2>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<!--#include virtual="menu.html" -->
|
|
|
|
<!--#include virtual="footer.html" -->
|
|
|
|
|
|
|
|
</body>
|
|
|
|
</html>
|