Feature #6742

Make tor-controlport-filter reusable

Added by winterfairy 2014-02-21 11:11:55 . Updated 2017-01-24 20:47:28 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Target version:
Start date:
2014-02-21
Due date:
% Done:

100%

Feature Branch:
feature/7870-include_onionshare
Type of work:
Code
Blueprint:

Starter:
1
Affected tool:
Deliverable for:

Description

We want to modify “tor-controlport-filter” so that the listening port and paths to the control port socket and authentication cookie can be passed in as commandline arguments, overriding the defaults.

This would make it possible for other projects similar to Tails to reuse this control port filter.

The best way to do this seems to be using the “argparse” module that was introduced in Python 2.7. This will be possible when Tails is based on Wheezy, and that will happen soon enough that using the deprecated “optparse” module available in Python 2.6 is not worth the implementation effort.


Subtasks


Related issues

Related to Tails - Feature #9001: Onion Circuits should connect via the Tor control port filter Resolved 2015-03-03
Related to Tails - Feature #6788: Use stem in the filtering proxy for the Tor control port Resolved 2014-05-27
Blocked by Tails - Feature #6015: Tails based on Wheezy Resolved 2013-07-28
Blocked by Tails - Feature #6384: Filtering proxy for the Tor control port Resolved 2013-10-21
Blocked by Tails - Feature #11542: Evaluate using roflcoptor as Tor control port filter Resolved 2016-06-23
Blocked by Tails - Feature #11826: Evaluate using Whonix' control-port-filter-python as Tor control port filter Resolved 2016-09-22
Blocked by Tails - Feature #7870: Include OnionShare Resolved 2016-12-07

History

#1 Updated by winterfairy 2014-02-21 11:21:53

  • Starter changed from No to Yes

#2 Updated by intrigeri 2014-03-31 13:51:17

  • Subject changed from Commandline arguments for tor-controlport-filter to Make tor-controlport-filter reusable

#3 Updated by BitingBird 2015-01-02 18:07:00

  • Category set to Tor configuration

#4 Updated by intrigeri 2015-01-03 11:29:35

  • Category deleted (Tor configuration)

#5 Updated by BitingBird 2015-04-10 22:30:35

winterfairy, do you want to do that? The blockers have been solved :)

#6 Updated by intrigeri 2015-04-11 09:38:15

Note that Whonix folks have forked this script and changed it quite a bit, see corresponding discussion about it (February or March, IIRC) on tails-dev@. Some of their changes indeed make the script more generic and reusable. Some others are very much disputable.

#7 Updated by intrigeri 2015-05-25 09:52:18

Also see Yawning’s Go implementation: https://github.com/yawning/or-ctl-filter

#8 Updated by intrigeri 2016-02-28 13:04:19

  • related to Feature #9001: Onion Circuits should connect via the Tor control port filter added

#9 Updated by intrigeri 2016-02-28 13:05:20

#10 Updated by intrigeri 2016-02-28 13:05:59

#12 Updated by sajolida 2016-03-07 14:03:51

  • related to Feature #6788: Use stem in the filtering proxy for the Tor control port added

#13 Updated by sajolida 2016-03-07 14:13:51

David Stainton also wrote a “bidirectional tor control port filter”, see https://github.com/david415/or-ctl-sieve.

Subgraph OS also need something like this. They are considering also writing a D-Bus interface to it.

#14 Updated by sajolida 2016-05-12 06:46:15

Also, from the Subgraph report from April:

@david415 is writing a Tor control port filter to mitigate risks to security and anonymity introduced sharing the control port from a single Tor client instance.

Code:

https://github.com/subgraph/roflcoptor

#15 Updated by sajolida 2016-06-23 03:37:29

roflcoptor seems to be the successor of or-ctl-sieve according to the Acknowledgements in https://github.com/subgraph/roflcoptor.

#16 Updated by sajolida 2016-06-23 03:39:54

  • blocked by Feature #11542: Evaluate using roflcoptor as Tor control port filter added

#17 Updated by intrigeri 2016-09-23 03:09:08

  • blocked by Feature #11826: Evaluate using Whonix' control-port-filter-python as Tor control port filter added

#18 Updated by anonym 2016-10-06 21:22:26

  • Status changed from Confirmed to In Progress

Applied in changeset commit:66b8e6bfdd4fde623df8428d5c7e9e97234691f6.

#19 Updated by intrigeri 2016-12-08 08:39:05

  • Assignee set to anonym
  • Target version set to Tails 2.10
  • Feature Branch set to feature/7870-include_onionshare

(Looks like everything required by this ticket is done as part of Feature #7870 :)

#20 Updated by intrigeri 2016-12-08 08:39:22

#21 Updated by intrigeri 2016-12-08 08:39:30

#22 Updated by intrigeri 2016-12-08 08:41:13

  • related to deleted (Feature #8173: Make Ricochet usable in Tails)

#23 Updated by anonym 2017-01-10 11:47:48

  • Assignee changed from anonym to intrigeri
  • QA Check set to Ready for QA

#24 Updated by intrigeri 2017-01-11 12:14:04

  • Status changed from In Progress to Fix committed
  • % Done changed from 0 to 100

Applied in changeset commit:1a3c62b96edd337cacd6e6b6d2c9eed1951784a8.

#25 Updated by intrigeri 2017-01-11 12:16:47

  • Assignee deleted (intrigeri)
  • QA Check changed from Ready for QA to Pass

#26 Updated by anonym 2017-01-24 20:47:28

  • Status changed from Fix committed to Resolved