move settings to file, fix error if no banned_addresses.txt

This commit is contained in:
James Taylor 2018-07-13 15:51:04 -07:00
parent c3b9f8c458
commit 12382d5205
3 changed files with 24 additions and 10 deletions

1
.gitignore vendored
View File

@ -4,3 +4,4 @@ __pycache__/
debug/ debug/
data/ data/
banned_addresses.txt banned_addresses.txt
settings.txt

View File

@ -10,13 +10,15 @@ import socks
import subprocess import subprocess
import re import re
ROUTE_TOR = True import settings
PORT_NUMBER=80
ALLOW_FOREIGN_ADDRESSES=False
BAN_FILE = "banned_addresses.txt" BAN_FILE = "banned_addresses.txt"
try:
with open(BAN_FILE, 'r') as f: with open(BAN_FILE, 'r') as f:
banned_addresses = f.read().splitlines() banned_addresses = f.read().splitlines()
except FileNotFoundError:
banned_addresses = ()
def ban_address(address): def ban_address(address):
banned_addresses.append(address) banned_addresses.append(address)
@ -127,15 +129,15 @@ def site_dispatch(env, start_response):
if ROUTE_TOR: if settings.route_tor:
#subprocess.Popen(TOR_PATH) #subprocess.Popen(TOR_PATH)
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9150) socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', 9150)
socket.socket = socks.socksocket socket.socket = socks.socksocket
gevent.socket.socket = socks.socksocket gevent.socket.socket = socks.socksocket
if ALLOW_FOREIGN_ADDRESSES: if settings.allow_foreign_addresses:
server = WSGIServer(('0.0.0.0', PORT_NUMBER), site_dispatch) server = WSGIServer(('0.0.0.0', settings.port_number), site_dispatch)
else: else:
server = WSGIServer(('127.0.0.1', PORT_NUMBER), site_dispatch) server = WSGIServer(('127.0.0.1', settings.port_number), site_dispatch)
print('Started httpserver on port ' , PORT_NUMBER) print('Started httpserver on port ' , settings.port_number)
server.serve_forever() server.serve_forever()

11
settings.py Normal file
View File

@ -0,0 +1,11 @@
default_settings = '''route_tor = False
port_number = 80
allow_foreign_addresses = False
'''
exec(default_settings)
try:
with open('settings.txt', 'r', encoding='utf-8') as file:
exec(file.read())
except FileNotFoundError:
with open('settings.txt', 'a', encoding='utf-8') as file:
file.write(default_settings)