Periodically archives e621 posts that match a given query.
migrations | ||
src | ||
.gitignore | ||
Cargo.lock | ||
Cargo.toml | ||
README.md |
e6mirror
Periodically archives e621 posts that match a given query.
- The
query
argument must not contain anorder
. - Metadata is stored in an SQLite database.
- Deleted posts aren't recorded by default, but you can append
status:any
to your query to do so. Obviously its media won't be downloaded, but metadata will be. - There's a special
favourites
subcommand to download a user's favourites. This is necessary as the searchfav:{user}
returns posts in the order they were uploaded, not necessarily the order they were favourited. - Send
SIGHUP
to trigger a check immediately.
TODO
- Rate limiting is implemented by way of "it takes more than one second to download 200 images" which might not be excellent
- Safely commit and shutdown on Ctrl + C
- From my understanding, if some number of posts on the previous page disappear during mirroring,
e6mirror may miss that number of future posts because removing previous posts shifts future
page
s. This can be mitigated inquery
mode by usingid:>
instead ofpage
, but I'm not sure what to do about it forfavourites
. - Transactions ensure database consistency, but unreferenced files may still have been written to disk.
- Consistency check command
- Check for updated tags / replaced media