Skip to content

normalllll/freepiv

Repository files navigation

freepiv

A cross-platform third-party Pixiv app for Android, iOS, macOS, Windows, and Linux.

freepiv provides a smooth, modern, and cross-platform experience for browsing Pixiv content. It is built with Flutter and Rust, aiming to deliver a fast and responsive Pixiv client across mobile and desktop platforms.

freepiv is an unofficial third-party app and is not affiliated with or endorsed by Pixiv Inc.

Screenshot


Features

  • 🌐 Cross-Platform Support: Available on Android, iOS, macOS, Windows, and Linux.
  • 🖥️ Desktop-Optimized UI: Provides a dedicated desktop layout and interaction experience for macOS, Windows, and Linux.
  • 🖼️ Illustration Browsing: Browse Pixiv artworks with a clean and responsive interface.
  • 🔍 Search & Discovery: Search artworks, novels, users, and tags.
  • ❤️ Bookmarks & Favorites: Manage bookmarked works from your Pixiv account.
  • 🚀 High Performance: Powered by Flutter and Rust for fast networking, parsing, and UI performance.
  • 🧩 Native Integration: Uses flutter_rust_bridge to connect Flutter UI with Rust backend logic.

Downloads

Architecture Windows Linux Android macOS iOS
x86-64(x64) zip tar.gz / deb / rpm APK zip
ARM64 APK zip IPA
ARM32 APK
Universal APK

Visit the releases page for more details on the latest versions.


Getting Started

Prerequisites

Before building or running freepiv, install the following dependencies:

  • Flutter: A cross-platform UI toolkit.
  • Rust: A performance-oriented systems programming language.
  • flutter_rust_bridge: A tool for integrating Flutter and Rust.

Installation

  1. Install Flutter by following the official Flutter guide.

  2. Install Rust using rustup by following the official Rust guide.

  3. Install flutter_rust_bridge_codegen:

    cargo install flutter_rust_bridge_codegen
  4. Clone the repository:

    git clone https://github.com/normalllll/freepiv.git
    cd freepiv
  5. Install Flutter dependencies:

    flutter pub get
  6. Generate Flutter/Rust bridge code:

    flutter_rust_bridge_codegen generate --type-64bit-int --no-web
  7. Generate Dart code:

    dart run build_runner build --delete-conflicting-outputs
  8. Run the app:

    flutter run

Development

When Rust bridge types or API definitions change, regenerate the bridge code:

flutter_rust_bridge_codegen generate --type-64bit-int --no-web

When Dart generated files need to be updated, run:

dart run build_runner build --delete-conflicting-outputs

For platform-specific builds, use Flutter's build commands:

flutter build apk
flutter build ios
flutter build macos
flutter build windows
flutter build linux

Screenshots

Desktop

Desktop Screenshot 1 Desktop Screenshot 2
Desktop Screenshot 3 Desktop Screenshot 4

Mobile

Mobile Screenshot 1 Mobile Screenshot 2 Mobile Screenshot 3 Mobile Screenshot 4

Contributing

Contributions are welcome!

  • 🛠 Bug Reports: Found a bug? Open an issue on the issue tracker.
  • 🌟 Feature Requests: Have an idea for a new feature? Feel free to propose it.
  • 💻 Code Contributions: Pull requests are welcome.
  • 🎨 Design Contributions: Icons, UI improvements, and visual design contributions are appreciated.

Disclaimer

freepiv is an unofficial third-party Pixiv client.

This project is not affiliated with, sponsored by, or endorsed by Pixiv Inc. Pixiv and related names, logos, and trademarks belong to their respective owners.

Users are responsible for complying with Pixiv's terms of service and local laws when using this application.


License

This project is licensed under the GNU General Public License v3.0. See the LICENSE file for more details.