Skip to content
Snippets Groups Projects
Commit 0253aea6 authored by dvoracek's avatar dvoracek
Browse files

Technisches (Serve-Skript, .editorconfig)

parent 050eec3d
No related branches found
No related tags found
No related merge requests found
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
......@@ -3,3 +3,8 @@
Beispieldateien zur A/V-Implementierung in Kitodo.Presentation.
Ausgangspunkt: https://intranet.slub-dresden.de/display/SAEH/AV-Metadaten-Schema
## Technisches
- [serve.py](serve.py): Einfacher HTTP-Server zum lokalen Ausliefern der Dateien. IP-Adressen müssen angepasst werden.<br>
[keygen.sh](keygen.sh): SSL-Zertifikat für `serve.py` generieren
#!/usr/bin/bash
# https://stackoverflow.com/questions/19705785/python-3-simple-https-server
openssl req -new -x509 -keyout localhost.pem -out localhost.pem -days 365 -nodes
# https://gist.github.com/fntlnz/cf14feb5a46b2eda428e000157447309
# set -e
# openssl genrsa -out mets-av.local.key 2048
# openssl req -new -sha256 -key mets-av.local.key -subj "/C=US/ST=CA/O=MyOrg, Inc./CN=mets-av.local" -out mets-av.local.csr
# openssl x509 -req -in mets-av.local.csr -CA /var/mkcert/rootCA.pem -CAkey /var/mkcert/rootCA-key.pem -CAcreateserial -out mets-av.local.crt -days 500 -sha256
serve.py 0 → 100755
#!/usr/bin/env python3
# https://stackoverflow.com/questions/19705785/python-3-simple-https-server
# https://stackoverflow.com/questions/21956683/enable-access-control-on-simple-http-server
from http.server import HTTPServer, SimpleHTTPRequestHandler
import ssl
from threading import Thread
class CORSRequestHandler (SimpleHTTPRequestHandler):
def end_headers(self):
self.send_header('Access-Control-Allow-Origin', '*')
SimpleHTTPRequestHandler.end_headers(self)
def start_server(address_candidates, port, https):
for address in address_candidates:
try:
server_address = (address, port)
httpd = HTTPServer(server_address, CORSRequestHandler)
if https:
httpd.socket = ssl.wrap_socket(httpd.socket,
server_side=True,
certfile='localhost.pem',
ssl_version=ssl.PROTOCOL_TLS)
httpd.serve_forever()
except OSError:
pass
ips = ['192.168.2.33', '172.16.69.244']
servers = [
Thread(name='HTTPS', target=start_server, args=(ips, 4443, True)),
Thread(name='HTTPS', target=start_server,
args=(['localhost'], 4443, True)),
Thread(name='HTTP', target=start_server, args=(ips, 4480, False)),
Thread(name='HTTP', target=start_server,
args=(['localhost'], 4480, False)),
]
for srv in servers:
srv.start()
for srv in servers:
srv.join()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment