parent
98c6add637
commit
9f35efc31d
8 changed files with 17 additions and 44 deletions
|
@ -9,8 +9,8 @@ import ConfigParser
|
||||||
class Config(object):
|
class Config(object):
|
||||||
|
|
||||||
def __init__(self, argv):
|
def __init__(self, argv):
|
||||||
self.version = "0.6.2"
|
self.version = "0.6.1"
|
||||||
self.rev = 3310
|
self.rev = 3234
|
||||||
self.argv = argv
|
self.argv = argv
|
||||||
self.action = None
|
self.action = None
|
||||||
self.config_file = "zeronet.conf"
|
self.config_file = "zeronet.conf"
|
||||||
|
|
|
@ -448,7 +448,6 @@ class UiRequest(object):
|
||||||
|
|
||||||
address = path_parts["address"]
|
address = path_parts["address"]
|
||||||
file_path = "%s/%s/%s" % (config.data_dir, address, path_parts["inner_path"])
|
file_path = "%s/%s/%s" % (config.data_dir, address, path_parts["inner_path"])
|
||||||
|
|
||||||
if config.debug and file_path.split("/")[-1].startswith("all."):
|
if config.debug and file_path.split("/")[-1].startswith("all."):
|
||||||
# If debugging merge *.css to all.css and *.js to all.js
|
# If debugging merge *.css to all.css and *.js to all.js
|
||||||
site = self.server.sites.get(address)
|
site = self.server.sites.get(address)
|
||||||
|
|
|
@ -36,7 +36,7 @@ class UiWebsocket(object):
|
||||||
self.send_queue = [] # Messages to send to client
|
self.send_queue = [] # Messages to send to client
|
||||||
self.admin_commands = (
|
self.admin_commands = (
|
||||||
"sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit",
|
"sitePause", "siteResume", "siteDelete", "siteList", "siteSetLimit",
|
||||||
"channelJoinAllsite", "serverUpdate", "serverPortcheck", "serverShutdown",
|
"channelJoinAllsite", "serverUpdate", "serverPortcheck", "serverShutdown", "serverShowdirectory",
|
||||||
"certSet", "configSet", "permissionAdd", "permissionRemove"
|
"certSet", "configSet", "permissionAdd", "permissionRemove"
|
||||||
)
|
)
|
||||||
self.async_commands = ("fileGet", "fileList", "dirList", "fileNeed")
|
self.async_commands = ("fileGet", "fileList", "dirList", "fileNeed")
|
||||||
|
|
|
@ -531,6 +531,6 @@ if origin.indexOf("https:") == 0
|
||||||
else
|
else
|
||||||
proto = { ws: 'ws', http: 'http' }
|
proto = { ws: 'ws', http: 'http' }
|
||||||
|
|
||||||
ws_url = proto.ws + ":" + origin.replace(proto.http+":", "") + "/ZeroNet-Internal/Websocket?wrapper_key=" + window.wrapper_key
|
ws_url = proto.ws + ":" + origin.replace(proto.http+":", "") + "/Websocket?wrapper_key=" + window.wrapper_key
|
||||||
|
|
||||||
window.wrapper = new Wrapper(ws_url)
|
window.wrapper = new Wrapper(ws_url)
|
||||||
|
|
|
@ -1564,7 +1564,7 @@ jQuery.extend( jQuery.easing,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
ws_url = proto.ws + ":" + origin.replace(proto.http + ":", "") + "/ZeroNet-Internal/Websocket?wrapper_key=" + window.wrapper_key;
|
ws_url = proto.ws + ":" + origin.replace(proto.http + ":", "") + "/Websocket?wrapper_key=" + window.wrapper_key;
|
||||||
|
|
||||||
window.wrapper = new Wrapper(ws_url);
|
window.wrapper = new Wrapper(ws_url);
|
||||||
|
|
||||||
|
|
|
@ -39,13 +39,17 @@ class User(object):
|
||||||
user_data["sites"] = self.sites
|
user_data["sites"] = self.sites
|
||||||
user_data["certs"] = self.certs
|
user_data["certs"] = self.certs
|
||||||
helper.atomicWrite("%s/users.json" % config.data_dir, json.dumps(users, indent=2, sort_keys=True))
|
helper.atomicWrite("%s/users.json" % config.data_dir, json.dumps(users, indent=2, sort_keys=True))
|
||||||
self.log.debug("Saved in %.3fs" % (time.time() - s))
|
self.log.debug("Saved in %.3fs" % (time.time()-s))
|
||||||
|
|
||||||
def getAddressAuthIndex(self, address):
|
def getAddressAuthIndex(self, address):
|
||||||
return int(address.encode("hex"), 16)
|
return int(address.encode("hex"), 16)
|
||||||
|
|
||||||
@util.Noparallel()
|
# Get user site data
|
||||||
def generateAuthAddress(self, address):
|
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
|
||||||
|
def getSiteData(self, address, create=True):
|
||||||
|
if address not in self.sites: # Generate new BIP32 child key based on site address
|
||||||
|
if not create:
|
||||||
|
return {"auth_address": None, "auth_privatekey": None} # Dont create user yet
|
||||||
s = time.time()
|
s = time.time()
|
||||||
address_id = self.getAddressAuthIndex(address) # Convert site address to int
|
address_id = self.getAddressAuthIndex(address) # Convert site address to int
|
||||||
auth_privatekey = CryptBitcoin.hdPrivatekey(self.master_seed, address_id)
|
auth_privatekey = CryptBitcoin.hdPrivatekey(self.master_seed, address_id)
|
||||||
|
@ -57,15 +61,6 @@ class User(object):
|
||||||
self.log.debug("Added new site: %s in %.3fs" % (address, time.time() - s))
|
self.log.debug("Added new site: %s in %.3fs" % (address, time.time() - s))
|
||||||
return self.sites[address]
|
return self.sites[address]
|
||||||
|
|
||||||
# Get user site data
|
|
||||||
# Return: {"auth_address": "xxx", "auth_privatekey": "xxx"}
|
|
||||||
def getSiteData(self, address, create=True):
|
|
||||||
if address not in self.sites: # Generate new BIP32 child key based on site address
|
|
||||||
if not create:
|
|
||||||
return {"auth_address": None, "auth_privatekey": None} # Dont create user yet
|
|
||||||
self.generateAuthAddress(address)
|
|
||||||
return self.sites[address]
|
|
||||||
|
|
||||||
def deleteSiteData(self, address):
|
def deleteSiteData(self, address):
|
||||||
if address in self.sites:
|
if address in self.sites:
|
||||||
del(self.sites[address])
|
del(self.sites[address])
|
||||||
|
|
|
@ -60,18 +60,6 @@ class Worker(object):
|
||||||
))
|
))
|
||||||
break
|
break
|
||||||
|
|
||||||
if sleep_i % 10 == 0:
|
|
||||||
workers = self.manager.findWorkers(task)
|
|
||||||
if not workers or not workers[0].peer.connection:
|
|
||||||
break
|
|
||||||
worker_idle = time.time() - workers[0].peer.connection.last_recv_time
|
|
||||||
if worker_idle > 1:
|
|
||||||
if config.verbose:
|
|
||||||
self.manager.log.debug("%s: %s, worker %s seems idle, picked up task after %ss sleep. (done: %s)" % (
|
|
||||||
self.key, task["inner_path"], workers[0].key, 0.1 * sleep_i, task["done"]
|
|
||||||
))
|
|
||||||
break
|
|
||||||
|
|
||||||
if task["done"]:
|
if task["done"]:
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
@ -98,19 +86,10 @@ class Worker(object):
|
||||||
correct = False
|
correct = False
|
||||||
if correct is True or correct is None: # Verify ok or same file
|
if correct is True or correct is None: # Verify ok or same file
|
||||||
self.manager.log.debug("%s: Verify correct: %s" % (self.key, task["inner_path"]))
|
self.manager.log.debug("%s: Verify correct: %s" % (self.key, task["inner_path"]))
|
||||||
write_error = None
|
|
||||||
if correct is True and task["done"] is False: # Save if changed and task not done yet
|
if correct is True and task["done"] is False: # Save if changed and task not done yet
|
||||||
buff.seek(0)
|
buff.seek(0)
|
||||||
try:
|
|
||||||
site.storage.write(task["inner_path"], buff)
|
site.storage.write(task["inner_path"], buff)
|
||||||
write_error = False
|
|
||||||
except Exception as err:
|
|
||||||
self.manage.log.error("Error writing: %s (%s)" % (task["inner_path"], err))
|
|
||||||
write_error = err
|
|
||||||
if task["done"] is False:
|
if task["done"] is False:
|
||||||
if write_error:
|
|
||||||
self.manager.failTask(task)
|
|
||||||
else:
|
|
||||||
self.manager.doneTask(task)
|
self.manager.doneTask(task)
|
||||||
task["workers_num"] -= 1
|
task["workers_num"] -= 1
|
||||||
else: # Verify failed
|
else: # Verify failed
|
||||||
|
|
Loading…
Reference in a new issue