menuimage

Description

Conffile

Notes

Options

Dependencies

License

Changelog

Download

My_Other_Sites

My_Programs

Comments

giffgaff-credit-checker v1.6 [30 Mar 2017] by Dominic

Description

Check and show remaining credit or allowances on phone accounts from Giffgaff in UK (http://www.giffgaff.com/), and issue warnings if below pre-set warning levels. Written in bash for use on Linux or (for Windows) Cygwin.

Conffile

Account information (for each phone/sim) should be in a conf file shown by the -c option. If this is unspecified giffgaff-credit-checker.sh will look for giffgaff-credit-checker.conf in the same location as giffgaff-credit-checker.sh. In the conffile, each account should be on a separate line (blank lines and lines beginning with a hash # symbol are ignored), with 2-9 whitespace-delimited fields thus:

username password [ nickname number credit dataMB voice_minutes texts goodybag_expiry(Days) ]

The 3rd and later fields are optional; the 5th and later fields refer to warning levels below which a message will be triggered.

Here is a 2-line conf file example:
smoothtalker MyS3cr3t FredQuimby 07732144865 4
madcaller hard2guess Jim\ Jones 07987\ 654321 0 200 50 40 10

This will result in warning messages to the 'standard error' device if the credit on the first phone is below £4, and for the second phone (which has a goodybag) it will result in a warning if there are, for this month, 50 minutes or less left for normal calls, or 40 texts or less, or 200MB or less - or less than 10 days to expiry of the goodybag.

If you set any warn level to zero then no warnings will be issued against that test.

Notes

- The 'nickname' and 'number' just make the output easier to follow (and option -n if used tests against the nickname); if they contain spaces these must be escaped in the conffile with backslashes. Of course it would be logical (though not required) for the number to be the actual number of the associated sim, the nickname can be anything and is not used by or passed to Giffgaff.
- A returned value of 99999 means 'Unlimited'.
- Errors and warnings are sent to the standard error device whereas normal data is sent to the standard output device - although these are normally one and the same you can direct them to separate locations so that, for instance, warnings are emailed out whereas normal data is appended to a data file.

Options

-c conffile - specify name and location of conffile
-d - debug mode - more verbose, only for testing
-h - show help and exit
-l - show changelog and exit
-n nickname - only run for the specified nickname (which must be listed in conffile)
-q - quiet mode - only show warnings or errors
-r - retain data and/or re-use any existing retained data i.e. skip re-downloading
-s - output in csv format (implies -t)
-t - skip program title (pipe to column -t for prettier display)
-v - verbose mode - show login progress

Dependencies

awk bash curl coreutils grep lynx sed
form-extractor.sh (see http://www.timedicer.co.uk/programs/help/form-extractor.sh.php) which should be in the same directory as giffgaff-credit-checker.sh

License

Copyright © 2017 Dominic Raferd. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Changelog

1.6 [30 Mar 2017]: fixes for changes on giffgaff page
1.5 [21 Oct 2016]: small fix for change on giffgaff page
1.4 [15 Oct 2016]: small fix for change on giffgaff page, check ssl certificate, change to order of entries in conf file (sorry, giffgaff change forced this)
1.3 [02 Jun 2016]: allow to work for different users
1.2 [31 Mar 2016]: bugfix for changes to giffgaff webpage
1.1 [19 Nov 2015]: fix change from http://giffgaff.com to http://www.giffgaff.com
1.0 [18 May 2015]: move cookiejar files from /tmp to /var/tmp
0.9 [06 May 2015]: add tests for dependencies, valid date extraction and success of curl session; use lynx to strip html; change order of fields again
0.8 [07 Apr 2015]: change to conf format due to changed giffgaff page layout
0.7 [07 Nov 2014]: pick up data fields for queued or recurring goodybag and in such case skip date expiry test
0.6 [03 Nov 2014]: change -n to test against nickname
0.5 [27 Oct 2014]: add some permission checking
0.4 [16 Oct 2014]: add -t option, add date/time with -s option
0.3 [08 Oct 2014]: improved csv output for -s, add -d and -r options
0.2 [07 Oct 2014]: add friendlyname and number to fields and output
0.1 [06 Oct 2014]: first version

Download giffgaff-credit-checker.sh

My Other Sites

My Programs

Here is a selection of some (other) programs I have written, most of which run from the command line (CLI), are freely available and can be obtained by clicking on the links. Dependencies are shown and while in most cases written for a conventional Linux server, they should run even on a Raspberry Pi, and many can run under Windows using Cygwin. Email me if you have problems or questions, or if you think I could help with a programming requirement.

Backup Utilities

Debian/Ubuntu kernel and LVM Utilities

Dellmont / Three / Giffgaff / Vodafone - VoIP and Mobile Phone Account Utilities

Miscellaneous Programs

Comments

No comments yet
*Name:
Email:
Hide my email
*Text:
 
Powered by Scriptsmill Comments Script