karlh001 / defiant-fg Goto Github PK
View Code? Open in Web Editor NEWDEFIANT-FG is a file monitoring tool to discover bit rot or file deletions
Home Page: https://karlhunter.co.uk/defiant
License: MIT License
DEFIANT-FG is a file monitoring tool to discover bit rot or file deletions
Home Page: https://karlhunter.co.uk/defiant
License: MIT License
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.
I have attempted to build on Windows but cannot query the database due to the SQLite drivers I am using.
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.
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.
Ability to show duplicate files as a flag option.
dfg -same
To achieve this, identically hashes with the file name will be shown.
To me more user friendly need to create a graphical interface.
Need to allow users more control. Additional flags considered
Skip missing file checks
Skip new files
Skip hash checks
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.
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.
Added flag -e to only print errors such as failed hashes or missing files
Allow user to define custom log location, using flag -log
Progress indicator
Need to build with latest SQLite package version
Implement a logging system
Build on later Linux.
1.0.1 onward to be build with last LTS of Ubuntu
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
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.
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.
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.
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.
Ability for users to specify own block size for the hash function
Current build in help (-help) shows basic usage.
Padded with more information and improved layout.
Hope to merge into version 1.2.2
Added colorful log lines for easier review.
Add flag -db with path to user-defined database location.
Useful for read-only systems.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.