From ebfd20da3f627e26aa3fc7b2ff91e269de1546f8 Mon Sep 17 00:00:00 2001 From: Ana Custura Date: Tue, 17 Feb 2026 10:23:25 +0000 Subject: [PATCH] Add deltachat spport page --- app/commands.py | 11 +++-- app/forms.py | 11 +++-- app/routes.py | 71 +++++++++++++++++++++------ app/static/images/deltachat-icon.png | Bin 0 -> 58163 bytes app/templates/admin.html | 23 +++++---- app/templates/messaging.html | 18 +++++++ config.py | 12 +++-- 7 files changed, 106 insertions(+), 40 deletions(-) create mode 100644 app/static/images/deltachat-icon.png create mode 100644 app/templates/messaging.html diff --git a/app/commands.py b/app/commands.py index 1e02ec2..6d4b3a3 100644 --- a/app/commands.py +++ b/app/commands.py @@ -10,14 +10,15 @@ def seed_defaults(): "butterbox_logo": current_app.config["BUTTERBOX_LOGO"], "ssid": current_app.config["BUTTERBOX_SSID"], "wifi_password": current_app.config["BUTTERBOX_WIFI_PASSWORD"], - "disable_access_point": current_app.config["DISABLE_ACCESS_POINT"], + "enable_access_point": current_app.config["ENABLE_ACCESS_POINT"], "apply_changes": "false", "onboarding_complete": "false", "lock_root_password": "false", - "disable_file_viewer": current_app.config["DISABLE_FILE_VIEWER"], - "disable_map_viewer": current_app.config["DISABLE_MAP_VIEWER"], - "disable_chat": current_app.config["DISABLE_CHAT"], - "disable_app_store": current_app.config["DISABLE_APP_STORE"], + "enable_file_viewer": current_app.config["ENABLE_FILE_VIEWER"], + "enable_map_viewer": current_app.config["ENABLE_MAP_VIEWER"], + "enable_chat": current_app.config["ENABLE_CHAT"], + "enable_app_store": current_app.config["ENABLE_APP_STORE"], + "enable_deltachat": current_app.config["ENABLE_DELTACHAT"], "ssh_password": "", "admin_password": current_app.config["ADMIN_PASSWORD"], } diff --git a/app/forms.py b/app/forms.py index 43548bd..1dca64a 100644 --- a/app/forms.py +++ b/app/forms.py @@ -15,15 +15,16 @@ class SettingsForm(FlaskForm): # Access point settings ssid = StringField('SSID', validators=[DataRequired()]) wifi_password = PasswordField(_l('WiFi Password')) - disable_access_point = BooleanField(_l('Disable Access Point')) + enable_access_point = BooleanField(_l('Enable Access Point')) # Customisation settings butterbox_name = StringField(_l('Butterbox Name'), validators=[DataRequired()]) butterbox_logo = FileField((_l('Butterbox Logo')), validators=[FileAllowed(['jpg', 'png', 'svg'], 'Images only!')]) # Services settings - disable_file_viewer = BooleanField(_l('Disable File Viewer')) - disable_map_viewer = BooleanField(_l('Disable Map Viewer')) - disable_chat = BooleanField(_l('Disable Chat')) - disable_app_store = BooleanField(_l('Disable App Store')) + enable_file_viewer = BooleanField(_l('Enable File Viewer')) + enable_map_viewer = BooleanField(_l('Enable Map Viewer')) + enable_chat = BooleanField(_l('Enable Chat')) + enable_app_store = BooleanField(_l('Enable App Store')) + enable_deltachat = BooleanField(_l('Enable DeltaChat')) # Access Settings admin_password = PasswordField(_l('Admin Password')) ssh_password = PasswordField(_l('SSH Password')) diff --git a/app/routes.py b/app/routes.py index f715551..6fea7b8 100644 --- a/app/routes.py +++ b/app/routes.py @@ -13,6 +13,22 @@ from werkzeug.datastructures import FileStorage import json from flask_babel import _ import base64 +import random +from wordfreq import top_n_list +import secrets +import string + +def gen_username(): + words = top_n_list("en", 5000) + prefix = random.randint(1000, 9999) + return f"{random.choice(words)}{random.choice(words)}{prefix}" + +def gen_password(): + characters = string.ascii_letters + string.digits + password = ''.join(secrets.choice(characters) for i in range(20)) + return password + + def get_setting(name) -> str: setting = db.session.scalar(sa.select(Setting).where(Setting.key == name)) @@ -33,21 +49,24 @@ def dump_settings(filename: str) -> None: @app.route('/') @app.route('/index') def index(): - disable_chat = get_setting("disable_chat") - disable_app_store = get_setting("disable_app_store") - disable_map_viewer = get_setting("disable_map_viewer") - disable_file_viewer = get_setting("disable_file_viewer") + enable_chat = get_setting("enable_chat") + enable_app_store = get_setting("enable_app_store") + enable_map_viewer = get_setting("enable_map_viewer") + enable_file_viewer = get_setting("enable_file_viewer") + enable_deltachat = get_setting("enable_deltachat") service_array = [] usb_inserted = False # actual test of whether USB is inserted usb_has_maps = False # actual test of whether USB has maps folder usb_has_appstore = False # actual test of whether USB has an appstore - if disable_chat == 'false': + if enable_deltachat == 'true': + service_array.append({"name": "Secure Messaging", "image": url_for("static", filename="images/deltachat-icon.png"), "url": url_for("messaging") }) + if enable_chat == 'true': service_array.append({"name": "Message Board", "image": url_for("static", filename="images/chat-icon.png"), "url": app.config["CONVENE_INSTALL_PATH"] }) - if disable_app_store == 'false' and usb_has_appstore: + if enable_app_store == 'true' and usb_has_appstore: service_array.append({"name": "Apps", "image": url_for("static", filename="images/appstore-icon.svg")}) - if disable_map_viewer == 'false' and usb_has_maps: + if enable_map_viewer == 'true' and usb_has_maps: service_array.append({"name": "Offline Maps", "image": url_for("static", filename="images/maps-icon.png")}) - if disable_file_viewer == 'false': + if enable_file_viewer == 'true': name = "Files" if not usb_inserted: name = "Insert USB to browse files" @@ -85,9 +104,9 @@ def logout(): @login_required def admin(): form = SettingsForm() - populate_settings = ['butterbox_name', 'wifi_password', 'disable_access_point', 'ssid', 'disable_file_viewer', 'disable_map_viewer', 'disable_app_store', 'disable_chat' ] + populate_settings = ['butterbox_name', 'wifi_password', 'enable_access_point', 'ssid', 'enable_file_viewer', 'enable_map_viewer', 'enable_app_store', 'enable_chat', 'enable_deltachat' ] - bool_settings = ['disable_access_point','disable_file_viewer', 'disable_map_viewer', 'disable_app_store', 'disable_chat'] + bool_settings = ['enable_access_point','enable_file_viewer', 'enable_map_viewer', 'enable_app_store', 'enable_chat', 'enable_deltachat'] if not form.is_submitted(): for s in populate_settings: @@ -95,7 +114,7 @@ def admin(): getattr(form, s).data = (get_setting(s) == "true") else: getattr(form, s).data = get_setting(s) - + non_admin_settings_changed = False if form.validate_on_submit(): if form.submit.data: for s in populate_settings: @@ -106,7 +125,8 @@ def admin(): if new_value != existing_value: print(f"New value was changed for {s}. Existing value was {existing_value}, new value was {new_value}") set_setting(s, new_value) - if s in ['butterbox_name', 'wifi_password', 'ssid', 'disable_access_point']: + non_admin_settings_changed = True + if s in ['butterbox_name', 'wifi_password', 'ssid', 'enable_access_point', 'enable_chat', 'enable_delta_chat']: app.config['SETTINGS_CHANGED'] = True new_logo = form.butterbox_logo.data @@ -117,18 +137,21 @@ def admin(): new_value = f"data:{file_mimetype};base64,{b64_logo}" existing_value = get_setting('butterbox_logo') if new_value != existing_value: - print( f"New value was changed for logo") set_setting('butterbox_logo', new_value) + non_admin_settings_changed = True new_admin_password = form.admin_password.data if new_admin_password: existing_admin_password = get_setting('admin_password') if new_admin_password != existing_admin_password: - print( f"New value was changed for admin password") set_setting('admin_password', new_admin_password) - print(get_setting('admin_password')) + non_admin_settings_changed = True if app.config['SETTINGS_CHANGED']: - flash(_("⚠️ Some settings won't take effect until the Butter Box restarts. Click 'Apply Changes' to restart.")) + flash(_("⚠️ Some settings won't fully take effect until the Butter Box restarts. Click 'Apply Changes' to restart.")) + else: + if non_admin_settings_changed: + flash( + _("Settings successfully changed.")) db.session.commit() if form.apply_changes.data: @@ -138,3 +161,19 @@ def admin(): return render_template('admin.html', get_setting=get_setting, form=form) + + +@app.route('/messaging', methods=['GET', 'POST']) +def messaging(): + return render_template('messaging.html', get_setting=get_setting) + +@app.route("/deltachat_credentials", methods=["POST"]) +def generate_random_deltachat_credentials(): + ip = app.config['BUTTERBOX_DEFAULT_IP'] + username = gen_username() + password = gen_password() + + flash(f"Username: {username}") + flash(f"Password: {password}") + flash(f"IP: {ip}") + return redirect(url_for("messaging")) \ No newline at end of file diff --git a/app/static/images/deltachat-icon.png b/app/static/images/deltachat-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..071564362bbebb0abe9cac0f4cda54c0c885c37d GIT binary patch literal 58163 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 rwI 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 yhQP)xqcyAo^@I1J {{ form.hidden_tag() }} - {% if config['SETTINGS_CHANGED'] %} -

{{ form.apply_changes(class="button is-warning") }}

- {% endif %}
{{ wtf.form_input_field(form.ssid) }}

This is the name of the advertised Wi-Fi network. Current SSID: {{ get_setting('ssid') }}

@@ -23,23 +20,27 @@ Current name: {{ get_setting('butterbox_name') }}, accessed at {{ get_setting('butterbox_name') }}.local.

- {{ wtf.form_bool_field(form.disable_access_point) }} + {{ wtf.form_bool_field(form.enable_access_point) }}

Whether this box will advertise a WiFi network.

- {{ wtf.form_bool_field(form.disable_map_viewer) }} + {{ wtf.form_bool_field(form.enable_map_viewer) }}

Whether map services are enabled.

- {{ wtf.form_bool_field(form.disable_chat) }} + {{ wtf.form_bool_field(form.enable_chat) }}

Whether chat services are enabled.

- {{ wtf.form_bool_field(form.disable_file_viewer) }} + {{ wtf.form_bool_field(form.enable_deltachat) }} +

Whether secure messaging using DeltaChat is enabled.

+
+
+ {{ wtf.form_bool_field(form.enable_file_viewer) }}

Whether files services via USB are enabled.

- {{ wtf.form_bool_field(form.disable_app_store) }} + {{ wtf.form_bool_field(form.enable_app_store) }}

Whether app store services are enabled.

@@ -55,7 +56,11 @@

This is the logo shown in the UI. Current logo:

-

{{ form.submit( class="button is-link") }}

+

{{ form.submit( class="button is-link") }} + {% if config['SETTINGS_CHANGED'] %} + {{ form.apply_changes(class="button is-warning") }} + {% endif %} +

Logout diff --git a/app/templates/messaging.html b/app/templates/messaging.html new file mode 100644 index 0000000..dac504f --- /dev/null +++ b/app/templates/messaging.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% block content %} + +
+

To use secure messaging, install Delta Chat and then return to this page to create your local offline account

+
+ + +
+
+ +
+{% endblock %} \ No newline at end of file diff --git a/config.py b/config.py index 1b77d7e..4aa92df 100644 --- a/config.py +++ b/config.py @@ -9,14 +9,16 @@ class Config: BUTTERBOX_SSID= "butterbox" BUTTERBOX_WIFI_PASSWORD= "" LANGUAGES = ['en', 'ro'] + BUTTERBOX_DEFAULT_IP = "10.0.1.37" BUTTERBOX_NAME = "Butter Box" BUTTERBOX_LOGO = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjc5IiBoZWlnaHQ9IjIzNiIgdmlld0JveD0iMCAwIDI3OSAyMzYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxnIG9wYWNpdHk9IjAuOSI+CjxwYXRoIG9wYWNpdHk9IjAuOSIgZD0iTTEzOS4zODggMTk3LjYzNkMxNzIuMjg0IDE5Ny42MzYgMTk4Ljk1MiAxNzAuOTY4IDE5OC45NTIgMTM4LjA3MkMxOTguOTUyIDEwNS4xNzUgMTcyLjI4NCA3OC41MDcgMTM5LjM4OCA3OC41MDdDMTA2LjQ5MSA3OC41MDcgNzkuODIzIDEwNS4xNzUgNzkuODIzIDEzOC4wNzJDNzkuODIzIDE3MC45NjggMTA2LjQ5MSAxOTcuNjM2IDEzOS4zODggMTk3LjYzNloiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNMTM5LjYxMiA0LjAzMjU5VjYwLjM3NTRDMTM0LjgxNyA1Ny40NTM0IDEzMS4xNDYgNDUuOTE1MSAxMzEuMTQ2IDMyLjIwNEMxMzEuMjIxIDE4LjQ5MjkgMTM0LjgxNyA2Ljk1NDYzIDEzOS42MTIgNC4wMzI1OVoiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNNjAuNDE3OCAxMzkuNDJINEM2LjkyMjA0IDE0NC4yMTUgMTguNDYwMyAxNDcuODg3IDMyLjE3MTQgMTQ3Ljg4N0M0NS45NTc0IDE0Ny44ODcgNTcuNDk1NyAxNDQuMjE1IDYwLjQxNzggMTM5LjQyWiIgZmlsbD0iI0ZFRjVCOCIgc3Ryb2tlPSIjRkVGNUI4IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBvcGFjaXR5PSIwLjkiIGQ9Ik0yNzUgMTM5LjY0NUgyMTguNjU3QzIyMS41NzkgMTM0Ljg1IDIzMy4xMTggMTMxLjE3OSAyNDYuODI5IDEzMS4xNzlDMjYwLjU0IDEzMS4yNTQgMjcyLjA3OCAxMzQuODUgMjc1IDEzOS42NDVaIiBmaWxsPSIjRkVGNUI4IiBzdHJva2U9IiNGRUY1QjgiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIi8+CjxwYXRoIG9wYWNpdHk9IjAuOSIgZD0iTTIzNS4zNjUgNDMuODE3M0wxOTUuNTA2IDgzLjY3NjlDMTk0LjE1NyA3OC4yMDc0IDE5OS43NzYgNjcuNDkzMyAyMDkuNDQyIDU3LjgyODFDMjE5LjI1NyA0OC4wODggMjI5Ljg5NiA0Mi40Njg3IDIzNS4zNjUgNDMuODE3M1oiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNODMuNjQ0MiA4My41MjY5TDQzLjc4NDcgNDMuNjY3NEM0Mi40MzYxIDQ5LjEzNjggNDguMDU1NCA1OS44NTA5IDU3LjcyMDUgNjkuNTE2MUM2Ny40NjA3IDc5LjI1NjIgNzguMTc0OCA4NC44NzU1IDgzLjY0NDIgODMuNTI2OVoiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNMTgyLjkxOCAzNC45MDEyTDE2Ny41NTkgNzIuMTM4NUMxNjUuMTYxIDY4LjkxNjcgMTY1LjkxMSA2MC4zMDA1IDE2OS42NTcgNTEuMjM0N0MxNzMuNDAzIDQyLjE2ODkgMTc4Ljk0NyAzNS41MDA2IDE4Mi45MTggMzQuOTAxMloiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNNzMuMDA1MSAxMTQuMDIxTDM1Ljg0MjggOTguNjYxNkMzNi40NDIyIDEwMi42MzMgNDMuMTEwNCAxMDguMTc3IDUyLjE3NjIgMTExLjkyM0M2MS4yNDIgMTE1LjY2OSA2OS43ODMzIDExNi40MTkgNzMuMDA1MSAxMTQuMDIxWiIgZmlsbD0iI0ZFRjVCOCIgc3Ryb2tlPSIjRkVGNUI4IiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIvPgo8cGF0aCBvcGFjaXR5PSIwLjkiIGQ9Ik0yNDcuNjUzIDE4NC41MjRMMjEwLjQxNiAxNjkuMjRDMjEzLjYzNyAxNjYuODQyIDIyMi4yNTQgMTY3LjU5MiAyMzEuMzE5IDE3MS4zMzhDMjQwLjM4NSAxNzUuMDg0IDI0Ny4wNTMgMTgwLjU1MyAyNDcuNjUzIDE4NC41MjRaIiBmaWxsPSIjRkVGNUI4IiBzdHJva2U9IiNGRUY1QjgiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIi8+CjxwYXRoIG9wYWNpdHk9IjAuOSIgZD0iTTY3LjIzNTkgMTcwLjg4OEwzMC4wNzM2IDE4Ni4zMjNDMzMuMjk1MyAxODguNzIgNDEuODM2NyAxODcuOTcxIDUwLjkwMjUgMTg0LjIyNUM2MC4wNDMyIDE4MC40MDQgNjYuNjM2NSAxNzQuODU5IDY3LjIzNTkgMTcwLjg4OFoiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNMjQ1LjEwNSA5NS4yODk5TDIwNy45NDMgMTEwLjc5OUMyMDguNTQyIDEwNi44MjggMjE1LjEzNiAxMDEuMjg0IDIyNC4yMDIgOTcuNTM3NkMyMzMuMjY3IDkzLjcxNjUgMjQxLjgwOSA5Mi44OTI0IDI0NS4xMDUgOTUuMjg5OVoiIGZpbGw9IiNGRUY1QjgiIHN0cm9rZT0iI0ZFRjVCOCIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbWl0ZXJsaW1pdD0iMTAiLz4KPHBhdGggb3BhY2l0eT0iMC45IiBkPSJNMTEwLjA5MiA3My4wMzc3TDk0LjY1OCAzNS44NzU0QzkyLjI2MDQgMzkuMDk3MSA5My4wODQ2IDQ3LjcxMzQgOTYuODMwOCA1Ni43NzkyQzEwMC41NzcgNjUuODQ1IDEwNi4xMjEgNzIuNDM4MyAxMTAuMDkyIDczLjAzNzdaIiBmaWxsPSIjRkVGNUI4IiBzdHJva2U9IiNGRUY1QjgiIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLW1pdGVybGltaXQ9IjEwIi8+CjwvZz4KPHBhdGggZD0iTTIwMy4xMyAxNzguOTM2QzE5OC4xMTkgMTc4LjIyIDE5Mi4zOTMgMTc3Ljc5MSAxOTAuMjQ2IDE3NS41NzJDMTg4LjQ1NyAxNzMuNzExIDE5Mi44OTQgMTY3LjYyNyAxODguNzQzIDE2MS44M0MxODcuODg0IDE2MC42ODUgMTg2LjUyNCAxNTkuNTM5IDE4NC45NSAxNTguNjA5VjEzOS43MTNDMTg0Ljk1IDEzNi4xMzUgMTgzLjE2IDEzMi44NDIgMTgwLjE1NCAxMzAuODM4TDE0NC40MzkgMTA4LjA3OEMxNDAuOTMyIDEwNS43ODcgMTM2LjQyMyAxMDUuNzg3IDEzMi45MTUgMTA4LjA3OEw5Ny4xMjg1IDEzMC45MUM5NC4xMjI0IDEzMi44NDIgOTIuMzMzIDEzNi4yMDYgOTIuMzMzIDEzOS43MTNWMTU4Ljc1MkM5MS4yNTk0IDE1OS4zOTYgOTAuMzI5IDE1OS45NjkgODkuNzU2NCAxNjAuMzk4QzgzLjk1ODkgMTY0LjMzNSA4OC4wMzg2IDE3MS40OTIgODUuODE5OCAxNzUuMjg2QzgzLjAyODQgMTc5Ljg2NiA4MC40NTE3IDE3OC44NjQgNzMuMDA4IDE4MC45NEM2Ni40OTQ4IDE4Mi42NTggNjMuNDE3MSAxOTQuMTgxIDg2LjUzNTUgMTg4LjQ1NUM4OS4xMTIyIDE4Ny44MTEgOTAuNTQzNiAxODcuNTI1IDkzLjQ3ODIgMTg5LjQ1N0MxMDAuNTY0IDE5My45NjYgOTMuMzM1MSAyMDguMjEgOTkuOTkxNCAyMTAuNDI4QzEwOS44NjkgMjEzLjcyMSAxMDIuNDI1IDE4OS40NTcgMTA4LjE1MSAxOTEuMDMyQzExMC44NzEgMTkyLjM5MiAxMTMuMzA0IDE5NC4zOTYgMTE0LjMwNiAxOTcuNjE3QzExNy4xNjkgMjA1LjIwNCAxMTIuNzMyIDIzMy4yNjEgMTIwLjAzMiAyMzQuNDc3QzEyOC40NzggMjM1Ljc2NiAxMjQuMTEyIDIwMy43IDEyOC4wNDggMjAyLjI2OUMxMzAuNDEgMjAxLjQxIDEzMi43MDEgMjA1LjU2MSAxMzguNDk4IDIwNi4yMDZDMTQzLjE1MSAyMDYuNzA3IDE0Ny45NDYgMjAzLjcgMTQ5LjY2NCAyMDIuMjY5QzE1NC41MzEgMTk4LjExOCAxNTcuODk1IDE5Ni41NDMgMTYxLjgzMSAxOTYuMTE0QzE3Mi4zNTMgMTk0Ljg5NyAxNjMuMTkxIDIyMC45NSAxNzIuOTk3IDIxOS44MDVDMTgxLjY1NyAyMTYuOTQyIDE3MS4yMDggMTk1LjA0IDE4Ni44MTEgMTg5LjI0M0MxOTIuODk0IDE4Ny4wOTUgMjA1LjA2MiAxOTAuMDMgMjA5LjI4NSAxODguMzEyQzIxMy4zNjUgMTg2LjUyMyAyMTEuNjQ3IDE3OS43OTUgMjAzLjEzIDE3OC45MzZaIiBmaWxsPSIjRkNFMzYzIi8+CjxwYXRoIGQ9Ik0xMjAuNTMzIDIzNS45MDlDMTIwLjMxOCAyMzUuOTA5IDEyMC4wMzIgMjM1LjkwOSAxMTkuODE3IDIzNS44MzdDMTE0LjE2MyAyMzQuOTA3IDExNC4wOTIgMjI0LjA5OSAxMTQuMDIgMjEyLjY0N0MxMTQuMDIgMjA2Ljc3OCAxMTMuOTQ4IDIwMC42OTQgMTEyLjk0NiAxOTguMDQ2VjE5Ny45NzVDMTEyLjIzMSAxOTUuNjg0IDExMC41MTMgMTkzLjgyMyAxMDcuNzIxIDE5Mi4zMkMxMDcuMTQ5IDE5My4xMDggMTA3LjA3NyAxOTYuODI5IDEwNy4wNzcgMTk5LjEyQzEwNy4wNzcgMjA0LjEzIDEwNy4wMDYgMjA5LjM1NSAxMDQuMjE0IDIxMS4zNTlDMTAyLjk5OCAyMTIuMjE4IDEwMS40MjMgMjEyLjM2MSA5OS41NjIgMjExLjc4OEM5NS4yNjc2IDIxMC4zNTcgOTUuMzM5MiAyMDUuNTYxIDk1LjQ4MjMgMjAwLjk4MUM5NS41NTM5IDE5Ni44MjkgOTUuNjI1NCAxOTIuNTM1IDkyLjc2MjUgMTkwLjY3NEM5MC4yNTc0IDE4OS4wMjggODkuMjU1NCAxODkuMjQzIDg2Ljk2NSAxODkuODg3QzcwLjcxNzcgMTkzLjg5NSA2Ny42NCAxODkuMzg2IDY3LjEzOSAxODcuMjM5QzY2LjM1MTcgMTg0LjE2MSA2OC45OTk5IDE4MC41ODIgNzIuNzkzMyAxNzkuNThDNzQuODY5IDE3OS4wMDggNzYuNTg2OCAxNzguNzIxIDc3Ljk0NjcgMTc4LjQzNUM4MS42Njg1IDE3Ny43MTkgODMuMDI4NCAxNzcuNDMzIDg0Ljc0NjIgMTc0LjY0MUM4NS4zOTA0IDE3My41NjggODUuMzE4OCAxNzEuNzc5IDg1LjI0NzIgMTY5LjkxOEM4NS4xMDQgMTY2LjQ4MiA4NC44ODkzIDE2Mi4xODggODkuMTEyMiAxNTkuMzI1Qzg5LjU0MTYgMTU4Ljk2NyA5MC4xODU4IDE1OC41MzcgOTEuMDQ0NyAxNTguMDM2VjEzOS43ODVDOTEuMDQ0NyAxMzUuNzc3IDkzLjEyMDMgMTMxLjkxMiA5Ni40ODQzIDEyOS43NjVMMTMyLjI3MSAxMDYuOTMyQzEzNi4yMDggMTA0LjM1NiAxNDEuMzYxIDEwNC4zNTYgMTQ1LjM2OSAxMDYuOTMyTDE4MS4wODUgMTI5LjY5M0MxODQuNTIgMTMxLjk4MyAxODYuNTI0IDEzNS43MDUgMTg2LjUyNCAxMzkuNzg1VjE1Ny44OTNDMTg3Ljk1NiAxNTguODI0IDE4OS4xNzMgMTU5Ljk2OSAxOTAuMDMyIDE2MS4wNDJDMTkyLjk2NiAxNjUuMTIyIDE5Mi4xNzkgMTY5LjI3MyAxOTEuNjc4IDE3Mi4wNjVDMTkxLjUzNSAxNzIuOTk1IDE5MS4yNDggMTc0LjM1NSAxOTEuNDYzIDE3NC42NDFDMTkyLjk2NiAxNzYuMjE2IDE5Ny40MDQgMTc2Ljc4OSAyMDEuMzQgMTc3LjI5QzIwMi4wNTYgMTc3LjM2MSAyMDIuNzcyIDE3Ny41MDQgMjAzLjQxNiAxNzcuNTc2QzIwOS43ODYgMTc4LjI5MiAyMTIuNTA2IDE4MS43MjcgMjEyLjkzNSAxODQuNDQ3QzIxMy4yOTMgMTg2LjY2NiAyMTIuMTQ4IDE4OC43NDIgMjEwLjAwMSAxODkuNjcyQzIwNy43MSAxOTAuNjAyIDIwMy45MTcgMTkwLjM4OCAxOTkuNjIyIDE5MC4xMDFDMTk1LjMyOCAxODkuODg3IDE5MC4zODkgMTg5LjYgMTg3LjQ1NSAxOTAuNjAyQzE3OS40MzkgMTkzLjYwOSAxNzkuMDgxIDIwMS4xOTUgMTc4Ljc5NCAyMDguNTY4QzE3OC41MDggMjE0LjI5MyAxNzguMjkzIDIxOS42NjIgMTczLjY0MSAyMjEuMjM2TDE3My4zNTUgMjIxLjMwOEMxNzEuNzggMjIxLjUyMiAxNzAuNDIgMjIxLjE2NSAxNjkuMzQ3IDIyMC4yMzRDMTY2Ljc3IDIxOC4wODcgMTY2LjYyNyAyMTMuMzYzIDE2Ni40MTIgMjA4LjQyNEMxNjYuMjY5IDIwNC4zNDUgMTY2LjA1NCAxOTkuNjkyIDE2NC4zMzYgMTk4LjE4OUMxNjMuOTc5IDE5Ny45MDMgMTYzLjQwNiAxOTcuNTQ1IDE2Mi4xODkgMTk3LjY4OEMxNTguMzk2IDE5OC4xMTggMTU1LjI0NyAxOTkuNjkyIDE1MC44MDkgMjAzLjQ4NkMxNTAuNTIzIDIwMy43MDEgMTQ0Ljc5NyAyMDguNDI0IDEzOC41NyAyMDcuNzhDMTM1LjEzNCAyMDcuNDIyIDEzMi44NDQgMjA1LjkxOSAxMzEuMTI2IDIwNC44NDZDMTMwLjEyNCAyMDQuMjAyIDEyOS4yNjUgMjAzLjcwMSAxMjguODM2IDIwMy43NzJDMTI4LjA0OCAyMDQuODQ2IDEyNy43NjIgMjEwLjcxNSAxMjcuNjE5IDIxNS4wMDlDMTI3LjI2MSAyMjMuNTI3IDEyNi45MDMgMjMyLjMzIDEyMy4zOTYgMjM1LjE5M0MxMjIuMzk0IDIzNS41NTEgMTIxLjQ2NCAyMzUuOTA5IDEyMC41MzMgMjM1LjkwOVpNMTE1LjY2NiAxOTcuMTE2QzExNi44MTEgMjAwLjI2NSAxMTYuODgzIDIwNi4yNzcgMTE2Ljg4MyAyMTIuNjQ3QzExNi44ODMgMjIwLjUyIDExNi45NTQgMjMyLjQ3MyAxMjAuMjQ3IDIzMy4wNDZDMTIwLjY3NiAyMzMuMTE3IDEyMS4wMzQgMjMzLjA0NiAxMjEuMzIxIDIzMi43NkMxMjMuODI2IDIzMC43NTYgMTI0LjE4MyAyMjEuNDUxIDEyNC40NyAyMTQuNjUxQzEyNC44MjggMjA1Ljk5MSAxMjUuMTE0IDIwMS43NjggMTI3LjQ3NiAyMDAuOTA5QzEyOS4yNjUgMjAwLjI2NSAxMzAuNzY4IDIwMS4yNjcgMTMyLjQxNCAyMDIuMjY5QzEzNC4wNjEgMjAzLjI3MSAxMzUuODUgMjA0LjQ4OCAxMzguNTcgMjA0Ljc3NEMxNDIuNzkzIDIwNS4yMDQgMTQ3LjMwMiAyMDIuMzQxIDE0OC42NjIgMjAxLjE5NUMxNTMuNTI5IDE5Ny4wNDQgMTU3LjE3OSAxOTUuMTgzIDE2MS42MTcgMTk0LjY4MkMxNjMuMzM0IDE5NC40NjcgMTY0LjgzOCAxOTQuODk3IDE2NS45ODMgMTk1LjgyN0MxNjguNzAzIDE5OC4xMTggMTY4LjkxNyAyMDIuOTg1IDE2OS4wNiAyMDguMTM4QzE2OS4yMDQgMjEyLjA3NSAxNjkuNDE4IDIxNi41ODQgMTcwLjk5MyAyMTcuOTQ0QzE3MS4yNzkgMjE4LjE1OCAxNzEuNzA5IDIxOC40NDUgMTcyLjYzOSAyMTguMzczQzE3NS4xNDQgMjE3LjQ0MyAxNzUuNDMgMjEzLjkzNiAxNzUuNjQ1IDIwOC4zNTNDMTc2LjAwMyAyMDAuODM4IDE3Ni4zNjEgMTkxLjUzMyAxODYuMjM4IDE4Ny44ODNDMTg5Ljc0NSAxODYuNjY2IDE5NC43NTUgMTg2Ljk1MiAxOTkuNTUxIDE4Ny4yMzlDMjAzLjIwMSAxODcuNDUzIDIwNi45OTUgMTg3LjY2OCAyMDguNjQxIDE4Ny4wMjRDMjA5LjU3MSAxODYuNjY2IDIxMC4wMDEgMTg1Ljg3OSAyMDkuODU4IDE4NC44NzdDMjA5LjU3MSAxODMuMDg3IDIwNy4yODEgMTgwLjg2OCAyMDIuODQzIDE4MC40MzlIMjAyLjc3MkMyMDIuMDU2IDE4MC4zNjcgMjAxLjQxMiAxODAuMjI0IDIwMC42OTYgMTgwLjE1M0MxOTUuODI5IDE3OS41MDkgMTkxLjMyIDE3OC45MzYgMTg5LjEwMSAxNzYuNjQ2QzE4Ny44ODQgMTc1LjM1NyAxODguMjQyIDE3My40OTYgMTg4LjYgMTcxLjU2NEMxODkuMTAxIDE2OC45ODcgMTg5LjY3NCAxNjUuNzY2IDE4Ny40NTUgMTYyLjc2QzE4Ni43MzkgMTYxLjgzIDE4NS41MjIgMTYwLjc1NiAxODQuMDkxIDE1OS45NjlMMTgzLjM3NSAxNTkuNTM5VjEzOS44NTdDMTgzLjM3NSAxMzYuNzc5IDE4MS44MDEgMTMzLjkxNiAxNzkuMjI0IDEzMi4xOThMMTQzLjY1MiAxMDkuMjIzQzE0MC42NDUgMTA3LjIxOSAxMzYuNzA5IDEwNy4yMTkgMTMzLjcwMyAxMDkuMjIzTDk3LjkxNTggMTMyLjA1NUM5NS4zMzkxIDEzMy43MDEgOTMuNzY0NSAxMzYuNjM2IDkzLjc2NDUgMTM5LjY0MlYxNTkuNDY4TDkzLjA0ODggMTU5Ljg5N0M5Mi4xMTgzIDE2MC40NyA5MS4xMTYzIDE2MS4wNDIgOTAuNjE1MiAxNjEuNDcyQzg3LjY4MDcgMTYzLjQ3NiA4Ny44MjM5IDE2Ni40ODIgODcuOTY3IDE2OS42MzFDODguMDM4NiAxNzEuODUgODguMTgxOCAxNzQuMTQgODcuMTA4MSAxNzYuMDAxQzg0Ljc0NjIgMTc5LjkzOCA4Mi4yNDExIDE4MC40MzkgNzguNDQ3NyAxODEuMTU1Qzc3LjAxNjIgMTgxLjQ0MSA3NS40NDE2IDE4MS43MjcgNzMuNTA5MSAxODIuM0M3MS4wNzU2IDE4Mi45NDQgNjkuNTcyNSAxODUuMDkxIDY5LjkzMDQgMTg2LjQ1MUM3MC4zNTk4IDE4OC4wOTcgNzQuMjk2NCAxOTAuMDMgODYuMzIwOCAxODcuMDk1Qzg5LjExMjIgMTg2LjM4IDkxLjA0NDcgMTg2LjA5MyA5NC40MDg3IDE4OC4zMTJDOTguNzAzMSAxOTEuMDMyIDk4LjU2IDE5Ni40IDk4LjQ4ODQgMjAxLjEyNEM5OC40MTY4IDIwNS42MzMgOTguNDg4NCAyMDguNDk2IDEwMC42MzYgMjA5LjIxMkMxMDIuMDY3IDIwOS43MTMgMTAyLjU2OCAyMDkuMzU1IDEwMi43MTEgMjA5LjIxMkMxMDQuMzU3IDIwOC4wNjcgMTA0LjM1NyAyMDIuOTg1IDEwNC4zNTcgMTk5LjMzNUMxMDQuMzU3IDE5NC45NjggMTA0LjQyOSAxOTEuNjA1IDEwNi4yMTggMTkwLjI0NUMxMDYuNzE5IDE4OS44ODcgMTA3LjUwNyAxODkuNTI5IDEwOC43MjMgMTg5LjgxNUwxMDkuMDEgMTg5Ljg4N0MxMTIuNDQ1IDE5MS41MzMgMTE0LjczNiAxOTMuOTY2IDExNS42NjYgMTk3LjExNloiIGZpbGw9IiMwMTAwMDQiLz4KPHBhdGggZD0iTTE1MC4wMjIgMTY2LjEyNEMxNTIuODEzIDE3MC4zNDcgMTQ2LjA4NSAxOTQuMTEgMTM4LjI4NCAxOTQuMTFDMTI4LjY5MyAxOTQuMTEgMTIzLjg5NyAxNjkuODQ2IDEyNi40NzQgMTY2LjEyNEMxMjcuOTA1IDE2NC4wNDkgMTMxLjQxMyAxNjguMzQzIDEzOC42NDEgMTY4LjM0M0MxNDUuMzY5IDE2OC4zNDMgMTQ4LjU5IDE2My45MDUgMTUwLjAyMiAxNjYuMTI0WiIgZmlsbD0iIzAxMDAwNCIvPgo8cGF0aCBkPSJNMTc1LjIxNiAxNTkuNjgzQzE3Ni45MzQgMTYwLjExMiAxNzguMjkzIDE1OC4zMjMgMTc3LjA3NyAxNTcuMTc4QzE3NS4yODcgMTU1LjYwMyAxNzIuMTM4IDE1My4xNjkgMTY2LjU1NSAxNTMuMTY5QzE2MS4xMTYgMTUzLjE2OSAxNTcuNzUyIDE1NS42MDMgMTU1LjY3NiAxNTcuMjQ5QzE1NC4yNDUgMTU4LjM5NCAxNTUuNjc2IDE2MC4zMjcgMTU3LjUzNyAxNTkuODI2QzE2MC4wNDIgMTU5LjE4MiAxNjMuMjYzIDE1Ny42MDcgMTY2LjY5OCAxNTcuNjA3QzE3MC4xMzQgMTU3Ljc1IDE3My4wNjkgMTU5LjE4MiAxNzUuMjE2IDE1OS42ODNaIiBmaWxsPSIjMDEwMDA0Ii8+CjxwYXRoIGQ9Ik0xMTkuMTAyIDE1OS42ODNDMTIwLjgxOSAxNjAuMTEyIDEyMi4xNzkgMTU4LjMyMyAxMjAuOTYzIDE1Ny4xNzhDMTE5LjE3MyAxNTUuNjAzIDExNi4wMjQgMTUzLjE2OSAxMTAuNDQxIDE1My4xNjlDMTA1LjAwMiAxNTMuMTY5IDEwMS42MzggMTU1LjYwMyA5OS41NjIgMTU3LjI0OUM5OC4xMzA1IDE1OC4zOTQgOTkuNTYyIDE2MC4zMjcgMTAxLjQyMyAxNTkuODI2QzEwMy45MjggMTU5LjE4MiAxMDcuMTQ5IDE1Ny42MDcgMTEwLjU4NCAxNTcuNjA3QzExNC4wOTIgMTU3Ljc1IDExNi45NTUgMTU5LjE4MiAxMTkuMTAyIDE1OS42ODNaIiBmaWxsPSIjMDEwMDA0Ii8+CjxwYXRoIGQ9Ik0xMDkuODY5IDE4Mi41ODZDMTE2LjE1NCAxODIuNTg2IDEyMS4yNDkgMTc4LjUxNyAxMjEuMjQ5IDE3My40OTZDMTIxLjI0OSAxNjguNDc2IDExNi4xNTQgMTY0LjQwNiAxMDkuODY5IDE2NC40MDZDMTAzLjU4MyAxNjQuNDA2IDk4LjQ4ODMgMTY4LjQ3NiA5OC40ODgzIDE3My40OTZDOTguNDg4MyAxNzguNTE3IDEwMy41ODMgMTgyLjU4NiAxMDkuODY5IDE4Mi41ODZaIiBmaWxsPSIjRkVGNUI4Ii8+CjxwYXRoIGQ9Ik0xNjYuNjk4IDE4Mi41ODZDMTcyLjk4MyAxODIuNTg2IDE3OC4wNzkgMTc4LjUxNyAxNzguMDc5IDE3My40OTZDMTc4LjA3OSAxNjguNDc2IDE3Mi45ODMgMTY0LjQwNiAxNjYuNjk4IDE2NC40MDZDMTYwLjQxMyAxNjQuNDA2IDE1NS4zMTggMTY4LjQ3NiAxNTUuMzE4IDE3My40OTZDMTU1LjMxOCAxNzguNTE3IDE2MC40MTMgMTgyLjU4NiAxNjYuNjk4IDE4Mi41ODZaIiBmaWxsPSIjRkVGNUI4Ii8+CjxwYXRoIGQ9Ik0xMzMuMjAyIDE1Mi4wOTZMMTA3LjQzNSAxMzYuMjA2QzEwNS45MzIgMTM1LjI3NiAxMDUuOTMyIDEzMy4wNTcgMTA3LjQzNSAxMzIuMTI3TDEzMy4yMDIgMTE2LjIzN0MxMzYuMzUxIDExNC4zMDUgMTQwLjI4OCAxMTQuMzA1IDE0My40MzcgMTE2LjIzN0wxNjkuMjAzIDEzMi4xMjdDMTcwLjcwNiAxMzMuMDU3IDE3MC43MDYgMTM1LjI3NiAxNjkuMjAzIDEzNi4yMDZMMTQzLjQzNyAxNTIuMDk2QzE0MC4yODggMTU0LjAyOCAxMzYuMjc5IDE1NC4wMjggMTMzLjIwMiAxNTIuMDk2WiIgZmlsbD0iI0ZFRjVCOCIvPgo8cGF0aCBkPSJNMTM1LjYzNSAxOTAuMzg4QzEzMi4yNzEgMTg3LjgxMSAxMzMuMjAyIDE3OC41NzggMTM5LjE0MiAxNzcuNTA0QzE0NC4xNTMgMTc2LjU3NCAxNDYuNTE1IDE3OC4yMiAxNDMuMzY1IDE4NC45NDhDMTQwLjIxNiAxOTEuODkxIDEzNy4yMSAxOTEuNTMzIDEzNS42MzUgMTkwLjM4OFoiIGZpbGw9IiNGRUY1QjgiLz4KPC9zdmc+Cg==" ADMIN_PASSWORD = "admin" - DISABLE_ACCESS_POINT = "false" - DISABLE_CHAT = "false" - DISABLE_APP_STORE = "false" - DISABLE_MAP_VIEWER = "false" - DISABLE_FILE_VIEWER = "false" + ENABLE_ACCESS_POINT = "true" + ENABLE_CHAT = "true" + ENABLE_APP_STORE = "true" + ENABLE_MAP_VIEWER = "true" + ENABLE_FILE_VIEWER = "true" + ENABLE_DELTACHAT = "true" CONVENE_INSTALL_PATH = "/chat" \ No newline at end of file