Yes, the download section comes first (even before the introduction), because this is what most users are looking for anyway. HakuNeko provides different installation files for various operating systems. There is also a portable version available which stores all its application data inside the application folder. You can download and run the installer/archive for your operating system from one of the mirror sites below.
HakuNeko is a cross-platform downloader for manga and anime from various websites. HakuNeko was made to help users downloading media for circumstances that require offline usage. The philosophy is ad-hoc consumption, get it when you going to read/watch it. It is not meant to be a mass downloader to stock up thousands of chapters that are just collected and will probably never be read.
Basically HakuNeko consists of two components, a web-application that provides the full functionality and a desktop client that merely hosts the web-application and provides access to the underlying system (e.g. File/IO). The HakuNeko web-application is hosted on a server where updates and fixes are regulary deployed (rolling releases). The HakuNeko desktop client downloads the web-application everytime when it was updated and host it from a local cache directory. There is also a third component, which focuses on content delivery for very slow or resource consuming manga websites. For safety reasons this third component is not part of the public repository.
This section describes the process of installing all system-wide tools, frameworks and libraries required for HakuNeko’s development. All steps are briefly explained, without going into details (e.g. operating system specific variations). For further information please visit the corresponding website.
- git
-
The version control system required for HakuNeko is git. It is used to checkout the latest sourcecode of HakuNeko from GitHub, or commit changes to the repository. Download and install git for your operating system.
- NodeJS & NPM
-
NodeJS is a JavaScript runtime that allows to execute applications written in JavaScript. NPM is a package manager for NodeJS that simplifies the process of downloading and installing JavaScript applications and libraries, which are published in a central repository. Download and install NodeJS and NPM for your operating system.
- Editor or IDE (optional)
-
It is possible to only use a simple text editor, but it is more easier with a powerful source code editor or even an IDE. Use what you like, here are some examples: Visual Studio Code (my personal favorite), Atom, Brackets, WebStorm
The source code for HakuNeko can be found in a public repository on GitHub. There is also a mirror on SourceForge, but developers are encouraged to use the one from GitHub as the upstream repository.
If you plan to make contributions without becoming a project member, it might be useful to create a fork of the project, before getting the source code. Many developers may disagree, but personally i dislike the overhead of the Fork & Pull Request Workflow for open source projects. If you are willing to contribute to a project, then you deserve it to become a member!
Open a terminal and run the following commands:
cd ~/Projects
git clone 'https://github.com/manga-download/hakuneko.git' hakuneko
-
Change into the directory where you wanna checkout the source code
-
Clone either the upstream repository or your fork into the hakuneko sub-directory
There are three folders (two projects) inside HakuNeko’s source directory.
- client
-
This is the project folder for development of the desktop client.
- web
-
This is the project folder for the development of the web-application.
- doc
-
This folder contains resources for the documentation of both projects.
To run, build or deploy HakuNeko, it is required to install all project-based tools, frameworks and libraries. All dependencies will be installed using NPM, just run the standard command from the root directory. It will automatically recurse into the project directories and install all required packages.
cd ~/Projects/hakuneko
npm install
This section describes the curriculum vitae of HakuNeko. Feel free to skip this boring stuff, this is something to read if you have to kill time ;)
The development of HakuNeko started around 2006/2007. During this time i traveled alot between my home, family, friends, workplace and university. Spending many hours in the train can become quite boring, so i thought about reading my favorite mangas on my notebook. Reading online was almost impossible due to the lack of of mobile internet availability at that time. So as a linux user i was looking for a convenient way to download some chapters from online reading websites to my notebook, but unfortunately there was no easy solution (although DomDomSoft was very popular for windows). As a software developer the answer to my problem was quite simple:
Don’t beg for things, do it yourself. Or you won’t get anything.
Eureka Seven
As a result the first version was of my very own manga downloader tool was born and needed a cool name. Anything including the terms Manga and Downloader seems way to boring, lets see… cats are always cool right (especially Nyan Cat)? The japanese word for cat is Neko, so far so good, but not good enough as a distinguishing name for my tool. How about combining it with another word like… Black or White, which would lead to KuroNeko or ShiroNeko? Very nice, but somehow this sounds to mainstream. Luckily one of the early Naruto epsiodes was running in the background and i recognized a character named Haku. Purely on a whim i mixed both words together and from this very moment HakuNeko was assigned as name for my tool. I still don’t know the meaning of the combination of these japanese words in english, but it sounds good and is unique.
Despite the fact that it was very basic and only had support for a few websites, it does exactly what i wanted: Downloading mangas for offline reading on my next trip. The application was written in C++ using the wxWidgets framework and therefore was available for Linux and Windows.
Over the time HakuNeko improved and matured based on my personal needs, so i thought this piece of software might be useful for other users as well. Eventually HakuNeko was published on some freeware downloading websites such as Softpedia and later an open source project was created on SourceForge. In the first year it was not very popular (maybe choosing a name indicating that this tool is a manga downloader would have been smarter), but then slowly got momentum. HakuNeko became more and more popular and it was no longer "My little Tool" to download mangas for reading in the train, it was now part of many other people’s day to day life. With the feedback from users who started to make suggestions, requested features and reported bugs HakuNeko evolved even more to meet all those expectations.
As time flew by, the development become stagnant. The following list reflects the most significant problems:
-
The old wxWidgets framework used in HakuNeko got removed from various linux distribution repositories and the migration to the new wxWidgets version caused much trouble and problems that could not be solved
-
Users got downloading errors which could not be reproduced and getting fixed caused by the very bare-metal implementation around the CURL library
-
Many websites started to improve their bot protections using sophisticated browser depending mechanics and the effort to bypass them was way to high
The end draws near. HakuNeko was no longer able to cope with the upcoming challenges. At the beginning of the year 2017 it was time for a rebirth. The deciding requirements for the new underlying engine/framework were clear:
-
Easy cross-platform development
-
Incorporating a popular programming language and development tools (to attract potential contributers)
-
Sophisticated integration of web-technologies (HTTP requests, DOM parsing, …) and JavaScript engines (solving browser challenges)
It seemed to be impossible to fulfill all these requirements, but fortunately electron came to the rescue. Being a "Customized Chrome Browser" it was perfectly suited for the revival of HakuNeko. It didn’t take long until the first prototype was finished with promising results. The name HakuNeko S was given to the prototype, but i can’t remember what exactly the S meant that i simply appended to the name to distinguish it from the legacy version (maybe Successor or something?). Based on the popularity of the legacy version it didn’t take long until the users switchd over to the descendant. As of today HakuNeko helps users from all over the world to achieve their goal: Downloading mangas for offline reading. To me HakuNeko is more than a reliable manga downloader tool, it is software made from the heart.