diff --git a/actions/tor b/actions/tor index 0c2cdbfb0..f72c7fd5e 100755 --- a/actions/tor +++ b/actions/tor @@ -34,10 +34,6 @@ def parse_arguments(): parser = argparse.ArgumentParser() subparsers = parser.add_subparsers(dest='subcommand', help='Sub command') - # Get whether Tor is installed - subparsers.add_parser('get-installed', - help='Get whether Tor is installed') - # Get whether Tor is running subparsers.add_parser('is-running', help='Get whether Tor is running') @@ -59,11 +55,6 @@ def parse_arguments(): return parser.parse_args() -def subcommand_get_installed(_): - """Get whether Tor is installed""" - print('installed' if get_installed() else 'not installed') - - def subcommand_is_running(_): """Get whether Tor is running""" try: @@ -101,7 +92,7 @@ def subcommand_get_hs(_): def subcommand_enable_hs(_): """Enable Tor hidden service""" - if not get_installed() or get_hidden_service(): + if get_hidden_service(): return with open(TOR_CONFIG, 'r') as conffile: @@ -121,7 +112,7 @@ def subcommand_enable_hs(_): def subcommand_disable_hs(_): """Disable Tor hidden service""" - if not get_installed() or not get_hidden_service(): + if not get_hidden_service(): return with open(TOR_CONFIG, 'r') as conffile: @@ -154,19 +145,8 @@ def subcommand_disable_hs(_): subprocess.call(['service', 'tor', 'restart']) -def get_installed(): - """Get whether Tor is installed""" - with open('/dev/null', 'w') as file_handle: - status = subprocess.call(['which', 'tor'], stdout=file_handle) - - return not status - - def set_tor_service(enable): """Enable/disable Tor service; enable: boolean""" - if not get_installed(): - return - newline = 'RUN_DAEMON="yes"\n' if enable else 'RUN_DAEMON="no"\n' with open(SERVICE_CONFIG, 'r') as file: @@ -182,9 +162,6 @@ def set_tor_service(enable): def get_hidden_service(): """Return a string with configured Tor hidden service information""" - if not get_installed(): - return '' - hs_dir = None hs_ports = [] diff --git a/plinth/modules/tor/templates/tor.html b/plinth/modules/tor/templates/tor.html index 73d571232..7d43c2457 100644 --- a/plinth/modules/tor/templates/tor.html +++ b/plinth/modules/tor/templates/tor.html @@ -24,8 +24,6 @@

Tor

-{% if is_installed %} -

Status

@@ -80,15 +78,6 @@ port-forwarded, if necessary:

A Tor SOCKS port is available on your {{ cfg.box_name }} on TCP port 9050.

-{% else %} - -

Tor is not installed, please install it. Tor comes pre-installed - with {{ cfg.box_name }}. On any Debian-based system (such as - {{ cfg.box_name }}) you may install it using the command - aptitude install tor.

- -{% endif %} - {% endblock %} {% block sidebar %} diff --git a/plinth/modules/tor/tor.py b/plinth/modules/tor/tor.py index 9c2fa4308..7e300d169 100644 --- a/plinth/modules/tor/tor.py +++ b/plinth/modules/tor/tor.py @@ -27,6 +27,7 @@ from gettext import gettext as _ from plinth import actions from plinth import cfg +from plinth import package class TorForm(forms.Form): # pylint: disable=W0232 @@ -43,6 +44,7 @@ def init(): @login_required +@package.required('tor') def index(request): """Service the index page""" status = get_status() @@ -61,7 +63,6 @@ def index(request): return TemplateResponse(request, 'tor.html', {'title': _('Tor Control Panel'), - 'is_installed': status['is_installed'], 'is_running': status['is_running'], 'tor_ports': status['ports'], 'tor_hs_enabled': status['hs_enabled'], @@ -72,9 +73,6 @@ def index(request): def get_status(): """Return the current status""" - is_installed = actions.superuser_run( - 'tor', - ['get-installed']).strip() == 'installed' is_running = actions.superuser_run('tor', ['is-running']).strip() == 'yes' output = actions.superuser_run('tor-get-ports') @@ -103,8 +101,7 @@ def get_status(): hs_hostname = hs_info[0] hs_ports = hs_info[1] - return {'is_installed': is_installed, - 'is_running': is_running, + return {'is_running': is_running, 'ports': ports, 'hs_enabled': hs_enabled, 'hs_hostname': hs_hostname,