_uid_ is the default for changes mode
logSPRF incr or full can log the changes from initial creation or just create new
a marker file is placed in /dev/shm and if there its still the same session. rsync dryrun is used to check what files need to be copied to the next .xzm.
for the python version it will take me about a month to fully transfer everything over as im targeting this to work with linux windows
with the introduction of .toml files an icon will be in the start menu to open the config directory to change settings
a setting desktopicon will put an icon on the desktop ect
for nemesis a setting create startmenu will insert an icon so it doesnt conflict with the module active/deactivate.
Work sites
add rules for preferred or targeted directories to hash or watch by checking at shorter interval
The index will be refreshed twice per day or desired setting with a button to refresh if the system is changed.
All new files are captured and encrypted in a .gpg file with Go subprocess. This is when the app isnt running. And turns off after one hour.
If the gui is open the db is already decrypted and can be directly inserted.
When opening the gui a check for one or more of the new .gpg files is made.
If a directory in the index is empty an entry empty is made that way you can tell if files have been inserted.
If a file cant be accessed due to permissions an entry known inserted so this can be shown as mapped there is a file here.
What is in the index table:
// Index (from base modules 000-003)
//
// linux -executable
// bin etc sbin usr opt/porteus-scripts
//
// /lib /lib64 /usr/lib /usr/lib64 var/lib *.so*
//
// all of /etc /home /root
//
// may add more .config files ect
// windows - executable
// .exe .msi .bat .dll .vbs .js .jse .ps1 .reg .lnk
//
// .vhd .vmdk
//
//
// .ini conf .cfg .sqlite .db
for windows NTFS drives have an MFT table which can be used and is much faster than doing a directory tree walk
This will require the use of C# and or a library to parse it if there is one available
I currently have Go concurrency walking from a 5/5 split or 6/5 split from front to back. So if I can use the MFT it would be much faster
I will put both methods in then if one breaks or doesnt work there is a fall back. The speed shouldnt be an issue anyway but would be nice to do it the fastest method.
The use would be open it when diagnosing what a new installed application does. An output of files created can be made from an install.
Also a review of a search for new files can tell what files the application uses.
So it works like before but will hash the index to capture event where the same mtime but different checksum. The worksites are hashed more frequently for this.
on porteus this isnt a problem because even if the same mtime its put in the changes folder.
Then there is protection with every new search to hash all modified files.
A search for a filename can be made from the logs table because of the fsnotify inserting new files and or the MFT on windows. if it is not found it can then make the search like normal.
So if it only scans for created files it wont get overloaded by events. Also exclude from a slice of known directories such as mozilla/.mozilla/.cache
This will alleviate the problem of apps trying to do too much. If you want to see registry changes ect use a combination of apps ect.
Summary of methods:
1. Same as before but using arrays with multiprocessing ha. Like the system table the index is checked and feedback if something is changed.
2. New qt gui for diagnosing questionable apps and setting rules for index and worksites. The app can be left in the tray to keep the Go process running or closed and will run for one hour.
index is updated twice per day / by button
the worksites are hashed at interval / by button
this will capture same mtime
For porteus there will be
save-changesnew
save-changesnew python tk same as above but with arrays
save-changesnew python qt has index and worksites. searches can be made by command line or button for searches ( inverse? )
windows
save-changesnew python qt

I will release the array version in a couple weeks and then the qt version would be for windows and or diagnosing in porteus. The size would be a lot larger because of the qt packages ect. So the array version would be preferable for linux for the simplicity. A custom picture can be loaded or use default
















































