Webnotify project is a console program that is able to check for specific Web site changes, and run a user-selectable program when some site change is detected.
This could be easily done with a bash script and a collection of programs, but if you would like to manage a list of Web sites or add support for pre/post actions, page filtering before checks, etc., it could be harder to maintain.
The idea behind webnotify is to gather all the extra programs and the bash script in one piece.
Here are some key features of "Webnotify":
· Secure HTTP, trough OpenSSL lib;
· Content filtering;
· Database of websites for checking, managed trought webnotify command line arguments;
· Supports Last-Modified header or CRC32 page change checks;
· Supports regular expression matching in page filtering (so you can search for "(sid=[A-Z0-9])" which will be replaced with 'X' before the check algorithm is applied).
· PrePost, eg. if you need to login before you can access the page you want to monitor for changes.
Usage of webnotify is quite simple, to add a web site simply do:
$ ./webnotify --interactive -a teste1
Using --interactive will make webnotify prompt the URL, Execution command, a regular expression filter (if any) and how to check. If you dont use --interactive command line argument, you'd have to specify the url trought the command --url (eg. --url=http://www.google.com).
EXEC: your_script_or_program some_arguments
FILTER (if none, type return):
How to check? (c=Crc32, l=Last-Modified): c
At this moment the site wans't checked yet, so no checksum is set as we can see with the command (-l, or --list):
$ ./webnotify -l
Name: teste1 [Active]
Exec: your_script_or_program some_arguments
Check type: CRC32
Also notice that the website has a flag, [Active], you can toggle this flag using the command toggle (-t or --toggle).
To make webnotify check for teste1 website, we call it with the command checkup (-c or --checkup):
$ ./webnotify -c teste1
Warning: First time checkup on teste1 website, will not execute its command.
As you can see, since the site was not checked before, it will not execute the trigger command. Giving a name of web site after -c argument will make webnotify check only that web site, if you dont give any web site name, it will check all the web sites in the list that have active flag.
What's New in This Release:
· Fixed nasty bug that made SEGFAULT.