Restructure repository: organize tools by purpose, create what search tool
- Move single-file tools to tools/ organized by category (security, forensics, data, etc.) - Move multi-file projects to projects/ (go-tools, puzzlebox, timesketch, rust-tools) - Move system scripts to scripts/ (proxy, display, setup, windows) - Organize config files in config/ (shell, visidata, applications) - Move experimental tools to archive/experimental - Create 'what' fuzzy search tool with progressive enhancement (ollama->fzf->grep) - Add initial metadata database for intelligent tool discovery - Preserve git history using 'git mv' commands
This commit is contained in:
19
tools/hashing/tarsum.py
Executable file
19
tools/hashing/tarsum.py
Executable file
@@ -0,0 +1,19 @@
|
||||
#!/usr/bin/python3 -u
|
||||
import tarfile
|
||||
import hashlib
|
||||
import argparse
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('infile', type=argparse.FileType('rb'))
|
||||
parser.add_argument('-c','--hashtype', default="md5" , choices=hashlib.algorithms_available )
|
||||
args = parser.parse_args()
|
||||
|
||||
tf=tarfile.open(fileobj=args.infile)
|
||||
|
||||
for file in tf:
|
||||
if file.isfile():
|
||||
h=hashlib.new(args.hashtype)
|
||||
extracted_file=tf.extractfile(file)
|
||||
for chunk in iter(lambda: extracted_file.read(h.block_size),b''):
|
||||
h.update(chunk)
|
||||
print("{1} {0}".format(file.name,h.hexdigest()))
|
||||
Reference in New Issue
Block a user