Confirmed users
65
edits
RyanTilder (talk | contribs) (Created page with "== Shavar, the mighty! == Contrary to popular belief Shavar is not the name of a mini-boss in the latest World of Warcraft expansion. It is Mozilla's service that speaks the...") |
RyanTilder (talk | contribs) (Add some clarity) |
||
| Line 3: | Line 3: | ||
Contrary to popular belief Shavar is not the name of a mini-boss in the latest World of Warcraft expansion. | Contrary to popular belief Shavar is not the name of a mini-boss in the latest World of Warcraft expansion. | ||
It is Mozilla's service that speaks | It is Mozilla's service that speaks a wire protocol designed for dynamic updates of simple lists of URLs. Originally designed for phishing protection the protocol was co-opted so that the [[Security/Tracking_protection|tracking protection]] project would be able to publish larger data sets without incurring large bandwidth usage for mobile clients. | ||
This page is intended for client side developers and others who need to interact with the service at a programmatic level. | This page is intended for client side developers and others who need to interact with the service at a programmatic level. | ||
| Line 11: | Line 11: | ||
===== Names ===== | ===== Names ===== | ||
In | In shavar a list's name has to have a particular structure. | ||
<organizational identifier>-<list name>-<list type> | <organizational identifier>-<list name>-<list type> | ||
;organization identifier | ;organization identifier | ||
: a very short string identifying the organization publishing the data. This should be "moz" in | : a very short string identifying the organization publishing the data. This should be "moz" in most foreseeable use cases. | ||
;list name | ;list name | ||
: a string just long enough and descriptive enough to prevent collision with any other project's or group's data. "tracking" is currently in use for the [[Security/Tracking_protection|tracking protection]] data. "list" or "data" are very bad ideas. | : a string just long enough and descriptive enough to prevent collision with any other project's or group's data. "tracking" is currently in use for the [[Security/Tracking_protection|tracking protection]] data. "list" or "data" are very bad ideas. | ||
| Line 33: | Line 33: | ||
1. Create a new github repository for your list. Best practice would be to leave it completely empty. Make note of the ssh URL for the repository. | 1. Create a new github repository for your list. Best practice would be to leave it completely empty. Make note of the ssh URL for the repository. | ||
2. Grab a copy of shavar for the script used to populate an empty repository | 2. Grab a copy of shavar for the script used to populate an empty repository | ||
clone https://github.com/mozilla-services/shavar | clone https://github.com/mozilla-services/shavar | ||
| Line 59: | Line 60: | ||
9. Open a new bug in Bugzilla under Mozilla Services -> Operations in requesting that the new list repository be added to the publishing schedule. Make certain to include the list name and the URL for the new list's respository. | 9. Open a new bug in Bugzilla under Mozilla Services -> Operations in requesting that the new list repository be added to the publishing schedule. Make certain to include the list name and the URL for the new list's respository. | ||
==== Historic details ==== | |||
Shavar actually implements the [https://developers.google.com/safe-browsing/developers_guide_v2 Safe Browsing] API/wire protocol as developed by Mozilla and Google some years ago. | |||