No description
Find a file
2024-07-14 22:22:10 +02:00
src add tick function for memory storage 2024-07-14 22:22:10 +02:00
.gitignore add first iter of mem storage + add crypt mod 2023-12-28 23:25:51 +01:00
Cargo.lock revive :) 2024-07-14 21:45:58 +02:00
Cargo.toml revive :) 2024-07-14 21:45:58 +02:00
README.md add mixed memory storage + add cache directory creation if not exist + many unit test 2024-01-02 22:15:00 +01:00

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, on-disk or mixed (memory and 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 must be installed.

Installation

Clone the repository:

git clone https://gitea.qpismont.fr/qpismont/imgproxy-rs.git
cd rust-image-proxy

Build the project:

cargo build --release

Configuration

Create a YAML configuration file (config.yml) with the following structure:

storages:
  - strategy: !Mixed {path: "./cache", max_size: 128000, ttl: 32}
    regex: "REGEX_HERE"
  - strategy: !Memory {max_size: 128000, ttl: 32}
    regex: "REGEX_HERE"
  - strategy: !Disk {path: "./cache", max_size: 128000, ttl: 32}
    regex: "REGEX_HERE"

secret_key: "THIS_IS_SECRET"

expose_api: true

Adjust the regex values and storage configurations as needed.

Usage

Run the proxy using the following command:

cargo run --release