work on runtime tests and onboarding
parent
dbb306d7ee
commit
c22f084315
|
@ -0,0 +1,7 @@
|
||||||
|
* Remove nav bar links for disabled plugins
|
||||||
|
* add GUI config editor
|
||||||
|
* add multi-device forward secrecy
|
||||||
|
* document anonymity & security theory
|
||||||
|
* document usage
|
||||||
|
* encrypt local data and keys
|
||||||
|
* ensure accessibility for Onionr web UI
|
|
@ -45,9 +45,9 @@ def insert_block(data: Union[str, bytes], header: str ='txt',
|
||||||
with open(filepaths.data_nonce_file, 'a') as nonceFile:
|
with open(filepaths.data_nonce_file, 'a') as nonceFile:
|
||||||
nonceFile.write(dataNonce + '\n')
|
nonceFile.write(dataNonce + '\n')
|
||||||
|
|
||||||
if type(data) is bytes:
|
#if type(data) is bytes:
|
||||||
data = data.decode()
|
# data = data.decode()
|
||||||
data = str(data)
|
#data = str(data)
|
||||||
plaintext = data
|
plaintext = data
|
||||||
plaintextMeta = {}
|
plaintextMeta = {}
|
||||||
plaintextPeer = asymPeer
|
plaintextPeer = asymPeer
|
||||||
|
|
|
@ -20,9 +20,9 @@
|
||||||
import logger
|
import logger
|
||||||
from onionrutils import epoch
|
from onionrutils import epoch
|
||||||
|
|
||||||
from . import uicheck
|
from . import uicheck, inserttest
|
||||||
|
|
||||||
RUN_TESTS = [uicheck.check_ui]
|
RUN_TESTS = [uicheck.check_ui, inserttest.insert_bin_test]
|
||||||
|
|
||||||
class OnionrRunTestManager:
|
class OnionrRunTestManager:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
|
|
|
@ -0,0 +1,13 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
import onionrblocks
|
||||||
|
import logger
|
||||||
|
import coredb
|
||||||
|
|
||||||
|
def insert_bin_test(testmanager):
|
||||||
|
data = os.urandom(32)
|
||||||
|
b_hash = onionrblocks.insert(data, )
|
||||||
|
|
||||||
|
if not b_hash in coredb.blockmetadb.get_block_list():
|
||||||
|
logger.error(str(b_hash) + 'is not in bl')
|
||||||
|
raise ValueError
|
|
@ -0,0 +1,233 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset='utf-8'>
|
||||||
|
<!--Mobile responsive-->
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<title>
|
||||||
|
Onionr
|
||||||
|
</title>
|
||||||
|
<link rel='shortcut icon' type='image/ico' href='/shared/images/favicon.ico'>
|
||||||
|
<link rel="stylesheet" href="/private/main.css">
|
||||||
|
<link rel="stylesheet" href="/shared/fontawesome-free-5.10.2/css/all.min.css">
|
||||||
|
<link rel="stylesheet" href="/gettheme">
|
||||||
|
<script defer src='/shared/navbar.js'></script>
|
||||||
|
<script defer src='/shared/loadabout.js'></script>
|
||||||
|
<script defer src='/shared/misc.js'></script>
|
||||||
|
<script defer src='/shared/main/stats.js'></script>
|
||||||
|
<script defer src='/shared/panel.js'></script>
|
||||||
|
<script defer src='/shared/configeditor.js'></script>
|
||||||
|
<script defer src='/shared/sites.js'></script>
|
||||||
|
<script defer src='/private/js/console.js'></script>
|
||||||
|
<script>alert("Content security policy appears to not be working. Your browser security is weak!")</script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<div id="shutdownNotice" class='overlay'>
|
||||||
|
<div>
|
||||||
|
<p>Your node will shutdown. Thank you for using Onionr.</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<nav class="navbar is-dark" role="navigation" aria-label="main navigation">
|
||||||
|
<div class="navbar-brand">
|
||||||
|
<a class="navbar-item idLink" href="/">
|
||||||
|
<img src="/shared/images/favicon.ico" class='navbarLogo'> Onionr
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false"
|
||||||
|
data-target="navbarBasicExample">
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
<span aria-hidden="true"></span>
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="navbarBasicExample" class="navbar-menu">
|
||||||
|
<div class="navbar-start">
|
||||||
|
<a class="navbar-item idLink" href="/">Home</a>
|
||||||
|
<a class="navbar-item idLink" href="/mail/">Mail</a>
|
||||||
|
<a class="navbar-item idLink" href="/friends/">Friends</a>
|
||||||
|
<a class="navbar-item idLink" href="/board/">Circles</a>
|
||||||
|
<a class="navbar-item idLink" href="/chat/">Chat</a>
|
||||||
|
</div>
|
||||||
|
<div class="navbar-end">
|
||||||
|
<a class="navbar-item idLink aboutLink">About</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</nav>
|
||||||
|
|
||||||
|
<!--Hero (Dark Bar)-->
|
||||||
|
<section class="hero is-small is-dark">
|
||||||
|
<div class="hero-body">
|
||||||
|
<div class="container">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<h1 class="title">
|
||||||
|
Onionr
|
||||||
|
</h1>
|
||||||
|
<h2 class="subtitle">
|
||||||
|
Private Decentralized Communication
|
||||||
|
</h2>
|
||||||
|
</div>
|
||||||
|
<div class="column is-7">
|
||||||
|
<div class="field">
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control">
|
||||||
|
<a class="button is-static">Identity</a>
|
||||||
|
</p>
|
||||||
|
<p class="control is-expanded">
|
||||||
|
<input id="myPub" class="input myPub" type="text" readonly>
|
||||||
|
</p>
|
||||||
|
<p class="control">
|
||||||
|
<a id="myPubCopy" class="button is-primary">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-copy"></i>
|
||||||
|
</span>
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="field is-grouped is-grouped-centered">
|
||||||
|
<p class="control">
|
||||||
|
<a class="button is-danger is-outlined" id='shutdownNode'>
|
||||||
|
Shutdown
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
<p class="control">
|
||||||
|
<a class="button is-warning is-outlined" id='restartNode'>
|
||||||
|
Restart
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
|
||||||
|
<br>
|
||||||
|
|
||||||
|
<!--Start of content-->
|
||||||
|
<div class="container">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<!--Onionr Card-->
|
||||||
|
<div class="card">
|
||||||
|
<header class="card-header">
|
||||||
|
<p class="card-header-title">
|
||||||
|
Onionr Sites
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
<div class="card-content">
|
||||||
|
<div class="content">
|
||||||
|
<div class="field">
|
||||||
|
<label class="label">Open Site</label>
|
||||||
|
<div class="field has-addons">
|
||||||
|
<p class="control is-expanded">
|
||||||
|
<input class="input" type="text" id='siteViewer' placeholder="Site Hash">
|
||||||
|
</p>
|
||||||
|
<p class="control">
|
||||||
|
<a id='openSite' class="button is-info">Open Onionr Site</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<!--Statistics Card-->
|
||||||
|
<div class="card">
|
||||||
|
<header class="card-header">
|
||||||
|
<p class="card-header-title">
|
||||||
|
Statistics
|
||||||
|
</p>
|
||||||
|
<div class="field">
|
||||||
|
<div class="is-pulled-right">
|
||||||
|
<a class="button is-link" id='refreshStats'>
|
||||||
|
Refresh Stats
|
||||||
|
</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="card-content">
|
||||||
|
<div class="content">
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<span class="icon">
|
||||||
|
<i class="fas fa-lock"></i>
|
||||||
|
</span>
|
||||||
|
Security level: <span id='securityLevel'></span>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<i class="fas fa-clock"></i>
|
||||||
|
Uptime: <span id='uptime'></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<h6>Session Connections</h6>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
️ Last Received: <span id='lastIncoming'>None since start</span>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<i class="fas fa-arrow-down"></i>
|
||||||
|
Total Requests: <span id='totalRec'>None since start</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<i class="fas fa-link"></i>
|
||||||
|
Outgoing Connections:
|
||||||
|
<div class="control">
|
||||||
|
<pre id='connectedNodes' class="textarea" rows="5" readonly>Unable to get nodes</pre>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<h6>Blocks</h6>
|
||||||
|
<div class="columns">
|
||||||
|
<div class="column">
|
||||||
|
<i class="fas fa-hdd"></i>
|
||||||
|
Stored Blocks: <span id='storedBlocks'></span>
|
||||||
|
</div>
|
||||||
|
<div class="column">
|
||||||
|
<i class="fas fa-mail-bulk"></i>
|
||||||
|
Blocks in queue: <span id='blockQueue'></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!--Configuration Card-->
|
||||||
|
<div class="card">
|
||||||
|
<header class="card-header" id="configToggle">
|
||||||
|
<p class="card-header-title">
|
||||||
|
<a class="button is-white">Edit Configuration</a>
|
||||||
|
</p>
|
||||||
|
</header>
|
||||||
|
<div class="card-content" id="configContent">
|
||||||
|
<div class="content">
|
||||||
|
<p><em>Warning: </em><b>Some values can be dangerous to change. Use caution.</b></p>
|
||||||
|
<textarea class='textarea configEditor' rows="20"></textarea>
|
||||||
|
<a class="button is-primary saveConfig">Save Config</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<br>
|
||||||
|
<div class="modal aboutModal">
|
||||||
|
<div class="modal-background"></div>
|
||||||
|
<div class="modal-card">
|
||||||
|
<header class="modal-card-head">
|
||||||
|
<button class="closeAboutModal delete" aria-label="close"></button>
|
||||||
|
</header>
|
||||||
|
<section class="modal-card-body aboutBody">
|
||||||
|
Loading... <i class="fas fa-spinner fa-spin"></i>
|
||||||
|
</section>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
|
@ -207,7 +207,7 @@
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<header class="card-header" id="configToggle">
|
<header class="card-header" id="configToggle">
|
||||||
<p class="card-header-title">
|
<p class="card-header-title">
|
||||||
<a class="button is-white is-fullwidth">Edit Configuration</a>
|
<a class="button is-white">Edit Configuration</a>
|
||||||
</p>
|
</p>
|
||||||
</header>
|
</header>
|
||||||
<div class="card-content" id="configContent">
|
<div class="card-content" id="configContent">
|
||||||
|
|
Loading…
Reference in New Issue