Opened 2 years ago

Closed 3 months ago

#20897 closed enhancement (fixed)

Make it easier to check the entire fallback whitelist for errors

Reported by: teor Owned by:
Priority: Medium Milestone: Tor: unspecified
Component: Core Tor/Fallback Scripts Version:
Severity: Normal Keywords: fallback
Cc: Actual Points:
Parent ID: Points: 0.5
Reviewer: Sponsor:

Description

There are instructions for modifying the fallback script to scan the entire whitelist in:
https://trac.torproject.org/projects/tor/wiki/doc/UpdatingFallbackDirectoryMirrors

It would be great if we automated these.

Child Tickets

Change History (7)

comment:1 Changed 2 years ago by nickm

Keywords: tor-03-unspecified-201612 added
Milestone: Tor: 0.3.???Tor: unspecified

Finally admitting that 0.3.??? was a euphemism for Tor: unspecified all along.

comment:2 Changed 22 months ago by nickm

Keywords: tor-03-unspecified-201612 removed

Remove an old triaging keyword.

comment:3 Changed 21 months ago by nickm

Component: Core Tor/TorCore Tor/Fallback Scripts
Owner: set to teor

comment:4 Changed 16 months ago by teor

Owner: teor deleted
Status: newassigned

Disowning tickets I don't intend to work on in the next 6 months.

comment:5 Changed 16 months ago by teor

Status: assignednew

Mark all tickets that are assigned to nobody as "new".

comment:6 Changed 15 months ago by teor

This is the old text from the wiki:

You can check the entire whitelist by running the script like this:

  1. Make sure the whitelist and blacklist and script are the current ones, including the latest operator updates (not the modified ones from other instructions)
  2. Set the log level to INFO for both the script and stem:
    - logging.basicConfig(level=logging.WARNING)
    + logging.basicConfig(level=logging.INFO)
    
    - logging.getLogger('stem').setLevel(logging.WARNING)
    + logging.getLogger('stem').setLevel(logging.INFO)
    
  3. Output candidate fallbacks (ignore the whitelist, log operator contact details):
    - OUTPUT_CANDIDATES = False
    + OUTPUT_CANDIDATES = True
    
  4. Perform IPv4 checks:
    - PERFORM_IPV4_DIRPORT_CHECKS = False if OUTPUT_CANDIDATES else True
    + PERFORM_IPV4_DIRPORT_CHECKS = True
    
  5. If you have a working IPv6 connection (or can set up an IPv6 tunnel), perform IPv6 checks:
    - PERFORM_IPV6_DIRPORT_CHECKS = False if OUTPUT_CANDIDATES else False
    + PERFORM_IPV6_DIRPORT_CHECKS = True
    
  6. Run the fallback selection script, saving the list:
    scripts/maint/updateFallbackDirs.py > whitelist_check 2> whitelist_check.log
    

This can take a long time, as it downloads ~150MB of OnionOO data, parses it, then tries each fallback's DirPort.

comment:7 Changed 3 months ago by teor

Resolution: fixed
Status: newclosed

The fallback list has a check_existing mode.

Note: See TracTickets for help on using tickets.