From 551db283d25ec9cc7d5f48ea2974dc943da3acf1 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Mon, 24 Oct 2022 20:08:29 +0100 Subject: [PATCH 1/4] Tidying --- manual/manual.epub | Bin 1982863 -> 1982861 bytes manual/manual.md | 12 ------------ 2 files changed, 12 deletions(-) diff --git a/manual/manual.epub b/manual/manual.epub index eeb9187d13e805ec63fcb04c089c44706c66abb4..a68e68688fa3bc58220ae1ca128089286b5a9353 100644 GIT binary patch delta 5234 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 QH3I==WHOh6DjACZ2TG1vFaQ7m delta 5567 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 R;wMw!V+6xo@`^Ar{U7Iz@R9%k diff --git a/manual/manual.md b/manual/manual.md index ab0985e2c..d4dfa886d 100644 --- a/manual/manual.md +++ b/manual/manual.md @@ -263,7 +263,6 @@ systemctl restart epicyon To avoid running out of disk space you will want to clear down old inbox posts. Posts from your instance outboxes will be unaffected. Create an archive script **/usr/bin/epicyon-archive**: - ```bash #!/bin/bash cd /opt/epicyon || exit 0 @@ -271,7 +270,6 @@ cd /opt/epicyon || exit 0 ``` You can adjust the maximum number of weeks and the maximum number of inbox posts as needed. Then add it as a cron entry. - ```bash echo "*/60 * * * * root /usr/bin/epicyon-archive" >> /etc/crontab ``` @@ -449,7 +447,6 @@ This multi-column layout is inspired by the appearance of early blogs or the ori ## Links Web links within the left column are intended to be generally useful or of interest to the users of the instance. They are similar to a blogroll. If you have the *editor* role there is an edit button at the top of the left column which can be used to add or remove links. Headers can also be added to group links into logical sections. For example: - ```text * Search @@ -477,7 +474,6 @@ Newswire items can also be mirrored. This means that instead of newswire items b ### Filters and warnings On this screen you can also set filtered words and dogwhistle content warnings for the instance. Filtered words should be on separate lines, and dogwhistle words can be added in the format: - ```text dogwhistleword -> content warning to be added dogwhistle phrase -> content warning to be added @@ -495,7 +491,6 @@ On the newswire edit screen, available to accounts having the *moderator* role, **Logical Operators:** *not, and, or, xor, from, contains* A simple example is: - ```test if moderated and not #oxfordimc then block ``` @@ -503,19 +498,16 @@ if moderated and not #oxfordimc then block For moderated feeds this will only allow items through if they have the **#oxfordimc** hashtag. If you want to add hashtags an example is: - ```test if contains "garden" or contains "lawn" then add #gardening ``` So if incoming news contains the word "garden" either in its title or description then it will automatically be assigned the hashtag **#gardening**. You can also add hashtags based upon other hashtags. - ```test if #garden or #lawn then add #gardening ``` You can also remove hashtags. - ```test if #garden or #lawn then remove #gardening ``` @@ -523,7 +515,6 @@ if #garden or #lawn then remove #gardening Which will remove **#gardening** if it exists as a hashtag within the news post. You can add tags based upon the RSS link, such as: - ```test if from "mycatsite.com" then add #cats ``` @@ -584,7 +575,6 @@ From the main timeline select the top banner to go to your profile, then select Sometimes you may want to replace words within received posts. This can be for added clarity, to dissipate annoyance or just for fun. From the main timeline select the top banner to go to your profile, then select the **edit** icon. Open the **Filtering and blocking** section and then you can specify replacements as follows: - ```text OldWord -> NewWord original phrase -> new phrase @@ -684,13 +674,11 @@ Since the web interface of Epicyon only needs HTML5 and CSS, it can work with br Screenshots within the preceding sections all assume that you are using a common graphical web browser. However, it is also possible to use Epicyon from a shell browser, such as [Lynx](https://lynx.invisible-island.net). This may be better suited for use with screen readers, or if you want to check your social media while logged into a server via *ssh*. If you are using *Lynx* then you will need to ensure that it is configured for the **utf-8** character set, and that you have emoji fonts installed (eg. **noto-fonts-emoji**). Edit your *lynx.cfg* file (usually in */etc/lynx.cfg*) and set: - ```text CHARACTER_SET:utf-8 ``` To avoid annoying questions you may also want to set: - ```text ACCEPT_ALL_COOKIES:TRUE ``` From a538cf86e7993cb83b6c054ed14a83cb8f100551 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 26 Oct 2022 14:35:31 +0100 Subject: [PATCH 2/4] Avoid php scripts --- utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils.py b/utils.py index 8920372d9..0873f89ea 100644 --- a/utils.py +++ b/utils.py @@ -1113,7 +1113,7 @@ def dangerous_markup(content: str, allow_local_network_access: bool) -> bool: 'canvas', 'style', 'abbr', 'input', 'frame', 'iframe', 'html', 'body', 'hr', 'allow-popups', 'allow-scripts', - 'amp-' + 'amp-', '?php' ] return _is_dangerous_string_tag(content, allow_local_network_access, separators, invalid_strings) From a067353affa63b01520290967b76dcc124f28cc1 Mon Sep 17 00:00:00 2001 From: Bob Mottram Date: Wed, 26 Oct 2022 14:40:03 +0100 Subject: [PATCH 3/4] Test for html containing php script --- tests.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/tests.py b/tests.py index 7f4fb1449..5f0251a5e 100644 --- a/tests.py +++ b/tests.py @@ -4107,6 +4107,10 @@ def _test_danger_markup(): '.innerHTML = "def";

' assert dangerous_markup(content, allow_local_network_access) + content = '

This html contains more than you expected... ' + \ + '

' + assert dangerous_markup(content, allow_local_network_access) + content = '

This is a valid-looking message. But wait... ' + \ '