Skip to content

riseupvpn: relax scoring logic #745

@bassosimone

Description

@bassosimone

In ooni/probe-cli#1363 et al. I am preparing riseupvpn to be included again. Because riseupvpn is a default-disabled experiment, it won't run on probes until check-in explicitly enables it.

When we'll enable riseupvpn, we should need to change and significantly relax the backend scoring logic. The probe currently does not score riseupvpn and never claims there was any anomaly.

I think the backend should do the same. Basically, we should collect and show riseupvpn measurements without interpreting them. This is part of what I discussed with @cyBerta in ooni/probe-cli#1125 (review).

For reference, the current scoring logic is the following:

def score_riseupvpn(msm: dict) -> dict:
    """Calculate measurement scoring for RiseUp VPN
    Returns a scores dict
    """
    # https://github.com/ooni/backend/issues/541
    scores = init_scores()
    tk = g_or(msm, "test_keys", {})
    tstatus = tk.get("transport_status") or {}
    obfs4 = tstatus.get("obfs4")
    openvpn = tstatus.get("openvpn")
    anomaly = (
        tk.get("api_status") == "blocked"
        or tk.get("ca_cert_status") is False
        or obfs4 == "blocked"
        or openvpn == "blocked"
    )
    if anomaly:
        scores["blocking_general"] = 1.0

    scores["extra"] = dict(test_runtime=msm.get("test_runtime"))
    return scores

We should drop the part that computes whether there was an anomaly. But, if possible, we should not flag the measurement as failed, which would hide it. We should just do such that the measurement appears on Explorer w/o any backend-derived inference on whether there was blocking.

Metadata

Metadata

Labels

apiAPIdata qualityDescribes data/measurement quality issuesenhancementNew feature request or improvement to existing functionalityooni/apiIssues related to https://github.com/ooni/apipriority/mediumNormal priority issue

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions