FreedomBox can run a Shadowsocks client, which connects to a Shadowsocks server. It will also run a SOCKS5 proxy. Local devices can connect to this proxy, and their data will be encrypted and proxied through the Shadowsocks server.
FreedomBox does not currently offer a Shadowsocks server. If you want to run a Shadowsocks server on FreedomBox, you would need to manually install it.
FYI, you can demo the Shadowsocks client app on FreedomBox here: https://freedombox.org/demo/
FreedomBox offers the following use cases for Tor by default. Additional use cases will need to be configured manually:
Tor Hidden Services: A hidden service will allow FreedomBox to provide selected services (such as wiki or chat) without revealing its location. Do not use this for strong anonymity yet.
Download software packages over Tor: When enabled, software will be downloaded over the Tor network for installations and upgrades. This adds a degree of privacy and security during software downloads.
Enable Tor relay: When enabled, your FreedomBox will run a Tor relay and donate bandwidth to the Tor network. Do this if you have more than 2 megabits/s of upload and download bandwidth.
Enable Tor bridge relay: When enabled, relay information is published in the Tor bridge database instead of public Tor relay database making it harder to censor this node. This helps others circumvent censorship.
FYI, you can also demo the Tor app on FreedomBox here: https://freedombox.org/demo/
I highly recommend demoing Tor–it makes it easy to see what you can do by default, and what you will need to manually configure.
The static site generator that FreedomBox offers is Ikiwiki. If you want to use a different static website generator, you can manually install it.
Our team discussed this topic extensively on GitLab, on a topic created by @njoseph. Please check it out to learn more: https://salsa.debian.org/freedombox-team/plinth/issues/1323
If your internet provider does not give you a fixed public IP address, then you may have some trouble. I understand that some developers on our team are working on recommendations for that common scenario, but I myself don’t know how to proceed. Perhaps others can help.