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
queryargument must not contain anorder. - Metadata is stored in an SQLite database.
- Deleted posts aren't recorded by default, but you can append
status:anyto your query to do so. Obviously its media won't be downloaded, but metadata will be. - There's a special
favouritessubcommand 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
SIGHUPto 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
pages. This can be mitigated inquerymode 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