Commit | Line | Data |
---|---|---|
08fe2e33 NR |
1 | # Fanfix |
2 | ||
3 | A small program to download and convert fanfictions and comics from supported websites into offline files (epu, cbz...). | |
4 | ||
5 | It can either "convert" a website into a file, or import/export to/from its library. | |
6 | ||
7 | ## Supported platforms | |
8 | ||
9 | Any platform with at lest Java 1.5 on it should be ok. | |
10 | ||
11 | It was only tested on Linux up until now, though. | |
12 | ||
13 | If you have any problems to compile it on another platform or with a supported Java version (1.4 won't work, but you may try to cross-compile; 1.8 had been tested and works), please contact me. | |
14 | ||
15 | ## Usage | |
16 | ||
17 | - java -jar fanfix.jar --convert http://SOME_SUPPORTE_URL/ epub /home/niki/my-story.epub: will convert the story to EPUB | |
18 | - java -jar fanfix.jar --import http://SOME_SUPPORTED_URL/ : will import the story into the local library | |
19 | - java -jar fanfix.jar --export LUID CBZ /tmp/comix.cbz : will export the story from the local library | |
20 | - java -jar fanfix.jar --list: will list the known stories and their LUIDs from the local library | |
21 | - ... (calling the program without parameters will display the syntax) | |
22 | ||
23 | ### Environment variables | |
24 | ||
25 | - LANG=en java -jar fanfix.jar: force the language to English (the only one for now...) | |
26 | - CONFIG_DIR=$HOME/.fanfix java -jar fanfix.jar: use the given directory as a config directory (and copy the default configuration if needed) | |
27 | - NOUTF=1 java -jar fanfix.jar: try to fallback to non-unicode values when possible (can have an impact on the resulting files, not only on user messages) | |
28 | ||
29 | ## Compilation | |
30 | ||
31 | ./configure.sh && make | |
32 | ||
33 | You can also import the java sources into, say, Eclipse, and create a runnable JAR file from there. | |
34 | Just remember to unpak the 2 dependant libraries before (or "make libs" can do it). | |
35 | ||
36 | ### Dependant libraries (included) | |
37 | ||
38 | - libs/nikiroo-utils-sources-0.9.1.jar: some shared utility functions I also use elsewhere | |
39 | - libs/unbescape-1.1.4-sources.jar: a nice library to escape/unescape a lot of text formats; I only use it for HTML | |
40 | ||
41 | Nothing else but Java 1.5+. | |
42 | ||
43 | Note that calling "make libs" will export the libraries into the src/ directory. | |
44 | ||
45 | ## Supported websites | |
46 | ||
47 | Currently, the following websites are supported: | |
48 | - http://FimFiction.net/: Fanfictions devoted to the My Little Pony show | |
49 | - http://Fanfiction.net/: Fan fictions of many, many different universes, from TV shows to novels to games. | |
50 | - http://mangafox.me/: A well filled repository of mangas, or, as their website states: Most popular manga scanlations read online for free at mangafox, as well as a close-knit community to chat and make friends. | |
51 | - https://e621.net/: Furry website supporting comics, including MLP | |
52 | ||
53 | We also support some other (file) types: | |
54 | - epub: EPUB files created by this program (we do not support "all" EPUB files) | |
55 | - text: Support class for local stories encoded in textual format, with a few rules : | |
56 | - the title must be on the first line, | |
57 | - the author (preceded by nothing, "by " or "©") must be on the second line, possibly with the publication date in parenthesis (i.e., "By Unknown (3rd October 1998)"), | |
58 | - chapters must be declared with "Chapter x" or "Chapter x: NAME OF THE CHAPTER", where "x" is the chapter number, | |
59 | - a description of the story must be given as chapter number 0, | |
60 | - a cover image may be present with the same filename but a PNG, JPEG or JPG extension. | |
61 | - info_text: Contains the same information as the TEXT format, but with a companion ".info" file to store some metadata | |
62 | - cbz: CBZ (collection of images) files created with this program | |
63 | ||
64 | ## TODO | |
65 | ||
66 | - A nice README file | |
67 | - A binary JAR release (and thus, versions) | |
68 | - Improve the CLI reader | |
69 | - Offer some other readers (TUI, GUI) | |
70 | - Check if it can work on Android | |
71 |