Feature #6842
Replace Vidalia's Tor streams and circuits view
100%
Description
tor-arm doesn’t have any such thing (yet): https://trac.torproject.org/projects/tor/ticket/5186
There is work in progress to add part of this functionality to the Tor Browser: https://trac.torproject.org/projects/tor/ticket/8641#comment:26
Our current plan is to rely on Alan’s Tor Monitor for the greatest part.
Files
Subtasks
Feature #9579: Always display domain instead if IP in Tor Monitor | Resolved | alant | 100 |
||
Feature #9581: Verify TorMonitor localization | Resolved | alant | 0 |
||
Feature #9580: Package Onion Circuits | Resolved | 50 |
History
#1 Updated by intrigeri 2014-07-29 14:38:05
- Description updated
#2 Updated by intrigeri 2014-08-02 15:33:00
- Description updated
#3 Updated by intrigeri 2014-11-26 10:13:12
The functionality landed into Tor Browser alpha, but it’s not enough for us, as it only exposes information about web browsing circuits. On the arm side of things, atagar updated the ticket and the short version is: either we wait a year, or we implement this feature on top of the 1.4.5 release.
#4 Updated by alant 2015-02-04 20:30:21
What do we actually need? I made a small prototype that show current circuits and the streams using them. I’m happy to extend it once we have clear specifications if we find it useful:
#!/usr/bin/env python
import stem.connection
import stem.response.events
from gi.repository import Gtk, GObject, GLib
class TorPaths():
def __init__(self):
self.conn = stem.connection.connect_socket_file()
self._create_ui()
self.refresh()
GLib.timeout_add(333, self.refresh, None)
def _create_ui(self):
self._win = Gtk.Window()
self._win.connect('delete-event', Gtk.main_quit)
self._win.set_title("Tor paths")
self._treestore = Gtk.TreeStore(GObject.TYPE_STRING)
self._treeview = Gtk.TreeView.new_with_model(self._treestore)
self._treeview.set_headers_visible(False)
tvcolumn = Gtk.TreeViewColumn("Circuit")
self._treeview.append_column(tvcolumn)
cell = Gtk.CellRendererText()
tvcolumn.pack_start(cell, True)
tvcolumn.add_attribute(cell, 'text', 0)
self._win.add(self._treeview)
self._win.show_all()
def refresh(self, data=None):
self._treestore.clear()
streams = self.conn.get_streams()
circuits = self.conn.get_circuits()
for c in circuits:
circ_str = "%s: " % c.id
for r in c.path:
circ_str += r[1] + ' '
circ_line = self._treestore.append(None, [circ_str])
for s in streams:
if s.circ_id == c.id:
self._treestore.append(circ_line,
["%s:%s" % (s.target_address, s.target_port)])
self._treeview.queue_draw()
self._treeview.expand_all()
return True
torpaths = TorPaths()
Gtk.main()
#5 Updated by intrigeri 2015-02-04 21:17:12
> What do we actually need?
Thanks for working on this!
I’m happy to explain in more details what I would like, once you’ve told me what’s unclear to you in the feature request against tor-arm.
Now, we’ve never really discussed what we really want before we can drop Vidalia.
#6 Updated by alant 2015-02-08 22:44:25
> Thanks for working on this!
>
A new fun project!
> I’m happy to explain in more details what I would like, once you’ve told me what’s unclear to you in the feature request against tor-arm.
>
If I understand well, we want an interface that “should show the targets of individual streams”.
I’m working on an GTK application that shows circuits and the streams that are attached to then, basically as the bottom left part of vidalia’s network map.
It’s basically ready and only needs some polishing.
> Now, we’ve never really discussed what we really want before we can drop Vidalia.
Time to do it perhaps? I’m happy to add the functionnalities we consider as missing.
#7 Updated by intrigeri 2015-02-09 09:13:26
> I’m working on an GTK application that shows circuits and the streams that are attached to then, basically as the bottom left part of vidalia’s network map. It’s basically ready and only needs some polishing.
Looks exactly like what we need.
>> Now, we’ve never really discussed what we really want before we can drop Vidalia.
> Time to do it perhaps? I’m happy to add the functionnalities we consider as missing.
Sure. Care to start a discussion about it on -dev@?
#8 Updated by alant 2015-02-09 20:57:47
intrigeri wrote:
> > I’m working on an GTK application that shows circuits and the streams that are attached to then, basically as the bottom left part of vidalia’s network map. It’s basically ready and only needs some polishing.
>
> Looks exactly like what we need.
>
See http://git.tails.boum.org/alan/tor-monitor/
> >> Now, we’ve never really discussed what we really want before we can drop Vidalia.
>
> > Time to do it perhaps? I’m happy to add the functionnalities we consider as missing.
>
> Sure. Care to start a discussion about it on -dev@?
Done, in the thread “What do we miss to replace Vidalia”
#9 Updated by alant 2015-02-09 20:58:58
- Assignee set to alant
#10 Updated by alant 2015-02-12 19:51:05
- File tormonitor-main.png added
Fixed issues preventing testing under Tails/Jessie. Here is a screenshot if you want a quick overview:
#11 Updated by intrigeri 2015-03-15 17:20:06
- Status changed from Confirmed to In Progress
- % Done changed from 0 to 10
- Type of work changed from Research to Code
- Affected tool set to Tor Monitor
#12 Updated by intrigeri 2015-03-15 17:22:04
- Description updated
#13 Updated by intrigeri 2015-03-15 17:24:29
- Target version set to Sustainability_M1
(as parent ticket)
#14 Updated by intrigeri 2015-05-04 04:40:30
Alan, can you please look into displaying DOMAIN:PORT information (like Vidalia does) instead of IP:PORT? See Feature #9298#note-5 for background info about it.
#15 Updated by alant 2015-05-12 09:00:03
intrigeri wrote:
> Alan, can you please look into displaying DOMAIN:PORT information (like Vidalia does) instead of IP:PORT? See Feature #9298#note-5 for background info about it.
I’ll look at this, but I’m not sure stem easily provides that.
#16 Updated by alant 2015-06-15 09:27:09
alant wrote:
> intrigeri wrote:
> > Alan, can you please look into displaying DOMAIN:PORT information (like Vidalia does) instead of IP:PORT? See Feature #9298#note-5 for background info about it.
>
> I’ll look at this, but I’m not sure stem easily provides that.
Tracked as subtask Feature #9579.
#17 Updated by alant 2015-06-15 09:30:47
I use TorMonitor since 3 monthe whithot any major issues. I plan to polish the remaining details and to integrate it in tails/jessie. Please add comments and requests as subtasks and not on this ticket anymore.
#18 Updated by sajolida 2015-11-08 02:09:03
- Parent task deleted (
)Feature #6841
#19 Updated by sajolida 2015-11-08 02:09:12
- Parent task set to
Feature #6841
#20 Updated by intrigeri 2016-02-15 12:50:26
- Subject changed from Replace Vidalia's Tor network map to Replace Vidalia's Tor streams and circuits view
#21 Updated by intrigeri 2016-02-15 12:50:43
- Target version changed from Sustainability_M1 to 2016
#22 Updated by intrigeri 2016-02-15 12:51:46
- % Done changed from 0 to 50
Alan, IIRC you had some refactoring going on upstream, that I don’t see in Git. How much of a blocker do you think it is, for inclusion of Tor Monitor in Debian and Tails? May I safely assume it is not a blocker in your opinion?
#23 Updated by intrigeri 2016-02-18 20:34:53
- Affected tool changed from Tor Monitor to Onion Circuits
#24 Updated by intrigeri 2016-02-19 23:36:52
- Status changed from In Progress to Resolved
- % Done changed from 50 to 100
- Feature Branch set to feature/6841-replace-vidalia
This is done in the topic branch, see parent & sibling tickets for remaining blockers.
#25 Updated by intrigeri 2016-02-19 23:37:03
- Assignee deleted (
alant)