Downloads

Here you can find the sources, pre compiled 'binaries' and further additional information about GoAccess…

Stable

GoAccess v1.10.1 brings a powerful upgrade to both usability and performance, introducing sleek terminal bar charts, city-level geolocation insights, customizable panel reordering, and a refreshed HTML dashboard. With optional zlib support for compressed logs, improved multi-threaded stability and expanded OS and browser detection, this release delivers a more polished analytics experience...

Testing

If you would like to be on top of all the changes occuring to GoAccess, feel free to use the GitHub master branch and build from it. Instructions on how to build GoAccess from Github can be found at the bottom of the Download page.

This is where all the development goes. If you already have Git installed, you can get the latest development version via Git.

# Installation

Installing GoAccess is pretty easy. Just download, extract and compile it with:

$ wget https://tar.goaccess.io/goaccess-1.10.1.tar.gz $ tar -xzvf goaccess-1.10.1.tar.gz $ cd goaccess-1.10.1/ $ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib $ make # make install
Notes
  • The only dependency is ncurses.
  • You may need to install build tools like gcc, autoconf, gettext, autopoint etc for compiling/building software from source. e.g., base-devel, build-essential, "Development Tools".
  • If outputting real-time HTML, ensure port 7890 is opened. See more details.

Configure Options

Multiple options can be used to configure GoAccess. For a complete up-to-date list of configure options, run ./configure --help

--enable-debug
Compile with debugging symbols and turn off compiler optimizations.
--enable-asan
Enable Address Sanitizer for debugging purposes.
--enable-utf8
Compile with wide character support. Ncursesw is required.
--enable-geoip=<legacy|mmdb>
Compile with GeoLocation support. MaxMind's GeoIP is required. legacy will utilize the original GeoIP databases. mmdb will utilize the enhanced GeoIP2 databases.
--with-getline
Dynamically expands line buffer in order to parse full line requests instead of using a fixed size buffer of 4096.
--with-openssl
Compile GoAccess with OpenSSL support for its WebSocket server. Support for libssl1.1 has been added upstream.
--with-zlib
Enables optional zlib support to allow parsing of compressed log files (e.g., .gz) directly without manual decompression.

# Distributions

It is easiest to install GoAccess on Linux using the preferred package manager of your Linux distribution. Please note that not all distributions will have the latest version of GoAccess available.

Debian/Ubuntu

# apt-get install goaccess
Note This may not always give you the latest stable version. To make sure that you're running the latest stable version of GoAccess see the official repository option below.

Official GoAccess' Debian/Ubuntu Repository

$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null $ echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list $ sudo apt-get update $ sudo apt-get install goaccess
Notes
  • The following signatures were invalid: EXPKEYSIG 97BD1A0133449C3D... — See Github issue to solve the expired key.
  • GPG error: The following signatures couldn't be verified because the public key is not available — Please make sure to download the new public key from step 1 above to correct this.
  • .deb packages in the official repo are available through https as well. You may need to install apt-transport-https.
  • The key fingerprint is: C03B 4888 7D5E 56B0 4671 5D32 97BD 1A01 3344 9C3D

Fedora

# yum install goaccess

Arch Linux

# pacman -S goaccess

Gentoo

# emerge net-analyzer/goaccess

OS X / Homebrew

# brew install goaccess

If GeoIP is needed, append --with-libmaxminddb to the command above. You will need to download the City/Country database from MaxMind and use the option --geoip-database to specify the database.

FreeBSD

# pkg install sysutils/goaccess

OpenBSD

# pkg_add goaccess

OpenSUSE

# zypper ar -f obs://server:http http # zypper in goaccess

pkgsrc (NetBSD, Solaris, SmartOS, …)

# pkgin install goaccess

Slackware

# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz # cd goaccess/ # GEOIP=yes ./goaccess.SlackBuild

Windows

GoAccess can be used in Windows through Cygwin. See packages to install.

§ Docker

A Docker image has been updated, capable of directing output from an access log. If you only want to output a report, you can pipe a log from the external environment to a Docker-based process:

cat access.log | docker run --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED - > report.html

Or for a real-time report:

tail -F access.log | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED --real-time-html - > report.html

For more details, please see the Docker section on README.md.

Distribution Packages

GoAccess has minimal requirements, it's written in C and requires only ncurses. However, below is a table of some optional dependencies in some distros to build GoAccess from source.

Distro NCurses GeoIP (optional) GeoIP2 (optional) OpenSSL (optional)
Ubuntu/Debian libncursesw6-dev libgeoip-dev libmaxminddb-dev libssl-dev
Fedora/RHEL/CentOS ncurses-devel geoip-devel libmaxminddb-devel openssl-devel
Arch Linux ncurses geoip libmaxminddb openssl
Gentoo sys-libs/ncurses dev-libs/geoip libmaxminddb dev-libs/openssl
Slackware ncurses GeoIP libmaxminddb openssl

§ Build from GitHub (Development)

$ git clone https://github.com/allinurl/goaccess.git $ cd goaccess $ autoreconf -fi $ ./configure --enable-utf8 --enable-geoip=mmdb $ make # make install