Installation

This document is intended to provide some more detailed information about HakuNeko’s operation. This document will use the term manga as synonym for manga & anime and chapter as synonym for chapter & episode.

Please note that almost any icon, label or control has a tooltip with further information describing its functionality, so don’t be afraid to use it as much as possible.

Installation

Setup

Download the correct installation package for your operating system from the releases page. Run the installer and follow the instructions on the screen. Start the application by executing the corresponding desktop shortcut or start menu entry.

Note: you can also download the nightly that is including all the freshest updates but could have issues as it is a “work in progress.

Portable

A portable installation is only available for Windows. Download the correct portable package for your operating system from the releases page. Extract the content from the archive to any place you want (e.g. USB thumb drive). Start the application by executing hakuneko.exe from the extracted folder.

Directories

After the installation is complete HakuNeko’s content is stored in different folders. The directories depends on the type of operating system and the version type (installed/portable).

Application

This directory contains the desktop client that is merely a web-browser based on the electron framework. Platform specific binaries are stored within this directory.

System Path

Win Portable

./ (The folder where the user extracted the application)

Windows

%PROGRAMFILES%\HakuNeko Desktop

Linux

/usr/lib/hakuneko-desktop

MacOS

Applications/HakuNeko Desktop.app

User Data

This directory contains all configurations for hakuneko (e.g. settings, bookmarks, manga lists, …​). Furthermore there are user based configurations for the chrome engine. All configuration files for hakuneko are prefixed with hakuneko.

System Path

Win Portable

./userdata

Windows

%USERPROFILE%\AppData\Roaming\hakuneko-desktop

Linux

~/.config/hakuneko-desktop

MacOS

~/Library/Application Support/hakuneko-desktop

User Plugins

All user specific third party plugins (website scrapers) can be placed in this plugin directory. Plugins must be a module which is compatible with the Connector interface. Plugins must have the .mjs file extension. Plugins can be disabled by adding a dot . in front of the filename.

import Connector from 'hakuneko://cache/mjs/engine/Connector.mjs';
import Manga from 'hakuneko://cache/mjs/engine/Manga.mjs';

/**
 * Author: ???
 * Date: ???
 * URL: https://github.com/???
 *
 * Installation:
 *   Place all files into your plugin directory
 *   => https://github.com/manga-download/hakuneko/wiki/User-Manual#directories
 */
export default class HelloPlugin extends Connector {

    constructor() {
        super();
        super.id = 'helloplugin';
        super.label = 'Hello Plugin';
        this.tags = [];
        this.url = 'https://www.epikmanga.com';
    }

    // Replace the default icon by simply link an existing or your own icon file
    get icon() {
        //return 'hakuneko://cache/img/connectors/crunchymanga';
        return 'hakuneko://plugins/HelloPlugin.png';
    }

    /*
    // Replace the default initialization (rarely required)
    async _initializeConnector() {
        return Promise.resolve();
    }
    */

    // Provide copy & paste support by creating a manga from scraping the given link
    async _getMangaFromURI(uri) {
        return new Manga(this, uri.pathname, 'Manga 001');
    }

    // Get the manga list
    async _getMangaList(callback) {
        let mangaList = [
            {
                id: 'dragonball',
                title: 'Plugin: Dragonball'
            },
            {
                id: 'onepiece',
                title: 'Plugin: One Piece'
            }
        ];
        callback( null, mangaList );
    }

    // Get the chapter list for a given manga
    async _getChapterList(manga, callback) {
        let chapterList = [
            {
                id: manga.id + '/ch1',
                title: manga.title + ' - Chapter 001'
            },
            {
                id: manga.id + '/ch2',
                title: manga.title + ' - Chapter 002'
            }
        ];
        callback(null, chapterList);
    }

    // Get the image links for a given manga/chapter
    async _getPageList(manga, chapter, callback) {
        let pageList = [
            'https://www.epikmanga.com/upload/manga/god-of-martial-arts/1.1/02.jpg',
            'https://www.epikmanga.com/upload/manga/god-of-martial-arts/1.1/04.jpg'
        ];
        callback(null, pageList);
    }
}

Download Demo Plugin: HelloPlugin.zip

System Path

Win Portable

./userdata/hakuneko.plugins

Windows

%USERPROFILE%\AppData\Roaming\hakuneko-desktop\hakuneko.plugins

Linux

~/.config/hakuneko-desktop/hakuneko.plugins

MacOS

~/Library/Application Support/hakuneko-desktop/hakuneko.plugins

Cache

This directory contains the pure web application and will be updated automatically whenever a new version of the web application is available on the server.

System Path

Win Portable

./cache

Windows

%USERPROFILE%\AppData\Local\hakuneko-desktop\cache

Linux

~/.cache/hakuneko-desktop

MacOS

~/Library/Caches/hakuneko-desktop

Temp

This directory is used for temporary data such as extracted images from CBZ or EPUB archives.

System Path

Win Portable

%TEMP%\hakuneko

Windows

%TEMP%\hakuneko

Linux

/tmp/hakuneko

MacOS

$TMPDIR/hakuneko

Updated: