Skip to content

net/shadowsocks: add explicit outbound blocklist#5541

Open
MrClayPole wants to merge 2 commits into
opnsense:masterfrom
MrClayPole:remove-shadowsocks-default-blocklist
Open

net/shadowsocks: add explicit outbound blocklist#5541
MrClayPole wants to merge 2 commits into
opnsense:masterfrom
MrClayPole:remove-shadowsocks-default-blocklist

Conversation

@MrClayPole

Copy link
Copy Markdown

Currently, the os-shadowsocks plugin allows the SOCKS proxy to connect to any destination accessible by the firewall; since the firewall is often in a privileged position on most networks, this is not aways ideal. This can allow a SOCKS proxy client to access internal VLANs/subnets that the source VLAN/subnet wouldn't normally be able to reach. This change exposes the ACL deny list in the web interface, allowing sensitive subnet connections to be denied from the SOCKS server.

My use case is that I want to provide an internet-facing SOCKS proxy but don't want users of the SOCKS proxy to be able to access other VLANs the OPNsense firewall is connected to.

This change will add optional ssserver outbound ACL generation using user-specified IPv4 and IPv6 destination blocklists. The generated ACL intentionally omits default private/reserved ranges, so administrators can choose the exact destinations to block.

Was AI used in this? Yes, I used Hermes Agent v0.18.2 (2026.7.7.2) connected to the GPT 5.5 model. While the agent authored the change, I performed all validation to ensure the plugin worked with the new feature disabled and IPv4 and IPv6 filters/drops worked as expected when enabled on my OPNsense 26.1.11 firewall.

Add optional ssserver outbound ACL generation using user-specified IPv4 and IPv6 destination blocklists. The generated ACL intentionally has no default private/reserved ranges so administrators choose the exact destinations to block.
Use TextField for the comma-separated outbound IPv4 and IPv6 blocklist inputs so values round-trip through the text form instead of being treated as list widget data.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant