Chrome Extension

Status:

Completed, released to the public 04/10/10

Project Aim:

To create a Google Chrome extension which fulfils the brief below:
(This brief is based on the results of the user opinion survey)
  • Automatically removes surveys (if enabled)
  • Right click option to remove surveys (if enabled)
  • Easy to install and update
  • Safe and simple to use
  • Does not affect the look or usability of the target site unlike other gniyxorp methods

Description of Product:

Chrome browser extension


Needs Developing:

  • 100% working event listener
  • 100% working, safe injection script
  • Right click menu
  • Functionality to disable/enable right click menu item
  • Functionality to disable/enable automatic survey detection
  • Create and test preference interface which is able to store variables
  • Style preferences interface
  • Key access system - client side
  • Key access system - server side including Paypal IPN
  • Automatic updates


Progress:

04/10/10

  • Changed the font-family of text in the toolbar popup menu
  • Fixed coding error
  • Reduced message baring time as 'alert spam' is not an issue in the Chrome addon opposed to with Firefox
  • Completed support for the Chrome addon on the public distribution page

03/10/10

  • Changed the distribution interface pages to accommodate the installation of both Firefox and Chrome addons
  • Modified the file structure of the distribution pages

02/10/10

  • Changed background colour when hovering over items in the toolbar popup menu
  • Attempted to change the font-family of text in the toolbar popup menu

01/10/10

  • Designed user preferences interface
  • Created an efficient, on-the-fly permission key checking system for the preferences page with UI
  • Added extra functionailty to the browser action (toolbar) button
  • Fixed bugs originating from incorrectly appending background scripts to the preferences page
  • Fixed distribution page which was causing extension installation issues as wrong content type was been issued

30/09/10

  • Created basic extension skeleton
  • Made preferences page
  • Successfully managed to detect a CPAlead.com survey
  • Successfully injected the remover automatically
  • Implemented permission key checking
  • Created right click context menu icon with the ability to show/hide
  • Successfully injected the remover manually
  • Created working browser action button
  • Added autoupdating




Firefox Extension

Status:

Completed, released to the public 22/08/10

Project Aim:

To create a Mozilla Firefox addon which fulfils the brief below:
(This brief will change depending on the results of the user opinion survey)
  • Automatically removes surveys (if enabled)
  • Right click option to remove surveys (if enabled)
  • Easy to install and update
  • Safe and simple to use
  • Does not affect the look or usability of the target site unlike other gniyxorp methods

Description of Product:

This page details more information about Firefox addons


Needs Developing:

  • 100% working event listener
  • 100% working, safe injection script
  • Right click menu
  • Functionality to disable/enable right click menu item
  • Functionality to disable/enable automatic survey detection
  • Create and test interface with forms which are able to write to the config
  • JS functionality to read then locally store config data
  • Key access system - client side
  • Key access system - server side including Paypal IPN
  • Automatic updates


Progress:

17/08/10

  • Created navigation system for distribution pages
  • Fixed download file header type for one of the servers
  • More work done on the distribution interfaces

16/08/10

  • Created cryptographic algoriths to protect the transfer of data server side
  • Work done on distribution interface
  • Graphics for distribution page created

14/08/10

  • Fixed automatic updates using digital signing
  • Work done on the GUI of the distribution pages
  • Fixed button "sticking" error on retrieval page
  • Added toolbar button (thanks to Norman) with the ability to enable/disable this button
  • Improved the efficiency and effectiveness of the preference event listers

13/08/10

  • Patched Key vs ID issues (thanks to Norman)
  • Corrected spelling mistakes (thanks to Euge)

12/08/10

  • Fully implemented permission checker
  • Patched faults occuring when permission key was changed
  • Added connection error support
  • Added automatic survey detection
  • Fixed "message spamming" issues

08/08/10

  • Friends and donors information added to the databases
  • Began compiling questionnaire results relating to this project

06/08/10

  • Created functionality to enable/disable right click menu item
  • Successfully detected and then removed a survey upon manual initiation via the right click button!
  • Fixed and tested key verifications. All now fully working

05/08/10

  • Server to data-server communications fully working and tested
  • Paypal IPN fully working after fixing and testing
  • Built functions for addon key verification

04/08/10

  • More work done on server-to-server communications. Thanks to the help of Norman, problems with the database server were found

03/08/10

  • Work done on the server-to-server communications linking the Paypal IPN and the databases

01/08/10

  • New server set up to deal with permission databases
  • Interface created to deal with cross domain information storage and transfer via unique cookie scripts
  • Work done on the permission key interfaces
  • Successfully injected test script into a page via the sandbox
  • Time spent attempting to set the page listener for the automatic removal of surveys

31/07/10

  • Successfully completed the "options" interface for the addon, allowing permission key input and preference setting such as enabling/disabling automatic survey removal
  • Fixed all bugs in the free request server side database access and client side interface
  • Started preparing website interface files for use

30/07/10

  • Work done on database entry scripts

27/07/10

  • Completed the basic user interface for the free permission key requester
  • Added sql functionality for free permission requests to be automatically added to the database
  • Generalised some javascript functions, allowing them to be used when getting and setting requests

26/07/10

  • Completed and tested data extraction from the permissions database, including the UI
  • Added functionality to request permission status
  • Successfully received sandbox Paypal IPNs on 2 host servers

25/07/10

  • Fixed email decoding issues by implementing a better encryption and data storage technique
  • Added contacting based interfaces to the permission requester

24/07/10

  • Worked on permissions interface
  • Tested data requests - a problem with email decoding server side was discovered

23/07/10

  • Started and tested basic scripts for the GUI of permission key requesting. Requests are handled on-the-fly by javascript
  • Wrote permission information retrieval scripts for UI, including an encryptor/decryptor for the temporary (cookie) storage of email addresses on the user's local machine
  • Successfully handled information request then found and pulled data from the permissions database
  • Discovered issues with the hosting of the Paypal IPN on some servers.
    Worryingly (because of uptime and data interception issues), donors permission requests could require 3 servers to complete... However, it was deemed that an automated system is worth pursuing
  • Investigated "plan B" route of allowing the addon to inject remover into pages if current method fails

22/07/10

  • Made addon donors SQL database
  • Created Paypal IPN scripts including interfacing with the database (untested)
  • Set up Paypal IPN sandbox environment
  • Created SQL database for all permission requesters, including functionality to assign permission requesters donation history and friendship status
  • Wrote script to interface with permissions database (untested)
  • Started developing internal Paypal POS interface
  • Created preferences UI for Firefox extension
  • Created interfacing scripts for the extension preferences (untested)

21/07/10

  • Assessed security issues associated with the extension
  • Attempted to write a DOM event listener which can be injected into window content
  • Attempted to write a safe injection script

History

  • Created installable extension
  • Add extension details and XJZ Survey Remover logo
  • Created entry to run the survey remover from the right click menu
  • Modified external remover scripts to accommodate use of the addon
  • Investigated methods of safely accessing the DOM
  • Investigated methods of injecting javascript via the use of a sandpit