All Projects → kiwix → Kiwix Tools

kiwix / Kiwix Tools

Licence: gpl-3.0
Command line Kiwix tools: kiwix-serve, kiwix-manage, ...

Projects that are alternatives of or similar to Kiwix Tools

Usbmuxd
A socket daemon to multiplex connections from and to iOS devices
Stars: ✭ 847 (+509.35%)
Mutual labels:  daemon, library
Libosmscout
Libosmscout is a C++ library for offline map rendering, routing and location lookup based on OpenStreetMap data
Stars: ✭ 159 (+14.39%)
Mutual labels:  library, offline
Whatpulse
WhatPulse reverse engineered
Stars: ✭ 30 (-78.42%)
Mutual labels:  daemon, library
Androiddevicenames
A tiny Android library that transforms the device model name into something users can understand.
Stars: ✭ 198 (+42.45%)
Mutual labels:  library, offline
Go Daemon
A library for writing system daemons in golang.
Stars: ✭ 1,341 (+864.75%)
Mutual labels:  daemon, library
Pipelinr
PipelinR is a lightweight command processing pipeline ❍ ⇢ ❍ ⇢ ❍ for your Java awesome app.
Stars: ✭ 134 (-3.6%)
Mutual labels:  library
Zmi Nerd
😃 Simple transform tool
Stars: ✭ 139 (+0%)
Mutual labels:  library
Amqp
AMQP 1.0 client library for Go.
Stars: ✭ 135 (-2.88%)
Mutual labels:  library
Animated Tab Bar
RAMAnimatedTabBarController is a Swift UI module library for adding animation to iOS tabbar items and icons. iOS library made by @Ramotion
Stars: ✭ 10,904 (+7744.6%)
Mutual labels:  library
Baffle
A tiny javascript library for obfuscating and revealing text in DOM elements. 😲
Stars: ✭ 1,721 (+1138.13%)
Mutual labels:  library
Criterion
Microbenchmarking for Modern C++
Stars: ✭ 140 (+0.72%)
Mutual labels:  library
Fluid Slider
💧 A slider widget with a popup bubble displaying the precise value selected. Swift UI library made by @Ramotion
Stars: ✭ 1,798 (+1193.53%)
Mutual labels:  library
Validatetor
Android library for fast and simple string validation
Stars: ✭ 136 (-2.16%)
Mutual labels:  library
Lib
三方框架和学习资料,持续更新(不要只点star,而不去看,把链接点一点你会发现不一样的世界,如果有好用的三方或者学习资料请issues 给我,也可以在issues 提出问题)
Stars: ✭ 139 (+0%)
Mutual labels:  library
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (-2.88%)
Mutual labels:  library
Lc kicad lib
kicad production symbol and footprint library auto convert from JLC's integrate Altium Designer library
Stars: ✭ 140 (+0.72%)
Mutual labels:  library
Gsm v5
gsm module library for STM32 LL
Stars: ✭ 135 (-2.88%)
Mutual labels:  library
Wora
Write Once, Render Anywhere. typescript libraries: cache-persist, apollo-offline, relay-offline, offline-first, apollo-cache, relay-store, netinfo, detect-network
Stars: ✭ 138 (-0.72%)
Mutual labels:  offline
Pipedrive
Complete Pipedrive API client for PHP
Stars: ✭ 138 (-0.72%)
Mutual labels:  library
Wabbit
Golang AMQP mocking library
Stars: ✭ 137 (-1.44%)
Mutual labels:  library

Kiwix tools

The Kiwix tools is a collection of Kiwix related command line tools:

  • kiwix-manage: Manage XML based library of ZIM files
  • kiwix-read: Read ZIM file content
  • kiwix-search: Fulltext search in ZIM files
  • kiwix-serve: HTTP daemon serving ZIM files

latest release Docker Sandstorm Build Status CodeFactor License: GPL v3

Packaging status

Disclaimer

This document assumes you have a little knowledge about software compilation. If you experience difficulties with the dependencies or with the Kiwix tools compilation itself, we recommend to have a look to kiwix-build.

Preamble

Although the Kiwix tools can be compiled/cross-compiled on/for many sytems, the following documentation explains how to do it on POSIX ones. It is primarly thought for GNU/Linux systems and has been tested on recent releases of Debian/Ubuntu and Fedora.

Dependencies

The Kiwix tools rely on a few third party software libraries. They are prerequisites to the Kiwix tools compilation. Therefore, following libraries need to be available:

  • Kiwix lib (no package so far)
  • Libmicrohttpd (package libmicrohttpd-dev on Debian/Ubuntu)
  • Zlib (package zlib1g-dev on Debian/Ubuntu)

These dependencies may or may not be packaged by your operating system. They may also be packaged but only in an older version. They may be also packaged but without providing a static version. The compilation script will tell you if one of them is missing or too old. In the worse case, you will have to download and compile bleeding edge version by hand.

If you want to install these dependencies locally, then use the kiwix-tools directory as install prefix.

If you want to compile Kiwix tools statically, the dependencies should be compiled statically (provide a lib...a library), for example by using --enable-static with ./configure.

If you compile manually Libmicrohttpd, you might need to compile it without GNU TLS, a bug here will empeach further compilation of Kiwix tools otherwise.

Environment

The Kiwix tools build using Meson version 0.43 or higher. Meson relies itself on Ninja, pkg-config and few other compilation tools. Install them first:

These tools should be packaged if you use a cutting edge operating system. If not, have a look to the Troubleshooting section.

Compilation

Once all dependencies are installed, you can compile Kiwix tools with:

meson . build
ninja -C build

By default, it will compile dynamic linked libraries. If you want statically linked libraries, you can add -Dstatic-linkage=true option to the Meson command.

Depending of you system, ninja may be called ninja-build.

Installation

If you want to install the Kiwix tools, here we go:

ninja -C build install

You might need to run the command as root (or using sudo), depending where you want to install the Kiwix tools. After the installation succeeded, you may need to run ldconfig (as root).

Uninstallation

If you want to uninstall the Kiwix tools:

ninja -C build uninstall

Like for the installation, you might need to run the command as root (or using sudo).

Docker

An official Docker image of kiwix-serve can be found in the Docker Hub.

Troubleshooting

If you need to install Meson "manually":

virtualenv -p python3 ./ # Create virtualenv
source bin/activate      # Activate the virtualenv
pip3 install meson       # Install Meson
hash -r                  # Refresh bash paths

If you need to install Ninja "manually":

git clone git://github.com/ninja-build/ninja.git
cd ninja
git checkout release
./configure.py --bootstrap
mkdir ../bin
cp ninja ../bin
cd ..

If the compilation still fails, you might need to get a more recent version of a dependency than the one packaged by your Linux distribution. Try then with a source tarball distributed by the problematic upstream project or even directly from the source code repository.

License

GPLv3 or later, see COPYING for more details.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].