Add README with CA install guides, add /ca.crt download endpoint

- Detailed CA import instructions for Chrome, Firefox, Android,
  iOS/iPadOS, macOS, Windows, Linux
- /ca.crt endpoint for easy browser download (no auth required)
- Download button in WebUI header

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Stefan Hacker
2026-04-09 15:51:39 +02:00
parent cf97de7e63
commit 5a8770e973
3 changed files with 255 additions and 2 deletions
+11 -1
View File
@@ -4,7 +4,7 @@ import subprocess
from functools import wraps
from pathlib import Path
from flask import Flask, jsonify, redirect, render_template, request, url_for
from flask import Flask, jsonify, redirect, render_template, request, send_file, url_for
app = Flask(__name__)
@@ -154,6 +154,16 @@ def index():
return render_template("index.html", config=config)
@app.route("/ca.crt")
def download_ca():
"""Download CA certificate - no auth required so devices can easily fetch it."""
ca_path = "/certs/ca.crt"
if not os.path.exists(ca_path):
return "CA certificate not found", 404
return send_file(ca_path, as_attachment=True, download_name="ca.crt",
mimetype="application/x-x509-ca-cert")
@app.route("/target/add", methods=["POST"])
@check_auth
def add_target():
+4 -1
View File
@@ -197,7 +197,10 @@
<body>
<div class="header">
<h1>HTTPS Reverse Proxy</h1>
<span class="badge">Self-Signed SSL - 100 Jahre</span>
<div style="display:flex;align-items:center;gap:15px;">
<a href="/ca.crt" class="btn btn-sm btn-primary" style="text-decoration:none;">CA-Zertifikat herunterladen</a>
<span class="badge">Self-Signed SSL - 100 Jahre</span>
</div>
</div>
<div class="container">