This is a Node.js command line script that parses the contents of the "Friends" widget on your Second Life dashboard.
The script will report who was added and removed since the last time you ran it. It will create a JSON file named as your user name (e.g., carlyle.theas.json) in the same directory you run the script, which saves the "friend added" and "friend removed" events.
Since the "Friends" widget will remove a name when someone decides to hide their online status from you, that friend will be reported as "removed". If they are still in your friends list when you log onto SL, you'll know that they turned off their online visiblity. Also, a name change will result in a "friend removed" and a "friend added" event.
The script is provided as-is, to run on your own computer; i.e., there is no hosted service for this, since you would have to share your SL password.
After downloading the script, put it in a directory in which you want to run it. In order to run the script, you will need a recent version of Node.js. If you don't have that, download and install it first.
Open a shell/command line on your computer:
cd /path/to/the/script
, where you replace /path/to/the/script with the path under which you saved the friendtracker.js script. If you don't know the path, open the location in Finder and drag the folder icon from Finder's title bar into the terminal window.
Now, in the shell/command line window, type
node friendtracker.js
It will prompt you for your user name and password. It will then download the data from your Second Life dashboard and display the information in the command line window and write any new events to the JSON file.
$ cd Projects/cts/friendtracker/
$ node friendtracker.js
User Name: Carlyle Theas
Password: ***********
Please wait while your friends list is retrieved...
XXX was added as a new friend.
YYY was removed from your friends list.
The parts in bold are what you type.