{"id":13499794,"url":"https://github.com/kiwix/kiwix-tools","last_synced_at":"2025-05-15T08:10:47.725Z","repository":{"id":14817333,"uuid":"72460287","full_name":"kiwix/kiwix-tools","owner":"kiwix","description":"Command line Kiwix tools: kiwix-serve, kiwix-manage, ...","archived":false,"fork":false,"pushed_at":"2024-12-21T11:20:30.000Z","size":5032,"stargazers_count":550,"open_issues_count":38,"forks_count":97,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-04-07T04:05:48.538Z","etag":null,"topics":["daemon","http","kiwix","library","offline","zim"],"latest_commit_sha":null,"homepage":"https://download.kiwix.org/release/kiwix-tools/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kiwix.png","metadata":{"files":{"readme":"README.md","changelog":"Changelog","contributing":null,"funding":".github/FUNDING.yml","license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"kiwix","patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":null}},"created_at":"2016-10-31T17:23:42.000Z","updated_at":"2025-04-06T16:49:25.000Z","dependencies_parsed_at":"2023-11-19T14:26:39.462Z","dependency_job_id":"cab45659-5f76-432c-a27f-8d237bb1f6fe","html_url":"https://github.com/kiwix/kiwix-tools","commit_stats":{"total_commits":900,"total_committers":39,"mean_commits":"23.076923076923077","dds":0.6288888888888888,"last_synced_commit":"4e992a18e8068fe3bc7b4be12bd150dec5862fe9"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwix%2Fkiwix-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwix%2Fkiwix-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwix%2Fkiwix-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kiwix%2Fkiwix-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kiwix","download_url":"https://codeload.github.com/kiwix/kiwix-tools/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248890321,"owners_count":21178399,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["daemon","http","kiwix","library","offline","zim"],"created_at":"2024-07-31T22:00:42.493Z","updated_at":"2025-04-14T13:44:11.395Z","avatar_url":"https://github.com/kiwix.png","language":"C++","funding_links":["https://github.com/sponsors/kiwix"],"categories":["C++","\u003ca name=\"cpp\"\u003e\u003c/a\u003eC++","置顶","Software"],"sub_categories":["9、效率工具集合","Document Management - E-books"],"readme":"Kiwix tools\n===========\n\nThe Kiwix tools is a collection of [Kiwix](https://kiwix.org) related\ncommand line tools:\n* kiwix-manage: Manage XML based library of ZIM files\n* kiwix-search: Full text search in ZIM files\n* kiwix-serve: HTTP daemon serving ZIM files\n\n[![latest release](https://img.shields.io/github/v/tag/kiwix/kiwix-tools?label=latest%20release\u0026sort=semver)](https://download.kiwix.org/release/kiwix-tools/)\n[![Repositories](https://img.shields.io/repology/repositories/kiwix-tools?label=repositories)](https://github.com/kiwix/kiwix-tools/wiki/Repology)\n[![Docker](https://ghcr-badge.deta.dev/kiwix/kiwix-tools/latest_tag?label=docker)](https://ghcr.io/kiwix/kiwix-tools)\n[![Docker](https://ghcr-badge.deta.dev/kiwix/kiwix-tools/latest_tag?label=docker%20(kiwix-serve))](https://ghcr.io/kiwix/kiwix-tools)\n[![Build Status](https://github.com/kiwix/kiwix-tools/workflows/CI/badge.svg?query=branch%3Amain)](https://github.com/kiwix/kiwix-tools/actions?query=branch%3Amain)\n[![Doc](https://readthedocs.org/projects/kiwix-tools/badge/?style=flat)](https://kiwix-tools.readthedocs.org/en/latest/?badge=latest)\n[![CodeFactor](https://www.codefactor.io/repository/github/kiwix/kiwix-tools/badge)](https://www.codefactor.io/repository/github/kiwix/kiwix-tools)\n[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)\n\nDisclaimer\n----------\n\nThis document assumes you have a little knowledge about software\ncompilation. If you experience difficulties with the dependencies or\nwith the Kiwix tools compilation itself, we recommend to have a look\nto [kiwix-build](https://github.com/kiwix/kiwix-build).\n\nPreamble\n--------\n\nAlthough the Kiwix tools can be compiled/cross-compiled on/for many\nsystems, the following documentation explains how to do it on POSIX\nones. It is primarily thought for GNU/Linux systems and has been tested\non recent releases of\n[Debian](https://debian.org)/[Ubuntu](https://ubuntu.com) and\n[Fedora](https://getfedora.org).\n\nDependencies\n------------\n\nThe Kiwix tools rely on a few third party software libraries. They are\nprerequisites to the Kiwix tools compilation. Therefore, following\nlibraries need to be available:\n* [libkiwix](https://github.com/kiwix/libkiwix) (package `libkiwix` on Debian/Ubuntu)\n* [libzim](https://github.com/openzim/libzim) (package `libzim` on Debian/Ubuntu)\n\nThese dependencies may or may not be packaged by your operating\nsystem. They may also be packaged but only in an older version. They\nmay be also packaged but without providing a static version. The\ncompilation script will tell you if one of them is missing or too old.\nIn the worse case, you will have to download and compile bleeding edge\nversion by hand.\n\nIf you want to install these dependencies locally, then use the\nkiwix-tools directory as install prefix.\n\nIf you want to compile Kiwix tools statically, the dependencies should\nbe compiled statically (provide a `lib...a` library), for example by\nusing `--enable-static` with `./configure`.\n\nEnvironment\n-------------\n\nThe Kiwix tools build using [Meson](http://mesonbuild.com/) version\n0.43 or higher. Meson relies itself on Ninja, pkg-config and a few other\ncompilation tools. Install them first:\n* [Meson](http://mesonbuild.com/)\n* [Ninja](https://ninja-build.org/)\n* [pkg-config](https://www.freedesktop.org/wiki/Software/pkg-config/)\n\nThese tools should be packaged if you use a cutting edge operating\nsystem. If not, have a look to the [Troubleshooting](#Troubleshooting)\nsection.\n\nCompilation\n-----------\n\nOnce all dependencies are installed, you can compile Kiwix tools with:\n```bash\nmeson . build\nninja -C build\n```\n\nBy default, it will compile dynamic linked libraries. If you want\nstatically linked libraries, you can add `-Dstatic-linkage=true`\noption to the Meson command.\n\nDepending of you system, `ninja` may be called `ninja-build`.\n\nInstallation\n------------\n\nIf you want to install the Kiwix tools, here we go:\n```bash\nninja -C build install\n```\n\nYou might need to run the command as `root` (or using `sudo`),\ndepending on where you want to install the Kiwix tools. After the\ninstallation succeeded, you may need to run ldconfig (as `root`).\n\nUninstallation\n------------\n\nIf you want to uninstall the Kiwix tools:\n```bash\nninja -C build uninstall\n```\n\nLike for the installation, you might need to run the command as `root`\n(or using `sudo`).\n\nDocker\n------\n\nAn official Docker image of the Kiwix tools can be found on \n[GHCR](https://ghcr.io/kiwix/kiwix-tools). A\n`kiwix-serve` dedicated Docker image [exists\ntoo](https://ghcr.io/kiwix/kiwix-serve).\n\nTroubleshooting\n---------------\n\nIf you need to install Meson \"manually\":\n```bash\nvirtualenv -p python3 ./ # Create virtualenv\nsource bin/activate      # Activate the virtualenv\npip3 install meson       # Install Meson\nhash -r                  # Refresh bash paths\n```\n\nIf you need to install Ninja \"manually\":\n```bash\ngit clone git://github.com/ninja-build/ninja.git\ncd ninja\ngit checkout release\n./configure.py --bootstrap\nmkdir ../bin\ncp ninja ../bin\ncd ..\n```\n\nIf the compilation still fails, you might need to get a more recent\nversion of a dependency than the one packaged by your Linux\ndistribution. Try then with a source tarball distributed by the\nproblematic upstream project or even directly from the source code\nrepository.\n\nLicense\n-------\n\n[GPLv3](https://www.gnu.org/licenses/gpl-3.0) or later, see\n[COPYING](COPYING) for more details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwix%2Fkiwix-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkiwix%2Fkiwix-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkiwix%2Fkiwix-tools/lists"}