Phase 0 Complete
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
import os
|
||||
import subprocess
|
||||
import signal
|
||||
import time
|
||||
import sys
|
||||
import psutil
|
||||
|
||||
APP_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../app.py"))
|
||||
|
||||
DEBUG = True
|
||||
|
||||
def log(msg):
|
||||
if DEBUG:
|
||||
print(msg)
|
||||
|
||||
def start_dev():
|
||||
env = os.environ.copy()
|
||||
env["PRODUCTION"] = "false"
|
||||
return subprocess.Popen(
|
||||
["python3", APP_PATH],
|
||||
env=env,
|
||||
preexec_fn=os.setsid,
|
||||
stdout=sys.stdout,
|
||||
stderr=sys.stderr
|
||||
)
|
||||
|
||||
def stop_by_port(port=5000):
|
||||
for proc in psutil.process_iter(["pid", "name"]):
|
||||
try:
|
||||
for conn in proc.connections(kind="inet"):
|
||||
if conn.laddr.port == port:
|
||||
log(f"[*] Killing process {proc.pid} using port {port}")
|
||||
os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
|
||||
return
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
continue
|
||||
log(f"[!] No process found using port {port}")
|
||||
|
||||
def main():
|
||||
log("[*] Restarting PacCrypt in DEVELOPMENT mode...")
|
||||
stop_by_port()
|
||||
time.sleep(1)
|
||||
start_dev()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,40 @@
|
||||
import os
|
||||
import subprocess
|
||||
import signal
|
||||
import time
|
||||
import sys
|
||||
import psutil
|
||||
|
||||
APP_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../app.py"))
|
||||
|
||||
def start_prod():
|
||||
env = os.environ.copy()
|
||||
env["PRODUCTION"] = "true"
|
||||
return subprocess.Popen(
|
||||
["python3", APP_PATH],
|
||||
env=env,
|
||||
preexec_fn=os.setsid,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL
|
||||
)
|
||||
|
||||
def stop_by_port(port=5000):
|
||||
for proc in psutil.process_iter(["pid", "name"]):
|
||||
try:
|
||||
for conn in proc.connections(kind="inet"):
|
||||
if conn.laddr.port == port:
|
||||
print(f"[*] Killing process {proc.pid} using port {port}")
|
||||
os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
|
||||
return
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
continue
|
||||
print(f"[!] No process found using port {port}")
|
||||
|
||||
def main():
|
||||
print("[*] Restarting PacCrypt in PRODUCTION mode with Waitress...")
|
||||
stop_by_port()
|
||||
time.sleep(1)
|
||||
start_prod()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,30 @@
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
import sys
|
||||
|
||||
APP_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../app.py"))
|
||||
|
||||
DEBUG = True
|
||||
|
||||
def log(msg):
|
||||
if DEBUG:
|
||||
print(msg)
|
||||
|
||||
def start_dev():
|
||||
env = os.environ.copy()
|
||||
env["PRODUCTION"] = "false"
|
||||
return subprocess.Popen(
|
||||
["python3", APP_PATH],
|
||||
env=env,
|
||||
preexec_fn=os.setsid,
|
||||
stdout=sys.stdout,
|
||||
stderr=sys.stderr
|
||||
)
|
||||
|
||||
def main():
|
||||
log("[*] Starting PacCrypt in DEVELOPMENT mode...")
|
||||
start_dev()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,24 @@
|
||||
import os
|
||||
import subprocess
|
||||
import time
|
||||
import sys
|
||||
|
||||
APP_PATH = os.path.abspath(os.path.join(os.path.dirname(__file__), "../../app.py"))
|
||||
|
||||
def start_prod():
|
||||
env = os.environ.copy()
|
||||
env["PRODUCTION"] = "true"
|
||||
return subprocess.Popen(
|
||||
["python3", APP_PATH],
|
||||
env=env,
|
||||
preexec_fn=os.setsid,
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL
|
||||
)
|
||||
|
||||
def main():
|
||||
print("[*] Starting PacCrypt in PRODUCTION mode with Waitress...")
|
||||
start_prod()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,27 @@
|
||||
import psutil
|
||||
import os
|
||||
import signal
|
||||
|
||||
DEBUG = True
|
||||
|
||||
def log(msg):
|
||||
if DEBUG:
|
||||
print(msg)
|
||||
|
||||
def stop_by_port(port=5000):
|
||||
for proc in psutil.process_iter(["pid", "name"]):
|
||||
try:
|
||||
for conn in proc.connections(kind="inet"):
|
||||
if conn.laddr.port == port:
|
||||
log(f"[*] Killing process {proc.pid} using port {port}")
|
||||
os.killpg(os.getpgid(proc.pid), signal.SIGTERM)
|
||||
return
|
||||
except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):
|
||||
continue
|
||||
log(f"[!] No process found using port {port}")
|
||||
|
||||
def main():
|
||||
stop_by_port()
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
@@ -0,0 +1,11 @@
|
||||
### **requirements.txt**
|
||||
|
||||
flask==3.0.3
|
||||
flask-cors
|
||||
cryptography==42.0.5
|
||||
waitress==2.1.2
|
||||
werkzeug==3.0.1
|
||||
psutil>=5.9.0,<6.0.0
|
||||
|
||||
# nginx - Only needed for Nginx integration, not installed via pip
|
||||
# Run pip install -r application_data/requirements.txt
|
||||
Reference in New Issue
Block a user