Bash wrapper for goaccess to generate web statistics from nginx/apache access logs.
- Easy setup: interactive configuration wizard
- Multiple reports: all traffic, bots only, no bots
- Navigation UI: index.html with menu to switch between reports
- Bot detection: filters traffic by 20+ known bot user-agents
- Protected output: setup password-protected stats folder
- Cron-ready: designed for automated scheduled runs
# 1. Install
git clone https://github.com/pforret/goax.git
cd goax
# 2. Install goaccess
./goax.sh install
# 3. Configure
./goax.sh config
# 4. Generate reports
./goax.sh run| Command | Description |
|---|---|
goax install |
Install goaccess (detects OS package manager) |
goax config |
Create configuration file interactively |
goax folder [user] |
Setup password-protected output folder |
goax run |
Generate HTML reports |
goax check |
Show current configuration |
The run command creates 5 files in your output directory:
| File | Content |
|---|---|
index.html |
Navigation wrapper with menu bar |
all.html |
All traffic (bots + humans) |
nobots.html |
Human traffic only |
bots.html |
All bot traffic |
llmbots.html |
LLM/AI bot traffic only |
Run goax config to create a goax.env file:
ACCESS_LOG="/var/log/nginx/access.log"
OUTPUT_DIR="/var/www/example.com/stats"
LOG_FORMAT="COMBINED"Or use command-line options:
goax run -l /var/log/nginx/mysite.access.log -o /var/www/mysite/statsThe following user-agents are classified as bots:
- Search engines: Googlebot, Bingbot, Yandex, Baidu, DuckDuckBot
- SEO tools: Semrush, Ahrefs, Moz, MJ12bot, DotBot
- Social: FacebookExternalHit, TwitterBot, LinkedInBot, WhatsApp
- Others: Applebot, PetalBot, and generic bot/crawler/spider patterns
The llmbots.html report specifically tracks AI/LLM crawlers:
- OpenAI: GPTBot, ChatGPT-User
- Anthropic: ClaudeBot, Claude-Web
- Other AI: Bytespider, CCBot, PerplexityBot, Cohere-ai
- Meta: Meta-ExternalAgent
- Others: AmazonBot, YouBot, AI2Bot, Diffbot, Omgili, iaskspider
For hourly reports:
0 * * * * /opt/goax/goax.sh run >> /var/log/goax.log 2>&1-h, --help Show usage
-Q, --QUIET No output
-V, --VERBOSE Debug messages
-f, --FORCE Skip confirmations
-l, --LOG_FILE Access log path
-o, --OUTPUT Output directory
-F, --FORMAT Log format (COMBINED/COMMON/...)
- Bash 4+
- goaccess
- htpasswd (for
foldercommand)
MIT