* always check needed config on startup

+ added Dockerfile
This commit is contained in:
Kevin Froman 2018-08-05 01:35:49 -05:00
parent 307fbf235a
commit 2907471b5f
No known key found for this signature in database
GPG Key ID: 0D414D0FE405B63B
2 changed files with 35 additions and 12 deletions

22
Dockerfile Normal file
View File

@ -0,0 +1,22 @@
FROM ubuntu:xenial
#Base settings
ENV HOME /root
#Install needed packages
RUN apt update && apt install -y python3 python3-dev python3-pip tor
#Add Onionr source
COPY . /root
VOLUME /root/data
WORKDIR /root
RUN pip3 install -r requirements.txt
#Set upstart command
#CMD (! ${ENABLE_TOR} || tor&) && python zeronet.py --ui_ip 0.0.0.0 --fileserver_port 26552
CMD bash
#Expose ports
EXPOSE 8080

View File

@ -135,18 +135,19 @@ class Onionr:
self.onionrCore.createAddressDB()
# Get configuration
if not data_exists:
# Generate default config
# Hostname should only be set if different from 127.x.x.x. Important for DNS rebinding attack prevention.
if self.debug:
randomPort = 8080
else:
while True:
if type(config.get('client.hmac')) is type(None):
config.set('client.hmac', base64.b16encode(os.urandom(32)).decode('utf-8'), savefile=True)
if type(config.get('client.port')) is type(None):
#while True:
randomPort = random.randint(1024, 65535)
if self.onionrUtils.checkPort(randomPort):
break
config.set('client', {'participate': True, 'hmac': base64.b16encode(os.urandom(32)).decode('utf-8'), 'port': randomPort, 'api_version': API_VERSION}, True)
# if self.onionrUtils.checkPort(randomPort):
# break
config.set('client.port', randomPort, savefile=True)
if type(config.get('client.participate')) is type(None):
config.set('client.participate', True, savefile=True)
if type(config.get('client.api_version')) is type(None):
config.set('client.api_version', API_VERSION, savefile=True)
self.cmds = {
'': self.showHelpSuggestion,