Configuration

Command Line Options

Version: 1.0.0-BETA-3

  -a, --archivist string      The name of the person responsible for the scan.
  -D, --debug                 Enable debug mode. This creates the diagnostic file debug_ftrove.
  -d, --dublincore string     Add DublinCore metadata as a JSON file for a session (not single files).
  -e, --exifdata              Get some EXIF metadata from image files.
  -t, --export-tsv string     Export a session from the database to a TSV file. Provide the session uuid.
  -i, --indir string          Input directory to work on.
      --install string        Install FileTrove into the given, existing directory.
  -L, --list-session string   List information about a single session.
  -l, --list-sessions         List session information for all scans. Useful for exports.
  -p, --project string        A name for the project or scan session.
  -r, --resume string         Resume an aborted session. Provide the session uuid.
  -z, --timezone string       Set the time zone to a region in which the timestamps of files are to be translated.
  -V, --verbose               Print messages also to the terminal (stdout).
  -v, --version               Show version and build.
  -y, --yararules string      Provide a YARA rule file and scan all files for matches.

More detailed configuration

-a : You can pass a name of the person that is responsible for the scan. It will be stored in the database and is in the export TSV file.

-D : This flag enables a useful debug mode. It creates a debug file, performance is not important when running with this flag set.

-d : This flag expects a simple json file that holds 15 core elements as keys and your values. An example can be found here: https://github.com/steffenfritz/FileTrove/blob/main/testdata/dublincore_ex.json

-e : This flag extracts 12 EXIF values at the moment. This is still subject to change. You can see extracted values here: https://github.com/steffenfritz/FileTrove/blob/main/exif.go (source code)

-i : The input flag expects a directory and walks it down recursively. Single files are not supported.

–install : You have to pass an existing directory where ftrove can install and download needed files. The flag creates a log and db directory. Into db/, FileTrove downloads the siegfried and NSRL database, where the NSRL database is approx 3.5 GB and holds over 65.500.000 hash sums. The siegfried file is just a few kilobytes. FileTrove also creates its own database which is without data also just a few kilobytes. With each run it grows and you have to monitor its size. However, for 100.000 files it is expected that it is just a few megabytes.

-L : Using the capital L flag, you can list information on a single session.

-l : This lists all sessions. You need the UUID to export a session.

-p : You can pass a name of a project that is connected to the session. It will be stored in the database and is in the export TSV file.

-r : You can resume a session when it was cancelled on purpose or if a run crashed. Get the session UUID with the -l flag and pass it to the -r flag.

-t : The export flag writes all information of a session to TSV files. It detects if the session was run with the EXIF or Dublin Core flag and just creates the relevant export files.

-V : Using this flag you see all output on your screen, not just in the log file.

-v : This prints the version and build. This is important when creating a bug report.

-y : This powerful flag takes a YARA rule file as input. When a file hits a rule, the result is written to the database.

-z : Set the time zone to a region in which the timestamps of files are to be translated. If this flag is not set, the local time zone is used. Example: Europe/Berlin