[feature] Ability to ignore part of a line.
Version and OS
Using a paid subscription to changedetection.io, version 0.49.12
Is your feature request related to a problem? Please describe.
When I want to ignore only part of a line (such as a version number or a changing token), the current options only allow me to ignore the entire HTML element or the entire line. This removes too much information from monitoring and causes missed detections.
Describe the solution you'd like
I want a new field where I can enter a Regular Expression (Regex) to ignore specific text within a line.
Any text matched by the Regex should be removed before the line is processed to create its checksum.
The rest of the line should still be included in the checksum.
This would allow me to ignore small parts of a line while still detecting meaningful changes.
Describe the use-case and give concrete real-world examples
Example 1: WordPress plugins/themes reporting version numbers
These version numbers change often but are not important to monitor.
<script id="custom-script-js" src="https://www.simplyvoting.com/wp-content/themes/my-little-big-theme-child/js/script.js?ver=6.7.2"></script>
Desired behavior: Ignore the ver=6.7.2 part of the line, but still monitor the rest of the line for changes.
Another example:
<meta content="WordPress 6.7.1" name="generator"/>
Desired behavior: Ignore the 6.7.1 version number, but still monitor the rest of the line.
Example 2: JSON generated by WordPress themes/plugins Some fields change often (such as nonces or hashes) and are not important. This is ONE line:
var gform_theme_config = {"common":{"form":{"honeypot":{"version_hash":"996f811c8cdbee084abeca185ea82753"},"ajax":{"ajaxurl":"https:\/\/www.simplevote.ca\/wp-admin\/admin-ajax.php","ajax_submission_nonce":"8a89e79572","i18n":{"step_announcement":"Step %1$s of %2$s, %3$s","unknown_error":"There was an unknown error processing your request. Please try again."}}}},"hmr_dev":"","public_path":"https:\/\/www.simplevote.ca\/wp-content\/plugins\/gravityforms\/assets\/js\/dist\/","config_nonce":"7d08e48aff"};
Desired behavior: Ignore the "ajax_submission_nonce" and "config_nonce" values, but still monitor the rest of the line for changes.
Additional context The examples above are to demonstrate the idea. They are not meant to be used literally or copied exactly. The above examples are real examples from website www.simplyvoting.com. However, they are only examples. The logic I am describing should apply to any line and any content that matches a specified pattern, not just to these specific examples.
Thank you!
to clarify, at the moment it will ignore any line where any sub-part of the line matches
to clarify, at the moment it will ignore any line where any sub-part of the line matches
I understand this, yes. I want it to NOT ignore the entire line, but only the sub-part of the line that matches.