anujsreedharan / tanoshi

Selfhosted web manga reader with extension model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Build

Tanoshi

Selfhosted web manga reader with extension model.

Mobile

mobile

Desktop

desktop

Features

Currently working

  • Browse, search, and read manga from local, mangadex and more
  • Favorite mangas
  • Reading history across devices
  • See chapter updates
  • Read in single page, double page, or long strip
  • Read from right to left or left to right
  • Web reader is PWA and optimized for standalone mode on mobile
  • Multi-user with admin and reader role

Planned

My plan is to make this as close as tachiyomi features. Planned features are listed here

Note that this project is still under heavy development, expect breaking changes on any release until hitting 1.0.

Why Rust

Rust is the most loved programming language, I thought this is my chance to learn rust too.

Installation

Prebuilt Binary

Download and run binary from latest release, aside from plugins all dependencies are statically linked.

Plugins

To browse and read manga, tanoshi needs plugins. Plugins can be donwnloaded from here in repo-<your operating system> branch. You can download individual plugins and store in on your selected plugins_path in config.yml, or clone repo branch and copy all of plugins to plugins_path.

Or you can install from web and restart tanoshi afterward.

Account

Tanoshi will create default account with username: admin and password: admin. You can change the password or create new account after login. Default password for new account is tanoshi123 which you can change after login to the account.

Usage

CLI

tanoshi 

USAGE:
    tanoshi [FLAGS] [OPTIONS]

FLAGS:
    -h, --help            Prints help information
    -V, --version         Prints version information

OPTIONS:
        --config <config>    Path to config file

Config

Tanoshi default to look configuration in $HOME/.tanoshi/config.yml on macos and linux, C:\Users\<username>\.tanoshi\config.yml on windows. Below is example configuration

# Port for tanoshi to server, default to 80
port: 3030
# Absolute path to database
database_path: /path/to/database
# JWT secret, any random value, changing this will render any active token invalid
secret: secret
# Absolute path to where plugin is stored
plugin_path: /home/user/.tanoshi/plugins

Build

Tanoshi backend use rust-embed to embed static files to the binary. Because of this, tanoshi-web need to be built first so tanoshi will be able to build successfully.

Steps

Frontend

  1. Install Rust
  2. Change directory into tanoshi-web
cd tanoshi-web 
  1. Install all npm dependencies
yarn install
  1. Install wasm-bindgen-cli and wasm-pack
cargo install wasm-bindgen-cli wasm-pack
  1. Build
yarn build

Backend

  1. Change directory into tanoshi or root repository
cd tanoshi
  1. Build
cargo build

PS. On linux you may need to install libssl-dev on ubuntu/debian or openssl-dev on fedora/centos

About

Selfhosted web manga reader with extension model


Languages

Language:Rust 97.2%Language:JavaScript 1.3%Language:CSS 1.1%Language:HTML 0.4%