56ee8cd074
- Update to 1.9.4: * Added an azimuthal (globe) projection to the HTML report for geolocation, providing a less distorted view of the global map. * Added 'apple-touch-icon' for improved iPhone home screen support, enabling quick access to reports directly from the home screen. * Added 'aria-*' attributes to HTML report for better accessibility, ensuring that the report is more inclusive for screen readers and other assistive technologies. * Added 'theme-color' '<meta>' tag to the HTML report for better integration with mobile devices, allowing the browser's address bar to match the report's theme color. * Added additional validation checks to ensure the existence of file paths provided in CLI options, preventing errors. * Added WebSocket authentication to support both local-generated JSON Web Tokens (JWT) and external verification methods. This enhancement enables easy integration with external authentication systems while ensuring CSRF protection for token refresh requests. * Changed WebSocket server to avoid swapping bytes on big-endian platforms, fixing compatibility issues on AIX systems. * Fixed the issue where zooming/panning the map would unexpectedly skip or jump back, providing a smoother user experience. * Fixed the issue where the same mime types were displayed as duplicates due to different casing by normalizing mime types before adding them to the storage, ensuring consistent reporting. * Replaced div elements with more semantic HTML elements like <section>, <header>, and <article>, improving the structure and accessibility of the report. * Updated the list of supported browsers and operating systems to ensure more accurate tracking and reporting. * Updated the method of parsing the browser list for bots/crawlers, enabling the capture of previously difficult-to-parse bots, allowing for more precise targeting and better analytics.
Michael Vetter2025-04-02 13:49:01 +00:00
3ce857477c
- Update to 1.9.3: * Added additional common bots to the list. * Added Address Sanitizer via '--enable-asan' to the configure options for debugging purposes. * Fixed inability to parse JSON keys containing dots. * Fixed out-of-bounds access for invalid HTTP status codes. * Fixed out-of-bounds access when parsing a log in serial processing mode. * Fixed regression introduced in 8f570c, which caused duplicate counts upon restoring from disk via '--restore'.
Michael Vetter2024-06-03 06:15:48 +00:00
db303bdef2
Accepting request 1166954 from server:http
Ana Guerrero2024-04-12 15:34:57 +00:00
4c97f56e3a
- Update to 1.9.2: * Added World Map to the Geo Location panel on the HTML report. * Added additional non-official/standard HTTP status codes such as Caddy's 0 HTTP status among others. * Added support for '%z' on strptime for non-glibc systems, such as musl libc in Alpine Linux (Docker container), enabling the use of '--tz' * Changed the '--hide/ignore-referrer' options to filter by hostname directly without the use of wildcards, e.g., '--ignore-referrer=wiki.google.com'. * Fixed inability to parse duplicate specifiers during log format parsing. * Fixed regression which previously hindered the ability to modify log, date, and time formats within the TUI dialog. i.e., '# goaccess access.log -c'. * Replaced 'remote_ip' with 'client_ip' for Caddy's JSON format, allowing the use of trusted proxies. * Updated Caddy JSON example log format to handle headers correctly. * Updated Swedish i18n.
Michael Vetter2024-04-12 05:44:31 +00:00
2d6511e97c
Accepting request 1144461 from server:http
Ana Guerrero2024-02-06 15:34:59 +00:00
406962e043
- Update to 1.9.1: * Added support for macOS to the OS detection. * Fixed C99 mode issue with initial declarations [CentOS7]. * Fixed minor typographical, orthographic, and grammatical errors in the German translation. * Fixed a regression issue wherein parsing would halt at the first empty log file.
Michael Vetter2024-02-06 07:19:08 +00:00
c95dbe2843
Accepting request 1142893 from server:http
Ana Guerrero2024-01-31 22:54:43 +00:00
77512558ff
- Updaet to 1.9: * Added multi-threaded log processing with '--jobs=<num>' for a boost in parsing speed, achieving an improvement ranging from 1.26 to 3.65x faster. * Added the 'SEARCH' method to the list of HTTP request methods. * Added compatibility to include the Traefik log format. * Added the ability to gracefully handle SIGQUIT as a signal for shutdown. * Altered WebSocket server initialization, ensuring it takes place after log-format checks. * Deprecated '--output-format'; now, only the '--output' option is permissible. * Implemented mutex locking to prevent a TZ environment race condition. * Fixed a potential heap overflow when checking a request for bots. * Fixed sorting of child items on HTML panels when sorting a column via the UI. * Fixed an issue where, in some cases, the referer host wouldn't be extracted properly * Fixed the miscategorization of Android 12.1 under operating systems. * Fixed TUI and temporarily ignored SIGINT during subdialog execution via Ctrl+C. * Updated the list of browsers/bots.
Michael Vetter2024-01-31 04:57:26 +00:00
9a36ea5208
Accepting request 1122197 from server:http
Ana Guerrero2023-11-02 19:22:18 +00:00
59a0479238
- Update to 1.8.1: * Added latest Android and macOS versions to the list of OSs. * Fixed issue when trying to apply a regex on an invalid value (HTML report). * Fixed issue with D3.js xScale.domain() going out of boundaries in certain cases. * Prevent setting default static files when no static-file options are defined in config file.
Michael Vetter2023-11-02 08:30:34 +00:00
e5f77634aa
Accepting request 1114599 from server:http
Ana Guerrero2023-10-02 18:04:19 +00:00
6184c6ce47
- Update to 1.8: * Added dual-stack support to the WebSocket server. * Added Debian Bookworm to the official deb repo. * Added Ubuntu Lunar to the official deb repo. * Fixed compiler error on macOS 10.12. * Updated bootstrap to v3.4. * Updated FontAwesome with additional icons for upcoming major release. * Updated Japanese translation. * Updated OS display from Macintosh to macOS. * Updated to D3.js v7 (latest) including charts.js code.
Michael Vetter2023-10-01 10:13:14 +00:00
fb94446ffb
- Update to 1.7.2: * Added a color-coding scheme to HTTP status codes. * Added '--external-assets' command line option to output external JS+CSS files. Great when used with Content Security Policy (CSP). * Ensure there's a fallback for 'Windows' if it appears on the user-agent. * Ensure we construct the WebSocket URL in a way that supports multiple use cases when used along '--ws-url' and '--port'. * Fixed a segfault due to a null pointer exception on FreeBSD. * Fixed build with '--disable-nls'. * Fixed invalid read (heap-buffer-overflow) when parsing an XFF spec via JSON. * Fixed segfault when parsing a specific XFF specifier.
Michael Vetter2023-04-01 07:13:32 +00:00
ea72a6fca9
- Update to 1.7.1: * Added 'inlang' for easy localization (i18n) updates. * Added nanosecond parsing option via the '%n' specifier. Great for parsing 'Traefik' JSON logs duration field. * Changed Docker workflow to build a docker image on different architectures {'arm64' & 'amd64'}. * Fixed issue with '--unknowns-as-crawlers' where it did not process them as such.
Michael Vetter2023-03-01 08:22:50 +00:00
61b417624c
- Update to 1.7: * Added an option to classify unknown OS and browsers as crawlers using --unknowns-as-crawlers. * Added highlighting to certain metrics on the HTML report for readability. * Added support ASN mapping for GeoIP2 and legacy databases. Great for detecting malicious traffic and block accordingly. * Changed and prioritize user's browsers list over heuristics. * Fixed invalid read when loading the list of agents for an IP. * Fixed issue where a file containing a nul \0 character would crash the program. * Updated Swedish i18n.
Michael Vetter2023-01-02 13:13:21 +00:00
fd85bb6868
- Update to 1.6.5: * Updated Dockerfile build stage to use alpine:3. * Updated deb build to use the right libncursesw6 dependency.
Michael Vetter2022-11-02 08:36:33 +00:00
c8c08ea45f
- Update to 1.6.4: * Added Korean translation (i18n). * Added the ability to use filenames as virtualhosts using '--fname-as-vhost=<regex>'. * Enabled clawlers/bots under the OSs panel instead of being shown as 'Unknown'. * Updated the format on the command-line help output.
Michael Vetter2022-10-03 15:25:32 +00:00
afc5819426
- Update to 1.6.3: * Enabled DNS thread when resolving a host and outputting real-time HTML. This helps avoid stalling the WS server on busy connections. * Fixed issue where it would not properly parse an XFF if the '%h' specifier was already set. * Fixed possible XSS issues when using '--html-custom-css' and '--html-custom-js' by allowing valid filenames.
Michael Vetter2022-09-02 08:37:19 +00:00
20ecbf6c61
- Update to 1.6.2: * Added Android 12 to the list of OSs. * Added macOS 12 Ventura to the list of OSs. * Fixed implicit declaration build issue due to timegm(3) on BSDs and macOS. * Fixed issue where timezone conversion would be performed twice on a given date.
Michael Vetter2022-07-15 07:32:18 +00:00
ad52cf60d5
- Update to 1.6.1: * Added a --ping-interval=<secs> in an attempt to keep the WebSocket connection opened. * Added support for timezone conversion via --datetime-format=<format> and --tz=<timezone>. * Added the ability to reconnect to WebSocket server after 1 sec with exponential backoff (x20). * Fixed issue where an invalid client connection would stall data out to clients via the WebSocket server. * Fixed issue where real-time data would be parsed multiple times under Cygwin.
Michael Vetter2022-07-04 09:32:10 +00:00
cb3a39cf32
- Update to 1.6: * Changed slightly how the XFF field is specified. See man page for details. * Ensure city is displayed with the DBIP City Lite database. * Ensure no 'cleaning up resources' message is displayed if --no-progress is passed. * Ensure the maximum number of items per panel defaults to 1440 (24hrs) when passing --date-spec=min. * Fixed issue when parsing a delimited XFF field followed by a host IP. * Fixed issue where some data was buffered on the WebSocket server before it was sent to each client. * Fixed issue where the WebSocket server would fail with POLLNVAL consuming 100% CPU. * Fixed segfault when attempting to open an unresolved IP on mac/BSDs.
Michael Vetter2022-06-01 07:20:09 +00:00
af1577d57e
- Update to 1.5.7: * Updated Caddy's JSON format. This should address CADDY's v2.5.0 change. * Updated GeoIP module so it defaults to native language name (i18n) or fall-back to English. * Updated translations
Michael Vetter2022-04-29 05:19:02 +00:00
8a228e7e66
- Update to 1.5.6: * Added --anonymize-level=<1|2|3> option to specify IP anonymization level. * Added minute specificity to the Visitors panel via --date-spec=min. * Added the ability to toggle on/off panels on the HTML report. * Changed stderr to stdout on non-error output when exiting goaccess.
Michael Vetter2022-04-01 13:32:43 +00:00
6fba3fb32f
- Update to 1.5.5: * Added mechanism to automatically parse additional bots. * Changed area chart interpolation to 'monotone'. This should avoid the issue * the interpolated curve has a bend into the negative space. * Changed build to use debugging symbols even for release builds. * Changed order on which we verify bots to be the first thing we check. This * a slight improvement on parsing time. * Ensure we initialize DNS resolver conditions and mutexes before they're used. * Fixed possible buffer over-read for cases where a '\0' could be reached * when parsing a log line. * Fixed possible data race on UI spinner thread. * Fixed regression where a lot of robots where not detected by GoAccess.
Michael Vetter2022-02-01 13:29:33 +00:00
9a8ed1ca4f
- Update to 1.5.4: * Added AWS ALB to the predefined logs format list --log-format=AWSALB. * Ensure we lock our pipe/websocket writer before broadcasting message. * Ensure we require a valid host token even when we're not validating the IP. * Ensure we simply update the TUI once after tailing multiple files. * Ensure we simply update the UI once after tailing multiple files. * Fixed buffer overflow when checking if an HTTP code was a 404 on an empty code. * Optimized terminal and HTML UI output when tailing multiple files. * Updated DB PATH error message to be more descriptive.
Michael Vetter2022-01-04 15:54:08 +00:00
2bc8474782
- Update to 1.5.3: * Added additional crawlers to the default list. * Added Italian translation (i18n). * Added 'macOS 12' to the list of OS. * Fixed buffer overflow caused by an excessive number of invalid requests with multiple logs. * Fixed visualization issue on the HTML report for panels with disabled chart.
Michael Vetter2021-12-06 10:55:16 +00:00
52aa4c32c4
- Update to 1.5.1: - Changed official deb repo so it now builds '--with-getline' in order to support request lines longer than 4096. - Ensure there's no tail delay if the log file hasn't changed. - Fixed data race when writing to a self-pipe and attempting to stop the WS server. - Fixed inability to close expanded panel when pressing 'q' on TUI. - Fixed possible data race during parsing spinner label assignment. - Increased the maximum number of files to monitor from '512' to '3072'.
Michael Vetter2021-07-05 07:54:25 +00:00
f6b38f1502
- Update to 1.5: * Added a Docker container based isolated build environment (Debian). * Added Dark Mode detection to the HTML report. * Added the ability for the WebSocket server to bind to a Unix-domain socket. * Added the ability to parse IPs enclosed within brackets (e.g., IPv6). * Changed categorization of requests containing 'CFNetwork' to 'iOS' when applicable. * Changed command line option from '--hide-referer' to '--hide-referrer'. * Changed command line option from '--ignore-referer' to '--ignore-referrer'. * Fixed a potential division by zero. * Fixed inablity to parse IPv6 when using a 'CADDY' log format. * Fixed issue where a 'BSD' OS could be displayed as Linux with certain user-agents. * Fixed memory leak when a JSON value contained an empty string (e.g., JSON/CADDY format). * Fixed possible buffer overflow on a WS packet coming from the browser. * Refactored a substancial part of the storage codebase for upcoming filtering/search capabilities (issue #117). * Refactored DB storage to minimize memory consumption up to '35%'. * Updated default 'AWS Elastic Load Balancing' log format. * Updated German translation. * Updated page size to 24 on the HTML report. * Updated UNIX OS catergories.
Michael Vetter2021-05-27 07:03:28 +00:00
ba9876d171
Accepting request 875902 from server:http
Richard Brown
2021-03-02 11:34:25 +00:00
0e7cfc4760
- Update to 1.4.6: * Added additional feed reader clients. * Added addtional browsers and bots to the main list. * Added command line option '--unknowns-log' to log unknown browsers and OSs. * Added 'Referer' to the pre-defined 'Caddy JSON' log format. * Added support for real-time piping as non-root user. * Added the ability to Handle case when IPv4 is encoded as IPv6 in GeoIP1/legacy. * Ensure we capture linux (lowercase) when extracting an OS. * Fixed a regression in parsing Google Cloud Storage or possibly other non-JSON formats. * Fixed inability to parse escaped formats. * Fixed issue when using '%s' with 'strptime(3)' under musl libc. This addresses mostly the Docker image. * Fixed possible buffer over-read for certain log-format patterns. * Fixed segfault when attempting to process a malformed JSON string. * Fixed segfault when setting an empty log-format from the TUI dialog. * Fixed sorting on hits and visitors when larger than INT_MAX. * Updated CloudFront pre-defined log-format to reflect the latest fields. * Updated 'Dockerfile' image to use 'alpine:3.13' instead of edge due to compatibility issue with the GNU coreutils.
Michael Vetter2021-03-01 08:23:23 +00:00
72df49eb6f
- Update to 1.4.4: * Added 'Caddy' to the list of pre-defined log formats. * Added command line option '--no-strict-status' to disable status validation. * Added native support to parse JSON logs. * Added the ability to process timestamps in milliseconds using '%*'. * Ensure TUI/CSV/HTML reports are able to output 'uint64_t' data. * Ensure we allow UI render if the rate at which data is being read is * than '8192' req/s. * Ensure we don't re-render Term/HTML output if no data was read/piped. * Fixed build configure to work on NetBSD. * Fixed issue where it would send data via socket each second when managed * systemd. * Fixed issue where parser was unable to parse syslog date with padding. * Fixed issue where some items under browsers.list were not tab separated. * Fixed issue where the format parser was unable to properly parse logs * by a pipe. * Fixed issue where T.X. Amount metrics were not shown when data was piped. * Fixed issue where XFF parser could swallow an additional field. * Fixed memory leak when using '%x' as date/time specifier. * Replaced select(2) with poll(2) as it is more efficient and a lot faster * select(2). * Updated Swedish i18n.
Michael Vetter2021-01-25 08:53:02 +00:00
32f356f9d6
- Update to 1.4.3: * Added the ability to set how often goaccess will parse data and output to the HTML report via '--html-refresh=<secs>'. * Changed how TLS is parsed so the Cypher uses a separate specifier. It now uses '%K' for the TLS version and '%k' for the Cypher. * Fixed issue where real-time output would double count a rotated log. This was due to the change of inode upon rotating the log. * Updated man page to reflect proper way of 'tail -f' a remote access log.
Michael Vetter2020-12-04 08:54:43 +00:00
5ca20d8ea2
- Update to 1.4.2: * Added the ability to show 'Encryption Settings' such as ' TLSv1.2' and Cipher Suites on its own panel. * Added the ability to show 'MIME Types' such as ' application/javascript' on its own panel. * Changed Debian build to use mmdb instead of libgeoip (legacy). * Ensure the HTML report defaults to widescreen if viewport is larger than '2560'. * Fixed inability to properly process multiple logs in real-time. * Fixed issue where named PIPEs were not properly seed upon generating filename. * Fixed issue where served time metrics were not shown when data was piped. * Removed unnecessary padding from SVG charts. Improves readability on mobile.
Michael Vetter2020-11-16 07:34:06 +00:00
b84da42b0f
* Added addtional browsers and bots to the main list. * Added 'Android 11' to the list of OSs. * Added 'macOS 11.0 Big Sur' to the list of OSs. * Added 'average' to each panel overall metrics. * Added '.dmg', '.xz', and '.zst' to the static list. * Added extra check to ensure restoring from disk verifies the content of the * against previous runs. * Added Russian translation (i18n). * Added Ukrainian translation (i18n). * Added support for HTTP status code '308'. * Added the ability for 'get_home ()' to return NULL on error, instead of * the process. Great if using through systemd. * Added the ability to read lowercase predefined log formats. For instance, * log-format=COMBINED' or '--log-format=combined'. * Changed how FIFOs are created and avoid using predictable filenames under tmp'. * Changed '--ignore-referer' to use whole referrer instead of referring site. * Ensure Cache Status can be parsed without sensitivity to case. * Ensure restored data enforces '--keep-last' if used by truncating accordingly * Fixed a few memory leaks when restoring from disk. * Fixed blank time distribution panel when using timestamps. * Fixed build issue due to lack of 'mmap' on 'Win'/'Cygwin'/'MinGW'. * Fixed crash in mouse enabled mode. * Fixed double free on data restore. * Fixed inability to keep processing a log when using '--keep-last'. * Fixed inability to properly parse truncated logs. * Fixed inability to properly count certain requests when restoring from disk * Fixed issue where it would not parse subsequent requests coming from stdin (tail). * Fixed issue where log truncation could prevent accurate number counting. * Fixed issue where parsed date range was not rendered with '--date-spec'.
Michael Vetter2020-11-09 08:07:59 +00:00
9c8786fde7
- Update to 1.4.1: * Added addtional browsers and bots to the main list. * Added 'Android 11' to the list of OSs. * Added 'macOS 11.0 Big Sur' to the list of OSs. * Added 'average' to each panel overall metrics. * Added '.dmg', '.xz', and '.zst' to the static list. * Added extra check to ensure restoring from disk verifies the content of the * against previous runs. * Added Russian translation (i18n). * Added Ukrainian translation (i18n). * Added support for HTTP status code '308'. * Added the ability for 'get_home ()' to return NULL on error, instead of * the process. Great if using through systemd. * Added the ability to read lowercase predefined log formats. For instance, * log-format=COMBINED' or '--log-format=combined'. * Changed how FIFOs are created and avoid using predictable filenames under tmp'. * Changed '--ignore-referer' to use whole referrer instead of referring site. * Ensure Cache Status can be parsed without sensitivity to case. * Ensure restored data enforces '--keep-last' if used by truncating accordingly * Fixed a few memory leaks when restoring from disk. * Fixed blank time distribution panel when using timestamps. * Fixed build issue due to lack of 'mmap' on 'Win'/'Cygwin'/'MinGW'. * Fixed crash in mouse enabled mode. * Fixed double free on data restore. * Fixed inability to keep processing a log when using '--keep-last'. * Fixed inability to properly parse truncated logs. * Fixed inability to properly count certain requests when restoring from disk * Fixed issue where it would not parse subsequent requests coming from stdin (tail). * Fixed issue where log truncation could prevent accurate number counting.
Michael Vetter2020-11-09 08:07:34 +00:00
4470f0a272
- Update to 1.4: * Added a caching storage mechanism to improve parsing raw data and data rendering. * Added a mechanism to avoid counting duplicate data when restoring persisted data from disk. * Added additional option to the HTML report to set a maximum number of items per page to 3. * Added a list of podcast-related user agents under '%sysconfdir%'. * Added 'Android 10' to the list of Android codenames. * Added a 'widescreen' layout to the HTML report (e.g., 4K TV/KPI Dashboard). * Added 'Beaker', 'Brave', and 'Firefox Focus' to the list of browsers * Added command line option --user-name=username to avoid running GoAccess as root when outputting a real-time report. * Added 'DuckDuckGo' and 'MSNBot' browsers to the browsers.list. * Added 'facebookexternalhit' to the default crawler list. * Added German translation (DE). * Added Kubernetes Nginx Ingress Log Format to the default config file. * Added 'macOS Catalina' to the list of OSX codenames. * Added minor CSS updates to HTML report. * Added missing header '<sys/socket.h>' to fix FreeBSD build * Added new 'Edg' token to the list of browsers. * Added '--no-ip-validation' command line to disable client IP validation * Added '--persist' and '--restore' options to persist to disk and restore a dump from disk. * Added Portuguese translation (pt-BR) * Added Swedish translation (SV) * Added the ability to parse server cache status and a new panel to display those metrics. * Changed accumulated time to work by default on '--persist' and '--restore'. * Changed back how the hits and visitors percentage is calculated to be more
Michael Vetter2020-05-18 06:23:06 +00:00
20a9c0a0d3
- Update to 1.3 * 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 more OSs 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 formatters * Added translations * 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 "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 SSL support for Docker goaccess build. * Added support to the WebSocket server for openssl-1.1*.
Michael Vetter2018-11-23 12:08:08 +00:00