Removed batch files, added WIP run wrapper script
This commit is contained in:
parent
247b1f616d
commit
c7e0b6c1b2
75
run-onionr-node.py
Executable file
75
run-onionr-node.py
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
from threading import Thread
|
||||||
|
from time import sleep
|
||||||
|
from subprocess import PIPE
|
||||||
|
|
||||||
|
import ujson
|
||||||
|
from psutil import Popen
|
||||||
|
from psutil import Process
|
||||||
|
import psutil
|
||||||
|
|
||||||
|
import sys
|
||||||
|
|
||||||
|
script_dir = os.path.dirname(os.path.realpath(__file__))
|
||||||
|
sys.path.append(script_dir + '/src/')
|
||||||
|
|
||||||
|
from etc import onionrvalues
|
||||||
|
|
||||||
|
|
||||||
|
sub_script = script_dir + '/' + onionrvalues.SCRIPT_NAME
|
||||||
|
|
||||||
|
def show_info(p: Process):
|
||||||
|
while True:
|
||||||
|
threads = p.num_threads()
|
||||||
|
open_files = len(p.open_files())
|
||||||
|
for proc in p.children(recursive=True):
|
||||||
|
threads += proc.num_threads()
|
||||||
|
try:
|
||||||
|
open_files += len(proc.open_files())
|
||||||
|
except psutil.AccessDenied:
|
||||||
|
pass
|
||||||
|
print(f'Approximate thread count: {threads}')
|
||||||
|
print(f'Approximate open files: {open_files}')
|
||||||
|
sleep(1)
|
||||||
|
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
|
||||||
|
parser.add_argument(
|
||||||
|
"--skip-onboarding", help="Skip Onionr onboarding",
|
||||||
|
type=bool, default=False)
|
||||||
|
parser.add_argument(
|
||||||
|
'--open-ui', help='Open onionr web ui after started' ,
|
||||||
|
type=bool, default=True)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
p = Popen([sub_script, 'version'])
|
||||||
|
p.wait()
|
||||||
|
from filepaths import config_file
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
with open(config_file, 'r') as cf:
|
||||||
|
config = ujson.loads(cf.read())
|
||||||
|
|
||||||
|
if args.skip_onboarding:
|
||||||
|
config['onboarding']['done'] = True
|
||||||
|
print('Disabling onboarding')
|
||||||
|
|
||||||
|
|
||||||
|
with open(config_file, 'w') as cf:
|
||||||
|
cf.write(ujson.dumps(config))
|
||||||
|
|
||||||
|
if args.open_ui:
|
||||||
|
p = Popen([sub_script, 'start'])
|
||||||
|
sleep(2)
|
||||||
|
Popen([sub_script, 'openhome'])
|
||||||
|
else:
|
||||||
|
p = Popen([sub_script, 'start'], stdout=PIPE)
|
||||||
|
|
||||||
|
p = p.children()[0]
|
||||||
|
Thread(target=show_info, args=[p], daemon=True).start()
|
||||||
|
p.wait()
|
@ -1,7 +0,0 @@
|
|||||||
@echo off
|
|
||||||
echo This script is only intended for use in Onionr development, as it uses a random profile.
|
|
||||||
set ONIONR_HOME=data%random%
|
|
||||||
echo Using profile: %ONIONR_HOME%
|
|
||||||
setlocal
|
|
||||||
chdir src
|
|
||||||
python __init__.py %*
|
|
@ -1,4 +0,0 @@
|
|||||||
@echo off
|
|
||||||
setlocal
|
|
||||||
chdir src
|
|
||||||
python __init__.py %*
|
|
Loading…
Reference in New Issue
Block a user