Update profiles

This commit is contained in:
liaralabs 2020-03-11 10:59:54 -07:00
parent c885788e60
commit 84f7f30972
3 changed files with 174 additions and 13 deletions

View file

@ -203,6 +203,15 @@ class tautulli_meta:
baseurl = "/tautulli"
runas = "tautulli"
class wireguard_meta:
name = "wireguard"
pretty_name = "Wireguard"
#systemd = "wg-quick@"
multiuser = True
def __init__(self, user):
uid = str(get_uid(user))
self.systemd = "wg-quick@wg"+uid
class xmrig_meta:
name = "xmrig"
pretty_name = "XMRig"

151
core/profiles_shared.py Normal file
View file

@ -0,0 +1,151 @@
from core.util import get_uid
class autodl_meta:
name = "irssi"
pretty_name = "AutoDL irssi"
systemd = "irssi@"
multiuser = True
class bazarr_meta:
name = "bazarr"
pretty_name = "Bazarr"
baseurl = "/bazarr"
systemd = "bazarr@"
multiuser = True
class btsync_meta:
name = "btsync"
pretty_name = "Resilio Sync"
baseurl = "/btsync"
#scheme = "http"
systemd = "btsync@"
process = "rslsync"
multiuser = True
class deluge_meta:
name = "deluge"
pretty_name = "Deluge"
baseurl = "/deluge"
systemd = "deluged@"
multiuser = True
class delugeweb_meta:
name = "delugeweb"
pretty_name = "Deluge Web"
systemd = "deluge-web@"
multiuser = True
process = "deluge-web"
class emby_meta:
name = "emby"
pretty_name = "Emby"
baseurl = "/emby"
systemd = "emby@"
process = "EmbyServer"
multiuser = True
def __init__(self, user):
self.baseurl = "/"+user+"/emby"
class jackett_meta:
name = "jackett"
pretty_name = "Jackett"
baseurl = "/jackett"
systemd = "jackett@"
multiuser = True
class lidarr_meta:
name = "lidarr"
pretty_name = "Lidarr"
baseurl = "/lidarr"
systemd = "lidarr@"
multiuser = True
class medusa_meta:
name = "medusa"
pretty_name = "Medusa"
baseurl = "/medusa"
systemd = "medusa@"
multiuser = True
class nzbget_meta:
name = "nzbget"
pretty_name = "nzbGet"
baseurl = "/nzbget"
systemd = "nzbget@"
multiuser = True
class ombi_meta:
name = "ombi"
pretty_name = "Ombi"
baseurl = "/ombi"
#runas = "ombi"
systemd = "ombi@"
multiuser = True
def __init__(self, user):
self.baseurl = "/"+user+"/ombi"
class plex_meta:
name = "plex"
pretty_name = "Plex"
process = "Plex"
systemd = "plex@"
multiuser = True
def __init__(self, user):
handle = open("/home/"+user+"/.install/.plex.lock", 'r')
num = handle.readlines()
for line in num:
self.port = [int(x) for x in line.split()]
self.port = int(self.port[0])
self.baseurl = ':'+self.port+'/web'
class radarr_meta:
name = "radarr"
pretty_name = "Radarr"
baseurl = "/radarr"
systemd = "radarr@"
multiuser = True
class rtorrent_meta:
name = "rtorrent"
pretty_name = "rTorrent"
systemd = "rtorrent@"
multiuser = True
class rutorrent_meta:
name = "rutorrent"
pretty_name = "ruTorrent"
baseurl = "/rutorrent"
systemd = False
multiuser = True
class sabnzbd_meta:
name = "sabnzbd"
pretty_name = "SABnzbd"
systemd = "sabnzbd@"
multiuser = True
def __init__(self, user):
self.baseurl = "/"+user+"/sabnzbd"
class sonarr_meta:
name = "sonarr"
pretty_name = "Sonarr"
baseurl = "/sonarr"
systemd = "sonarr@"
multiuser = True
class tautulli_meta:
name = "tautulli"
pretty_name = "Tautulli"
baseurl = "/tautulli"
systemd = "tautulli@"
multiuser = True
class wireguard_meta:
name = "wireguard"
pretty_name = "Wireguard"
#systemd = "wg-quick@"
multiuser = True
def __init__(self, user):
uid = str(get_uid(user))
self.systemd = "wg-quick@wg"+uid

View file

@ -1,6 +1,5 @@
import sys
import os
from core.profiles import *
from flask import request, current_app
from flask_socketio import SocketIO, emit
import subprocess as sp
@ -9,6 +8,14 @@ import shutil
import datetime
from pwd import getpwnam
is_shared = current_app.config['SHAREDSERVER']
if is_shared is True:
from core.profiles_shared import *
else:
from core.profiles import *
try:
from core.custom.profiles import *
except:
@ -33,7 +40,6 @@ def get_default_interface():
def generate_page_list(user):
admin_user = current_app.config['ADMIN_USER']
pages = []
is_shared = current_app.config['SHAREDSERVER']
if is_shared is True:
locks = os.listdir('/home/'+user+'/.install')
else:
@ -47,9 +53,12 @@ def generate_page_list(user):
for lock in locks:
app = lock.split(".")[1]
try:
profile = str_to_class(app+"_meta")
profile = str_to_class(app+"_meta")(user)
except:
continue
try:
profile = str_to_class(app+"_meta")
except:
continue
try:
multiuser = profile.multiuser
except:
@ -123,22 +132,14 @@ def is_process_running(procs, username, application):
for p in procs:
if username.lower() in str(p).lower():
if application.lower() in str(p).lower():
#print("True")
result = True
#print(result)
return result
def is_application_enabled(application, user):
if "@" in application:
if application.endswith("@"):
result = os.path.exists('/etc/systemd/system/multi-user.target.wants/{application}{user}.service'.format(application=application, user=user))
#result = sp.run(('systemctl', 'is-enabled', application+user), stdout=sp.DEVNULL).returncode
else:
result = os.path.exists('/etc/systemd/system/multi-user.target.wants/{application}.service'.format(application=application))
#result = sp.run(('systemctl', 'is-enabled', application), stdout=sp.DEVNULL).returncode
#if result == 0:
# result = True
#else:
# result = False
return result
def systemctl(function, application):