Commit graph

19 commits

Author SHA1 Message Date
Justin Grimes
7884723b32
v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:23:27 -04:00
Justin Grimes
b3f463deaa
Delete Resources/ScanCore/scanCore.php 2024-04-02 00:22:26 -04:00
Justin Grimes
41448752e1
v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:22:08 -04:00
Justin Grimes
14eff33ee6
Delete Resources/ScanCore/ScanCore_Virus.def 2024-04-02 00:21:46 -04:00
Justin Grimes
97cf25e8be
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-02 00:21:29 -04:00
Justin Grimes
2647bd676f
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-01 00:33:48 -04:00
Justin Grimes
bd4359cf12
ScanCore to v1.5 - Finish Application Update logic. Now the app is fully self-updating.
-v1.5.
-Add additional text to index files.
  -"This is a command line application! Please open a terminal, navigate to this directory, and submit commands to ScanCore.php!"
-Fix potential infinite loop bug in chunking.
-Improve optimization by reducing the amount of exposed logic, especially in scanning logic.
-Fix indentation of code blocks.
2024-04-01 00:32:54 -04:00
Justin Grimes
65655e58ff
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:11:26 -04:00
Justin Grimes
e4004cc050
Create index.html 2024-03-29 01:11:09 -04:00
Justin Grimes
64ef89f48b
v3.3.5 - Rar on RPI fix, FFMPEG build process changes.
-v3.3.5.
-Continue ScanCore refactor.
  -v1.1.
    -Added support for -ud argument, which will Update Definitions!
    -This gets defs by default from the ScanCore_Definitions repository.
    -Defs are now broken into subscriptions.
    -Subscriptions include Virus, Malare, & PUP.
    -Each client will download only the subscriptions that are specified in config.php.
    -The client will then compile its subscribed definitions into a "combined" definitions file locally.
    -This will give users the ability to control which definitions they install, controlling what ScanCore will detect.
    -Because ScanCore is portable, that means you can set different scanners to do different things.
    -Need to work on a way to automate definition updates. Every scan, daily, weekly, bi-weekly, or monthly.
  -v1.2.
    -Add 'raw' and 'git' update methods. So if you can't get git (hehe) then you can still perform updates.
    -Use globals $EOL, $SEP for PHP_EOL and DIRECTORY_SEPARATOR, as intended.
    -Add -version argument for displaying useful info.
      -Info like the source for def & app updates, the original repo, subscribed defs, version, last update, ect...
    -Added a plug to the LICENSE INFORMATION section of the header text.
      -// / BSD or MIT licensing is available. Reach out to @zelon88 for more information.
      -Support your favorite developer by buying a trophy license for your favorite open-source software.
    -Imrove comments / formatting in ScanCore_Config.php. Add default values, labels, better descriptions for everything.
    -Add -help, -h and -version, -ver arguments for showing version & help, respectively.
    -Add -configfile, -cf argument for selecting which configuration file to use.
      -Now one scanner can rule them all!
      -Instead of installing multiple scanners to scan different subscriptions, just have different config files.
    -Revise output. Make more consistent, easier to read.
    -Remove unused $LogFile and $LogDir references from core.
    -Remove unused $LogFile and $LogDir references from config.
    -ReportsDir is now the only location for logs. Logs & reports are officially the same thing.
    -The -logfile & -lf arguments are now undocumented aliases of the -reportfile and -rf arguments.
    -I plan on removing -logfile & -lf arguments in the future.
    -What will probably happen is I'll forget I said that and wind up re-documenting these undocumented aliases in the future.
  -v1.3 - Add -defsfile, -df argument. Reorder logic & functions. Clean up output. Improve help, version output.
    -Add -defsfile & -df argument for specifying a definition file by command line. 
    -Now ScanCore is completely modular. It can be run against any defs file and any config file, so automating tasks is easy & granular.
    -Add config file last modified, which core file, and which defs file to version output.
    -Add new commands to help output.
    -Will update the docs with proper error descriptions and instructions once the error numbers stop chaning.
-Thanks to @bit-man for submitting a fix for rar file support on RPI & non x86-64 platforms.
-Evaluate how we're using ffmpeg, per issue #59, but also effects issue #29.
  -Remove M4P support.
  -Omg there's even a typo... file format oog should be ogg.
  -Change ffmpeg build process to build from scratch.
  -Inprove capability & file support. Considerably.
  -Increase duration and difficulty of install process. Considerably.
  -Start by reverse engineering https://raw.githubusercontent.com/markus-perl/ffmpeg-build-script/master/web-install-gpl-and-non-free.sh.
  -Build process complete as of 3/25/2024. 
    -Now we need to incorporate the new ffmpeg functionality into core.
    -Then we can update the build / install process & documentation.
-Add the selected GUI, Language, and Color to error or verbose success messages to enhance debugging potential.
-Update ERROR_DESCRIPTIONS.txt with the new information.
-This version is just the start of an overhaul to media file processing.
-Add some temporary files to DOCS for helping me track my ffmpeg overhaul progress.
2024-03-29 01:10:17 -04:00
Justin Grimes
80c8492a73
v3.3.4 - ScanCore refactor. Update code structure, improve config.php, rename variables.
-v3.3.4.
-Added missing loop in sanitizeStrings() function.
-Refactoring ScanCore to bring it up to the same level of code quality as the rest of the project.
  -ScanCore to v1.0, Do away with defs versioning.
  -Definitions can be versioned by date.
-Remove false positive for jquery 3.6 minified from defs.
  -Pretty sure this is the 20th anniversary for the original PHP-AV codebase, which there is very litte left.
-Improve config.php by adding more variables to it.
  -MemoryLimit, ChunkSize, Debug, Verbose.
-Make the file headers more consistent.
-Once the quality is up to par we will focus on adding features and capability.
  -Specifically an auto-updater would be nice.
  -Then maybe some automation tools for scraping IOCs and formatting them into the definitions file.
-Recursion is now disabled by default.
  -This affects behaviour of scripts that use ScanCore because now you HAVE to specify if you want recursion or scans will fail.
2024-03-23 01:10:50 -04:00
Justin Grimes
58ef27f719
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:40:46 -05:00
Justin Grimes
1db4432953
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:40:25 -05:00
Justin Grimes
af182f4766
v3.3.1 - Reorganize folders, create docker file, consolidate UI.
-v3.3.1.
-Move a bunch of files.
  -Move versionInfo.php and config.php into the Resources folder.
  -Create build folder.
  -Move rc.local, rc.local.service, and a php.ini sample file in there that will be used for Docker installs.
  -Move all resources into the UI\Default folder.
  -Relieve the core of the logic of defining CSS, JS, and images for the UI pack. That's not very modular.
  -Now the UI pack defines these in header.php.
  -Resources folder is not a required part of a UI pack. So the core won't check for it, 
  -Although the core does define a relative path where the Resources folder, and JS, CSS, Images subfolders should go as a convinience.
  -It is not required by the core to have these folders, or to organize your theme into them.
  -Remove LICENSE file from the root of the repository, as this is also in the Documentation folder. 
-Add a return value to cleanFiles() because I need one for the changes to verifyInstallation().
  -Use the return value to make the variables $CleanedConvertLoc and $CleanedTempLoc meaningful by passing the return value to them.
-verifyInstallation() now checks config.php for $DeleteBuildEnvironment, and if true will delete the /Build folder.
  -This is enabled by default to prevent attackers from using this to enumerate configuration information about the server or application.
-Improve documentation, formatting of styleCore.php for consistency/readability.
-Continue the long, ardous task of converting all the double quotes in convertGui2.php to single quotes.
  -This will take a while, but I have done enough to be able to find/replace what I need.
-Remove Error 2-1 from ERROR_DESCRIPTIONS.txt because it is no longer generated by the application.
-Move supported formats to config.php so server administrators can control their own fate, if they dare.
  -Default values are also listed in config.php if needed.
-Add support to remove the build environment & "development docs" that give away version info like readme.md & changelog.txt.
-Changed default color scheme from grey to blue because grey is especially gross looking to me right now.
-Fix bug where font defined in config.php was not propagating to styleCore.php.
-Fix bug with user virus scans when using ClamAV to scan an individual file for viruses. 
  -The scan would complete, but it would utilize both ScanCore and ClamAV when all the user asked for was ClamAV.
-Move default installation location to /DATA/HRConvert2 to make it consistent for Docker implementation.
-Start working on official Docker version.
-Minor update to installation instructions, consistency, consolidate steps.
-Added icon files to the Resources directory to be used in a future update.
2024-03-07 00:39:01 -05:00
Justin Grimes
ce7611e0dd
v3.1.1 - Improve image support. $AllowStreams config entry, bump JQuery, add some icons.
-v3.1.1.
-Add code to prevent stream related UI elements from displaying when the $AllowStreams config entry is set to FALSE.
-Update JQuery from v3.6.0.min to v3.6.3.min.
-Checked for Dropzone.js updates, already at latest version.
-Minor comment changes in config.php.
-Translate index files of language packs into the language of the pack.
-Add comments section containing file & application information to GUI-related files.
-Clean up array declarations, improve readibility, scalability, debugging.
-Vastly improve image support for both input and output operations.
-Added support for Heic files.
-Added support for several misc image files.
-Bumped format support count to 79 file formats.
-Adjust icons for media, videos to be unique from streams.
-Add mkisofs as a dependency, fix iso creation.
-Revise verbiage of UI elements.
2023-01-11 01:37:29 -05:00
Justin Grimes
b56d8aeaf1
v3.1 - ScanCore to v0.9, PHP-AV v4.1.
-v3.1.
-ScanCore to v0.9, PHP-AV v4.1.
-Correct logging location, remove erroneous log directory created alongside ScanCore.
-Improve argument handling.
-Add $AllowStreams config entry to selectivly disable stream formats.
2023-01-04 23:51:19 -05:00
Justin Grimes
6cf1207d54 v2.9 - Continue adding latest core features to language packs.
-Added newest features to more language packs.
  -Arabic has the latest features.
  -Bengali has the latest features.
  -German has the latest features.
  -English has the latest features.
  -Spanish has the latest features.
  -French has the latest features.
-Still need to add latest features to...
  -Hindi,
  -Italian,
  -Korean,
  -Portuguese,
  -Russian,
  -Ukranian,
  -& Chinese.
-Adjusted ScanCore-config.php so that the Reports directory is the Logs directory.
  -It was creating empty directories that can be abused to view the servers document root depending on server config.
-If your HRConvert2 installation directory contains a subdirectory called "Reports"; it should be manually deleted.
-Added missing Presentation conversion buttons.
2022-04-24 02:06:34 -04:00
Justin Grimes
dbada5c367 v2.8.8 - Discovered bugs in ScanCore routine, improve User Virus Scanning.
-v2.8.8.
-Fixed the way User ScanCore Scans are called.
-Reworked the way Scan Errors & Scan Complete is determined.
-Revised logic to avoid errors during normal operation.
-Both User Scan Methods successfully detected the Eicar test virus sample.
2022-04-21 02:35:55 -04:00
Justin Grimes
298ce088ff v2.8.7 - Added User Virus Scanning support, download button, loading spinner options & more.
-v2.8.4.
-Fixed an undefined variable warning in the virusScan() function.
-Cleaned up memory deallocation routine in the virusScan() function.
-Only enable file related operations if valid tokens have been supplied.
-Improved sanitization integrity.
-Combined the functionality of HRScan2 into HRConvert2.
  -Now users can select to scan uploaded files for viruses on-demand using ClamAV or zelon88/ScanCore.
  -The codebases for both are "sisters" so maintainence has always been a pain.
  -Whenever one gets updated a lot of the code needed to be modified and merged into the other one.
  -Considering the major refactor that just took place with HRConvert2 (which took almmost 38 caffene fueled hours) I figure we would merge functionality instead of refactoring another core.
  -These features can be disabled via config.php.
  -Some administrators won't want users uploading potentially malicious files, which makes sense.
  -If $UserVirusScanning is enabled in config.php the HRScan2 features will be savailable.
  -If $UserVirusScanning is not enabled in config.php the HRScan2 features will be unavailable.
  -This behaviour change requires some changes to the way regular virus scanning is performed.
  -If $UserVirusScanning is enabled we must disable regular virus scanning during the file upload phase.
  -Note that all other regular virus scan operations are still enforced.
  -Meaning that if a user uploads a file that is infected, they will still NOT be allowed to perform download, conversion, archive, or OCR operations on them.
  -They WILL be allowed to scan the file using User Virus Scan options.
  -Also if a normal virus scan detects a malicious file while $AllowUserVirusScan is enabled, the file WILL NOT be immediately deleted.
  -It will be allowed to remain until regular cleanup activities remove it (after the $DeleteThreshold has passed).
-Added color specific down arrow buttons to the GUI.
-Added Download File button to convertGui2.php page.
  -Now you can redownload any file in the HRConvert2 scratch space.
-Added Scan File & Scan All buttons to convertGui2.php page.
-Added config entry for adjusting the backround color of the GUI.
-Added config entry for adjusting the loading spinner style.
-Added 6 spinners for each color scheme (24 spinners total).
-Can now specify your own spinner in config.php.
-Refactored convertGui2.php file for English & Arabic so far.
  -Need to continue doing the rest.
  -Only English & Arabic language packs have support for the new API features related to User Virus Scans.
-Updated ERROR_DESCIPTIONS.txt with the latest errors related to virus scanning.
-Fixed dropdown boxes showing reversed in Arabic language pack.
-Made dropdown arrow colors match the color scheme being used.
2022-04-21 00:42:02 -04:00