v6.0.0
The v6 release features:
- Moves everything (API, clients, resultant containers) to dotnetcore 6.0 (LTS)
- Scripted browsing for executing specific pathways — using Selenium IDE in browser to record specific browser activity, then export those instructions (as nunit or xunit tests) and drop the resulting .cs file in client directory and have it auto-execute
- Give each timeline a specific ID and make it stoppable, reportable
- API timeline updated to timelines - enabling query by machine or machine and timeline to retrieve client timelines
- Provide an API endpoint for querying trackables
- Callbacks for admin functions that aren't real-time (dissemination of timelines, etc.)
- Improved Linux support for Firefox. New Linux support for Google Chrome browsing
- Better link picking for "sticky" browsing
- Client timeline request (client send default timeline back to API) for Linux
- Client timeline request all (Windows and Linux)
- Linux client local survey (albeit limited functionality currently) and API endpoint (/api/surveys) to view
- General cleanup of the domain .dll, which is shared across all GHOSTS binaries: API, windows, and Linux clients
- Crawl mode for browser: Setting the command to
crawl
sets the browser into spider mode, and it will browse all self-contained links to a site in the commandArgs array. Link depth is based on thestickiness
number - but, the higher the number the longer it takes to complete a crawl of each site in the array.
Specific to the Windows client:
- Fixes issue with default timeline locking
- Fixes issue with GHOSTS created files being deleted too early by the safety net
- Adds pdf export for any office doc created
- Closes office document rather than leaving it open
- Adds greater variability to created documents - different text, formatting, etc.
API Installation
- For the API, the latest docker image is here which can be pulled via:
$ docker pull dustinupdyke/ghosts:6.0.2
- Don't forget to update the docker-compose.yml file if applicable.
- It is recommended to start with a new fresh Postgres database instance, so you may want to move the existing volume mapping to the host or create a new one via the docker-compose.yml file
Client Installation
Note — for the Linux client, I had to update geckodriver/chromedriver in order to match my OS and browser version.