💡 add comments + all urls https
This commit is contained in:
parent
e9b84ce522
commit
8249ac0355
2 changed files with 18 additions and 4 deletions
|
@ -12,6 +12,7 @@ def filesend(path):
|
||||||
return send_from_directory(dirpath, filename)
|
return send_from_directory(dirpath, filename)
|
||||||
|
|
||||||
|
|
||||||
|
# Profile Picture Asset
|
||||||
@asset_pages.route("/me", methods=["GET"])
|
@asset_pages.route("/me", methods=["GET"])
|
||||||
def me_picture():
|
def me_picture():
|
||||||
return filesend("/config/me.avif")
|
return filesend("/config/me.avif")
|
||||||
|
|
21
src/index.py
21
src/index.py
|
@ -8,6 +8,7 @@ import gnupg
|
||||||
|
|
||||||
main_pages = Blueprint("main", __name__)
|
main_pages = Blueprint("main", __name__)
|
||||||
|
|
||||||
|
# Bootstrap CSS
|
||||||
BOOTSTRAP = [
|
BOOTSTRAP = [
|
||||||
Reference(
|
Reference(
|
||||||
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css",
|
"https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css",
|
||||||
|
@ -22,13 +23,14 @@ BOOTSTRAP = [
|
||||||
),
|
),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
# Encrypt msg with GPG
|
||||||
def encrypt(msg):
|
def encrypt(msg):
|
||||||
pgp = gnupg.GPG()
|
pgp = gnupg.GPG()
|
||||||
pgp.import_keys(open("/config/pub.key").read())
|
pgp.import_keys(open("/config/pub.key").read())
|
||||||
return str(pgp.encrypt(msg, pgp.list_keys()[0]["fingerprint"]))
|
return str(pgp.encrypt(msg, pgp.list_keys()[0]["fingerprint"]))
|
||||||
|
|
||||||
|
|
||||||
|
# Save msg in `/data/messages`
|
||||||
def save_message(msg, name=""):
|
def save_message(msg, name=""):
|
||||||
os.makedirs("/data/messages", exist_ok=True)
|
os.makedirs("/data/messages", exist_ok=True)
|
||||||
dt = datetime.datetime.now().strftime("%Y-%m-%d.%H-%M")
|
dt = datetime.datetime.now().strftime("%Y-%m-%d.%H-%M")
|
||||||
|
@ -36,16 +38,19 @@ def save_message(msg, name=""):
|
||||||
f.write(msg)
|
f.write(msg)
|
||||||
|
|
||||||
|
|
||||||
|
# Message Sending Page
|
||||||
@main_pages.route("/message", methods=["GET", "POST"])
|
@main_pages.route("/message", methods=["GET", "POST"])
|
||||||
def send_message():
|
def send_message():
|
||||||
if request.method == "POST":
|
if request.method == "POST":
|
||||||
|
# If POST handle message
|
||||||
msg = request.form["message"]
|
msg = request.form["message"]
|
||||||
name = request.form["msg_name"]
|
name = request.form["msg_name"]
|
||||||
if msg is not None:
|
if msg is not None:
|
||||||
cipher = encrypt(msg)
|
cipher = encrypt(msg)
|
||||||
save_message(cipher, name)
|
save_message(cipher, name)
|
||||||
return redirect(request.url_root)
|
return redirect(request.url_root.replace("http", "https"))
|
||||||
else:
|
else:
|
||||||
|
# Return Message Form
|
||||||
return buildSite(
|
return buildSite(
|
||||||
[
|
[
|
||||||
Div(
|
Div(
|
||||||
|
@ -53,7 +58,7 @@ def send_message():
|
||||||
Heading(1, "Message"),
|
Heading(1, "Message"),
|
||||||
LineBreak(),
|
LineBreak(),
|
||||||
Form(
|
Form(
|
||||||
destination=request.url,
|
destination=request.url.replace("http", "https"),
|
||||||
inner=[
|
inner=[
|
||||||
Input(
|
Input(
|
||||||
"",
|
"",
|
||||||
|
@ -92,6 +97,7 @@ def send_message():
|
||||||
).to_code()
|
).to_code()
|
||||||
|
|
||||||
|
|
||||||
|
# Wrapper for Base HTML
|
||||||
def buildSite(content):
|
def buildSite(content):
|
||||||
return Document(
|
return Document(
|
||||||
head=Head(
|
head=Head(
|
||||||
|
@ -112,6 +118,7 @@ def buildSite(content):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Public Key Page
|
||||||
@main_pages.route("/public_key", methods=["GET"])
|
@main_pages.route("/public_key", methods=["GET"])
|
||||||
def public_key():
|
def public_key():
|
||||||
try:
|
try:
|
||||||
|
@ -119,6 +126,7 @@ def public_key():
|
||||||
|
|
||||||
ua = request.user_agent.string.lower()
|
ua = request.user_agent.string.lower()
|
||||||
if "chrome" in ua or "safari" in ua or "firefox" in ua:
|
if "chrome" in ua or "safari" in ua or "firefox" in ua:
|
||||||
|
# If request is from common browser return stylized html
|
||||||
return buildSite(
|
return buildSite(
|
||||||
[
|
[
|
||||||
Div(
|
Div(
|
||||||
|
@ -126,7 +134,7 @@ def public_key():
|
||||||
[
|
[
|
||||||
Bold("To Import: "),
|
Bold("To Import: "),
|
||||||
Span(
|
Span(
|
||||||
f'curl -sL "{request.base_url}"|gpg --import',
|
f'curl -sL "{request.base_url.replace("http", "https")}"|gpg --import',
|
||||||
global_attr=GlobalAttributes(
|
global_attr=GlobalAttributes(
|
||||||
style="display: block;font-family: monospace,monospace;margin-top: 10px; font-size: 20px;overflow-wrap: break-word;"
|
style="display: block;font-family: monospace,monospace;margin-top: 10px; font-size: 20px;overflow-wrap: break-word;"
|
||||||
),
|
),
|
||||||
|
@ -147,12 +155,15 @@ def public_key():
|
||||||
]
|
]
|
||||||
).to_code()
|
).to_code()
|
||||||
|
|
||||||
|
# Return raw key
|
||||||
resp = Response(response=ret, status=200, mimetype="application/pgp-keys")
|
resp = Response(response=ret, status=200, mimetype="application/pgp-keys")
|
||||||
return resp
|
return resp
|
||||||
except:
|
except:
|
||||||
|
# If key does not exist return error
|
||||||
return Response(response="", status=502)
|
return Response(response="", status=502)
|
||||||
|
|
||||||
|
|
||||||
|
# Contact
|
||||||
def build_contact_block():
|
def build_contact_block():
|
||||||
return Div(
|
return Div(
|
||||||
[
|
[
|
||||||
|
@ -174,6 +185,7 @@ def build_contact_block():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Donations
|
||||||
def build_donation_block():
|
def build_donation_block():
|
||||||
return Div(
|
return Div(
|
||||||
[
|
[
|
||||||
|
@ -197,6 +209,7 @@ def build_donation_block():
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
# Basic Information
|
||||||
def build_information_block():
|
def build_information_block():
|
||||||
return Div(
|
return Div(
|
||||||
[
|
[
|
||||||
|
|
Loading…
Add table
Reference in a new issue