wwdcc is a service for monitoring the Apple WWDC site for changes.
When a change is detected, or when the site stops responding, wwdcc
sends one or more notifications to specified email addresses and/or
phone numbers via SMS.
Note that wwdcc is extremely stupid: it simply scrapes the HTML
served by the WWDC site and looks for a "canary" string. If that
canary string isn't found, or if it isn't surrounded by the expected
tags, wwdcc will send its change notifications. As of the current
version, the canary string that wwdcc looks for is "WWDC 2012. June
11-15 in San Francisco. It's the week we've all been waiting for."
Unless it is terminated, either by the user or due to a bug or some
kind of system problem, wwdcc will run until it detects a change, at
which point it will exit after sending its change notifications.
wwdcc supports two types of notification.
If your system has a working sendmail configuration, wwdcc can
send SMTP email to a destination address. If you tell wwdcc to send
email notifications, it will attempt to send an activation
notification when it starts. Often, if your system's sendmail is not
configured properly, this will trigger an exception, and wwdcc will
quit with an error message. However, some sendmail configurations
may accept the email but not deliver it properly. Debugging sendmail
configurations is outside the scope of this document, but Google is
your friend.
You will probably want to train your spam catcher to accept emails
from wwdcc. You can do this either by whitelisting the From:
address that you specify to wwdcc, or by marking the activation
email sent by wwdcc when it starts as "ham."
In any case, if you start wwdcc with email notifications, and you
don't see an activation email from it, check your spam folder.
If you have a Twilio developer account, wwdcc can use your Twilio
developer credentials to send SMS notifications. Just put your Twilio
account SID and auth token in your ~/.wwdcc config file, like so:
twilio {
accountSid = "Your Twilio Account SID here"
authToken = "The corresponding Twilio auth token here"
}
Then use the --sms from_number,to_number option, where from_number
is a valid Twilio phone number for your account. As with email
notifications, wwdcc will attempt to send an activation SMS
at start-up, and will exit immediately if it fails. If you've
configured wwdcc properly and you have sufficient credits, you
should receive an activation SMS at to_number just a few seconds
after you launch it.
Note that if you don't have a paid Twilio account, you can only send
SMSes to the phone number you have on file with them; if you want to
send SMSes to other numbers, you'll need a paid account. Also, free
Twilio accounts have limits on the number of SMSes that can be sent.
It's probably best to use wwdcc with a paid Twilio account; it has
not been tested extensively with the free service.
wwdcc sends notifications in the following cases:
-
When a change is detected,
wwdccwill send a series of notifications (3, by default), with a delay between each (30s, by default). Once the last notification has been sent, it will exit. -
When the site is down,
wwdccwill send a single notification indicating that the site is down if it does not respond towwdccs HTTP requests twice in a row. (By default, this notification is sent after 60s of downtime.) Note thatwwdccwill not continue to send notifications while the site is down, nor will it send a notification when it recovers, unlesswwdccdetects that the site has changed when it comes back up. -
When started,
wwdccwill send a single notification indicating that it has started monitoring the site. If you don't receive this notification, make surewwdccis still running and examine its logs for hints of what might have gone wrong. (The--verboseflag may be useful.) -
When terminated: if
wwdccis terminated, either by the user or due to some kind of unexpected error,wwdccwill attempt to send a single notification indicating that it's been terminated. It does so primarily to ensure that you're aware that it's no longer monitoring the site. The termination notification generally does not indicate what went wrong, but the log file should. -
In response to a USR1 signal: if you send
wwdccthe USR1 signal (e.g., viakill -USR1 <pid>),wwdccwill send an "I'm-still-alive" notification. This feature is useful if you have OCD.
Note that only when a change is detected, or when it is terminated,
will wwdcc quit after sending a notification. In all other cases, it
will continue to monitor the site.
% wwdcc --help wwdcc - a WWDC checker Usage: wwdcc [-v|--verbose] [-c|--config PATH] [-s|--syslog] [--daemon] [-u|--url URL] [-p|--period DELAY] [-n|--notifications NUM] [-w|--wait DELAY] [-s|--sms FROM_NUMBER,TO_NUMBER] [-e|--email FROM_EMAIL,TO_EMAIL] Send a notification(s) when WWDC site changes or stops responding. Available options: -h,--help Show this help text -v,--verbose Verbose logging -c,--config PATH Path to config file (default: "$(HOME)/.wwdcc") -s,--syslog Log to syslog (default: log to stderr) --daemon Run as a daemon (implies --syslog) -u,--url URL Override WWDC URL (default: "https://developer.apple.com/wwdc/") -p,--period DELAY Time between pings, in seconds (default: 30) -n,--notifications NUM Number of notifications to send when a change is detected (default: 3) -w,--wait DELAY Time between notifications, in seconds (default: 30) -s,--sms FROM_NUMBER,TO_NUMBER Send SMS notifications from/to phone number, comma-delimited (default: don't send SMS notifications). -e,--email FROM_EMAIL,TO_EMAIL Send email notifications from/to address, comma-delimited (default: don't send email notifications).
wwdcc is published under the BSD
3-Clause license.
For comments or questions, please contact us.