English Français
Fanfix is a small Java program that can download stories from some supported websites and render them offline.
fanfix
–import [URL]fanfix
–export [id] [output_type] [target]fanfix
–convert [URL] [output_type] [target] (+info)fanfix
–read [id] ([chapter number])fanfix
–read-url [URL] ([chapter number])fanfix
–searchfanfix
–search [where] [keywords] (page [page]) (item [item])fanfix
–tagfanfix
–tag [index 1]… (page [page]) (item [item])fanfix
–listfanfix
–set-reader [GUI | TUI | CLI]fanfix
–server [key] [port]fanfix
–stop-server [key] [port]fanfix
–remote [key] [host] [port]fanfix
–help(If you are interested in the recent changes, please check the Changelog – note that starting from version 1.4.0, the changelog is checked at startup.)
(A TODO list is also available to know what is expected to come in the future.)
A screenshots cgallery an be found here.
It will convert from a (supported) URL to an .epub file for stories or a .cbz file for comics (a few other output types are also available, like Plain Text, LaTeX, HTML…).
To help organize your stories, it can also work as a local library so you can:
Currently, the following websites are supported:
We support a few file types for local story conversion (both as input and as output):
by
or ©
) must be on the second line, possibly with the publication date in parenthesis (i.e., By Unknown (3rd October 1998)
)Chapter x
or Chapter x: NAME OF THE CHAPTER
, where x
is the chapter numberindex.html
as the main file – we only support importing HTML files created by FanfixAny platform with at lest Java 1.6 on it should be ok.
It has been tested on Linux (Debian, Slackware, Ubuntu), MacOS X and Windows for now, but feel free to inform us if you try it on another system.
If you have any problems to compile it with a supported Java version (1.6+), please contact us.
You can start the program in GUI mode (as in the screenshot on top):
java -jar fanfix.jar
fanfix
(if you used make install)The following arguments are also allowed:
--import [URL]
: import the story at URL into the local library--export [id] [output_type] [target]
: export the story denoted by ID to the target file--convert [URL] [output_type] [target] (+info)
: convert the story at URL into target, and force-add the .info and cover if +info is passed--read [id] ([chapter number])
: read the given story denoted by ID from the library--read-url [URL] ([chapter number])
: convert on the fly and read the story at URL, without saving it--search
: list the supported websites (where
)--search [where] [keywords] (page [page]) (item [item])
: search on the supported website and display the given results page of stories it found, or the story details if asked--tag [where]
: list all the tags supported by this website--tag [index 1]... (page [page]) (item [item])
: search for the given stories or subtags, tag by tag, and display information about a specific page of results or about a specific item if requested--list
: list the stories present in the library and their associated IDs--set-reader [reader type]
: set the reader type to CLI, TUI or GUI for this command--server [key] [port]
: start a story server on this port--stop-server [key] [port]
: stop the remote server running on this port (key must be set to the same value)--remote [key] [host] [port]
: contact this server instead of the usual library (key must be set to the same value)--help
: display the available options--version
: return the version of the programSome environment variables are recognized by the program:
LANG=en
: force the language to EnglishCONFIG_DIR=$HOME/.fanfix
: use the given directory as a config directory (and copy the default configuration if needed)NOUTF=1
: try to fallback to non-unicode values when possible (can have an impact on the resulting files, not only on user messages)DEBUG=1
: force the DEBUG=true
option of the configuration file (to show more information on errors)./configure.sh && make
You can also import the java sources into, say, Eclipse, and create a runnable JAR file from there.
There are some unit tests you can run, too:
./configure.sh && make build test run-test
Required:
libs/nikiroo-utils-sources.jar
: some shared utility functionslibs/unbescape-sources.jar
: a nice library to escape/unescape a lot of text formats; used here for HTMLlibs/jsoup-sources.jar
: a library to parse HTMLOptional:
libs/jexer-sources.jar
: a small library that offers TUI widgetspandoc
: to generate the man pages from the README filesNothing else but Java 1.6+.
Note that calling make libs
will export the libraries into the src/ directory.
Fanfix was written by Niki Roo niki@nikiroo.be