Opened 3 months ago

Last modified 3 months ago

#28361 new enhancement

Allow few nodes-list options in torrc

Reported by: wagon Owned by:
Priority: Low Milestone: Tor: unspecified
Component: Core Tor/Tor Version:
Severity: Normal Keywords: tor-options, torrc
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor:

Description

There are many options in torrc which accept lists of nodes, countries, etc.:

ExcludeNodes node,node,...
ExcludeExitNodes node,node,...
ExitNodes node,node,...
EntryNodes node,node,...
NodeFamily node,node,...
Tor2webRendezvousPoints node,node,...
HSLayer2Nodes node,node,...
HSLayer3Nodes node,node,...
TestingDirAuthVoteExit node,node,...
TestingDirAuthVoteGuard node,node,...
TestingDirAuthVoteHSDir node,node,...

Maybe I have not list all of them. Values for these options may be very long lists. It would be very convenient to write it as, e.g.:

ExcludeNodes node0,nodeX
ExcludeNodes node1
ExcludeNodes node2
ExcludeNodes node3,nodeY,nodeZ

I cannot see any reason why only one such option can be specified in torrc. It makes management of long lists very hard, because one needs to add \ symbols, take into account some restrictions on comments within these lists, etc.

Child Tickets

Change History (4)

comment:1 Changed 3 months ago by dgoulet

Keywords: tor-options torrc added
Milestone: Tor: unspecified
Priority: MediumLow
Status: assignednew

IIRC, you are proposing a feature to define a "group of nodes" and then use that in the option that takes a node list?

comment:2 Changed 3 months ago by dgoulet

Owner: arma deleted
Status: newassigned

comment:3 Changed 3 months ago by dgoulet

Status: assignednew

comment:4 Changed 3 months ago by wagon

IIRC, you are proposing a feature to define a "group of nodes" and then use that in the option that takes a node list?

I know nothing about Tor's code or internals. My question is only about UI, about user's torrc interface. Take, e.g., ExcludeNodes option. Now I have to write:

ExcludeNodes {cc}, {xx}, 1.1.1.1, \
    2.2.2.2, ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234, \
    3.3.3.3, \
# My comment why I added this node, necessarily starting from "#" symbol on the line:
    4.4.4.4, \
# My another comment why I added this node, necessarily starting from "#" symbol on the line:
    5.5.5.5, \
    {yy}, {zz}

Instead I want to write the same in standard format, without annoying , \ and without necessity to write comments from the start of each line:

ExcludeNodes {cc}, {xx}, 1.1.1.1
ExcludeNodes 2.2.2.2, ABCD1234CDEF5678ABCD1234CDEF5678ABCD1234
ExcludeNodes 3.3.3.3

# My comment why I added this node
ExcludeNodes 4.4.4.4

# My another comment why I added this node
  # This comment with indention is also fine
ExcludeNodes 5.5.5.5

ExcludeNodes {yy}, {zz}

I think you agree that the last format is easier to read. It should be simple for torrc parser to accept values from all ExcludeNodes options instead of neglecting all of them but the last one (this is what Tor does now). In current Tor only {yy} and {zz} are excluded, if I write the above options in my torrc.

Note: See TracTickets for help on using tickets.