Git Product home page Git Product logo

media-proxy-rs's Introduction

media-proxy-rs

misskey/cherrypick用メディアプロキシのrust実装

機能的には互換性を維持しつつ、apngとavif対応に
ほとんどの画像読み書きにimage crate v0.25を使用しています

設定ファイル

環境変数MEDIA_PROXY_CONFIG_PATHを設定する事でファイルの場所を指定できます
デフォルト値は$(pwd)/config.jsonです
十分に強力なマシンではencode_aviftrueに変更することでAVIFエンコードを利用する事ができます

target support

  • x86_64-unknown-linux-musl
  • aarch64-unknown-linux-musl
  • armv7-unknown-linux-musleabihf
  • arm-unknown-linux-musleabihf
  • i686-unknown-linux-musl
  • riscv64gc-unknown-linux-musl

ビルド(x64/aarch64 Docker)

Dockerを使用する場合はbuildxとqemuによるクロスコンパイルが利用できます
ビルド対象プラットフォームはtarget supportの項目を参照してください

  1. git clone https://github.com/yojo-art/media-proxy-rs && cd media-proxy-rs
  2. docker build -t media-proxy-rs .

ビルド(x64 Debian系)

この方法ではx86_64-unknown-linux-gnu向けにビルドします
すべてを静的に組み込むmusl系とは異なる共有ライブラリを必要とする場合があります

  1. https://www.rust-lang.org/ja/tools/install に従ってrustをインストール
  2. apt-get install -y meson ninja-build pkg-config nasm git
  3. git clone --recursive https://github.com/yojo-art/media-proxy-rs && cd media-proxy-rs
  4. cargo build --release

media-proxy-rs's People

Contributors

kozakura913 avatar 1673beta avatar

Stargazers

**** avatar syuilo avatar

media-proxy-rs's Issues

fallbackフラグ対応

fallbackフラグで返される画像がライセンスの都合で流用できないので代案が必要

テストが無い

CIでビルドが保証されても実際にちゃんと動くのが出来てるかわからん

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.