105 Commits

Author SHA1 Message Date
Sunil Mohan Adapa
7f948d1111
tor: Simplify upstream bridges action code
- There is no need for separate subcommand as arguments can be passed in
  even when they have special characters such as \n in them.

- Enable obfs3 and scramblesuit transports also.  Since it is easy to
  support them and bridges site still provides them.  scramblesuit is
  also a nice alternative to obfs4.

- Minor refactoring/fixes.
2017-01-29 11:21:03 +05:30
Sunil Mohan Adapa
e3d0c7ba80
tor: Update upstream bridges javascript actions
- Always show relay and bridge relay options.  This is show to the users
  that the options are available but not enabled because of somethings
  else.  Otherwise, users may not be able to discover these important
  options.

- Simplify animation for upstream bridges text box.
2017-01-29 11:20:46 +05:30
Sunil Mohan Adapa
31cad0bf40
tor: Better validation for upstream bridges
- Convert line terminators in the form field so that it matches the
  current status information resulting in proper detection of change in
  value.

- Allow IPv6 addresses properly.  Allow "[ipv6]:port" format.

- Make specifying port optional.

- Allow spaces at the beginning and ending of the line to compensate for
  copy/paste errors.

- Allow empty lines between bridge specifications.

- Allow multiple spaces between the components.

- Raise error if upstream bridges are not provided when 'use upstream
  bridges' option is enabled.

- Write tests for upstream bridges validator.
2017-01-29 11:20:34 +05:30
Sunil Mohan Adapa
c311175797
tor: Update description for bridge options
- Mention that this option is for preventing censorship.

- Simplify description of upstream bridges.

- Give hyperlink to bridges.torproject.org.

- Make it slightly more clear that users can copy paste information from
  bridges page.

- Update list of supported transports.
2017-01-29 11:20:22 +05:30
James Valleroy
4162c2df86
tor: Catch one more possible error with bridge entries 2017-01-29 11:20:03 +05:30
James Valleroy
f52f3f70d2
tor: Fix async config and message regressions 2017-01-29 11:19:47 +05:30
James Valleroy
31f95cfb12
tor: Support obfs4 for upstream bridges
Refactor augeas lens for readability.
2017-01-29 11:19:34 +05:30
James Valleroy
4eaff44b49
tor: Hide relay options when upstream bridges are used
Move upstream bridge options above relay options.
2017-01-29 11:19:20 +05:30
James Valleroy
165e880329
tor: Move restart logic into plinth module 2017-01-29 11:18:42 +05:30
James Valleroy
5552853ee3
tor: Validate bridge entries 2017-01-29 11:18:08 +05:30
James Valleroy
09b58a8b99
tor: Add option to use upstream bridges 2017-01-29 11:17:41 +05:30
James Valleroy
85b87268b4
tor: Fix various issues related to plinth instance
- Remove extra newlines added to torrc.
- Remove comments added in random places to torrc.
- Enable tor instance during setup.
- Fix restarts to use tor instance.
- Revert change to augeas lens to attempt handling +.
- Add support for hyphens in values to augeas lens.
- Increment module version so setup can run again.
2017-01-08 15:36:59 -05:00
mridulnagpal
fdac901181
tor: Run tor-instance-create during setup 2017-01-08 14:55:37 -05:00
mridulnagpal
49106fe8ee
tor: Update setup to use plinth instance 2017-01-08 14:55:35 -05:00
Swapnil Gupta
615f0d0298
Update in licenses 2016-12-20 17:36:00 -05:00
Swapnil Gupta
699bdbfed6
Revert "Added license for inline js"
This reverts commit ee0d3745107c910e20350fa57c1fec7da7f90563.
2016-12-20 17:35:57 -05:00
Swapnil Gupta
cfe75b57f0
Added license for inline js 2016-12-20 17:35:54 -05:00
mridulnagpal
06fb7fab3b
License updated ikiwiki icon added title indented 2016-12-18 12:32:26 -05:00
James Valleroy
b234d0e1b3
Ensure that services are registered when modules complete setup 2016-12-04 13:45:31 -05:00
James Valleroy
5f1c72d647
tor: Only register service if module setup is complete 2016-12-04 13:45:29 -05:00
Sunil Mohan Adapa
ff0d117a89
Readjust the responsive widths of various tables
Most tables now occupy the full width of the container row.  Some of
them are otherwise squished.  Also make sure the new fixed container
layout has not reduced the originally intended width of a table.
2016-09-11 13:15:00 -04:00
Sunil Mohan Adapa
164948c75e
tor: Refactor showing loader icon
- So that it can be used for other applications also.

- Also remove second status icon in green and use the status loading in
  it's place.  This is more consistent placement of status icon.

- Also reduce the size of the icon as it is not indication for page
  loading (page loading icons are large because they substitute page
  content until it is loaded).  This makes it consistent with other
  status icon.
2016-08-26 21:51:44 -04:00
James Valleroy
438d5850f2
tor: Minor style changes to template 2016-07-28 18:44:59 -04:00
nikhil rayaprolu
f27615c748
tor status UI update 2016-07-28 18:36:36 -04:00
James Valleroy
806d258663
tor: Remove ownCloud reference from HS help text 2016-07-16 14:14:32 -04:00
Sunil Mohan Adapa
038fec97a6
tor: Ability to run regular relays
- Allow users to run regular relays.  In addition to that users will be
  able to turn them into bridge relays.  Like before, by default,
  relaying is enabled and the relay type bridge relay.

- Show obfs3/4 transport ports as needing firewall port forwarding only
  if bridge relay is enabled.

- Remove pluggable transports configuration from configuration when
  bridge rely is disabled.

- Improve description message for relays and bridge relays.
2016-07-16 13:43:29 -04:00
Sunil Mohan Adapa
70001c841f
tor: Minor improvements
- Minimize loading of Augeas since it takes time.

- Make some methods private

- PEP8 fixes
2016-07-16 13:43:23 -04:00
Sunil Mohan Adapa
13dd81713e
tor: Warn hidden service users about anonymity
- When Tor hidden service is enable along with regular web server, it is
  possible to de-anonymize the server.

- When Tor hidden service is enabled along with Tor relay, the hidden
  service can be de-anonymized by sending large traffic observing
  traffic patterns published by Tor relay.  See:
  https://trac.torproject.org/projects/tor/ticket/8742

Warn users not to rely on Tor hidden service functionality for strong
anonymity.  We can remove this warning when implement a mechanism to
disable most other services when Tor hidden service is enabled.
2016-07-08 23:19:23 +05:30
James Valleroy
38382ec09c
tor: Add option to toggle bridge relay 2016-07-08 23:19:16 +05:30
James Valleroy
1c98d1272f
tor: Use single command to get status
Merge get_ports and get_hs into get_status.
2016-07-08 23:19:09 +05:30
Sunil Mohan Adapa
5f548a9e36
packages: Make modules declare managed packages
This can then be used by a privileged action to verify that packages
requested for installation are in fact valid.  This slightly improves
security of those privileged actions.
2016-06-11 12:11:32 -04:00
Sunil Mohan Adapa
ad61028a3a
menu: Sort menu items for all locales
Currently menu items are shown in alphabetical order in applications and
no clear order in system configuration.  This is done using static
weights for menu items based on English names that does not work for
other locales.

Sorting can't be done at the time of adding menu items as users of
multiple locales may use the interface at the same time.

Implement a sorting mechanism based on existing order as well as labels
of menu item.  This allows the flexiblity of grouping menu items in
future as it may be need for system configuration.  In case of help menu

Remove sort order for all modules except for help menu as here we want
that specific order.
2016-06-06 17:44:59 -04:00
Sunil Mohan Adapa
f245e7e763
firewall: Explicitly specify ports for services
It has become confusing to reuse the name of the service for name of the
systemd unit file and firewall port.  This has lead to the regression
that quassel, mumble and minetest can no longer open firewall ports.
Fix this by explicitly specifying ports all services.
2016-06-05 15:44:41 -04:00
fonfon
bc2cba0cbf
tor: remove circular import 2016-05-11 18:19:49 -04:00
fonfon
398e6d7b14
Services: fix unittests 2016-05-11 18:19:39 -04:00
fonfon
b54846b0ce
Services: Template restructuring
- renamed app.html to simple_service.html
- allow hiding the 'status' block instead of using separate
  apache_service.html template
2016-05-11 18:19:35 -04:00
fonfon
f419c28596
Services: Explicitly use ServiceForm and ServiceView
- adapted all modules to not use views.ConfigurationView anymore
- removed templates that are not needed anymore
- no more implicit 'enabled' and 'get_status' functions in __init__.py files
- (more coherent/explicit use of Django functionality)
2016-05-11 18:19:31 -04:00
fonfon
a9528c56d9
Service object to handle services on a system-level
The Service object now offers handling services on a system level,
and gathering information whether it's enabled or running.
New methods: enable, disable, is_enabled, is_running;

For this it needs the correct (system-level) service name.
All of the methods can be overridden/customized.

This changes all modules to the new Service object and deletes
action scripts that are not required anymore.
2016-05-11 18:19:27 -04:00
James Valleroy
a6417c59a7
tor: Use augeas to modify configuration.
- Use json to get info from action script.
- Add SSH port to hidden service.
- Enable hidden service during setup.
2016-03-15 18:50:51 -04:00
Sunil Mohan Adapa
f04e1c1657
Minor PEP8 & spelling fixes in various modules 2016-02-28 19:38:53 +05:30
Sunil Mohan Adapa
ac558568ba
tor: Use new setup mechanism 2016-02-13 13:52:11 +05:30
Sunil Mohan Adapa
7f4c5f7410
Make app names as module identifiers
- The last part of the module import path is the module name.  This also
  becomes the Django app name.  Apps names have to be unique.  Hence,
  there is no scope for two different modules with same name but
  different load path to exist in the project.

- Most uses of list of loaded modules are dealing with app names instead
  of full module load path.  This is due to the fact that Django deals
  with app names and not module paths.

- It is also somewhat clumsy to access a loaded module as we are
  re-importing every time to get access module.

- Simplify all of the above by using app names are module identifiers
  and maintaing an ordered dictionary of app names to loadded modules.

- Remove unused imports.

- Minor styling fixes.
2016-02-13 13:49:23 +05:30
Sunil Mohan Adapa
65a1985cc0
tor: Minor fixes and styling
- Add note about resetarting firewalld.

- Refactor checking for running configuration process.

- Fix error message being show as info message.

- Minor indentation fixes.
2016-01-30 19:41:13 +05:30
James Valleroy
e401a5a028
tor: Get fresh status after config completes 2016-01-30 18:08:56 +05:30
James Valleroy
07130b6007
tor: Run configuration update as background task
- Closes: #294.
2016-01-30 18:08:40 +05:30
James Valleroy
0844151244
tor: Combine all configuration actions 2016-01-30 18:07:42 +05:30
James Valleroy
a3845e2b28
tor: Add service for bridge relay ports 2016-01-30 18:07:34 +05:30
James Valleroy
315c7f1e93
tor: Notify firewall about socks service status 2016-01-30 18:07:04 +05:30
James Valleroy
376b5c6feb
tor: Refactor into separate files for forms/views 2016-01-30 18:06:33 +05:30
Caly
15312fe595
Update messages for simplicity/consistency/grammer
- Closes #375 and #380.

- More use of configurable brand name.
2016-01-24 12:14:25 +05:30