gardener

command
v3.21.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 27, 2024 License: GPL-3.0 Imports: 13 Imported by: 0

README

Gardener

The gardener is a tool that helps curating the test-lists.

Build instructions

go build -v ./internal/cmd/gardener

Usage

Cloning the test-lists repository
./garderner sync

This command clones the most recent version of the test-lists repository in a local directory. If the repository has been already cloned previously, this command will delete the local directory and fetch it again.

Generating a DNS data quality report
./gardener dnsreport

This command generates a dnsreport.sqlite3 database containing an entry for each URL of the test list. We will record the original file name, the file line, the URL, and the result of the DNS lookup for the URL's domain. If the DNS lookup failed, we also include the counters returned by the aggregation API for the given input URL, which provides information useful to determine whether we actually want to drop this URL from the test list.

The resolver used by this command is the same used by the Web Connectivity test helper, so its results should be consistent with the ones observed by the test helper itself.

You can interrupt this command at any time. Re-running it will only measure the unmeasured URLs as long as you keep the dnsreport.sqlite3 file around.

When done, this command produces a dnsreport.csv file containing summary information about the expired domains.

Remove the most obvious expired domains
./gardener dnsfix

This command uses the dnsreport.csv file and applies simple rules to only remove the most-safe-to-remove URLs from the test lists.

Documentation

Overview

Command gardener helps with test-lists management.

Directories

Path Synopsis
internal
aggregationapi
Package aggregationapi allows one to query the OONI aggregation API.
Package aggregationapi allows one to query the OONI aggregation API.
dnsfix
Package dnsfix implements the dnsfix command.
Package dnsfix implements the dnsfix command.
dnsreport
Package dnsreport implements the dnsreport subcommand.
Package dnsreport implements the dnsreport subcommand.
sync
Package sync implements the sync subcommand.
Package sync implements the sync subcommand.
testlists
Package testlists contains code to read/rewrite the test lists.
Package testlists contains code to read/rewrite the test lists.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL