# Rust Image Proxy ## Overview This Rust project is a versatile image proxy designed to efficiently handle image requests. Users can customize the caching behavior through a YAML configuration file, choosing between in-memory and on-disk caching based on provided regular expressions. ## Features - **Image Proxy:** Efficiently fetches and serves images from remote sources. - **Caching:** Supports both in-memory and on-disk caching for improved performance. - **Configuration:** Customize caching behavior using a YAML configuration file. - **Regex-Based Caching:** Specify caching strategy based on a regular expression. ## Getting Started ### Prerequisites - [Rust](https://www.rust-lang.org/tools/install) must be installed. ### Installation Clone the repository: ```bash git clone https://gitea.qpismont.fr/qpismont/imgproxy-rs.git cd rust-image-proxy ``` Build the project: ```bash cargo build --release ``` ### Configuration Create a YAML configuration file (config.yml) with the following structure: ```yaml storages: - strategy: !Memory ttl: 12 max_size: 1000 regex: "REGEX_HERE" - strategy: !Memory ttl: 32 max_size: 16000 regex: "REGEX_HERE" - strategy: !Disk path: "./cache" max_size: 128000 regex: "REGEX_HERE" secret_key: "SECRET_KEY_FOR_SECURE_URL" ``` Adjust the regex values and storage configurations as needed. ### Usage Run the proxy using the following command: ```bash cargo run --release ```