Derpibooru viewer made in Flutter

Overview

Chryssibooru

Derpibooru client made with Flutter

Logo

Downloads License Latest release

Todo

  • Themes?

Wontdo

  • Likes
  • Favourites
  • Comments
  • Anything that requires the user to log in, since Derpibooru API does not support it

Known bugs

  • An error screen might sometimes flash briefly when swiping between video files. It soon disappears, though, and the video loads fine. Happens only on slower devices or when loading large files.

Screenshots

Main grid view Full image view Image details App drawer
Main grid view Full image view Image details App drawer

Changelog

  • 09.11.2020

    • Fixed history and faves not updating the search query
    • Fixed changing sorting method not refreshing the search
    • Added some simple debug info
  • 08.11.2020

    • Fixed videos not working
    • Added comment count, fave count, upvotes, downvotes, and overall score to the details panel
    • Details panel now opens by tapping the up arrow instead of swiping, to not conflict with gestures
    • Removed the V1 API files
    • Added rudimentary sorting options
    • Fixed header image not randomizing
  • 06.11.2020

    • Updated dependencies
    • Fixed app icon not working
  • 05.11.2020

    • Updated to work with the new Derpibooru API
  • 17.12.2019

    • Updated to use AndroidX
    • Updated Flutter to 1.12.13
    • Updated Dart to 7.2.0
  • 12.12.2019

    • Changed the "about" popup slightly
  • 27.11.2019

    • Fixed video playing in the background when scrolled to another image
    • Added image zoom – pinch out to zoom, double-tap to reset
    • Added image quality selection in the filter sheet
    • Added random Chryssi in the header
  • 04.09.2019

    • Added favourites list
    • Made history and favourites dismissable
    • Added video progress bar
    • If a video is playing, all other videos will autostart, if a video is paused, all other videos will be paused as well
    • Rating filter is now saved on change
  • 02.06.2019

    • Webm files now show their gif thumbnail previews in grid view!
    • Webm files in the big view kinda work now!
  • 31.05.2019

    • Search history now refreshes properly
    • Tapping a tag now lets you add it to your current search, remove it, or search it solo
  • 30.05.2019

    • Added search history
    • Added application info
    • Fixed filter sheet not updating
    • Fixed image download
  • 29.05.2019

    • Replaced CachedNetworkImage with AdvancedNetworkImage
    • Added image cache cleanup
    • Added progress bar for image loading
    • Share button works
    • Copy button works
    • Open in browser button works
  • 28.05.2019

    • Added Gallery view to view full images
    • Added tag list, description, score, the whole shebang
  • 26.05.2019

    • Grid of images now properly loads further pages
    • API key input moved to app drawer
    • Yeah, there's an app drawer now! Fancy that!
  • 04.05.2019

    • Modified the logo to look better
  • 03.05.2019

    • Added the logo image
    • Images from the 1st page display properly
    • Searching by tags and ratings works
    • Added support for the API key to allow for browsing of NSFW images
  • 13.12.2018

    • Main layout created
  • 12.12.2018

    • Initial commit
Comments
  • Not working on Android 10

    Not working on Android 10

    Tested on marlin (Pixel XL, factory image, not unlocked/rooted) and sunfish (Pixel 4a, LinageOS 17.1). Attempted both mobile data and Wi-Fi.

    Logcat from marlin:

    12-09 01:01:19.458 27026 27057 I flutter : https://derpibooru.org/api/v1/json/search/images?q=TS%2C+(safe)&page=1&key=&per_page=30
    12-09 01:01:19.461 27026 27057 E flutter : [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: SocketException: Failed host lookup: 'derpibooru.org' (OS Error: No address associated with hostname, errno = 7)
    12-09 01:01:19.461 27026 27057 E flutter : 
    

    Logcat from sunfish:

    12-09 00:46:35.445  8376  8376 W DartWorker: type=1400 audit(0.0:103): avc: denied { lock } for path="/system/etc/hosts" dev="dm-0" ino=619 scontext=u:r:untrusted_app:s0:c171,c256,c512,c768 tcontext=u:object_r:system_file:s0 tclass=file permissive=0 app=com.angius.chryssibooru
    12-09 00:46:35.471  8376  8376 W DartWorker: type=1400 audit(0.0:104): avc: denied { lock } for path="/system/etc/hosts" dev="dm-0" ino=619 scontext=u:r:untrusted_app:s0:c171,c256,c512,c768 tcontext=u:object_r:system_file:s0 tclass=file permissive=0 app=com.angius.chryssibooru
    12-09 00:46:35.498  8376 14822 E flutter : [ERROR:flutter/lib/ui/ui_dart_state.cc(177)] Unhandled Exception: SocketException: Failed host lookup: 'derpibooru.org' (OS Error: No address associated with hostname, errno = 7)
    12-09 00:46:35.498  8376 14822 E flutter : 
    
    bug needs testing 
    opened by liamwhite 5
  • Update dependencies

    Update dependencies

    A lot of them throw some API deprecation warnings. Not anything breaking, but consider updating them.

    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    Note: D:\Tools\flutter\.pub-cache\hosted\pub.dartlang.org\package_info-0.4.0+13\android\src\main\java\io\flutter\plugins\packageinfo\PackageInfoPlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    Note: D:\Tools\flutter\.pub-cache\hosted\pub.dartlang.org\path_provider-1.5.1\android\src\main\java\io\flutter\plugins\pathprovider\PathProviderPlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    Note: D:\Tools\flutter\.pub-cache\hosted\pub.dartlang.org\share-0.6.3+5\android\src\main\java\io\flutter\plugins\share\SharePlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    D:\Tools\flutter\.pub-cache\hosted\pub.dartlang.org\shared_preferences-0.5.6\android\src\main\java\io\flutter\plugins\sharedpreferences\SharedPreferencesPlugin.java:25: warning: [deprecation] getFlutterEngine() in FlutterPluginBinding has been deprecated
        setupChannel(binding.getFlutterEngine().getDartExecutor(), binding.getApplicationContext());
                            ^
    4 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    3 warnings
    warning: [options] source value 7 is obsolete and will be removed in a future release
    warning: [options] target value 7 is obsolete and will be removed in a future release
    warning: [options] To suppress warnings about obsolete options, use -Xlint:-options.
    Note: Some input files use or override a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    3 warnings
    Note: D:\Tools\flutter\.pub-cache\hosted\pub.dartlang.org\video_player-0.10.5\android\src\main\java\io\flutter\plugins\videoplayer\VideoPlayerPlugin.java uses or overrides a deprecated API.
    Note: Recompile with -Xlint:deprecation for details.
    
    enhancement 
    opened by Atulin 1
  • Dev

    Dev

    • Fixed the API key not being saved
    • Replaced CachedNetworkImage with AdvancedNetworkImage
    • Added image cache cleanup
    • Added progress bar for image loading
    • Share button works
    • Copy button works
    • Open in browser button works
    • Added app icon
    • Swapped app logo from .png to .svg
    • Added a Ko-Fi button
    • Configured the app signing
    opened by Atulin 0
  • Pixel series (5a and 6 were tried) problems

    Pixel series (5a and 6 were tried) problems

    I couldn't get any art to load no matter what I typed in however once I tried the pre-release and it seemed fixed. I will continue to play around with it to see if it is fine.

    opened by TheBalanceKeeper 0
  • Synergy with Derpibooru-Downloader

    Synergy with Derpibooru-Downloader

    Take a look at https://github.com/Sibusten/derpibooru-downloader and how they can scrape a lot from the servers. The issue here is that the Downloader only scrapes, but does not allow you to natively search tag sets within the download.

    opened by DonaldTsang 0
  • Suggest to publish your app in

    Suggest to publish your app in "F-droid"

    Hi, your app seems nice, what about to publish it in F-droid open-source android "market"(more like repository)? Here FAQ - https://f-droid.org/docs/FAQ_-App_Developers/?title=FAQ-_App_Developers

    enhancement 
    opened by Oplkill 1
Releases(v1.6.2)
  • v1.6.2(Dec 9, 2020)

  • v1.6.1(Nov 8, 2020)

    1.6.1 Release

    Added:

    • Added comment count, fave count, upvotes, downvotes, and overall score to the details panel
    • Added rudimentary sorting options

    Changed:

    • Details panel now opens by tapping the up arrow instead of swiping, to not conflict with gestures

    Fixed:

    • Added icons back
    • Fixed videos not working
    • Fixed header image not randomizing

    Other:

    • Removed the V1 API files
    • Updated dependencies
    Source code(tar.gz)
    Source code(zip)
    chryssibooru-arm64-v8a.apk(7.62 MB)
    chryssibooru-armeabi-v7a.apk(7.31 MB)
    chryssibooru-x86_64.apk(7.77 MB)
    chryssibooru.apk(20.28 MB)
  • v1.6.0(Nov 5, 2020)

  • 1.5.1(Dec 12, 2019)

  • 1.4.0(Sep 4, 2019)

    Known bugs:

    • Scrolling between videos can sometimes pop an error screen briefly. It disappears on its own, though, and the video loads correctly soon after.
    • Opening the favourites list will show an error if it's empty. Just back out of it, add some recent search to it, and you're good.

    Added:

    • Added favourites list
    • Made history and favourites dismissable
    • Added video progress bar
    • If a video is playing, all other videos will autostart, if a video is paused, all other videos will be paused as well
    • Rating filter is now saved on change
    Source code(tar.gz)
    Source code(zip)
    chryssibooru.apk(7.74 MB)
  • v1.3.1(Jun 2, 2019)

  • v1.3.0(Jun 2, 2019)

    Known bugs:

    • Opening history when nothing's been searched yet will show an error screen. You can just back out of it, it has no impact on anything.
    • Scrolling between videos can sometimes pop an error screen briefly. It disappears on its own, though, and the video loads correctly soon after.
    • Video sound keeps playing when the user goes back to the grid view

    Fixed:

    • History list not being updated correctly

    Added:

    • Tag actions
      • Add to current search (tag1, tag2, newtag)
      • Remove from current search (tag1, tag2, -newtag)
      • Search for tag (newtag)
    • Webm support
    Source code(tar.gz)
    Source code(zip)
    chryssibooru.apk(7.71 MB)
  • 1.2.1(May 30, 2019)

    Important: package name has changed, uninstall the old app and install the new one.

    Or you can install both side by side ¯\_(ツ)_/¯


    Known bugs:

    • Opening history when nothing's been searched yet will show an error screen. You can just back out of it, it has no impact on anything.

    Fixed:

    • Filter sheet checkboxes not updating
    • File download not working
    • Changing the ratings filter alone not allowing to retrigger search from the same query
    • Crash if an image had empty tags

    Changed:

    • Removed photo and video buttons from the filter sheet, they weren't hooked up anyway

    Added:

    • Search history
    • Application info
    Source code(tar.gz)
    Source code(zip)
    chryssibooru.apk(7.09 MB)
  • 1.1.0(May 29, 2019)

    Fixed:

    • Fixed the API key not being saved
    • Share button works
    • Copy button works
    • Open in browser button works

    Changed:

    • Replaced CachedNetworkImage with AdvancedNetworkImage
    • Swapped app logo from .png to .svg

    Added:

    • Image cache cleanup
    • Progress bar for image loading
    • App icon
    • Added a Ko-Fi button
    • Configured the app signing

    Not in this version:

    • GUI for filtering for stuff like score.gt:100, ratings, etc.
    • Interactions with tags
    • Saving images
    Source code(tar.gz)
    Source code(zip)
    chryssibooru.apk(7.00 MB)
  • v1.0.0(May 28, 2019)

    The app is more or less feature-complete.

    Done:

    • Search images by query
    • View images
    • See the description and tags
    • Enter your API key to browse according to your filters

    Not in this version:

    • GUI for filtering for stuff like score.gt:100, ratings, etc.
    • Opening the posts in the browser
    • Sharing the posts
    • Copying the URL
    • Interactions with tags
    Source code(tar.gz)
    Source code(zip)
    chryssibooru.apk(5.96 MB)
Owner
null
News App developed with Flutter featuring beautiful UI, category-based news, story for faster news reading, inbuilt article viewer, share feature, and more.

Ariel News App developed with Flutter featuring beautiful UI, category-based news, story for faster news reading, inbuilt article viewer, share featur

Hash Studios 30 Nov 9, 2022
A beautiful xkcd viewer app written with Flutter

xkcdViewer xkcdViewer is a simple comic viewer for the infamous xkcd webcomic built with Flutter ?? and ScopedModel for state management. Features ??

Kosta Stoupas 61 Sep 26, 2022
Production-grade project developed during the Reso Coder Academy Flutter Bootcamp: It's a mobile Github repository viewer

RepoStar - GitHub Starred Repository Manager Production-grade project developed during the Reso Coder Academy Flutter Bootcamp. It's a mobile Github s

Kishan Dhankecha 4 Aug 18, 2022
An advanced story viewer for Flutter. Quite easy & Quite advanced

AdvStory ?? Quite simple & Quite advanced ?? Advanced Story viewer for Flutter. Supports image, video and custom stories. Full control over stories fo

Ertuğrul Yakın 21 Nov 18, 2022
Yet another booru viewer for Android

Yet another booru imageboards viewer for Android Download Preview Click Here Building You can build this app just like any other flutter app, for exam

Nauval Rizky 126 Dec 27, 2022
An Org Mode file viewer for iOS and Android

Orgro An Org Mode file viewer for iOS and Android See https://orgro.org for a demo video What is Org Mode? Imagine a plain-text markup language like M

Aaron Madlon-Kay 314 Jan 2, 2023
Iridium-reader-widget - Plug and play reader widget allowing to easily integrate an Iridium viewer inside any app

Plug and play reader widget allowing to easily integrate an Iridium viewer insid

Mantano 15 Dec 31, 2022
Sprite viewer / editor for the Game Boy Dev Kit

This is a graphic editor for GBDK inspired by GameBoyTileDesigner (GBTD) and GameBoyMapBuilder (GBMB). Online version game_boy_graphics_editor can run

DREVET Olivier 13 Dec 17, 2022
This is the UI of Furniture App made using Flutter SDK. The original design was made by someone else in dribble and I tried to create the screens of that UI using Flutter

Furniture App - Responsive Flutter UI Watch it on YouTube Responsive UI Fetch Data From API Custom Loading Indicator Packages we are using: flutter_sv

null 6 Dec 3, 2022
🚗 Apple CarPlay for Flutter Apps. Aims to make it safe to use apps made with Flutter in the car by integrating with CarPlay.

CarPlay with Flutter ?? Flutter Apps now on Apple CarPlay! flutter_carplay aims to make it safe to use iPhone apps made with Flutter in the car by int

Oğuzhan Atalay 156 Dec 26, 2022
This repository contains Collection of UIs made using Flutter. Original Design of all the UIs were created by someone else. I tried to recreate those UIs using Flutter

Flutter-UIs-Collection This repository contains Collection of UIs made using Flutter. Original Design of all the UIs were created by someone else. I t

Mohak Gupta 45 Nov 26, 2022
Xylophone flutter - A simple xylophone app made audioplayers package in flutter

Xylophone ?? Our Goal In this tutorial we will be diving into more Dart programm

Joel Nickson 1 Dec 8, 2022
Bmi calculator flutter - Calculate your BMI(Body Mass Index) with this app made with flutter.

bmi_calculator_flutter A new Flutter project. Getting Started This project is a starting point for a Flutter application. A few resources to get you s

Joel Nickson 1 Jan 2, 2022
Itacov-flutter - Aplikasi Indonesia Tanggap Covid-19 (Made With Flutter)

ITACOV ?? Sebuah project aplikasi mobile open source made with flutter, di harapkan dapat membantu untuk mencegah penyebaran Covid-19 Mau Ikut ? Desig

Cak Suku 26 Jun 28, 2022
Flutter-calculator - A flutter calculator appliacation which is made with dart

A simple calculator A simple calculator app made with Flutter Screenshot This pr

Munem Sarker 1 Jan 23, 2022
Flutter-meet - A Google Meet clone made in Flutter using 100ms

Flutter x Meet - Google Meet clone made in Flutter Google Meet clone made in Flu

Aditya Thakur 7 Nov 30, 2022
Flutter youtube downloader - A Windows App made in Flutter to download mp3 or mp4 from a Youtube video

youtube_downloader A Windows App made in Flutter to download mp3 or mp4 from a Y

Sakshham Bhagat 3 Nov 30, 2022
Flutter's compute function made available for all non-Flutter Dart programs

compute Flutter's compute function made available for all non-Flutter Dart programs The compute package takes Flutter's compute function and makes it

dartside.dev 6 Nov 10, 2022