Opened 8 years ago

Closed 3 years ago

#3664 closed task (wontfix)

Tor web interface for the DreamPlug

Reported by: runa Owned by: ficus
Priority: Medium Milestone:
Component: Archived/Torouter Version:
Severity: Normal Keywords:
Cc: Actual Points:
Parent ID: #20747 Points:
Reviewer: Sponsor:

Description

We need a Tor web interface for the DreamPlug, as discussed at the Tor dev meeting in Waterloo, Canada earlier this week.

Child Tickets

Change History (10)

comment:1 Changed 8 years ago by hellais

I would like to know what the exact requirements for this web interface should be. What I deduce would be necessary is:

main page:

The main page contains an overview of the current status of the Tor router. Status if it is connected properly to Tor or not, and general information on the current status of the network. If it is the first time that the user connects to the Torouter then it loads the wizard.

wizard:

Guides the user through the steps of configuring the Torouter. @runa, @jake you would need to tell me exactly what the steps required should be. An example would be

step 1: The user is asked how he will connect to the internet. He chooses DHCP or static or whatever.
step 2: The user is asked how to configure his wifi network. ESSID, channel, etc.
step 3: He is asked how to configure Tor.

.. and so on. As I said I am not sure how you envisioned this. What are your ideas?

status:

A detailed status page, containing more info than the main page. [insert specs for "detailed information" here]

config:

The advanced configuration interface. A good value for customizability/not_breakability should be found. By this I mean what kind of users are Torouter users? A good compromise between what they can do and what they can't do to avoid breaking stuff should be found [insert specs for what should be customizable]

Is there anything else?

comment:2 in reply to:  1 Changed 8 years ago by ioerror

Replying to hellais:

I would like to know what the exact requirements for this web interface should be. What I deduce would be necessary is:

Sure thing, comments in line.

main page:

The main page contains an overview of the current status of the Tor router. Status if it is connected properly to Tor or not, and general information on the current status of the network. If it is the first time that the user connects to the Torouter then it loads the wizard.

That sounds like a reasonable flow.

wizard:

Guides the user through the steps of configuring the Torouter. @runa, @jake you would need to tell me exactly what the steps required should be. An example would be

step 1: The user is asked how he will connect to the internet. He chooses DHCP or static or whatever.
step 2: The user is asked how to configure his wifi network. ESSID, channel, etc.
step 3: He is asked how to configure Tor.

.. and so on. As I said I am not sure how you envisioned this. What are your ideas?

That sounds like a good start. We need at minimum, a way to set the eth0 interface up, set the eth1 interface as a NAT network or not, run a wifi ap0, etc.

status:

A detailed status page, containing more info than the main page. [insert specs for "detailed information" here]

That sounds good too.

config:

The advanced configuration interface. A good value for customizability/not_breakability should be found. By this I mean what kind of users are Torouter users? A good compromise between what they can do and what they can't do to avoid breaking stuff should be found [insert specs for what should be customizable]

I think that we should have a very small web config for tor at this point - arm has the code for verifying config options, we should reuse it.

Is there anything else?

Authentication, I suspect. :)

comment:3 in reply to:  1 ; Changed 8 years ago by runa

Replying to hellais:

I would like to know what the exact requirements for this web interface should be. What I deduce would be necessary is:

main page:

The main page contains an overview of the current status of the Tor router. Status if it is connected properly to Tor or not, and general information on the current status of the network. If it is the first time that the user connects to the Torouter then it loads the wizard.

The devices we ship will be pre-configured and ready to go, so I'm wondering if including a wizard will be a bit too much. The devices will be for tech users who know what they are doing, so having a web interface that allows users to change the default config should be enough.

The main page can show the status of services such as the Tor bridge, the Tor wifi or the normal wifi, whether or not there are any package updates for the system, if eth0 and eth1 are up, if the firewall is up (and maybe also the firewall rules) etc.

I think that showing all of the services listed above on one single page will be messy, so I suggest you pick the most important ones (like the status of the Tor bridge).

wizard:

Guides the user through the steps of configuring the Torouter. @runa, @jake you would need to tell me exactly what the steps required should be. An example would be

step 1: The user is asked how he will connect to the internet. He chooses DHCP or static or whatever.
step 2: The user is asked how to configure his wifi network. ESSID, channel, etc.
step 3: He is asked how to configure Tor.

.. and so on. As I said I am not sure how you envisioned this. What are your ideas?

By default, the device will be using DHCP to connect to the network, Tor will be running as a public bridge, the Tor wireless network will be disabled and the firewall will use some standard rules.

Users should be able to edit the configuration for the services listed above. This includes (I'm sure I've forgotten something, please don't see this as the complete list):

  1. Use of DHCP or static IP to connect to the network
  2. Option to enable (or disable) the transparent Tor wireless network
  3. Option to enable (or disable) the normal wireless network
  4. Option to configure Tor as (private) bridge or (exit) relay

status:

A detailed status page, containing more info than the main page. [insert specs for "detailed information" here]

At a minimum, we should show the Tor log (n last lines or something like that) on this page. If there are things you can't list on the main page, you might be able to put it here.

config:

The advanced configuration interface. A good value for customizability/not_breakability should be found. By this I mean what kind of users are Torouter users? A good compromise between what they can do and what they can't do to avoid breaking stuff should be found [insert specs for what should be customizable]

Is there anything else?

How about having a web interface with the following set of tabs:

  1. Main page (like we've discussed so far)
  2. Network (with everything network)
  3. Firewall (showing the current rules and allows users to set new rules)
  4. Tor (configure Tor as (private) bridge or (exit) relay), include option to see the log etc

The configuration options available should be the minimum necessary to get a service up a running; i.e. if you want to configure Tor to do lots of magic stuff, you can, but you'll need to edit the Tor config file manually.

How does this sound?

comment:4 in reply to:  3 Changed 8 years ago by hellais

Replying to runa:

The devices we ship will be pre-configured and ready to go, so I'm wondering if including a wizard will be a bit too much. The devices will be for tech users who know what they are doing, so having a web interface that allows users to change the default config should be enough.

The main page can show the status of services such as the Tor bridge, the Tor wifi or the normal wifi, whether or not there are any package updates for the system, if eth0 and eth1 are up, if the firewall is up (and maybe also the firewall rules) etc.

I think that showing all of the services listed above on one single page will be messy, so I suggest you pick the most important ones (like the status of the Tor bridge).

This does sound reasonable although I think the wizard would be of value most to a non techie crowd. From what I have seen with home routers, all of them have some sort of guided configuration when you first boot it up.
I just wonder if there is a way to make it work out of the box.

The items you are saying can surely be displayed.

By default, the device will be using DHCP to connect to the network, Tor will be running as a public bridge, the Tor wireless network will be disabled and the firewall will use some standard rules.

Users should be able to edit the configuration for the services listed above. This includes (I'm sure I've forgotten something, please don't see this as the complete list):

  1. Use of DHCP or static IP to connect to the network
  2. Option to enable (or disable) the transparent Tor wireless network
  3. Option to enable (or disable) the normal wireless network
  4. Option to configure Tor as (private) bridge or (exit) relay

Sounds good

At a minimum, we should show the Tor log (n last lines or something like that) on this page. If there are things you can't list on the main page, you might be able to put it here.

Ok.

config:

The advanced configuration interface. A good value for customizability/not_breakability should be found. By this I mean what kind of users are Torouter users? A good compromise between what they can do and what they can't do to avoid breaking stuff should be found [insert specs for what should be customizable]

Is there anything else?

How about having a web interface with the following set of tabs:

  1. Main page (like we've discussed so far)
  2. Network (with everything network)
  3. Firewall (showing the current rules and allows users to set new rules)
  4. Tor (configure Tor as (private) bridge or (exit) relay), include option to see the log etc

The configuration options available should be the minimum necessary to get a service up a running; i.e. if you want to configure Tor to do lots of magic stuff, you can, but you'll need to edit the Tor config file manually.

How does this sound?

This seems reasonable, although I would not dedicate a whole tab to Firewall or if Firewall has it's own tab so should Wireless imo.

Also, is there a git repo with the work you are doing on the Tor router (e.s. config files, init scripts, etc. ) ?

comment:5 Changed 8 years ago by runa

There's https://gitweb.torproject.org/torouter.git, will that work for you?

comment:6 Changed 8 years ago by ioerror

We are doing testing at the CCC Camp and have a demo web ui up here for a few hours: http://81.162.45.71:8080/

comment:7 Changed 8 years ago by ioerror

This is now implemented partially in the torouter-tui package for a basic web UI and by using tor-arm for the text ui.

comment:8 Changed 7 years ago by ficus

Owner: changed from hellais to ficus
Status: newaccepted

Current torouter-tui is only partially implemented and stale. I'm working on a simple web interface and will take this unless hellais really wants it.

comment:10 Changed 3 years ago by irl

Parent ID: #20747
Resolution: wontfix
Severity: Normal
Status: acceptedclosed

A web interface for Tor monitoring would be cool, and it exists: https://github.com/ralphwetzel/theonionbox. Closing this as no longer relevant. See also #20747.

Note: See TracTickets for help on using tickets.