contrib: systemd/python http for localhost
This commit is contained in:
parent
528c9cbf39
commit
6564b86181
|
@ -155,6 +155,11 @@ Example: ./build.sh -u https://start.domain.tld -d static -t "STILDE - StartPage
|
||||||
|
|
||||||
- **On mobile devices** you can open/close the input and you keyboard by a touch on the logo.
|
- **On mobile devices** you can open/close the input and you keyboard by a touch on the logo.
|
||||||
|
|
||||||
|
## Contrib
|
||||||
|
|
||||||
|
I put the files I use to serve Stilde on the localhost with a python http server and systemd. You will need to correct the locations and provide a certificate.
|
||||||
|
|
||||||
|
It's not part of the main folder because it's just a niche way to use Stilde.
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|
29
contrib/serve-https.py
Normal file
29
contrib/serve-https.py
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
import os
|
||||||
|
import http.server
|
||||||
|
import socketserver
|
||||||
|
import ssl
|
||||||
|
|
||||||
|
# Set the path to the directory you want to serve
|
||||||
|
directory_to_serve = os.path.expanduser('~/.local/opt/stilde')
|
||||||
|
|
||||||
|
# Set the port for your HTTPS server
|
||||||
|
port = 1984
|
||||||
|
|
||||||
|
# Specify the SSL/TLS certificate and key files
|
||||||
|
certfile = os.path.expanduser('~/.ssl/MYRootCA/localhost.crt')
|
||||||
|
keyfile = os.path.expanduser('~/.ssl/MYRootCA/localhost.key')
|
||||||
|
|
||||||
|
# Create a custom handler to use the SSL context
|
||||||
|
class MyHandler(http.server.SimpleHTTPRequestHandler):
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super().__init__(*args, directory=directory_to_serve, **kwargs)
|
||||||
|
|
||||||
|
# Create an SSL context
|
||||||
|
ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_SERVER)
|
||||||
|
ssl_context.load_cert_chain(certfile=certfile, keyfile=keyfile)
|
||||||
|
|
||||||
|
# Create the HTTPS server
|
||||||
|
with socketserver.TCPServer(("127.0.1.1", port), MyHandler) as httpd:
|
||||||
|
httpd.socket = ssl_context.wrap_socket(httpd.socket, server_side=True)
|
||||||
|
print(f"Serving directory at https://127.0.1.1:{port}")
|
||||||
|
httpd.serve_forever()
|
18
contrib/stilde.service
Normal file
18
contrib/stilde.service
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Stilde startpage Web server
|
||||||
|
PartOf=graphical-session.target
|
||||||
|
After=journal.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
Restart=no
|
||||||
|
WorkingDirectory=%h/.local/opt/stilde
|
||||||
|
ExecStart=python3 %h/.local/opt/stilde/serve-https.py
|
||||||
|
|
||||||
|
StandardOutput=journal
|
||||||
|
StandardError=journal
|
||||||
|
SyslogIdentifier=stilde
|
||||||
|
Slice=background.slice
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=graphical-session.target
|
Loading…
Reference in a new issue