Merge branch 'main' of gitlab.com:bashrc2/epicyon

merge-requests/30/head
Bob Mottram 2022-05-04 13:54:08 +01:00
commit c5cc5528ce
3 changed files with 67 additions and 18 deletions

View File

@ -1,23 +1,28 @@
# Caddy configuration file for running epicyon on example.com
# Example configuration file for running Caddy2 in front of Epicyon
example.com {
tls {
# Valid values are rsa2048, rsa4096, rsa8192, p256, and p384.
# Default is currently p256.
key_type p384
}
header / Strict-Transport-Security "max-age=31556925"
header / X-Content-Type-Options "nosniff"
header / X-Download-Options "noopen"
header / X-Frame-Options "DENY"
header / X-Permitted-Cross-Domain-Policies "none"
header / X-Robots-Tag "noindex"
header / X-XSS-Protection "1; mode=block"
YOUR_DOMAIN {
tls USER@YOUR_DOMAIN
proxy / http://localhost:7156 {
transparent
timeout 10800s
header {
Strict-Transport-Security "max-age=31556925"
Content-Security-Policy "default-src https:; script-src https: 'unsafe-inline'; style-src https: 'unsafe-inline'"
X-Content-Type-Options "nosniff"
X-Download-Options "noopen"
X-Frame-Options "DENY"
X-Permitted-Cross-Domain-Policies "none"
X-XSS-Protection "1; mode=block"
}
route /newsmirror/* {
root * /var/www/YOUR_DOMAIN
file_server
}
route /* {
reverse_proxy http://127.0.0.1:7156
}
encode zstd gzip
}
# eof
# eof

View File

@ -529,9 +529,41 @@ def _add_music_tag(content: str, tag: str) -> str:
return ':music: ' + content + ' ' + tag + ' '
def _shorten_linked_urls(content: str) -> str:
"""If content comes with a web link included then make sure
that it is short enough
"""
if 'href=' not in content:
return content
if '>' not in content:
return content
if '<' not in content:
return content
sections = content.split('>')
ctr = 0
for section_text in sections:
if ctr == 0:
ctr += 1
continue
if '<' not in section_text:
ctr += 1
continue
section_text = section_text.split('<')[0]
if ' ' in section_text:
continue
if len(section_text) > MAX_LINK_LENGTH:
content = content.replace('>' + section_text + '<',
'>' +
section_text[:MAX_LINK_LENGTH-1] + '<')
ctr += 1
return content
def add_web_links(content: str) -> str:
"""Adds markup for web links
"""
content = _shorten_linked_urls(content)
if ':' not in content:
return content

View File

@ -3523,6 +3523,18 @@ def _test_actor_parsing():
def _test_web_links():
print('test_web_links')
example_text = \
'<p>Some text!</p><p><a href=\"https://videosite.whatever/video' + \
'/A3JpZMovL25kci1kZS32MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqY' + \
'WZjKzd\">https://videosite.whatever/video/A3JpZMovL25kci1kZS32' + \
'MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqYWZjKzd</a></p>'
linked_text = add_web_links(example_text)
expected_text = \
'<p>Some text!</p><p><a href="https://videosite.whatever/video/' + \
'A3JpZMovL25kci1kZS32MGE0NCg4YB1lMLQwLTRkMGEtYkYxMS5kNmQ1MjJqYW' + \
'ZjKzd">https://videosite.whatever/video/A3JpZM</a></p>'
assert linked_text == expected_text
example_text = \
"<p>Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + \
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" + \