tinyurl.com/j24ux -> www.rentacoder.com/RentACoder/misc/BidRequests/ShowBidRequest.asp?lngBidRequestId=532805
Open Work Categories This list has been moved in response to requests to save the large amount of bandwidth it consumed for many users (on each and every page). You can now find the complete list by going above to the "Software Coders" menu and clicking on the: "Browse All Work" link.
Description: We are looking for a developer to write Thunderbird (Mozilla email client) extension which works with a REST API to enable a user to complete two tasks. First, submitting suspected phish emails to an anti-phishing website. Second, checking URLs from suspected phish emails against an anti-phishing website database. Each of the two actions, submitting and checking, is matched by a REST API call. Looking to have a tested, completed extension for public distribution by Friday Sep 29 2006, 11pm UTC. SUMMARY We are looking for a developer to write Thunderbird (Mozilla email client) extension which works with a REST API to enable a user to complete two tasks. First, submitting suspected phish emails to an anti-phishing website. Second, checking URLs from suspected phish emails against an anti-phishing website database. Each of the two actions, submitting and checking, is matched by a REST API call. Looking to have a tested, completed extension for public distribution by Friday Sep 29 2006, 11pm UTC.
DELIVERABLES Complete and fully-functional working program in executable form as well as complete source code of all work done. Specifically: - Full source code - Any make files, libraries, or compiler depenencies - Installable XPI archive - All scripts and makefiles required to build XPI archive - Details of any external libraries used and sources All deliverables will be considered "work made for hire" under US Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement). ACTIONS When an email is selected, either in a list of emails or viewed as an individual email, the extension must offer two obvious choices, and a method for navigating to extension preferences. The actions: - Submit email as phish - Check if email is a phish by checking individual URLs in email Each will be described below. Both actions should be immediately available at all times the extension is installed and available. INITIAL STATE Either during extension installation, or immediately following extension installation, user must be prompted to enter their website username and API key, and provided a URL to retrieve (or create) that information at the website. User should not be shown the Submit or Check actions until username and key are entered. EXTENSION PREFS At a minimum, extension must allow user to input and edit their website username and API key, and store user input so that username and key do not need to re-input repeatedly. SUBMITTING EMAIL When user chooses to submit (click or key command) an email as a potential phish via the extension, the extension must visually change state (design, language, or both) so the user knows their action is in progress/taking place. Submitting means POSTing the full contents of an email, including all headers (critical), via the API. If the submission is rejected, the response accept code will be FALSE. If the submission is accepted, then a URL and ID also will be returned with the accept code TRUE. CHECKING EMAIL When a user chooses to check whether an email is a phish or not, the extension must visually change state (design, language, or both) so the user knows their action is in progress/taking place. Checking means: 1 Parse the email locally for all URLs, eliminating duplicates. Response will be either TRUE, with a URL linking to the website details about the URL checked, or FALSE. If FALSE (meaning, not recognized), then extension should offer user option to Submit this email via the extension. ERROR HANDLING If user is offline, the API is obviously not available. It is acceptable to simply show the user that the extension is not active/available if network status is down. If a user attempts to Submit or Check using the extension, and the call fails, either due to the user being offline or the API not responding within a reasonable threshold, then the extension should tell the user the action failed. The threshold depends on whether the extension requires a response before allowing the user to move on to their next task within Thunderbird. The API has a maximum time any request may take before it is killed on the server, but the extension may handle responses on its own schedule as long as the user interface is clear and consistent. API INFORMATION REST API has been completed, with documentation. You will be one of the early external users of this API; any delays incurred by documentation gaps will be accepted as long as communication is clear, direct, and speedy. VISUAL DESIGN Appropriate graphics (size and format) and language will be provided during development. LANGUAGE Extension will be offered initially in English. Separation of interface language from code, for future internationalization, is preferred. EXPERIENCE Ideally, you have already written either a Thunderbird or Firefox extension. ATTRIBUTION While we will own all the code and final product, we are happy to provide named attribution to the developer within the extension (probably within the Preferences screen, although location and language are at our discretion). Additionally, when promoting the extension, we will provide attribution to the developer on the website.
org/en/docs/Extensions Extension must work with versions 15 and higher of Thunderbird, on all supported Thunderbird platforms. html - Internet Message Format SIMILAR EXTENSIONS These are not identical to what's desired, but may prove useful as examples.
Back to shortcuts ) All monetary amounts on the site are in United States dollars. Rent a Coder is a closed auction, so coders can only see their own bids and comments. Buyers can view every posting made on their bid requests.
|