parent
092233027c
commit
45940b2dba
14
src/httpapi/miscclientapi/addpeer.py
Normal file
14
src/httpapi/miscclientapi/addpeer.py
Normal file
@ -0,0 +1,14 @@
|
||||
from onionrutils.stringvalidators import validate_transport
|
||||
from coredb.keydb.addkeys import add_address
|
||||
from coredb.keydb.listkeys import list_adders
|
||||
|
||||
|
||||
def add_peer(peer):
|
||||
# this is ok for security since add_address does this manually
|
||||
assert validate_transport(peer)
|
||||
if peer in list_adders():
|
||||
return "already added"
|
||||
if add_address(peer):
|
||||
return "success"
|
||||
else:
|
||||
return "failure, invalid address"
|
@ -20,6 +20,7 @@ from onionrutils import bytesconverter
|
||||
from etc import onionrvalues
|
||||
from utils import reconstructhash
|
||||
from utils.gettransports import get as get_tor
|
||||
from .addpeer import add_peer
|
||||
"""
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
@ -46,6 +47,14 @@ class PrivateEndpoints:
|
||||
private_endpoints_bp = Blueprint('privateendpoints', __name__)
|
||||
self.private_endpoints_bp = private_endpoints_bp
|
||||
|
||||
@private_endpoints_bp.route('/addpeer/<name>', methods=['post'])
|
||||
def add_peer_endpoint(name):
|
||||
result = add_peer(name)
|
||||
if result == "success":
|
||||
return Response("success")
|
||||
else:
|
||||
return Response(result, 409)
|
||||
|
||||
@private_endpoints_bp.route('/www/<path:path>', endpoint='www')
|
||||
def wwwPublic(path):
|
||||
if not config.get("www.private.run", True):
|
||||
|
@ -205,7 +205,7 @@ def insert_block(data: Union[str, bytes], header: str = 'txt',
|
||||
|
||||
# send block data (and metadata) to POW module to get tokenized block data
|
||||
payload = subprocesspow.SubprocessPOW(data, metadata).start()
|
||||
print(payload)
|
||||
|
||||
if payload != False: # noqa
|
||||
try:
|
||||
retData = onionrstorage.set_data(payload)
|
||||
|
@ -10,6 +10,18 @@
|
||||
<div class="quickview-block">
|
||||
Blocks to upload: <span id="uploadBlocks">unknown</span>
|
||||
</div>
|
||||
<div class="quickview-block">
|
||||
<div class="field has-addons">
|
||||
<div class="control">
|
||||
<input class="input" type="text" placeholder="Node address" id="addPeerInput">
|
||||
</div>
|
||||
<div class="control">
|
||||
<a class="button is-info" id="addPeerBtn">
|
||||
Add Peer
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<button class="button is-primary is-hidden sidebarBtn" data-show="quickview" data-target="quickviewDefault">Show quickview</button>
|
||||
|
@ -7,8 +7,38 @@ fetch('/shared/sidebar/sidebar.html', {
|
||||
.then(function(resp) {
|
||||
document.getElementById('sidebarContainer').innerHTML = resp
|
||||
var quickviews = bulmaQuickview.attach()
|
||||
sidebarAddPeerRegister()
|
||||
})
|
||||
|
||||
function sidebarAddPeerRegister(){
|
||||
document.getElementById('addPeerBtn').onclick = function(){
|
||||
let newPeer = document.getElementById('addPeerInput').value
|
||||
fetch('/addpeer/' + newPeer, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
"token": webpass
|
||||
}})
|
||||
.then((resp) => resp.text())
|
||||
.then(function(data) {
|
||||
alert(data)
|
||||
if (data == "success"){
|
||||
PNotify.success({
|
||||
text: 'Peer added'
|
||||
})
|
||||
return
|
||||
}
|
||||
else if(data == "already added"){
|
||||
PNotify.notice({
|
||||
text: 'Peer already added'
|
||||
})
|
||||
return
|
||||
}
|
||||
PNotify.error({text: data})
|
||||
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener("keydown", function(event) {
|
||||
if (event.key === "s"){
|
||||
if (document.activeElement.nodeName == "TEXTAREA" || document.activeElement.nodeName == "INPUT"){
|
||||
@ -44,7 +74,6 @@ window.addEventListener("keydown", function(event) {
|
||||
}})
|
||||
.then((resp) => resp.text())
|
||||
.then(function(resp) {
|
||||
console.debug(resp.length, existingUploadValue)
|
||||
if (resp.length <= 2 && existingUploadValue !== "0"){
|
||||
document.getElementById("uploadBlocks").innerText = "0"
|
||||
return
|
||||
|
Loading…
Reference in New Issue
Block a user