distraction.party/docs
Oneric 0ec62acb9d Always insert Dedupe upload filter
This actually was already intended before to eradict all future
path-traversal-style exploits and to fix issues with some
characters like akkoma#610 in 0b2ec0ccee. However, Dedupe and
AnonymizeFilename got mixed up. The latter only anonymises the name
in Content-Disposition headers GET parameters (with link_name),
_not_ the upload path.

Even without Dedupe, the upload path is prefixed by an UUID,
so it _should_ already be hard to guess for attackers. But now
we actually can be sure no path shenanigangs occur, uploads
reliably work and save some disk space.

While this makes the final path predictable, this prediction is
not exploitable. Insertion of a back-reference to the upload
itself requires pulling off a successfull preimage attack against
SHA-256, which is deemed infeasible for the foreseeable futures.

Dedupe was already included in the default list in config.exs
since 28cfb2c37a, but this will get overridde by whatever the
config generated by the "pleroma.instance gen" task chose.

Upload+delete tests running in parallel using Dedupe might be flaky, but
this was already true before and needs its own commit to fix eventually.
2024-03-18 22:33:10 -01:00
..
docs Always insert Dedupe upload filter 2024-03-18 22:33:10 -01:00
theme/partials more references being updated 2023-05-26 22:54:12 -04:00
Makefile add manual deploy for docs 2022-11-10 10:55:57 +00:00
mkdocs.yml Add dark and light theme mode to docs, detection, and button 2022-12-09 22:51:43 -05:00
Pipfile Documentation updates for stable release (#73) 2022-07-15 12:27:16 +00:00
Pipfile.lock varnish config/docs (#342) 2022-12-05 13:39:27 +00:00
README.md typo + remove unneeded file 2023-02-02 14:37:45 +01:00
requirements.txt fix requirements 2022-11-11 16:07:07 +00:00

Building the docs

You don't need to build and test the docs as long as you make sure the syntax is correct. But in case you do want to build the docs, feel free to do so.

# Make sure you're in the same directory as this README
# From the root of the Akkoma repo, you'll need to do
cd docs

# Optionally use a virtual environment
python3 -m venv venv
source venv/bin/activate

# Install dependencies
pip install -r requirements.txt

# Run an http server who rebuilds when files change
# Accessable on http://127.0.0.1:8000
mkdocs serve

# Build the docs
# The static html pages will have been created in the folder "site"
# You can serve them from a server by pointing your server software (nginx, apache...) to this location
mkdocs build

# To get out of the virtual environment, you do
deactivate