reasons:
- unix domain socket listener only
- can rewrite client requests before using config files
- thereby inject workstation IP address into add_onion command (T562)
- can rewrite replies by Tor using config files
- thereby prevent the workstation from learning the hidden service private key
- less work than implementing the same with Whonix control-port-filter-python
- sharing code with Tails
- written in python3
disadvantages:
- no configuration drop-in snippet configuration extension feature, see T576
- https://www.whonix.org/wiki/Dev/Control_Port_Filter_Proxy#tor-controlport-filter_by_Tails
- https://git-tails.immerda.ch/tails/tree/config/chroot_local-includes/usr/local/lib/tor-controlport-filter?h=feature%2F7870-include_onionshare
- https://git-tails.immerda.ch/tails/tree/config/chroot_local-includes/etc/tor-controlport-filter.d?h=feature/7870-include_onionshare