<feed xmlns='http://www.w3.org/2005/Atom'>
<title>0x0.git/migrations, branch master</title>
<subtitle>[MIRROR] Repo for No-bullshit file hosting and URL Shortening Service 0x0.st
</subtitle>
<id>https://git.bensanders.xyz/0x0.git/atom?h=master</id>
<link rel='self' href='https://git.bensanders.xyz/0x0.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/'/>
<updated>2024-09-27T16:30:33+00:00</updated>
<entry>
<title>PEP8 compliance</title>
<updated>2024-09-27T16:30:33+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2024-09-27T15:39:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=de19212a719b0bc6ea5455b3e32072a76d021df6'/>
<id>urn:sha1:de19212a719b0bc6ea5455b3e32072a76d021df6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement request filters</title>
<updated>2024-09-27T16:30:28+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2024-08-14T06:09:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=45a414c5ee004fbb4e6d7563be8e65cf2be84f37'/>
<id>urn:sha1:45a414c5ee004fbb4e6d7563be8e65cf2be84f37</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Store user agent with files</title>
<updated>2023-03-29T05:36:49+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2023-03-29T05:21:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=3d1facaec306d453d5749fc49ad6772ebbafff7e'/>
<id>urn:sha1:3d1facaec306d453d5749fc49ad6772ebbafff7e</id>
<content type='text'>
Needed for moderation.
</content>
</entry>
<entry>
<title>migrations: Fix file expirations on SQLite</title>
<updated>2022-12-20T13:23:14+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2022-12-20T13:23:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=dcea8bffe19b8ba308f9361d6c8ef08281ddff1b'/>
<id>urn:sha1:dcea8bffe19b8ba308f9361d6c8ef08281ddff1b</id>
<content type='text'>
Well that was what we feared. I love arbitrary hardcoded limits.
</content>
</entry>
<entry>
<title>Record file sizes in db</title>
<updated>2022-12-13T22:04:48+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2022-12-13T22:02:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=aaf0e4492adb89394ee2acd88bda12413107c5be'/>
<id>urn:sha1:aaf0e4492adb89394ee2acd88bda12413107c5be</id>
<content type='text'>
Moderation interface is going to use this.
</content>
</entry>
<entry>
<title>Add support for ClamAV</title>
<updated>2022-12-12T06:35:05+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2022-12-12T06:25:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=a904922cbd6f6478d5e7fd773adc368b7652adaa'/>
<id>urn:sha1:a904922cbd6f6478d5e7fd773adc368b7652adaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add support for “secret” file URLs</title>
<updated>2022-12-01T01:49:28+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2022-12-01T01:49:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=0b80a62f80ebe6b5ad6e9db99036020b8d7d0cea'/>
<id>urn:sha1:0b80a62f80ebe6b5ad6e9db99036020b8d7d0cea</id>
<content type='text'>
Closes #47
</content>
</entry>
<entry>
<title>Allow management operations like deleting files</title>
<updated>2022-11-30T01:19:29+00:00</updated>
<author>
<name>Mia Herkt</name>
<email>mia@0x0.st</email>
</author>
<published>2022-11-30T00:42:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=a182b6199b7f55eeb573dccd6ce7926c40043680'/>
<id>urn:sha1:a182b6199b7f55eeb573dccd6ce7926c40043680</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Add support for expiring files</title>
<updated>2022-11-29T12:09:26+00:00</updated>
<author>
<name>Emi Simpson</name>
<email>emi@alchemi.dev</email>
</author>
<published>2022-11-22T21:15:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=af4b3b06c0d75a01c1fa59f1f6a4bae12e69daa5'/>
<id>urn:sha1:af4b3b06c0d75a01c1fa59f1f6a4bae12e69daa5</id>
<content type='text'>
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 &amp; max expiration + description
</content>
</entry>
<entry>
<title>Add NSFW detection</title>
<updated>2017-10-27T03:28:45+00:00</updated>
<author>
<name>Martin Herkt</name>
<email>lachs0r@srsfckn.biz</email>
</author>
<published>2017-10-27T03:22:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.bensanders.xyz/0x0.git/commit/?id=7bbeb2d1442af00b3dc658af30c442d83cd767c0'/>
<id>urn:sha1:7bbeb2d1442af00b3dc658af30c442d83cd767c0</id>
<content type='text'>
</content>
</entry>
</feed>
