./www/goaccess, Real-time web log analyzer

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 1.3, Package name: goaccess-1.3, Maintainer: wiedi

GoAccess is an open source real-time web log analyzer and interactive
viewer that runs in a terminal in *nix systems. It provides fast and
valuable HTTP statistics for system administrators that require a visual
server report on the fly.


Required to run:
[devel/glib2] [devel/ncursesw]

Required to build:
[pkgtools/cwrappers]

Package options: wide-curses

Master sites:

SHA1: 24e889533e8d7a0fc533e7a0ad1bb303b2bb1af4
RMD160: b4744d1500a86ab56c94ce3612a8121b38cb3a37
Filesize: 528.686 KB

Version history: (Expand)


CVS history: (Expand)


   2019-08-29 20:04:10 by Amitai Schleier | Files touched by this commit (1)
Log message:
Also TOOL_DEPENDS on gettext-tools, for autopoint during configure.
   2019-08-29 12:04:30 by Amitai Schleier | Files touched by this commit (1) | Package updated
Log message:
Missed in recent update: needs gettext.
   2019-08-23 03:48:00 by Amitai Schleier | Files touched by this commit (7) | Package updated
Log message:
Update to 1.3. From the changelog:

- Added ability to store accumulated processing time into DB_GEN_STATS tcb
  file via '--accumulated-time' command line option.
- Added additional Apache status codes to the list.
- Added a few feed readers to the list.
- Added 'Android 8 Oreo' to the list of OSs.
- Added 'Android Pie 9' to the list of OSs.
- Added --anonymize-ip command line option to anonymize ip addresses.
- Added --browsers-file command line option to load a list of crawlers from a
  text file.
- Added byte unit (PiB) to C formatter and refactored code.
- Added byte unit (PiB) to JS formatter.
- Added Chinese translation (i18n).
- Added French translation (i18n).
- Added '%h' date specifier to the allowed date character specifiers.
- Added "HeadlessChrome" to the list of browsers.
- Added --hide-referer command line option to hide referers from report.
- Added HTTP status code 429 (TOO MANY REQUESTS).
- Added IGNORE_LEVEL_PANEL and IGNORE_LEVEL_REQ definitions.
- Added --ignore-referer-report command line option to hide referers from
  output.
- Added Japanese translation (i18n).
- Added macOS 10.14 Mojave to the list of OSs.
- Added "Mastodon" user-agent to the list of crawlers/unix-like.
- Added new fontawesome icons and use angle arrows in HTML paging.
- Added new purple theme to HTML report and default to it.
- Added --no-parsing-spinner command line option to switch off parsing
  spinner.
- Added .ogv and ogg static file extension (ogg video, Ogg Vorbis audio).
- Added OS X version numbers when outputting with --real-os.
- Added parsing mechanism in an attempt capture more bots and to include
  unspecified bots/crawlers.
- Added --pidfile command line option to the default config file.
- Added Spanish translation (i18n).
- Added SSL support for Docker goaccess build.
- Added support to the WebSocket server for openssl-1.1*.
- Added the ability to show/hide a chart per panel in the HTML report.
- Added transparency to the navigation bar of the HTML report.
- Added "WhatsApp" user-agent to the list of crawlers.
- Changed default db folder so it adds the process id (PID). --db-path is
  required now when using --load-from-disk.
- Changed Dockerfile to build from the current source.
- Changed 'hits' to be right-aligned on TUI.
- Changed to use faster slide animations on HTML report.
- Changed wording from 'Bandwidth' to the proper term 'Tx. Amount'.
- Ensure database filenames used by btree are less predictable.
- Ensure HTML templates, CSS and JS files are minified when outputting
  report.
- Ensure key phrases from Google are added even when https is used.
- Ensure live report updates data & charts if tab/document has focus.
- Ensure multiple 'Yandex' crawlers are properly parsed.
- Ensure Safari has priority over most crawlers except the ones that are
  known to have it.
- Ensure the request protocol on its own is properly parsed.
- Ensure the right number of tests are performed against the given log.
- Ensure user configuration is parsed first when available.
- Ensure wss:// is used when connecting via HTTPS.
- Ensure XFF parser takes into account escaped braces.
- Fixed a regression where fifo-in/out would fail with ENXIO.
- Fixed a regression where it would return EXIT_FAILURE on an empty log.
- Fixed a (ssh) pipeline problem with fgetline()/fgets() when there is a race
  for data on stdin.
- Fixed broken X-Forwarded-For (XFF) %~ specifier in certain parsing cases.
- Fixed conf.filenames duplication problem if logs are via pipe.
- Fixed float percent value on JSON/HTML output for locales using decimal comma.
- Fixed issue where it was not possible to establish a Web Socket connection
  when attempting to parse and extract HTTP method.
- Fixed issue where log formats with pipe delimiter were not propely parsed.
- Fixed memory leak after config file path has been set (housekeeping).
- Fixed memory leak when adding host to holder introduced in c052d1ea.
- Fixed possible memory leak when hiding specific referrers.
- Fixed several JS jshint warnings.
- Fixed sudo installs on TravisCI.
- Fixed UNDEFINED time range in HTML report when VISITORS panel was ignored.
- Fixed unnecessary closing span tags from template.
- Fixed use-after-free when two color items were found on color_list.
   2017-09-23 00:18:01 by Sebastian Wiedenroth | Files touched by this commit (1)
Log message:
goaccess: fix build on SunOS

Needs c99
   2017-06-10 18:17:07 by Sebastian Wiedenroth | Files touched by this commit (2) | Package updated
Log message:
Update goaccess to 1.2

Changes to GoAccess 1.2 - Tuesday, March 07, 2017

  - Added a Dockerfile.
  - Added Amazon S3 bucket name as a VirtualHost (server block).
  - Added a replacement for GNU getline() to dynamically expand line buffer
    while maintaining real-time output.
  - Added --daemonize command line option to run GoAccess as daemon.
  - Added several improvements to the HTML report on small-screen devices.
  - Added option to the HTML report to auto-hide tables on small-screen
    devices.
  - Added --process-and-exit command line option to parse log and exit.
  - Added several feed readers to the list of browsers.
  - Added "-" single dash per convention to read from the standard input.
  - Added support for MaxMind GeoIP2.
  - Added the ability to read and follow from a pipe such as
    "tail -f access.log | goaccess -"
  - Added the ability to specify multiple logs as input sources, e.g.:
    "goaccess access.log access.log.1" while maintaining real-time output.
  - Added time unit (seconds) to the processed time label in the HTML/terminal
    output.
  - Added visitors' percent column to the terminal dashboard.
  - Changed D3 charts to dim Y-axis on mouseover.
  - Changed D3 charts to reflect HTML column sort.
  - Changed D3 charts to render only if within the viewport. This improves the
    overall real-time HTML performance.
  - Changed HTML report tables to render only if within the viewport.
  - Changed percentage calculation to be based on the total within each panel.
  - Ensure start/end dates are updated real-time in the HTML output.
  - Ensure "window.location.hostname" is used as the default WS server \ 
host.
    In most cases, this should avoid the need for specifying \ 
"--ws-url=host".
    Simply using "--real-time-html" should suffice.
  - Fixed issue on HTML report to avoid outputting scientific notation for all
    byte sizes.
  - Fixed integer overflow when calculating bar graph length on terminal
    output.
  - Fixed issue where global config file would override command line arguments.
  - Fixed issue where it wouldn't allow loading from disk without specifying a
    file when executed from the cron.
  - Fixed issue where parser couldn't read some X-Forwarded-For (XFF) formats.
    Note that this breaks compatibility with the original implementation of
    parsing XFF, but at the same time it gives much more flexibility on different
    formats.
  - Fixed issue where specifying fifo-in/out wouldn't allow HTML real-time
    output.
  - Fixed issue where the wrong number of parsed lines upon erroring out was
    displayed.
  - Fixed issue where the WebSocket server prevented to establish a connection
    with a client due to invalid UTF-8 sequences.
  - Fixed percent issue when calculating visitors field.
  - Updated the list of crawlers.
   2016-12-03 00:22:38 by Sebastian Wiedenroth | Files touched by this commit (2) | Package updated
Log message:
Update goaccess to 1.1.1

Changes to GoAccess 1.1.1 - Wednesday, November 23, 2016

  - Added data metric's "unique" count on each panel to the JSON/HTML \ 
outputs.
  - Changed D3 bar charts to use .rangeBands and avoid extra outer padding.
  - Fixed mouseover offset position issue on D3 bar charts.
  - Fixed possible heap overflow when an invalid status code was parsed and
    processed. This also ensures that only valid HTTP status codes are parsed
    >=100 or <= 599.
  - Fixed sluggish D3 chart re-rendering by changing how x-axis labels are
    displayed in the HTML report.
   2016-11-17 23:44:03 by Sebastian Wiedenroth | Files touched by this commit (1)
Log message:
add autoconf to tools
   2016-11-17 23:33:55 by Sebastian Wiedenroth | Files touched by this commit (5) | Package updated
Log message:
Update goaccess to 1.1

Changes to GoAccess 1.1 - Tuesday, November 08, 2016

  - Added a new layout to the HTML report and additional settings and changes.
  - Added --crawlers-only command line option to display crawlers/bots only.
  - Added --fifo-in and --fifo-out command line options to set websocket FIFO
    reader/writer.
  - Added --no-html-last-updated command line option.
  - Added --num-tests command line option.
  - Added --html-prefs command line option to to set default preferences for
    the HTML report.
  - Added "Amazon S3" Log Format to the list of predefined options.
  - Added "Android 7.1 Nougat" to the list of OSs.
  - Added "Android Marshmallow 6.0.1" to the list of OSs.
  - Added "Android Nougat 7.0" to the list of OSs.
  - Added "Feed Wrangler" to the list of feeds.
  - Added "Go-http-client" to the list of browsers.
  - Added "MicroMessenger" (WeChat) to the list of browsers.
  - Added "SemrushBot" to the list of crawlers.
  - Added "Remote User" panel to capture HTTP authentication requests. \ 
Use %e
    within the log-format variable to enable this panel.
  - Added tebibyte unit to the byte to string function converter.
  - Added the ability to parse reverse proxy logs that have multiple IPs. This
    adds the ability to parse the "X-Forwarded-For" field in a reverse \ 
proxy
    setup.
  - Added the ability to show which token didn't match log/date/time pattern.
    This also ensures that in the absence of data, its output is not treated as
    error but instead it produces an empty report.
  - Added the ability to specify a WebSocket protocol (ws|wss) through
    --ws-url.
  - Added the request query string to the W3C format.
  - Added TLS/SSL support to the HTML real-time report.
  - Changed browser classification for Google Cloud Clients.
  - Changed how "Darwin" OS was reported to display AppName instead.
  - Changed default W3C log format to use the URL path instead of full request.
  - Changed HTML default number of items on each table to 7.
  - Changed request parser to allow empty query strings.
  - Changed default HTML output theme to darkBlue.
  - Ensure every version of iOS is broken down under the OS panel.
  - Ensure latest JSON data is fast-forwarded when connection is opened.
    GoAccess now sends the latest JSON data to the client as soon as the
    WebSocket connection is opened.
  - Ensure localStorage is supported and enabled in the HTML report
  - Ensure unknown coutries/continents are listed.
  - Fixed D3 chart width overflow issue on Edge.
  - Fixed integer to string key conversion for unique visitors. This fixes the
    issue where resulting keys would collide with existing keys and thus not
    keeping the right visitors count on certain panels.
  - Fixed memory leak when unable to URL decode %q specifier.
  - Fixed memory leak when unable to URL decode %U specifier.
  - Fixed month name abbreviation on app.js.
  - Fixed percentage integer overflow with large numbers on 32bits platforms.
  - Fixed percent calculation due to integer division rounding to zero.
  - Fixed possible code injection when outputting an HTML report.
  - Fixed segfault when using options -H or -M without an argument.
  - Removed timestamp from the HTML report title tag.

Changes to GoAccess 1.0.2 - Tuesday, July 05, 2016

  - Added minor changes to the HTML report stylesheet.
  - Added the ability to specify the WebSocket port within --ws-url.
  - Added the proper byte swap functions used by Sun Solaris.
  - Added the proper default --http-method/protocol values on the config file.
  - Changed bar transition to scale delay dynamically to the length of the
    dataset.
  - Fixed build issue on platforms lacking of open_memstream() by refactoring
    the JSON module to use its own memory buffer.
  - Fixed issue where the server wouldn't send cached buffer to slow clients.
  - Fixed OS X build check of ncursesw.
  - Implemented a throttle mechanism for slow clients to avoid caching too much
    data on the server-side.
  - Removed flickering on D3 line and bar chart redraw.

Changes to GoAccess 1.0.1 - Friday, June 17, 2016

  - Added Android version number along with the codename when using --real-os,
    e.g., "Lollipop 5.1".
  - Added some missing headers and function checks to configure.ac.
  - Fixed a regression where it wouldn't allow abbreviated date and time
    formats such as %F or %T.
  - Fixed build issues on systems running GLIBC older than 2.9, such as RHEL <= 5.
  - Fixed issue where it wouldn't send the whole buffer to a socket causing the
    real-time-html WebSocket server to progressively consume a lot more memory.
  - Fixed memory leak when using getline and follow mode enabled.
  - Fixed some buffer initialization issues on read_line() and
    perform_tail_follow().
  - Fixed uint types in sha1 files.

Changes to GoAccess 1.0 - Thursday, June 09, 2016

  - Added --enable-panel=<PANEL> command line option to display the given
    module.
  - Added --json-pretty-print command line option to output pretty json.
  - Added --log-format=<format> command-line shortcuts for standard log
    formats.
  - Added --origin command line option to match the origin WebSocket header.
  - Added --output=<file.[html|csv|json]> as a shortcut to --output-format.
  - Added a complete real-time functionality to the HTML output.
  - Added an option to set the max number of items to show per panel.
  - Added D3 Visualziations to the HTML dashboard.
  - Added metadata metrics to the each of the panels (JSON output)
  - Added option to specify time distribution specificity.
  - Added the ability to download a JSON file from the HTML report.
  - Added the ability to output multiple formats on a single log parse.
  - Added the ability to set the date specificity in hours.
  - Added the ability to sort all HTML tables on all panels.
  - Added the ability to specify a custom CSS and JS file to the HTML report.
  - Added user-agents to the JSON output per each host.
  - Added "Vivaldi" to the list of browsers.
  - Bootstrapify the HTML dashboard.
  - Changed configure.ac to use LDFLAGS instead of CFLAGS where applicable.
  - Changed default terminal color scheme to 256 Monokai if terminal supports \ 
256 colors.
  - Changed GoAccess license to The MIT License (MIT)
  - Changed the visitors panel to display its dates continuously.
  - Changed the visitors panel to display its dates continuously instead of top.
  - Default to 256 Monokai color scheme if terminal supports 256 colors.
  - Default to display HTTP method/protocol (if applicable).
  - Display the children's Max. T.S. as the parent's top Max. T.S.
  - Ensure the parent's Avg. T.S. displays parent's Cum. T.S. over parent's Hits.
  - Fixed color issue when switching from the color scheme window.
  - Fixed cross platform build issue when ncurses is built with and without
    termlib=tinfo.
  - Fixed issue header curses window wouldn't clear out on small window sizes.
  - Fixed issue where tail mode wouldn't parse full lines using getline().
  - Fixed minor background color issue when using ncurses 6.
  - Fixed possible division by zero when getting an entry percentage.
  - Fixed singly link list node removal.
  - Fixed still reachable memory leak on GeoIP cleanup (geoip legacy >= 1.4.7).
  - Fixed Valgrind's still reachable memory leaks.
  - Removed -Wredundant-decls.