| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2024-09-27 | Remove blacklist reference from default index template | Mia Herkt | |
| 2024-09-27 | PEP8 compliance | Mia Herkt | |
| 2024-09-27 | Remove broken tests | Mia Herkt | |
| Will be readded after some major refactoring and modernization. | |||
| 2024-09-27 | Implement request filters | Mia Herkt | |
| This moves preexisting blacklists to the database, and adds the following filter types: * IP address * IP network * MIME type * User agent In addition, IP address handling is now done with the ipaddress module. | |||
| 2024-09-27 | Replace NSFW detector implementation | Mia Herkt | |
| 2024-03-30 | ModUI: Update for Textual 0.54.0 | Mia Herkt | |
| 2023-06-04 | Fix remote URL content length check off-by-one | polina4096 | |
| Fixes #85 | |||
| 2023-03-29 | ModUI: Handle opening filter panel with NULL user agent | Mia Herkt | |
| 2023-03-29 | ModUI: Allow LIKE matching for address filtering | Mia Herkt | |
| 2023-03-29 | Store user agent with files | Mia Herkt | |
| Needed for moderation. | |||
| 2023-03-29 | URL: Explicitly set upper-case table name | Mia Herkt | |
| Looks like recent SQLAlchemy/Alembic chose to lower-case it by default. Try not to break existing schemas. | |||
| 2023-01-15 | fix 500 error when file extension could not be guessed | jonas-w | |
| when a file without an extension was uploaded and the mimetypes.guess_extension returned None because there is no official file extension for that mimetype a NoneType was subscripted which yielded a 500 http error | |||
| 2022-12-29 | ModUI: Fix crash when encountering null NSFW score | Mia Herkt | |
| Fixes #78 | |||
| 2022-12-22 | ModUI: Add application/xml to text handler | Mia Herkt | |
| 2022-12-22 | ModUI: Fix jinja2 func call in ban action | Mia Herkt | |
| 2022-12-21 | README: Kitty support was merged in mpv | Mia Herkt | |
| 2022-12-20 | README: Add ModUI screenshot | Mia Herkt | |
| 2022-12-20 | ModUI: Add application/json to text handler | Mia Herkt | |
| 2022-12-20 | Update requirements.txt | Mia Herkt | |
| 2022-12-20 | Add moderation TUI | Mia Herkt | |
| This ended up way fancier than I imagined. | |||
| 2022-12-20 | migrations: Fix file expirations on SQLite | Mia Herkt | |
| Well that was what we feared. I love arbitrary hardcoded limits. | |||
| 2022-12-17 | Fix NSFW detection | Mia Herkt | |
| 2022-12-13 | Prevent unreasonably long MIME types | Mia Herkt | |
| 2022-12-13 | Fix URL test issue | Mia Herkt | |
| 2022-12-13 | File: Fix 404 case with secret URLs | Mia Herkt | |
| 2022-12-13 | Record file sizes in db | Mia Herkt | |
| Moderation interface is going to use this. | |||
| 2022-12-13 | File: Add is_nsfw property | Mia Herkt | |
| 2022-12-12 | README: Add note about StreamMaxLength in clamd.conf | Mia Herkt | |
| 2022-12-12 | Add support for ClamAV | Mia Herkt | |
| 2022-12-01 | index.html: Document appending file names | Mia Herkt | |
| 2022-12-01 | Add support for “secret” file URLs | Mia Herkt | |
| Closes #47 | |||
| 2022-12-01 | Fix 500 on invalid paths | Mia Herkt | |
| 2022-12-01 | Fix handling double file name extensions | Mia Herkt | |
| Long names would get truncated at the end, causing problems including unresolvable file URLs. Example with default settings: .package.lst → .package. Fixes #61 | |||
| 2022-11-30 | Add X-Expires to file response headers | Mia Herkt | |
| Tells clients when files will expire, in milliseconds since Unix epoch. Closes #50. | |||
| 2022-11-30 | Allow changing expiration date | Mia Herkt | |
| 2022-11-30 | templates/index: Remove unnecessary escaping | Mia Herkt | |
| 2022-11-30 | Allow management operations like deleting files | Mia Herkt | |
| This introduces the X-Token header field in the response of newly uploaded files as a simple way for users to manage their own files. It does not need to be particularly secure. | |||
| 2022-11-29 | nsfw_detect: Use PyAV instead of ffmpegthumbnailer | Mia Herkt | |
| 2022-11-29 | nsfw_detect: Use pathlib, fix deprecation warning | Mia Herkt | |
| Also fix glog suppression | |||
| 2022-11-29 | README: Also run db upgrade after git pull! | Mia Herkt | |
| 2022-11-29 | Add example systemd unit files for prune job | Mia Herkt | |
| 2022-11-29 | nsfw_detect: Tolerate score computation failure | Mia Herkt | |
| 2022-11-29 | Add support for expiring files | Emi Simpson | |
| SUPPLEMENTALLY: - Add an `expiration` field to the `file` table of the database - Produce a migration for the above change - Overhaul the cleanup script, and integrate into fhost.py (now run using FLASK_APP=fhost flask prune) - Replace the old cleanup script with a deprecation notice - Add information about how to expire files to the index - Update the README with information about the new script Squashed commits: Add a note explaining that expired files aren't immediately removed Show correct times on the index page graph Improve the migration script, removing the need for --legacy Use automap in place of an explicit file map in migration Remove vestigial `touch()` Don't crash when upgrading a fresh database Remove vestigial warning about legacy files More efficiently filter to unexpired files when migrating https://git.0x0.st/mia/0x0/pulls/72#issuecomment-224 Coalesce updates to the database during migration https://git.0x0.st/mia/0x0/pulls/72#issuecomment-226 Remove vestigial database model https://git.0x0.st/mia/0x0/pulls/72#issuecomment-261 prune: Stream expired files from the database (as opposed to collecting them all first) config.example.py: Add min & max expiration + description | |||
| 2022-11-28 | config.example.py: Clarify MIME ext mapping | Mia Herkt | |
| 2022-11-28 | Add example configuration file | Ember Hearth | |
| See #73. | |||
| 2022-11-20 | README: Clarify why serving file requests from the app is bad | Mia Herkt | |
| 2022-11-20 | README: Clarify how to change configuration | Mia Herkt | |
| 2022-08-19 | README: Warn users about URL fetch network security implications | Mia Herkt | |
| 2022-08-11 | Fix non-seekable file handles | Mia Herkt | |
| Closes #59 | |||
| 2022-08-01 | Open upload blacklist in text mode | Mia Herkt | |
| This wasn’t working since Flask opens files in bin mode by default. | |||
