def reset_firewall_page(): check_logged_in() t = Timer(3.0, reload_firewall) t.start() flash("Firewall Reset", category="message") return redirect("/settings")
def get_latest_version_page(): check_logged_in() update_latest_version() return redirect("/settings")
def check_in_page(): check_logged_in() check_in() return redirect("/settings")
def page_status(): check_logged_in() t1 = get_system_time_in_ms() current_version = get_current_version() latest_version = get_latest_version() current_beta_version = get_current_beta_version() latest_beta_version = get_latest_beta_version() changelog = get_device_changelog() serial_number = get_device_serial() device_type = get_device_type() device_arch = get_device_arch() device_ram = get_device_ram() product_key = get_product_key() pk_skipped = skipped_product_key() pk_error = not is_valid_product_key() uptime = get_system_uptime() date = get_system_date() local_ip = get_local_ip() # Get Startup Status #startup_status_log = get_journalctl_log("mynode") # Get QuickSync Status quicksync_enabled = is_quicksync_enabled() quicksync_status = "Disabled" quicksync_status_color = "gray" quicksync_status_log = get_quicksync_log() if quicksync_enabled: quicksync_status = get_service_status_basic_text("quicksync") quicksync_status_color = get_service_status_color("quicksync") # Get Bitcoin Status # bitcoin_status_log = get_file_log( get_bitcoin_log_file() ) # GET lnd, loop, pool logs from file??? #lnd_status_log = get_file_log("/mnt/hdd/mynode/lnd/logs/bitcoin/mainnet/lnd.log") #loop_status_log = get_file_log("/mnt/hdd/mynode/loop/logs/mainnet/loopd.log") #pool_status_log = get_file_log("/mnt/hdd/mynode/pool/logs/mainnet/poold.log") # Get Status # lnd_status_log = get_journalctl_log("lnd") # loop_status_log = get_journalctl_log("loop") # pool_status_log = get_journalctl_log("pool") # lndhub_status_log = get_journalctl_log("lndhub") # tor_status_log = get_journalctl_log("tor@default") # electrs_status_log = get_journalctl_log("electrs") # netdata_status_log = get_journalctl_log("netdata") # rtl_status_log = get_journalctl_log("rtl") # lnbits_status_log = get_journalctl_log("lnbits") # thunderhub_status_log = get_journalctl_log("thunderhub") # ckbunker_status_log = get_journalctl_log("ckbunker") # sphinxrelay_status_log = get_journalctl_log("sphinxrelay") # docker_status_log = get_journalctl_log("docker") # docker_image_build_status_log = get_journalctl_log("docker_images") # Find running containers running_containers = get_docker_running_containers() templateData = { "title": "myNode Status", "password_message": "", "current_version": current_version, "latest_version": latest_version, "current_beta_version": current_beta_version, "latest_beta_version": latest_beta_version, "has_checkin_error": has_checkin_error(), "upgrade_error": did_upgrade_fail(), "upgrade_logs": get_recent_upgrade_logs(), "serial_number": serial_number, "device_type": device_type, "device_arch": device_arch, "device_ram": device_ram, "product_key": product_key, "product_key_skipped": pk_skipped, "product_key_error": pk_error, "changelog": changelog, "lnd_wallet_exists": lnd_wallet_exists(), "is_installing_docker_images": is_installing_docker_images(), "running_containers": running_containers, #"startup_status_log": startup_status_log, "startup_status": get_service_status_basic_text("mynode"), "startup_status_color": get_service_status_color("mynode"), #"quicksync_status_log": quicksync_status_log, "quicksync_status": quicksync_status, "quicksync_status_color": quicksync_status_color, "is_bitcoin_synced": is_bitcoin_synced(), #"bitcoin_status_log": bitcoin_status_log, "bitcoin_status": get_service_status_basic_text("bitcoin"), "bitcoin_status_color": get_service_status_color("bitcoin"), #"lnd_status_log": lnd_status_log, "lnd_status": get_service_status_basic_text("lnd"), "lnd_status_color": get_service_status_color("lnd"), #"loop_status_log": loop_status_log, "loop_status": get_service_status_basic_text("loop"), "loop_status_color": get_service_status_color("loop"), #"pool_status_log": pool_status_log, "pool_status": get_service_status_basic_text("pool"), "pool_status_color": get_service_status_color("pool"), #"lit_status_log": get_journalctl_log("lit"), "lit_status": get_service_status_basic_text("lit"), "lit_status_color": get_service_status_color("lit"), #"tor_status_log": tor_status_log, "tor_status": get_service_status_basic_text("tor@default"), "tor_status_color": get_service_status_color("tor@default"), #"lndhub_status_log": lndhub_status_log, "lndhub_status": get_service_status_basic_text("lndhub"), "lndhub_status_color": get_service_status_color("lndhub"), #"netdata_status_log": netdata_status_log, "netdata_status": get_service_status_basic_text("netdata"), "netdata_status_color": get_service_status_color("netdata"), #"electrs_status_log": electrs_status_log, "electrs_status": get_service_status_basic_text("electrs"), "electrs_status_color": get_service_status_color("electrs"), #"rtl_status_log": rtl_status_log, "rtl_status": get_service_status_basic_text("rtl"), "rtl_status_color": get_service_status_color("rtl"), #"lnbits_status_log": lnbits_status_log, "lnbits_status": get_service_status_basic_text("lnbits"), "lnbits_status_color": get_service_status_color("lnbits"), #"thunderhub_status_log": thunderhub_status_log, "thunderhub_status": get_service_status_basic_text("thunderhub"), "thunderhub_status_color": get_service_status_color("thunderhub"), #"ckbunker_status_log": ckbunker_status_log, "ckbunker_status": get_service_status_basic_text("ckbunker"), "ckbunker_status_color": get_service_status_color("ckbunker"), #"sphinxrelay_status_log": sphinxrelay_status_log, "sphinxrelay_status": get_service_status_basic_text("sphinxrelay"), "sphinxrelay_status_color": get_service_status_color("sphinxrelay"), #"docker_status_log": docker_status_log, "docker_status": get_service_status_basic_text("docker"), "docker_status_color": get_service_status_color("docker"), #"docker_image_build_status_log": docker_image_build_status_log, "docker_image_build_status": get_docker_image_build_status(), "docker_image_build_status_color": get_docker_image_build_status_color(), #"whirlpool_status_log": get_journalctl_log("whirlpool"), "whirlpool_status": get_service_status_basic_text("whirlpool"), "whirlpool_status_color": get_service_status_color("whirlpool"), #"dojo_status_log": get_journalctl_log("dojo"), "dojo_status": get_service_status_basic_text("dojo"), "dojo_status_color": get_service_status_color("dojo"), #"btcpayserver_status_log": get_journalctl_log("btcpayserver"), "btcpayserver_status": get_service_status_basic_text("btcpayserver"), "btcpayserver_status_color": get_service_status_color("btcpayserver"), #"mempool_status_log": get_journalctl_log("mempool"), "mempool_status": get_service_status_basic_text("mempool"), "mempool_status_color": get_service_status_color("mempool"), #"caravan_status_log": get_journalctl_log("caravan"), "caravan_status": get_service_status_basic_text("caravan"), "caravan_status_color": get_service_status_color("caravan"), #"specter_status_log": get_journalctl_log("specter"), "specter_status": get_service_status_basic_text("specter"), "specter_status_color": get_service_status_color("specter"), #"nginx_status_log": get_journalctl_log("nginx"), "nginx_status": get_service_status_basic_text("nginx"), "nginx_status_color": get_service_status_color("nginx"), #"ufw_status_log": get_journalctl_log("ufw"), "ufw_status": get_service_status_basic_text("ufw"), "ufw_status_color": get_service_status_color("ufw"), "firewall_rules": get_firewall_rules(), "is_quicksync_disabled": not quicksync_enabled, "netdata_enabled": is_service_enabled("netdata"), "uptime": uptime, "date": date, "local_ip": local_ip, "throttled_data": get_throttled_data(), "oom_error": has_oom_error(), "oom_info": get_oom_error_info(), "drive_usage": get_drive_usage(), "cpu_usage": get_cpu_usage(), "ram_usage": get_ram_usage(), "device_temp": get_device_temp(), "ui_settings": read_ui_settings() } t2 = get_system_time_in_ms() templateData["load_time"] = t2 - t1 return render_template('status.html', **templateData)
def page_settings(): check_logged_in() current_version = get_current_version() latest_version = get_latest_version() current_beta_version = get_current_beta_version() latest_beta_version = get_latest_beta_version() changelog = get_device_changelog() serial_number = get_device_serial() device_type = get_device_type() device_arch = get_device_arch() device_ram = get_device_ram() product_key = get_product_key() pk_skipped = skipped_product_key() pk_error = not is_valid_product_key() uptime = get_system_uptime() date = get_system_date() local_ip = get_local_ip() # Get QuickSync Rates upload_rate = 100 download_rate = 100 try: upload_rate = subprocess.check_output( ["cat", "/mnt/hdd/mynode/settings/quicksync_upload_rate"]) download_rate = subprocess.check_output([ "cat", "/mnt/hdd/mynode/settings/quicksync_background_download_rate" ]) except: upload_rate = 100 download_rate = 100 logout_time_days, logout_time_hours = get_flask_session_timeout() templateData = { "title": "myNode Settings", "apps": get_all_applications(order_by="alphabetic"), "password_message": "", "current_version": current_version, "latest_version": latest_version, "current_beta_version": current_beta_version, "latest_beta_version": latest_beta_version, "has_checkin_error": has_checkin_error(), "upgrade_error": did_upgrade_fail(), "upgrade_logs": get_recent_upgrade_logs(), "serial_number": serial_number, "device_type": device_type, "device_arch": device_arch, "device_ram": device_ram, "swap_size": get_swap_size(), "product_key": product_key, "product_key_skipped": pk_skipped, "product_key_error": pk_error, "changelog": changelog, "is_https_forced": is_https_forced(), "logout_time_days": logout_time_days, "logout_time_hours": logout_time_hours, "using_bitcoin_custom_config": using_bitcoin_custom_config(), "using_lnd_custom_config": using_lnd_custom_config(), "is_bitcoin_synced": is_bitcoin_synced(), "is_installing_docker_images": is_installing_docker_images(), "firewall_rules": get_firewall_rules(), "is_testnet_enabled": is_testnet_enabled(), "is_quicksync_disabled": not is_quicksync_enabled(), "netdata_enabled": is_service_enabled("netdata"), "is_uploader_device": is_uploader(), "download_rate": download_rate, "upload_rate": upload_rate, "is_btc_lnd_tor_enabled": is_btc_lnd_tor_enabled(), "is_aptget_tor_enabled": is_aptget_tor_enabled(), "skip_fsck": skip_fsck(), "uptime": uptime, "date": date, "local_ip": local_ip, "throttled_data": get_throttled_data(), "oom_error": has_oom_error(), "oom_info": get_oom_error_info(), "drive_usage": get_drive_usage(), "cpu_usage": get_cpu_usage(), "ram_usage": get_ram_usage(), "device_temp": get_device_temp(), "ui_settings": read_ui_settings() } return render_template('settings.html', **templateData)
def page_tor(): check_logged_in() # Check if we are premium if is_community_edition(): return redirect("/") # Get Onion URLs ssh_onion_url = get_onion_url_ssh() general_onion_url = get_onion_url_general() btc_onion_url = get_onion_url_btc() lnd_onion_url = get_onion_url_lnd() electrs_onion_url = get_onion_url_electrs() # Services services = [] services.append({ "service": "myNode Web", "url": general_onion_url, "port": "80", "guide": "" }) services.append({ "service": "LND Hub", "url": general_onion_url, "port": "3000", "guide": "" }) services.append({ "service": "BTC RPC Explorer", "url": general_onion_url, "port": "3002", "guide": "" }) services.append({ "service": "Ride the Lightning", "url": general_onion_url, "port": "3010", "guide": "" }) services.append({ "service": "Bitcoin API (REST)", "url": btc_onion_url, "port": "8332", "guide": "" }) services.append({ "service": "LND API (gRPC)", "url": lnd_onion_url, "port": "10009", "guide": "" }) services.append({ "service": "LND API (REST)", "url": lnd_onion_url, "port": "10080", "guide": "" }) services.append({ "service": "SSH", "url": ssh_onion_url, "port": "22022", "guide": "" }) services.append({ "service": "Electrum Server", "url": electrs_onion_url, "port": "50001", "guide": "https://mynodebtc.com/guide/electrum_server_tor" }) services.append({ "service": "Electrum Server", "url": electrs_onion_url, "port": "50002", "guide": "https://mynodebtc.com/guide/electrum_server_tor" }) # App links rpc_password = get_bitcoin_rpc_password() fully_noded_link = "btcstandup://*****:*****@{}:8332?label=myNode%20Tor".format( rpc_password, btc_onion_url) # Load page templateData = { "title": "myNode Tor Services", "services": services, "fully_noded_link": fully_noded_link, "ui_settings": read_ui_settings() } return render_template('tor.html', **templateData)
def page_clear_oom_error(): check_logged_in() clear_oom_error() flash("Warning Cleared", category="message") return redirect("/settings")
def toggle_darkmode_page_home(): check_logged_in() toggle_darkmode() return redirect("/")
def toggle_darkmode_page(): check_logged_in() toggle_darkmode() return redirect("/settings")
def page_toggle_whirlpool(): check_logged_in() os.system("systemctl restart whirlpool --no-pager") return redirect("/whirlpool")
def page_toggle_dojo(): check_logged_in() disable_dojo() enable_dojo() return redirect("/dojo")
def page_settings(): check_logged_in() current_version = get_current_version() latest_version = get_latest_version() current_beta_version = get_current_beta_version() latest_beta_version = get_latest_beta_version() changelog = get_device_changelog() serial_number = get_device_serial() device_type = get_device_type() product_key = get_product_key() pk_skipped = skipped_product_key() pk_error = not is_valid_product_key() uptime = get_system_uptime() date = get_system_date() local_ip = get_local_ip() public_ip = get_public_ip() # Get Startup Status startup_status_log = get_journalctl_log("mynode") # Get QuickSync Status quicksync_enabled = is_quicksync_enabled() quicksync_status = "Disabled" quicksync_status_color = "gray" quicksync_status_log = "DISABLED" if quicksync_enabled: quicksync_status = get_service_status_basic_text("quicksync") quicksync_status_color = get_service_status_color("quicksync") try: quicksync_status_log = subprocess.check_output( ["mynode-get-quicksync-status"]).decode("utf8") except: quicksync_status_log = "ERROR" # Get Bitcoin Status bitcoin_status_log = "" try: bitcoin_status_log = subprocess.check_output( ["tail", "-n", "200", "/mnt/hdd/mynode/bitcoin/debug.log"]).decode("utf8") lines = bitcoin_status_log.split('\n') lines.reverse() bitcoin_status_log = '\n'.join(lines) except: bitcoin_status_log = "ERROR" # Get Status lnd_status_log = get_journalctl_log("lnd") lndhub_status_log = get_journalctl_log("lndhub") tor_status_log = get_journalctl_log("tor@default") electrs_status_log = get_journalctl_log("electrs") netdata_status_log = get_journalctl_log("netdata") rtl_status_log = get_journalctl_log("rtl") docker_status_log = get_journalctl_log("docker") docker_image_build_status_log = get_journalctl_log("docker_images") # Get QuickSync Rates upload_rate = 100 download_rate = 100 try: upload_rate = subprocess.check_output( ["cat", "/mnt/hdd/mynode/settings/quicksync_upload_rate"]) download_rate = subprocess.check_output([ "cat", "/mnt/hdd/mynode/settings/quicksync_background_download_rate" ]) except: upload_rate = 100 download_rate = 100 templateData = { "title": "myNode Settings", "password_message": "", "current_version": current_version, "latest_version": latest_version, "current_beta_version": current_beta_version, "latest_beta_version": latest_beta_version, "upgrade_error": did_upgrade_fail(), "upgrade_logs": get_recent_upgrade_logs(), "serial_number": serial_number, "device_type": device_type, "product_key": product_key, "product_key_skipped": pk_skipped, "product_key_error": pk_error, "changelog": changelog, "startup_status_log": startup_status_log, "startup_status": get_service_status_basic_text("mynode"), "startup_status_color": get_service_status_color("mynode"), "quicksync_status_log": quicksync_status_log, "quicksync_status": quicksync_status, "quicksync_status_color": quicksync_status_color, "is_bitcoin_synced": is_bitcoind_synced(), "bitcoin_status_log": bitcoin_status_log, "bitcoin_status": get_service_status_basic_text("bitcoind"), "bitcoin_status_color": get_service_status_color("bitcoind"), "lnd_status_log": lnd_status_log, "lnd_status": get_service_status_basic_text("lnd"), "lnd_status_color": get_service_status_color("lnd"), "tor_status_log": tor_status_log, "tor_status": get_service_status_basic_text("tor@default"), "tor_status_color": get_service_status_color("tor@default"), "lndhub_status_log": lndhub_status_log, "lndhub_status": get_service_status_basic_text("lndhub"), "lndhub_status_color": get_service_status_color("lndhub"), "netdata_status_log": netdata_status_log, "netdata_status": get_service_status_basic_text("netdata"), "netdata_status_color": get_service_status_color("netdata"), "electrs_status_log": electrs_status_log, "electrs_status": get_service_status_basic_text("electrs"), "electrs_status_color": get_service_status_color("electrs"), "rtl_status_log": rtl_status_log, "rtl_status": get_service_status_basic_text("rtl"), "rtl_status_color": get_service_status_color("rtl"), "docker_status_log": docker_status_log, "docker_status": get_service_status_basic_text("docker"), "docker_status_color": get_service_status_color("docker"), "docker_image_build_status_log": docker_image_build_status_log, "docker_image_build_status": get_docker_image_build_status(), "docker_image_build_status_color": get_docker_image_build_status_color(), "dojo_status_log": get_journalctl_log("dojo"), "dojo_status": get_service_status_basic_text("dojo"), "dojo_status_color": get_service_status_color("dojo"), "btcpayserver_status_log": get_journalctl_log("btcpayserver"), "btcpayserver_status": get_service_status_basic_text("btcpayserver"), "btcpayserver_status_color": get_service_status_color("btcpayserver"), "mempoolspace_status_log": get_journalctl_log("mempoolspace"), "mempoolspace_status": get_service_status_basic_text("mempoolspace"), "mempoolspace_status_color": get_service_status_color("mempoolspace"), "firewall_status_log": get_journalctl_log("ufw"), "firewall_status": get_service_status_basic_text("ufw"), "firewall_status_color": get_service_status_color("ufw"), "firewall_rules": get_firewall_rules(), "is_quicksync_disabled": not quicksync_enabled, "is_netdata_enabled": is_netdata_enabled(), "is_uploader_device": is_uploader(), "download_rate": download_rate, "upload_rate": upload_rate, "is_btc_lnd_tor_enabled": is_btc_lnd_tor_enabled(), "uptime": uptime, "date": date, "public_ip": public_ip, "local_ip": local_ip, "drive_usage": get_drive_usage(), "cpu_usage": get_cpu_usage(), "ram_usage": get_ram_usage(), "device_temp": get_device_temp(), "ui_settings": read_ui_settings() } return render_template('settings.html', **templateData)
def check_in_page(): check_logged_in() # check_in() # no f****n' checkin return redirect("/settings")
def page_status(): check_logged_in() current_version = get_current_version() latest_version = get_latest_version() current_beta_version = get_current_beta_version() latest_beta_version = get_latest_beta_version() changelog = get_device_changelog() serial_number = get_device_serial() device_type = get_device_type() device_ram = get_device_ram() product_key = get_product_key() pk_skipped = skipped_product_key() pk_error = not is_valid_product_key() uptime = get_system_uptime() date = get_system_date() local_ip = get_local_ip() # Get Startup Status startup_status_log = get_journalctl_log("mynode") # Get QuickSync Status quicksync_enabled = is_quicksync_enabled() quicksync_status = "Disabled" quicksync_status_color = "gray" quicksync_status_log = "DISABLED" if quicksync_enabled: quicksync_status = get_service_status_basic_text("quicksync") quicksync_status_color = get_service_status_color("quicksync") try: quicksync_status_log = subprocess.check_output( ["mynode-get-quicksync-status"]).decode("utf8") except: quicksync_status_log = "ERROR" # Get Bitcoin Status bitcoin_status_log = get_file_log("/mnt/hdd/mynode/bitcoin/debug.log") # GET lnd, loopd, poold logs from file??? #lnd_status_log = get_file_log("/mnt/hdd/mynode/lnd/logs/bitcoin/mainnet/lnd.log") #loopd_status_log = get_file_log("/mnt/hdd/mynode/loop/logs/mainnet/loopd.log") #poold_status_log = get_file_log("/mnt/hdd/mynode/pool/logs/mainnet/poold.log") # Get Status lnd_status_log = get_journalctl_log("lnd") loopd_status_log = get_journalctl_log("loopd") poold_status_log = get_journalctl_log("poold") lndhub_status_log = get_journalctl_log("lndhub") tor_status_log = get_journalctl_log("tor@default") electrs_status_log = get_journalctl_log("electrs") netdata_status_log = get_journalctl_log("netdata") rtl_status_log = get_journalctl_log("rtl") lnbits_status_log = get_journalctl_log("lnbits") thunderhub_status_log = get_journalctl_log("thunderhub") docker_status_log = get_journalctl_log("docker") docker_image_build_status_log = get_journalctl_log("docker_images") # Find running containers running_containers = get_docker_running_containers() templateData = { "title": "myNode Status", "password_message": "", "current_version": current_version, "latest_version": latest_version, "current_beta_version": current_beta_version, "latest_beta_version": latest_beta_version, "has_checkin_error": has_checkin_error(), "upgrade_error": did_upgrade_fail(), "upgrade_logs": get_recent_upgrade_logs(), "serial_number": serial_number, "device_type": device_type, "device_ram": device_ram, "product_key": product_key, "product_key_skipped": pk_skipped, "product_key_error": pk_error, "changelog": changelog, "lnd_wallet_exists": lnd_wallet_exists(), "is_installing_docker_images": is_installing_docker_images(), "running_containers": running_containers, "startup_status_log": startup_status_log, "startup_status": get_service_status_basic_text("mynode"), "startup_status_color": get_service_status_color("mynode"), "quicksync_status_log": quicksync_status_log, "quicksync_status": quicksync_status, "quicksync_status_color": quicksync_status_color, "is_bitcoin_synced": is_bitcoind_synced(), "bitcoin_status_log": bitcoin_status_log, "bitcoin_status": get_service_status_basic_text("bitcoind"), "bitcoin_status_color": get_service_status_color("bitcoind"), "lnd_status_log": lnd_status_log, "lnd_status": get_service_status_basic_text("lnd"), "lnd_status_color": get_service_status_color("lnd"), "loopd_status_log": loopd_status_log, "loopd_status": get_service_status_basic_text("loopd"), "loopd_status_color": get_service_status_color("loopd"), "poold_status_log": poold_status_log, "poold_status": get_service_status_basic_text("poold"), "poold_status_color": get_service_status_color("poold"), "tor_status_log": tor_status_log, "tor_status": get_service_status_basic_text("tor@default"), "tor_status_color": get_service_status_color("tor@default"), "lndhub_status_log": lndhub_status_log, "lndhub_status": get_service_status_basic_text("lndhub"), "lndhub_status_color": get_service_status_color("lndhub"), "netdata_status_log": netdata_status_log, "netdata_status": get_service_status_basic_text("netdata"), "netdata_status_color": get_service_status_color("netdata"), "electrs_status_log": electrs_status_log, "electrs_status": get_service_status_basic_text("electrs"), "electrs_status_color": get_service_status_color("electrs"), "rtl_status_log": rtl_status_log, "rtl_status": get_service_status_basic_text("rtl"), "rtl_status_color": get_service_status_color("rtl"), "lnbits_status_log": lnbits_status_log, "lnbits_status": get_service_status_basic_text("lnbits"), "lnbits_status_color": get_service_status_color("lnbits"), "thunderhub_status_log": thunderhub_status_log, "thunderhub_status": get_service_status_basic_text("thunderhub"), "thunderhub_status_color": get_service_status_color("thunderhub"), "docker_status_log": docker_status_log, "docker_status": get_service_status_basic_text("docker"), "docker_status_color": get_service_status_color("docker"), "docker_image_build_status_log": docker_image_build_status_log, "docker_image_build_status": get_docker_image_build_status(), "docker_image_build_status_color": get_docker_image_build_status_color(), "whirlpool_status_log": get_journalctl_log("whirlpool"), "whirlpool_status": get_service_status_basic_text("whirlpool"), "whirlpool_status_color": get_service_status_color("whirlpool"), "dojo_status_log": get_journalctl_log("dojo"), "dojo_status": get_service_status_basic_text("dojo"), "dojo_status_color": get_service_status_color("dojo"), "btcpayserver_status_log": get_journalctl_log("btcpayserver"), "btcpayserver_status": get_service_status_basic_text("btcpayserver"), "btcpayserver_status_color": get_service_status_color("btcpayserver"), "mempoolspace_status_log": get_journalctl_log("mempoolspace"), "mempoolspace_status": get_service_status_basic_text("mempoolspace"), "mempoolspace_status_color": get_service_status_color("mempoolspace"), "caravan_status_log": get_journalctl_log("caravan"), "caravan_status": get_service_status_basic_text("caravan"), "caravan_status_color": get_service_status_color("caravan"), "nginx_status_log": get_journalctl_log("nginx"), "nginx_status": get_service_status_basic_text("nginx"), "nginx_status_color": get_service_status_color("nginx"), "firewall_status_log": get_journalctl_log("ufw"), "firewall_status": get_service_status_basic_text("ufw"), "firewall_status_color": get_service_status_color("ufw"), "firewall_rules": get_firewall_rules(), "is_quicksync_disabled": not quicksync_enabled, "is_netdata_enabled": is_netdata_enabled(), "uptime": uptime, "date": date, "local_ip": local_ip, "throttled_data": get_throttled_data(), "drive_usage": get_drive_usage(), "cpu_usage": get_cpu_usage(), "ram_usage": get_ram_usage(), "device_temp": get_device_temp(), "ui_settings": read_ui_settings() } return render_template('status.html', **templateData)