Kiwix-serve is a ZIM compatible Web server. With its help you can deliver ZIM file content over your network.
Based on the well known HTTP protocol, kiwix-serve allows you to share the ZIM files available on your computer easily with others connected to your network. You simply need to start kiwix-serve and your content will be available for anybody through their own Web browser.
Kiwix-serve is a good solution if you have a LAN network and don't want to install Kiwix on all computers. It's a good alternative if you don't have a shared network disk from which everybody can start Kiwix.
Kiwix-serve has not so many features like Kiwix, but provides the most important ones:
- Full text search engine
- Search suggestions
- Really small and efficient
- Compatible with almost all browsers
- Available on all platforms
- Available as command line executable
- Embedded in Kiwix UI
- Able to deal with one ZIM file or XML library files
- RESTful API endpoint with OPDS (XML)
On Microsoft Windows, Apple Mac OS X and GNU/Linux, kiwix-serve is packaged and distributed with Kiwix. You simply need to download the Kiwix installer corresponding to your Operating System.
We newly provide kiwix-serve as part of the Kiwix tools and pre-compiled binaries for many systems are available.
For other systems, you will have to download and compile kiwix-serve source code on your own.
Kiwix-serve is directly available in the Kiwix menu "Tools > server", but for people wanting to use it from the command line, here is how it works.
- kiwix-serve binary, available in the Kiwix application directory
- A ZIM file or a library file (you can use the library.xml file available in your Kiwix data directory).
Unix command line (just use kiwix-serve.exe on Microsoft Windows) example to start kiwix-serve with an XML library file:
kiwix-serve --library ~/.www.kiwix.org/kiwix/efrnsupg.default/data/library/library.xml
Unix command line example to start kiwix-serve with a ZIM file:
kiwix-serve --port=8080 wikipedia.zim
Once kiwix-serve is started, anyone with access to this computer over the network, will be able to connect to it. You need to retrieve the IP (xxx.xxx.xxx.xxx) of your computer and remember the port (per default 80) you have used and then people will only have to type in their browser address bar:
Kiwix-serve provides a few options:
--port=PORTto specify the port you want to open for listening (per default 80)
--daemonto execute the software in background
--attachToProcess=PIDto attach kiwix-serve process to other process
--verboseto get a few logs
--address=IPto bind a particular IP (per default 0.0.0.0 = all interfaces)