deluge: Add protection to local service using firewall

Tests:

- When app is freshly installed, nft rules are inserted.

- Trying to connect to local daemon from fbx user fails.

- Functional tests pass.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
This commit is contained in:
Sunil Mohan Adapa 2022-11-11 11:16:19 -08:00 committed by James Valleroy
parent 05e5ec4011
commit 9198a00038
No known key found for this signature in database
GPG Key ID: 77C0C75E7B650808

View File

@ -8,7 +8,8 @@ from plinth import frontpage, menu
from plinth.daemon import Daemon
from plinth.modules.apache.components import Webserver
from plinth.modules.backups.components import BackupRestore
from plinth.modules.firewall.components import Firewall
from plinth.modules.firewall.components import (Firewall,
FirewallLocalProtection)
from plinth.modules.users import add_user_to_share_group
from plinth.modules.users.components import UsersAndGroups
from plinth.package import Packages
@ -29,7 +30,7 @@ class DelugeApp(app_module.App):
app_id = 'deluge'
_version = 6
_version = 7
def __init__(self):
"""Create components for the app."""
@ -68,6 +69,10 @@ class DelugeApp(app_module.App):
ports=['http', 'https'], is_external=True)
self.add(firewall)
firewall_local_protection = FirewallLocalProtection(
'firewall-local-protection-deluge', ['8112'])
self.add(firewall_local_protection)
webserver = Webserver('webserver-deluge', 'deluge-plinth',
urls=['https://{host}/deluge'])
self.add(webserver)