Releases: reasv/mitsuba
v1.11.1
v1.11
Minor Release
Some dependencies have been bumped up.
What's Changed
- Bump deps by @iamtakingithard in #5
- Bump Dockerfile by @iamtakingithard in #6
- Nginx config by @iamtakingithard in #7
- Fix github packages build by @skwrs in #8
- Update Cargo.toml by @iamtakingithard in #9
- Fix Google reverse image search by @nguyenminh-phuc in #10
New Contributors
- @iamtakingithard made their first contribution in #5
- @skwrs made their first contribution in #8
- @nguyenminh-phuc made their first contribution in #10
Full Changelog: v1.10...v1.11
1.10 - Metrics, Logging, Docker support and archive fetching.
This release brings many changes and bugfixes to Mitsuba.
Some of the highlights are the new metrics system. We now export all sorts of metrics to Prometheus.
You can check them out in src/metric.rs
.
Logging has also received some improvements, now Mitsuba can optionally use log4rs
.
Previously we used env_logger
, which is still loaded as a fallback.
If you want to use log4rs
you have to create a log4rs.yml
file in mitsuba's working directory, otherwise it will fallback to env_logger
.
You should consult the library's documentation for information on how to author such a configuration, but there is an example file in our repository.
- Metrics with Prometheus exporter
- Configurable Logging with Log4rs
- Docker images now being built with each version. Also available on Dockerhub
mitsuba/mitsuba
- Fetching from 4chan's archived posts as well
- Deleted post detection: posts and threads that are deleted by 4chan get marked with a
deleted_on
timestamp - Compiled statically against musl, and using rustls instead of OpenSSL. Even less dependent on external packages
- When posts are modified and the contents change, the previous versions are copied to a separate table
catch_unwind
added to tasks and cycles to reduce the risk of panics, which should already not be possible in practice- Job scheduling improved further
Mitsuba 1.9 - Proxy support
Support for load balancing requests to 4chan API and image downloads between several different proxies has been added.
4chan's and Cloudflare's rate limiting can become very aggressive during DDoS attacks, which will cause issues for archivers.
Now you can specify a list of proxies to use, and their relative weights (how often they will be used).
Mitsuba will load balance simultaneous requests between proxies.
PROXY_URL_0=socks5://user:[email protected]:1337
PROXY_URL_1=socks5://user:[email protected]:1337
PROXY_WEIGHT_0=5
PROXY_WEIGHT_1=1
etc.
By default, even if setting proxies, Mitsuba will use your own IP for requests as well, as if it was a proxy with weight 1.
You can configure this:
PROXY_ONLY=false
PROXY_WEIGHT_SELF=2
PROXY_ONLY
forces Mitsuba to only use proxies.
Mitsuba 1.8 - New settings for home page
This is a relatively minor release. A new environment variable was added for configuration, HOME_PAGE_BOARDS
.
If set, the boards listed will be used to populate the image gallery on the homepage.
If not set, posts from all boards will be used.
This way you can control what kind of content is displayed on your home page, for example to limit it to SFW boards.
Example:
HOME_PAGE_BOARDS=po,vip
Mitsuba 1.7 - Better frontend
Various improvements to the frontend, now you can keep the slug at the end of thread URLs, and /{board}/
urls are also handled.
A homepage ("/") has been added as well. This page shows the last 500 images posted on all boards archived, and links to the related posts.
Mitsuba 1.6 - S3 File Storage Backend
Mitsuba now supports storing images and files in an S3-compatible object storage bucket.
Simply supply the required environment variables - see example.env
Additionally, an optimization has been added to the post archiving process. Posts are not written to the database if they have not been changed, we keep track of this by hashing them and inserting the hash in a DashSet.
Mitsuba
Mitsuba 1.3 - Sha256 image deduplication
The image fetching system has been reworked.
Images are now stored by their Sha256 hash rather than the MD5 provided by 4chan.
We download the image and thumbnail once for each post, then hash them and store them based on the hash.
If an image is posted twice, it will be downloaded twice, but only stored once.
Mitsuba 1.2 - Major breaking changes
This release brings drastic improvements in features, ease of use and performance, but it also brings breaking changes.
Warning: As the migration system was replaced, and the schema changed, this release is not compatible with the previous release's schemas.
There is no migration path this time, but I don't think anyone besides me is using this, so it shouldn't ben an issue.
Note that image storage will receive breaking changes soon, so be warned.
Features:
- Completely replaced
diesel
ORM withSQLx
database driver - Database actions are now completely async and as such will use far less threads. Theoretically the entire app could be single-threaded.
- Major performance gains as this was the biggest bottleneck.
- No runtime dependencies or external compile time dependencies whatsoever. Thanks to SQLx there's no need to have the pg client libraries on your system.
- All static resources mitsuba needs (for the Web UI) are now embedded in the executable. This means releases of mitsuba will be binary-only from now on and the executable can just be dropped in a folder and run.
- Github CI set up so the binaries for this and future releases will be automatically built.