• Stars
    star
    563
  • Rank 76,466 (Top 2 %)
  • Language
    Go
  • License
    MIT License
  • Created almost 7 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Fast, standalone EPUB to Kobo EPUB conversion tool.

kepubify

Kepubify converts EPUBs to Kobo EPUBs.

Website   Download   Documentation   Web Version   pkg.go.dev

About

Kepubify is standalone (it also works as a library or a webapp), converts most books in a fraction of a second (40-80x faster than Calibre), handles malformed HTML/XHTML without causing further issues, has multiple optional conversion options (punctuation smartening, custom CSS, text replacement, and more), has a full test suite, is interoperable with other applications, and is safe to use with untrusted books.

Two additional standalone utilities are included with kepubify. covergen pre-generates cover images to speed up library browsing on Kobo eReaders while providing higher-quality resizing. seriesmeta scans for EPUBs and KEPUBs, and updates the Kobo database with the Calibre or EPUB3 series metadata.

See the releases page for pre-built binaries for Windows, Linux, and macOS. See the website for more documentation, pre-built binaries for Windows, Linux, and macOS, and a web version.

Building

Kepubify requires Go 1.16 or later. To install kepubify directly, run go install github.com/pgaskin/kepubify@latest. To build from source, clone this repository, and run go build ./cmd/kepubify.

On Go 1.17 or later, additional optimizations are automatically used to significantly improve kepubify's performance by preventing unchanged files from being re-compressed. To use a backported version of these optimizations on Go 1.16, add the option -tags zip117 to the build/install command. If you are using kepubify as a library in another application with -tags zip117 enabled on Go 1.16, it must also use the backported package when passing a *zip.Reader to (*kepub.Converter).Transform.

To build seriesmeta, a C compiler must be installed and CGO must be enabled.

Note that kepubify uses a custom fork of golang.org/x/net/html. This fork provides additional options used by kepubify to allow reading malformed HTML/XHTML and to produce polyglot HTML/XHTML output for maximum compatibility. Previously, kepubify replaced it using a replace directive in go.mod, but since the fork is now a standalone package, this is not necessary anymore, and will no longer cause conflicts if used as a dependency in applications requiring golang.org/x/net/html directly.

Branches

This repository contains multiple main branches with code used by kepubify.

Branch Description Status
master Kepubify, seriesmeta, and covergen (this branch). kepubify
gh-pages Kepubify website and JS/WASM library. website
forks/html Fork of golang.org/x/net/html with additional features and modifications required by kepubify. forks - html
forks/go116-zip.go117 Fork of archive/zip from Go 1.17 backported to Go 1.16 for performance improvements. forks - go116-zip.go117

More Repositories

1

BookBrowser

eBook server supporting ePub, MOBI and PDF books.
Go
604
star
2

NickelMenu

The easiest way to launch scripts, change settings, and run actions on Kobo e-readers.
C++
467
star
3

ePubViewer

ePub viewer with dictionary, themes, search, offline support, and more
JavaScript
330
star
4

kobopatch-patches

Patches for use with kobopatch.
Go
204
star
5

easy-novnc

Single-binary noVNC instance, web UI, and multi-host proxy.
Go
170
star
6

bootnext

Windows tray icon to set the EFI BootNext variable.
C#
81
star
7

kobopatch

An improved patching system for Kobo eReaders.
Go
80
star
8

dictutil

Tools, documentation, and libraries related to Kobo dictionaries.
Go
51
star
9

KoboStuff

Automatically updated Kobo firmware download page. Also see pgaskin/kfwproxy for the backend.
JavaScript
46
star
10

repogen

Easy-to-use signed APT repository generator with a web-based package browser.
Go
42
star
11

kobo-mods

My Kobo mods/hacks/tools which aren't patches and aren't in koboutils.
C++
34
star
12

NickelTC

A dockerized, deterministic, automated, fixed, and fully-relocatable build of @NiLuJe's toolchain for Kobo eReaders.
Dockerfile
30
star
13

pulseaudio-win32

An up-to-date PulseAudio build for Windows with an installer, service, socket support, bug fixes, and new features.
C
27
star
14

NickelHook

A library for creating mods for Kobo's eReader software, Nickel.
C
26
star
15

qrc

Go library and command-line tool to extract/decompile Qt resources from Qt resource (rcc) files and executables.
Go
26
star
16

epubtool

A tool to manipulate ePub files.
Go
24
star
17

lithiumpatch

Adds additional functionality to the Lithium EPUB Reader Android app.
Go
22
star
18

koboutils

Small utilities for doing stuff with Kobo eReaders.
Go
21
star
19

dictserver

Dictionary API server based on data from the Gutenberg Webster's Unabridged Dictionary.
Go
10
star
20

kobopatch-config

My kobopatch configuration
Shell
8
star
21

crb

Library and tools for parsing and exporting Chrome bookmarks.
Go
5
star
22

czlib

zlib bindings for Go without any external dependencies. Forked from DataDog/zlib.
Go
5
star
23

kfwproxy

API proxy for kobofirmware.
Go
5
star
24

batterytile

Android battery QS tile (current, temperature, time, status).
Java
4
star
25

vscode-extension-download

A bookmarklet to download VSCode extensions as VSIX.
JavaScript
4
star
26

rpms

Various RPM specs for Fedora.
3
star
27

corsproxy

Proxies requests and adds CORS headers.
Go
3
star
28

kbdscr

A tool to show evdev button events graphically.
C
3
star
29

vncpatch

Patches the RealVNC 4.x Android app to fix bugs and improve usability.
Shell
2
star
30

trellobackup

A simple tool to backup your Trello boards and attachments.
Go
2
star
31

chess

A multiplayer realtime web-based chess game.
HTML
2
star
32

trello-calendar-proxy

Adds additional features to the Trello Calendar Power-Up.
Go
2
star
33

innosoftfusiongo-ical

API serving Innosoft Fusion Go schedule data as an iCalendar feed, plus a web UI.
Go
2
star
34

ASM374

Assembler for the ELEC374 W23 CPU.
C
2
star
35

windy

Android live wallpaper visualizing local wind patterns. Based on the official Pixel 2017 windy live wallpaper, but has up-to-date data and additional options.
Java
2
star
36

ssh-sk-provider-gms

OpenSSH security key provider for Play Services on Android. WIP.
C
2
star
37

innosoftfusiongo-schedule

Generate weekly schedules from Innosoft Fusion Go data.
Go
1
star
38

libs

Single-file C libraries (and a few commands) I have written.
C
1
star
39

android_kiev

1
star
40

snappr

CLI and library for pruning time-based snapshots with a flexible retention policy.
Go
1
star
41

barlib

A simple but flexible library for implementing efficient, fast, responsive, and error-tolerant i3status replacements in Go.
Go
1
star