7632 Commits

Author SHA1 Message Date
James Valleroy
e6a28d5819
Release v22.17 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v22.17
2022-08-01 21:02:44 -04:00
James Valleroy
2ba85dff33
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-08-01 21:00:06 -04:00
James Valleroy
27a645c1ec
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-08-01 20:20:41 -04:00
Sunil Mohan Adapa
6db1029d27
help: tests: Fix about page test by mocking version calls
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-08-01 16:01:20 -07:00
Sunil Mohan Adapa
9647b00278
help: Update test for contribute view
- Verify that issue data is sent in context properly.

- Ensure that an external request is not made during testing.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-08-01 15:44:10 -07:00
James Valleroy
e5a866dd64
help: Add "How can I help?" section to Contribute page
This doesn't use the how-can-i-help package, but it is a similar
implementation that fetches the same data from udd.debian.org.

There are sections for the following issues:
- Packages that will be removed from Debian testing
- Packages that are not in Debian testing
- Good first issues for beginners
- Issues for which the package maintainer has requested help

The overall "How can I help?" section is collapsed by default.

Test:
- View the page in stable and testing container.
- Run help functional tests.

Closes: #536

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
[sunil: Minor indentation fix]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-08-01 14:09:47 -07:00
nbenedek
eeca9c05ba
wordpress: Don't install php-ssh2
Additional plugin and theme installation is done with the 'direct filesystem
method' as opposed to ssh, so this package is not needed.

Signed-off-by: Benedek Nagy <contact@nbenedek.me>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-08-01 10:55:05 -07:00
Maxime Leroy
e99d42fcc0
Translated using Weblate (French)
Currently translated at 100.0% (1462 of 1462 strings)
2022-07-22 23:16:10 +02:00
Eric
9bd967b591
Translated using Weblate (Chinese (Simplified))
Currently translated at 69.2% (1012 of 1462 strings)
2022-07-20 09:18:38 +02:00
Burak Yavuz
ecb91b2871
Translated using Weblate (Turkish)
Currently translated at 100.0% (1462 of 1462 strings)
2022-07-20 09:18:37 +02:00
ikmaak
b4f9fe2678
Translated using Weblate (Dutch)
Currently translated at 100.0% (1462 of 1462 strings)
2022-07-20 09:18:37 +02:00
ikmaak
39ec3e697b
Translated using Weblate (German)
Currently translated at 100.0% (1462 of 1462 strings)
2022-07-20 09:18:36 +02:00
James Valleroy
7f075ae147
Release v22.16 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v22.16
2022-07-18 20:50:38 -04:00
James Valleroy
62ba17c8a5
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-18 20:49:26 -04:00
James Valleroy
731025511c
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-18 20:16:52 -04:00
James Valleroy
8daf3d660b
debian: Follows policy version 4.6.1
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-18 20:14:29 -04:00
James Valleroy
2debe860f4
debian: Update copyright year
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-18 20:06:21 -04:00
James Valleroy
c72225de40
rssbridge: Fix flake8 errors
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 18:57:13 -07:00
Sunil Mohan Adapa
20081ee5d1
roundcube: Use privileged to simplify actions
Tests:

- Functional tests pass

- Same tests as previous patch for setting logging to syslog.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 17:23:18 -04:00
nbenedek
6c86da022e
roundcube: Add fail2ban jail
Default backend for fail2ban is systemd journal. Roundcube will be configured in
FreedomBox to log to journal (via syslog).

Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 17:22:52 -04:00
Sunil Mohan Adapa
253ddb0c18
roundcube: Configure to log to journald
Tests:

- On a fresh container, install roundcube. log_driver is set to syslog in
freedombox-config.conf.

- Install roundcube without the changes. Enable local only. Apply the changes
and restart service. roundcube setup is run. log_driver is set to syslog in
freedombox-config.conf. Setting is still local-only.

- Install roundcube without the changes. Disable local only. Apply the changes
and restart service. roundcube setup is run. log_driver is set to syslog in
freedombox-config.conf. Setting is still not local-only.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 17:22:30 -04:00
Sunil Mohan Adapa
8c4999eabd
config: Set volatile logging by default
This reduces the number of writes to the disk improving disk longevity and IO
performance. Note that systemd-journald is already very reasonable with how
often it writes to the disk. It's flush interval is 5 minutes.

Most users of FreedomBox are not expected to see logs. Those that see the logs
do so for debugging purposes. Debugging can still be done if reboot does not
occur. Users can change the logging mode to 'persistent' before debugging issues
that require reboot. This makes debugging harder for non-reproducible bugs, but
is, at present, considered an acceptable compromise.

Tests:

- On a fresh container, with the patch applied, config page shows 'volatile' as
the logging mode.

- On an container with changes not applied, start freedombox service. Then apply
the patch and restart service. config app setup will be run. Config page shows
'volatile' as the logging mode.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 16:55:06 -04:00
Sunil Mohan Adapa
80a203bd23
config: Add option to set logging mode: none/volatile/persistent
- None disables logging altogether. This is useful when we want to prevent
FreedomBox from collecting IP addresses of visitors and other sensitive
information.

- Volatile logs are kept in RAM until the system is rebooted. Only 5% of RAM
will be used at most and only 2 days worth of logs are kept.

- Permanent will store logs into /var/log/journal. systemd-journald defaults
will apply. 10% of disk capacity is used at most, capped at 4GiB. Also logging
will stop if free space is below 15%. Maximum of 100 files are kept. No time
based cleanup is done.

Tests:

- Set the logging mode to disabled. Observe that `journalctl -f` does not show
any logs (say when performing plinth actions).

- Set the logging mode to volatile. Observe that `journalctl` shows that logging
is set to /run/log/journal/ and 5% of available memory is set as maximum.

- Set the logging mode to persistent. Observe that `journalctl` shows that
logging is set to /var/log/journal/ and 10% of disk space is set as maximum.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 16:54:46 -04:00
Sunil Mohan Adapa
bf1ed7d064
apache: Redirect all logs to systemd journal
- Redirect with separate identifiers so that they can retrieved separately.

- Enable virtual host log format that include name of the domain accessed so
that that information is preserved.

- There is no need to increment the apache app's version number as it has been
incremented earlier in the patch series (for this release).

Tests:

- In a fresh container, setup succeeds. Default apache sites 000-default.conf
and default-ssl.conf are disabled. freedombox-default.conf is enabled. Apache
access logs and error logs are sent to systemd journal.

- Without the patch applied, create a container. Run setup and access Plinth
interface. Apply the patches. Apache setup is run. a2query -s default and
a2query -s 000-default show that sites are not enabled. a2query -s
freedombox-default shows that site is enabled. Apache access logs and error logs
are sent to systemd journal.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 12:07:55 -04:00
Sunil Mohan Adapa
d6131df6a8
apache: Also configure to serve on /freedombox
This is useful mostly for future when we may switch from /plinth to /freedombox.

Tests:

- Accessing /freedombox/app/transmission works. Although redirects generated by
the FreedomBox web service still redirect to /plinth. For example, redirection
after logout and auto-redirection to login page.

- Accessing pages of FreedomBox works as usual on /plinth and /freedombox.
Content-Security-Policy is set.

- Accessing /foo/plinth/app/transmission throws 404.

- Accessing http:// redirects to https:// for /plinth and /freedombox.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 12:07:55 -04:00
Sunil Mohan Adapa
f8f7dd22b5
apache: Merge old configuration files into a better location
- It is simpler to keep all the configuration in a single file. Any overrides
are expected to be done by writing additional configuration files with higher
priority.

- /etc/apache2/site-available/ is typically reserved for virtual host
configurations. Redirections and proxying for all virtual hosts rather belongs
in /etc/apache2/conf-available/.

- This looses the option of disabling plinth-ssl.conf when needed. In the
initial days of enabling TLS, there was a need felt to keep the option of easily
disabling redirection to TLS in case there is a need for it. However, TLS
certificate setup is mature and the limitations are well understood. There is no
longer a need for it. It still may be possible to avoid the redirection with an
additional configuration.

Tests:

- In a fresh container, setup succeeds. Redirecting to https:// for /plinth
works. FreedomBox web interface is available.

- Without the patch applied created a container. Run setup and access Plinth
interface. Apply the patches. Apache setup is run. a2query -s plinth and a2query
-s plinth-ssl show that sites are not enabled. Redirecting to https:// for
/plinth works. FreedomBox web interface is available.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-17 12:07:55 -04:00
James Valleroy
2b6b025bcf
janus: Change short description to "Video Room"
This makes it clearer why one would wish to install and use this app.

Closes #2236.

Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 09:05:51 -07:00
Sunil Mohan Adapa
b2e6508b16
rssbridge: Add functional tests
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 09:04:54 -07:00
Sunil Mohan Adapa
556c476de4
rssbridge: Whitelist all bridges by default
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 09:04:51 -07:00
nbenedek
9efc56368c
rssbridge: New app to generate RSS feeds for websites
[sunil: Update description for simplicity, group info]
[sunil: Indentation fixes]
[sunil: End all URLs with a slash]
[sunil: Update frontpage shortcut to be a simple one]
[sunil: Enable single-sign-on for main interface only]
[sunil: In copyright file, merge with public-domain section]
[sunil: Simplify and vectorify the icon]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-17 09:04:48 -07:00
109247019824
9de181b730
Translated using Weblate (Bulgarian)
Currently translated at 32.9% (479 of 1455 strings)
2022-07-16 15:21:25 +02:00
Veiko Aasa
545b35c0aa
gitweb: Switch default branch name to main for new repositories
I tested additionally that if the root user has already configured
default branch other than main, it is not changed by the gitweb app
setup process.

Signed-off-by: Veiko Aasa <veiko17@disroot.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-15 20:54:32 -04:00
Sunil Mohan Adapa
99d8be9d2a
cockpit: Use decorator for privileged actions
Tests:

- Login to Cockpit on a freshly setup container.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-15 20:37:13 -04:00
Sunil Mohan Adapa
c163601b6c
cockpit: Reconfigure to allow any origin
When Cockpit is not configured any origins, it uses the host and protocol of the
incoming request to set the allowed origin for WebSocket connections. By
ensuring that the original host/protocol is passed on to Cockpit from the
browser, we can eliminate the need for configuring a pre-determined list of
origins. Passing the host and protocol from the browser is done by setting
ProxyPreserveHost and using https:// for proxying.

For a cross-site request, Origin: and Host: entries won't match and '403
Forbidden' is thrown. So, this approach is still safe.

Tests:

- Without the patch, access Cockpit using IP address and it fails. Apply the
patch. Cockpit setup should run. Origins= directive in the configuration file
/etc/cockpit/cockpit.conf should get removed. Accessing with IP address and
logging in succeeds.

- Freshly setup a container with the patch and access Cockpit using IP address.
This works and login succeeds.

- Test on stable and testing containers.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-15 20:37:04 -04:00
Sunil Mohan Adapa
372ecdcda9
privoxy: Use privileged decorator for actions
Tests:

- App installation works. Proxying works when configured with Firefox.
listen-address and permit-access directives are set as expected in the
configuration file.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-13 19:41:45 -07:00
nbenedek
de2c246dbd
privoxy: Restrict to private IPs, prevent access over the internet
- Make sure a user might not run Privoxy as an open proxy, potentially giving
unwanted access to local resources. Only private IP classes are allowed to
connect.

Tests:

- Freshly install privoxy app. permit-access directives are set in the
configuration. Proxy works when tested with a private IP address with Firefox.

- Install privoxy app without the changes. Apply the changes, privoxy setup
should run. permit-access directives are set in the configuration. Proxy works
when tested with a private IP address with Firefox.

- Privoxy works when accessed with IPv4 address (such as 10.42.0.x) and IPv6
address (such as fe80:y:z%ve-fbx-testing).

[sunil: Use Spacevars augeus lens to edit the configuration file]
[sunil: Update IP ranges with auto-configuration, IPv6 addresses, etc.]
[sunil: Update description to mention that only local IPs are allowed]
Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: Sunil Mohan Adapa <sunil@medhas.org>
2022-07-13 19:41:42 -07:00
Maxime Leroy
864c269f3d
Translated using Weblate (French)
Currently translated at 100.0% (1455 of 1455 strings)
2022-07-14 00:17:56 +02:00
Sunil Mohan Adapa
08821787bf
cockpit: Depend on apache and setup after it
Closes: #2089.

Tests:

- Regular startup works without errors. Cockpit is ordered after Apache.

- After creating a fresh container, Cockpit works as expected. Cockpit setup
runs after Apache setup.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-12 20:00:18 -04:00
109247019824
d5c0a221c9
Translated using Weblate (Bulgarian)
Currently translated at 32.7% (477 of 1455 strings)
2022-07-12 05:04:47 +02:00
Nikita Epifanov
d9a13d32e2
Translated using Weblate (Russian)
Currently translated at 100.0% (1455 of 1455 strings)
2022-07-12 05:04:47 +02:00
109247019824
ca5001aa4e
Translated using Weblate (Bulgarian)
Currently translated at 32.5% (473 of 1455 strings)
2022-07-10 20:16:22 +02:00
Nikita Epifanov
eee90a2650
Translated using Weblate (Russian)
Currently translated at 100.0% (1455 of 1455 strings)
2022-07-10 20:16:22 +02:00
Maxime Leroy
34c6a07c36
Translated using Weblate (French)
Currently translated at 99.1% (1442 of 1455 strings)
2022-07-10 20:16:21 +02:00
109247019824
d11e2d4c27
Translated using Weblate (Bulgarian)
Currently translated at 32.4% (472 of 1455 strings)
2022-07-07 06:21:44 +02:00
Andrij Mizyk
3250397569
Translated using Weblate (Ukrainian)
Currently translated at 83.6% (1217 of 1455 strings)
2022-07-07 06:21:43 +02:00
Eric
db642c8b96
Translated using Weblate (Chinese (Simplified))
Currently translated at 69.6% (1013 of 1455 strings)
2022-07-07 06:21:43 +02:00
James Valleroy
d0118752f2
Release v22.15 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v22.15
2022-07-04 21:43:09 -04:00
James Valleroy
70f9af7341
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-04 21:42:33 -04:00
James Valleroy
e7f432f914
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2022-07-04 21:23:21 -04:00
Andrij Mizyk
55bc21b5fc
Translated using Weblate (Ukrainian)
Currently translated at 83.5% (1216 of 1455 strings)
2022-07-05 03:21:41 +02:00