diff --git a/requirements.txt b/requirements.txt
index 2650190..5868418 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,4 +5,5 @@ redis==5.0.1
cryptography==41.0.7
bcrypt==4.1.2
python-dotenv==1.0.0
-gunicorn==21.2.0
\ No newline at end of file
+gunicorn==21.2.0
+requests==2.32.5
\ No newline at end of file
diff --git a/src/app.py b/src/app.py
index 9eb99f4..2205258 100644
--- a/src/app.py
+++ b/src/app.py
@@ -11,6 +11,8 @@ import secrets
import hashlib
import hmac
import re
+import xml.etree.ElementTree as ET
+import requests
from datetime import datetime, timedelta
import logging
from functools import wraps
@@ -516,6 +518,26 @@ def internal_error(e):
logger.error(f"Internal server error: {str(e)}")
return jsonify({'error': 'Internal server error'}), 500
+
+@app.route("/rss")
+def rss_proxy():
+ url = "https://rattatwinko.servecounterstrike.com/gitea/rattatwinko/bytechat-desktop/releases.rss"
+ resp = requests.get(url)
+ resp.raise_for_status()
+
+ root = ET.fromstring(resp.text)
+ items = []
+ for item in root.findall("./channel/item"):
+ items.append({
+ "title": item.findtext("title"),
+ "link": item.findtext("link"),
+ "pubDate": item.findtext("pubDate"),
+ "author": item.findtext("author"),
+ "description": item.findtext("description"),
+ })
+
+ return jsonify(items)
+
if __name__ == "__main__":
try:
start_cleanup_task()
diff --git a/src/static/script.js b/src/static/script.js
index 91fd814..bd0aef5 100644
--- a/src/static/script.js
+++ b/src/static/script.js
@@ -104,8 +104,8 @@ function setupSecurityFeatures() {
clearSensitiveData();
});
- const securityIndicator = document.getElementById('securityIndicator');
- securityIndicator.style.display = 'block';
+ //const securityIndicator = document.getElementById('securityIndicator');
+ //securityIndicator.style.display = 'block';
}
function clearSensitiveData() {
diff --git a/src/templates/chat.html b/src/templates/chat.html
index 1025173..cc8e32b 100644
--- a/src/templates/chat.html
+++ b/src/templates/chat.html
@@ -101,20 +101,104 @@
-
-
+