Need help with gozim?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

akhenakh
171 Stars 29 Forks MIT License 129 Commits 13 Opened issues

Description

A Go native implementation for ZIM files

Services available

!
?

Need anything else?

Contributors list

# 13,384
C
Objecti...
sdwebim...
webp
110 commits
# 217,932
Go
Shell
convolu...
blur
3 commits
# 149,438
HTML
specifi...
Shell
Django
2 commits
# 3,515
viml
golang
ag
q
1 commit
# 96,993
Go
Shell
golang
ssh-ser...
1 commit
# 431,250
HTML
Shell
Go
linux-d...
1 commit
# 623,867
Go
HTML
1 commit

Build Status

gozim

A Go native implementation for ZIM files. See http://akhenakh.github.io/gozim

ZIM files are used mainly as offline wikipedia copies.

See http://openzim.org/wiki/ZIMfileformat and http://openzim.org/wiki/ZIMFileExample

Wikipedia/Wikinews/... ZIMs can be downloaded from there http://download.kiwix.org/zim/

ScreenShot ScreenShot

build and installation

On Ubuntu/Debian youn need those packages to compile gozim

apt-get install git liblzma-dev mercurial build-essential

For the indexer bleve to work properly it's recommended that you use leveldb as storage.

go get -u -v -tags all github.com/blevesearch/bleve/...

Gozim http server is using go.rice to embed html/css in the binary install the rice command

go get github.com/GeertJohan/go.rice
go get github.com/GeertJohan/go.rice/rice
go install github.com/GeertJohan/go.rice
go install github.com/GeertJohan/go.rice/rice

Get and build the gozim executables

bash
go get github.com/akhenakh/gozim/...
cd $GOPATH/src/github.com/akhenakh/gozim
go build github.com/akhenakh/gozim/cmd/gozimhttpd
go build github.com/akhenakh/gozim/cmd/gozimindex

After build gozimhttpd command run to embed the files:

rice append --exec gozimhttpd

cross-compilation

For easy cross-compilation a

!cgo
build version uses a pure go library for lzma parsing. The pure go library is around ~2.5x slower in benchmarks so compile on your target OS if performance is important.

running

Optionally, build an index file:

gozimindex -path=yourzimfile.zim -index=yourzimfile.idx

Start the gozim server:

gozimhttpd -path=yourzimfile.zim [-index=yourzimfile.idx]

TODO

Mmap 1st 2GB on 32 bits Selective Gzip encode response based on content type func rather than if for getBytes

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.