Automatic choice of production and dev mode
This commit is contained in:
@@ -14,7 +14,7 @@ firewall = ProxyManager(db)
|
||||
|
||||
app = Flask(__name__)
|
||||
|
||||
DEBUG = len(sys.argv) > 1 and sys.argv[1] == "DEBUG"
|
||||
DEBUG = not (len(sys.argv) > 1 and sys.argv[1] == "UWSGI")
|
||||
|
||||
def is_loggined():
|
||||
if DEBUG: return True
|
||||
@@ -354,8 +354,7 @@ if __name__ == '__main__':
|
||||
},
|
||||
})
|
||||
db.query("CREATE UNIQUE INDEX IF NOT EXISTS unique_regex_service ON regexes (regex,service_id,is_blacklist,mode);")
|
||||
|
||||
if DEBUG:
|
||||
if DEBUG:
|
||||
app.run(host="0.0.0.0", port=8080 ,debug=True)
|
||||
else:
|
||||
subprocess.run(["uwsgi","--socket","./uwsgi.sock","--master","--module","app:app", "--enable-threads"])
|
||||
|
||||
@@ -9,7 +9,7 @@ nodaemon = true
|
||||
directory=/execute
|
||||
user = nobody
|
||||
group = root
|
||||
command=python3 app.py
|
||||
command=python3 app.py UWSGI
|
||||
startsecs=10
|
||||
stopsignal=QUIT
|
||||
stopasgroup=true
|
||||
|
||||
@@ -5,15 +5,13 @@ import { GeneralStats, Service, ServiceAddForm, ServerResponse, RegexFilter, not
|
||||
|
||||
var Buffer = require('buffer').Buffer
|
||||
|
||||
const DEBUG = false
|
||||
|
||||
const custom_url = DEBUG?"http://127.0.0.1:8080":""
|
||||
const custom_url = (!process.env.NODE_ENV || process.env.NODE_ENV === 'development')?"http://127.0.0.1:8080":""
|
||||
|
||||
export async function getapi(path:string):Promise<any>{
|
||||
return await new Promise((resolve, reject) => {
|
||||
fetch(`${custom_url}/api/${path}`,{credentials: "same-origin"})
|
||||
.then(res => {
|
||||
if(res.status == 401) window.location.reload()
|
||||
if(res.status === 401) window.location.reload()
|
||||
if(!res.ok) reject(res.statusText)
|
||||
res.json().then( res => resolve(res) ).catch( err => reject(err))
|
||||
})
|
||||
@@ -34,7 +32,7 @@ export async function postapi(path:string,data:any):Promise<any>{
|
||||
},
|
||||
body: JSON.stringify(data)
|
||||
}).then(res => {
|
||||
if(res.status == 401) window.location.reload()
|
||||
if(res.status === 401) window.location.reload()
|
||||
if(!res.ok) reject(res.statusText)
|
||||
res.json().then( res => resolve(res) ).catch( err => reject(err))
|
||||
})
|
||||
|
||||
@@ -37,7 +37,7 @@ function HomePage() {
|
||||
<LoadingOverlay visible={loader} />
|
||||
{services.length > 0?services.map( srv => <ServiceRow service={srv} key={srv.id} onClick={()=>{
|
||||
navigator("/"+srv.id)
|
||||
}} />):<><Space h="xl"/> <Title className='center-flex' align='center' order={3}>No services found! Add one clicking the "+" button above</Title>
|
||||
}} />):<><Space h="xl"/> <Title className='center-flex' align='center' order={3}>No services found! Add one clicking the "+" buttons</Title>
|
||||
<Space h="xl" /> <Space h="xl" />
|
||||
<div className='center-flex'>
|
||||
<Tooltip label="Add a new service" transition="pop" transitionDuration={200} openDelay={500} zIndex={0} transitionTimingFunction="ease" color="blue">
|
||||
|
||||
@@ -96,7 +96,7 @@ function ServiceDetails() {
|
||||
|
||||
{regexesList.length === 0?<>
|
||||
<Space h="xl" />
|
||||
<Title className='center-flex' align='center' order={3}>No regex found for this service! Add one by clicking the "+" button</Title>
|
||||
<Title className='center-flex' align='center' order={3}>No regex found for this service! Add one by clicking the "+" buttons</Title>
|
||||
<Space h="xl" /> <Space h="xl" />
|
||||
<div className='center-flex'>
|
||||
<Tooltip label="Add a new regex" zIndex={0} transition="pop" transitionDuration={200} openDelay={500} transitionTimingFunction="ease" color="blue">
|
||||
|
||||
90
start.py
90
start.py
@@ -1,45 +1,45 @@
|
||||
#! /bin/python3
|
||||
|
||||
import argparse, sys, platform
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('port', type=int, help='Port where open the web service of the firewall')
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
with open("docker-compose.yml","wt") as compose:
|
||||
|
||||
if "linux" in sys.platform and not 'microsoft-standard' in platform.uname().release: #Check if not is a wsl also
|
||||
compose.write(f"""
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
firewall:
|
||||
restart: unless-stopped
|
||||
build: .
|
||||
network_mode: "host"
|
||||
environment:
|
||||
- NGINX_PORT={args.port}
|
||||
volumes:
|
||||
- /execute/db
|
||||
""")
|
||||
print("Done! You can start firegex with docker-compose up -d --build")
|
||||
else:
|
||||
print("-----------------------------------")
|
||||
print("You are not in a linux machine, due to docker limitation on other platform, the firewall will not work in this machine. You will only see the interface of firegex.")
|
||||
print("-----------------------------------")
|
||||
compose.write(f"""
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
firewall:
|
||||
restart: unless-stopped
|
||||
build: .
|
||||
ports:
|
||||
- {args.port}:{args.port}
|
||||
environment:
|
||||
- NGINX_PORT={args.port}
|
||||
volumes:
|
||||
- /execute/db
|
||||
""")
|
||||
print("Done! You can start firegex with docker-compose up -d --build")
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import argparse, sys, platform
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('port', type=int, help='Port where open the web service of the firewall')
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
with open("docker-compose.yml","wt") as compose:
|
||||
|
||||
if "linux" in sys.platform and not 'microsoft-standard' in platform.uname().release: #Check if not is a wsl also
|
||||
compose.write(f"""
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
firewall:
|
||||
restart: unless-stopped
|
||||
build: .
|
||||
network_mode: "host"
|
||||
environment:
|
||||
- NGINX_PORT={args.port}
|
||||
volumes:
|
||||
- /execute/db
|
||||
""")
|
||||
print("Done! You can start firegex with docker-compose up -d --build")
|
||||
else:
|
||||
print("-----------------------------------")
|
||||
print("You are not in a linux machine, due to docker limitation on other platform, the firewall will not work in this machine. You will only see the interface of firegex.")
|
||||
print("-----------------------------------")
|
||||
compose.write(f"""
|
||||
version: '3.9'
|
||||
|
||||
services:
|
||||
firewall:
|
||||
restart: unless-stopped
|
||||
build: .
|
||||
ports:
|
||||
- {args.port}:{args.port}
|
||||
environment:
|
||||
- NGINX_PORT={args.port}
|
||||
volumes:
|
||||
- /execute/db
|
||||
""")
|
||||
print("Done! You can start firegex with docker-compose up -d --build")
|
||||
|
||||
Reference in New Issue
Block a user