diff --git a/files/__main__.py b/files/__main__.py
index 56173d14e..69346cb6c 100644
--- a/files/__main__.py
+++ b/files/__main__.py
@@ -26,12 +26,12 @@ app.jinja_env.auto_reload = True
app.jinja_env.add_extension('jinja2.ext.do')
faulthandler.enable()
-is_localhost = SITE == "localhost"
+IS_LOCALHOST = SITE == "localhost" or SITE == "127.0.0.1" or SITE.startswith("192.168")
app.config['SERVER_NAME'] = SITE
app.config['SECRET_KEY'] = environ.get('SECRET_KEY').strip()
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 3153600
-if not is_localhost:
+if not IS_LOCALHOST:
app.config['SESSION_COOKIE_DOMAIN'] = f'.{SITE}'
app.config["SESSION_COOKIE_NAME"] = "session_" + environ.get("SITE_NAME").strip().lower()
app.config['MAX_CONTENT_LENGTH'] = 100 * 1024 * 1024
diff --git a/files/classes/sub.py b/files/classes/sub.py
index 22c1a5c7c..495a2fb58 100644
--- a/files/classes/sub.py
+++ b/files/classes/sub.py
@@ -7,14 +7,10 @@ from sqlalchemy.sql.sqltypes import *
from files.classes import Base
from files.helpers.lazy import lazy
+from files.helpers.const import *
from .sub_relationship import *
-SITE_NAME = environ.get("SITE_NAME", '').strip()
-SITE = environ.get("SITE", '').strip()
-if SITE == "localhost": SITE_FULL = 'http://' + SITE
-else: SITE_FULL = 'https://' + SITE
-
class Sub(Base):
__tablename__ = "subs"
name = Column(String, primary_key=True)
diff --git a/files/helpers/const.py b/files/helpers/const.py
index fd1e222a8..3ee1f3ce9 100644
--- a/files/helpers/const.py
+++ b/files/helpers/const.py
@@ -58,7 +58,9 @@ DEFAULT_RATELIMIT_USER = DEFAULT_RATELIMIT_SLOWER
PUSHER_LIMIT = 1000 # API allows 10 KB but better safe than sorry
-if SITE == "localhost": SITE_FULL = 'http://' + SITE
+IS_LOCALHOST = SITE == "localhost" or SITE == "127.0.0.1" or SITE.startswith("192.168.")
+
+if IS_LOCALHOST: SITE_FULL = 'http://' + SITE
else: SITE_FULL = 'https://' + SITE
@@ -1418,7 +1420,7 @@ REDDIT_NOTIFS_USERS = {}
if len(SITE_NAME) > 5:
REDDIT_NOTIFS_SITE.add(SITE_NAME.lower())
-if SITE != 'localhost':
+if not IS_LOCALHOST:
REDDIT_NOTIFS_SITE.add(SITE)
if SITE == 'rdrama.net':
diff --git a/files/routes/chat.py b/files/routes/chat.py
index 39355b99b..1fe22bd89 100644
--- a/files/routes/chat.py
+++ b/files/routes/chat.py
@@ -13,7 +13,7 @@ from files.routes.wrappers import *
from files.__main__ import app, cache, limiter
-if SITE == 'localhost':
+if IS_LOCALHOST:
socketio = SocketIO(
app,
async_mode='gevent',
diff --git a/files/routes/jinja2.py b/files/routes/jinja2.py
index 42a780ed1..5017cc3c4 100644
--- a/files/routes/jinja2.py
+++ b/files/routes/jinja2.py
@@ -66,5 +66,5 @@ def inject_constants():
"HOUSE_JOIN_COST":HOUSE_JOIN_COST, "HOUSE_SWITCH_COST":HOUSE_SWITCH_COST, "IMAGE_FORMATS":IMAGE_FORMATS,
"PAGE_SIZES":PAGE_SIZES, "THEMES":THEMES, "COMMENT_SORTS":COMMENT_SORTS, "SORTS":SORTS,
"TIME_FILTERS":TIME_FILTERS, "HOUSES":HOUSES, "TIERS_ID_TO_NAME":TIERS_ID_TO_NAME,
- "DEFAULT_CONFIG_VALUE":DEFAULT_CONFIG_VALUE,
+ "DEFAULT_CONFIG_VALUE":DEFAULT_CONFIG_VALUE, "IS_LOCALHOST":IS_LOCALHOST,
}
diff --git a/files/routes/posts.py b/files/routes/posts.py
index eda0296f3..423b0acfe 100644
--- a/files/routes/posts.py
+++ b/files/routes/posts.py
@@ -731,7 +731,7 @@ def submit_post(v, sub=None):
if not url and not body and not request.files.get("file") and not request.files.get("file-url"):
return error("Please enter a url or some text.")
- if SITE != 'localhost':
+ if not IS_LOCALHOST:
dup = g.db.query(Submission).filter(
Submission.author_id == v.id,
Submission.deleted_utc == 0,
diff --git a/files/templates/chat.html b/files/templates/chat.html
index fc5dae4ba..e0a3bf534 100644
--- a/files/templates/chat.html
+++ b/files/templates/chat.html
@@ -2,7 +2,7 @@
{%- import 'html_head.html' as html_head with context -%}
-{% if SITE == 'localhost' %}
+{% if IS_LOCALHOST %}
{% set csp="script-src 'self' 'unsafe-inline' rdrama.net; connect-src 'self'; object-src 'none';" %}
{% else %}
{% set csp=none %}
@@ -26,7 +26,7 @@
data-hat="{{v.hat_active}}">
- {% if SITE == 'localhost' %}
+ {% if IS_LOCALHOST %}
{% else %}
diff --git a/files/templates/html_head.html b/files/templates/html_head.html
index c8d35e237..185b1b18f 100644
--- a/files/templates/html_head.html
+++ b/files/templates/html_head.html
@@ -155,7 +155,7 @@
{% endif %}
{% if 'chat' in request.path %}
- {% if SITE == 'localhost' %}
+ {% if IS_LOCALHOST %}
{% else %}