Services/Shavar: Difference between revisions

Jump to navigation Jump to search
Add some clarity
(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...")
 
(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 the [https://developers.google.com/safe-browsing/developers_guide_v2 Safe Browsing](henceforth '''SB''') wire protocol for dynamic updates of simple data sets.  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.
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 SB a list's name has to have a particular structure.
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 every foreseeable use case.
: 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.
Confirmed users
65

edits

Navigation menu