Giter Site home page Giter Site logo

karlh001 / defiant-fg Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 167.43 MB

DEFIANT-FG is a file monitoring tool to discover bit rot or file deletions

Home Page: https://karlhunter.co.uk/defiant

License: MIT License

Go 100.00%
archive defiant file guard guardian hash monitor pictures protect

defiant-fg's People

Contributors

karlh001 avatar

Stargazers

 avatar

Watchers

 avatar

defiant-fg's Issues

Output newly added files to log

If in log mode -l and the -e has not been specified, output new files to the log file.

Currently not done due to overrunning terminal. In log mode would be useful to have this output.

Windows SQL driver

I have attempted to build on Windows but cannot query the database due to the SQLite drivers I am using.

Skip missing files scan

Add new flag to skip a file scan.

Useful when downloading a single directory and want to test it's intact without being flooded with many missing files error.

Multi platform builds

I have been working on an automated build process using GoReleaser, which means I can build to many platforms.

From version 1.3.1 this process will be implemented.

Duplicate file finder

Ability to show duplicate files as a flag option.

dfg -same

To achieve this, identically hashes with the file name will be shown.

GUI

To me more user friendly need to create a graphical interface.

Additional flags

Need to allow users more control. Additional flags considered

Skip missing file checks
Skip new files
Skip hash checks

Compile error SQLite

Version 1.3.1 complied incorrectly. DFG not able to use any database function.

Error during scan.

Error when deleting entries.

Also need to removed Windows binary as not supported.

Disable entries in db

To allow users to easily disable entries (where files may have changed name or removed) will add a command to achieve this.

Something like:

dfg -db /path/to/db.sql -del

Then prompted for ID

1234

Done.

Only show errors

Added flag -e to only print errors such as failed hashes or missing files

Progress indicator

Progress indicator

  • Show file as hashing
  • Show current file insertion into db
  • Show progress missing file scan

logging

Implement a logging system

Slow SQL writes

Many thousand of files can take hours to write to database. Hashing process faster than the writes.

Currently

FG scans first and stores hashes into a map.

At the end writes map into SQL

Internal help

Added in 1.2.2. (not yet released) help output. Previous versions have this feature through the Go help flag, but not accurate with the D flag.

DFG database compression

Considering compression feature
This will reduce size of db file

Current file size 6.0 MB to 1.9 MB
BZ2 feels to be fastest with best encryption.

Recent scan list

Create a recent list of scanned directories. User should then be able to do something like

dfg -recent

Then from the list choose number to run scan.

History list JSON format is user home dir.

Backup database

Need a function to backup database after scan completion.

Proposed directory for backup

~/.defiantfg/backup

Would need a unique name for each folder. Could generate code for the directory followed by time stamp it was created. Will need a tidy function to keep 5 copies.

Block Size

Ability for users to specify own block size for the hash function

Improve built in help

Current build in help (-help) shows basic usage.
Padded with more information and improved layout.
Hope to merge into version 1.2.2

Colour-coded log lines

Added colorful log lines for easier review.

  • Red are hailed hashes
  • Yellow are missing files
  • Blue are new files

Custom db location

Add flag -db with path to user-defined database location.
Useful for read-only systems.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.