4 Commits

Author SHA1 Message Date
afc227b5b4 fix: Remove some unnecessary logs
All checks were successful
Build Docker / Build Image (push) Successful in 43s
2025-02-05 14:53:33 +11:00
ab7749ef93 fix: Allow desciption to have HTML in plugin output 2025-02-05 14:39:52 +11:00
a568abeb49 fix: Don't import gunicorn unless specified by args
All checks were successful
Build Docker / Build Image (push) Successful in 45s
2025-02-05 13:51:01 +11:00
4652af3a2d feat: Add new server backend to add windows support
All checks were successful
Build Docker / Build Image (push) Successful in 1m18s
2025-02-05 13:20:09 +11:00
7 changed files with 40 additions and 37 deletions

4
.gitignore vendored
View File

@@ -13,4 +13,6 @@ plugins/signatures.json
user_data/
customPlugins/
cache/
cache/
build/
dist/

Binary file not shown.

View File

@@ -436,7 +436,6 @@ def send(account,address,amount):
def isOwnDomain(account,name: str):
domains = getDomains(account)
for domain in domains:
print(domain)
if domain['name'] == name:
return True
return False
@@ -1139,7 +1138,6 @@ def getxPub(account):
try:
print(account_name)
response = hsw.getAccountInfo(account_name,"default")
if 'error' in response:
return {

View File

@@ -551,7 +551,6 @@ def finalize(domain: str):
return redirect("/logout")
domain = domain.lower()
print(domain)
response = account_module.finalize(request.cookies.get("account"),domain)
if response['error'] != None:
print(response)
@@ -570,7 +569,6 @@ def cancelTransfer(domain: str):
return redirect("/logout")
domain = domain.lower()
print(domain)
response = account_module.cancelTransfer(request.cookies.get("account"),domain)
if 'error' in response:
if response['error'] != None:
@@ -885,7 +883,6 @@ def auction(domain):
# Get TX
revealInfo = account_module.getRevealTX(reveal)
reveal['bid'] = revealInfo
print(revealInfo)
bids = render.bids(bids,reveals)
@@ -947,7 +944,6 @@ def rescan_auction(domain):
domain = domain.lower()
response = account_module.rescan_auction(account,domain)
print(response)
return redirect("/auction/" + domain)
@app.route('/auction/<domain>/bid')
@@ -1023,7 +1019,7 @@ def bid_confirm(domain):
response = account_module.bid(request.cookies.get("account"),domain,
float(bid),
float(blind))
print(response)
if 'error' in response:
return redirect("/auction/" + domain + "?error=" + response['error']['message'])
@@ -1045,7 +1041,7 @@ def open_auction(domain):
if 'error' in response:
if response['error'] != None:
return redirect("/auction/" + domain + "?error=" + response['error']['message'])
print(response)
return redirect("/success?tx=" + response['hash'])
@app.route('/auction/<domain>/reveal')

View File

@@ -8,4 +8,5 @@ cryptography
requests-doh
Flask-QRcode
PySocks
python-git-info
python-git-info
waitress

View File

@@ -1,38 +1,44 @@
from flask import Flask
from main import app
import main
from gunicorn.app.base import BaseApplication
import os
import sys
import platform
from main import app
from waitress import serve
class GunicornApp(BaseApplication):
def __init__(self, app, options=None):
self.options = options or {}
self.application = app
super().__init__()
threads = 4
def load_config(self):
for key, value in self.options.items():
if key in self.cfg.settings and value is not None:
self.cfg.set(key.lower(), value)
def gunicornServer():
from gunicorn.app.base import BaseApplication
class GunicornApp(BaseApplication):
def __init__(self, app, options=None):
self.options = options or {}
self.application = app
super().__init__()
def load(self):
return self.application
def load_config(self):
for key, value in self.options.items():
if key in self.cfg.settings and value is not None:
self.cfg.set(key.lower(), value)
if __name__ == '__main__':
workers = 1
threads = 2
if workers is None:
workers = 1
if threads is None:
threads = 2
workers = int(workers)
threads = int(threads)
def load(self):
return self.application
options = {
'bind': '0.0.0.0:5000',
'workers': workers,
'workers': 2,
'threads': threads,
}
gunicorn_app = GunicornApp(app, options)
print('Starting server with ' + str(workers) + ' workers and ' + str(threads) + ' threads', flush=True)
print(f'Starting server with Gunicorn on {platform.system()} with {threads} threads...', flush=True)
gunicorn_app.run()
if __name__ == '__main__':
# Check if --gunicorn is in the command line arguments
if "--gunicorn" in sys.argv:
gunicornServer()
sys.exit()
print(f'Starting server with Waitress on {platform.system()} with {threads} threads...', flush=True)
print(f'Press Ctrl+C to stop the server', flush=True)
print(f'Serving on http://0.0.0.0:5000/', flush=True)
serve(app, host="0.0.0.0", port=5000, threads=threads)

View File

@@ -64,7 +64,7 @@
</nav>
<div class="container-fluid" style="margin-bottom: 20px;">
<h3 class="text-dark mb-1">{{name}}</h3>
<h4 class="text-dark mb-1">{{description}}</h4>{{output|safe}}
<h4 class="text-dark mb-1">{{description|safe}}</h4>{{output|safe}}
</div>
</div>
<footer class="sticky-footer" style="background: var(--bs-primary-text-emphasis);">