The goal of this repo is to document all the known blocking fingerprints for use in network measurement projects aimed at measuring internet censorship.
The sources of these fingerprints are:
In here you will find two CSV files for HTTP and DNS fingerprints respectively.
nameis an identifier of this particular fingerprint. They are generally in the form oforg.fingerprint_id(ex.ooni_br_1)location_foundindicates where the fingerprint can be found. If we are searching for it in the HTTP response body we will use the keybody, while if we are looking for it inside of a header it will take the formheader.{header_name}where{header_name}is the header field name in lowercase (ex.header.x-app-url). In the case of DNS fingerprints, this will have the valuedns.pattern_typeindicates what sort of pattern matching should be used, it can be one offull, if it's a full strict match (i.e.==),prefixif we are matching against the prefix of the target value (i.e.startswith),containsif we are searching for the pattern substring inside of the target (i.e.is in),regexpif the pattern should be interpreted as a regular expression.patternis the value of the pattern used to match. Seepattern_typefor the possible types of patterns.scope, we currently follow the same definition of scopes used by the citizenlab, which is,natnational level blockpage,ispISP level blockpage,prodtext pattern related to a middlebox product,insttext pattern related to a voluntary instition blockpage (school, office),vbwvague blocking word,fpfingerprint for false positives.confidence_no_fp, taken also from citizenalb: how likely (by self-assessment) the signature is to cause a false positive. Shorter or more vague text patterns which may be likely to match against are given lower numbers.expected_countries, a list of countries where we expect to see the blockpage fingerprints comma separated (ex.IT, IR).source, this indicates where this fingerprint came fromexp_url, a link to an OONI Explorer measurement documenting this fingerprintnotes, additional freeform notes on the fingerprintother_names, a list of other names identifying the fingerprint when it's present in multiple repositories