os-shadowsocks uses deprecated FreeBSD port shadowsocks-libev instead of using current shadowsocks-rust
Important notices Before you add a new report, we ask you kindly to acknowledge the following:
- [x] I have read the contributing guide lines at https://github.com/opnsense/plugins/blob/master/CONTRIBUTING.md
- [x] I have searched the existing issues, open and closed, and I'm convinced that mine is new.
- [x] The title contains the plugin to which this issue belongs
Describe the bug shadowsocks-libev as part of OPNsense is deprecated and uses deprecated dependencies: pcre-8.45_4 mbedtls-2.28.9
To Reproduce Steps to reproduce the behavior:
- Go to 'System > Firmware > Plugins'
- Click on 'os-shadowsocks' to install the plugin
- See install log stating the plugin itself being abandonware and the packages dependencies as deprecated
Expected behavior Expected to have a os-shadowsocks that is the current FreeBSD port: https://www.freshports.org/net/shadowsocks-rust/ Instead the os-shadowsocks featured in OPNsense is the deprecated FreeBSD port: https://www.freshports.org/net/shadowsocks-libev/
Screenshots If applicable, add screenshots to help explain your problem.
Relevant log files Full install log from OPNsense web GUI below
***GOT REQUEST TO INSTALL***
Currently running OPNsense 25.1.5_5 (aarch64) at Sun Apr 27 20:39:23 CEST 2025
Updating OPNsense repository catalogue...
OPNsense repository is up to date.
All repositories are up to date.
The following 6 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
c-ares: 1.34.4
libev: 4.33_1,1
mbedtls: 2.28.9
os-shadowsocks: 1.1
pcre: 8.45_4
shadowsocks-libev: 3.3.5_3
Number of packages to be installed: 6
The process will require 11 MiB more space.
2 MiB to be downloaded.
[1/6] Fetching libev-4.33_1,1.pkg: .......... done
[2/6] Fetching os-shadowsocks-1.1.pkg: . done
[3/6] Fetching shadowsocks-libev-3.3.5_3.pkg: .......... done
[4/6] Fetching c-ares-1.34.4.pkg: .......... done
[5/6] Fetching pcre-8.45_4.pkg: .......... done
[6/6] Fetching mbedtls-2.28.9.pkg: .......... done
Checking integrity... done (0 conflicting)
[1/6] Installing libev-4.33_1,1...
[1/6] Extracting libev-4.33_1,1: .......... done
[2/6] Installing c-ares-1.34.4...
[2/6] Extracting c-ares-1.34.4: .......... done
[3/6] Installing pcre-8.45_4...
[3/6] Extracting pcre-8.45_4: .......... done
[4/6] Installing mbedtls-2.28.9...
[4/6] Extracting mbedtls-2.28.9: .......... done
[5/6] Installing shadowsocks-libev-3.3.5_3...
[5/6] Extracting shadowsocks-libev-3.3.5_3: .......... done
[6/6] Installing os-shadowsocks-1.1...
[6/6] Extracting os-shadowsocks-1.1: .......... done
Stopping configd...done
Starting configd.
Migrated OPNsense\Shadowsocks\General from 0.0.0 to 1.0.1
Migrated OPNsense\Shadowsocks\Local from 0.0.0 to 1.0.1
Reloading plugin configuration
Configuring system logging...done.
Reloading template OPNsense/Shadowsocks: OK
=====
Message from pcre-8.45_4:
--
===> NOTICE:
This port is deprecated; you may wish to reconsider installing it:
EOLed by upstream, use devel/pcre2 instead.
=====
Message from mbedtls-2.28.9:
--
===> NOTICE:
This port is deprecated; you may wish to reconsider installing it:
Upstream support ends at the end of 2024.
It is scheduled to be removed on or after 2024-12-31.
=====
Message from shadowsocks-libev-3.3.5_3:
--
===> NOTICE:
This port is deprecated; you may wish to reconsider installing it:
Abandonware, no active development. Please migrate to net/shadowsocks-rust.
It is scheduled to be removed on or after 2024-11-30.
Checking integrity... done (0 conflicting)
Nothing to do.
***DONE***
Environment OPNsense 25.1.5_5
We need to keep this open, since the plugin still needs to be changed.
And here I was thinking the merge was sufficient to call it job done. Thanks @fichtner fo your guidance.
Any further action I should take for this plugin change, or we're now on a trajectory for the new OPNsense version to automatically feature this updated plugin? (and I'll close this at next release)
@eguun I think @mimugmail can pick this up when 25.1.7 hits which offers the new package. Just needs a test that plugin is still working the same, or may need a tiny bit of adaption. So I wouldn't expect the final result before .8 or .9.
shadowsocks-rust fails to build on aarch64. There doesn't seem to be an official FreeBSD aarch64 package either.
@maurice-w want to do a PR or should I add the exception?
@fichtner I can do a PR for excluding shadowsocks-rust on aarch64, but what happens when we change the plugin from shadowsocks-libev to shadowsocks-rust? Could we keep using shadowsocks-libev on aarch64 while switching to shadowsocks-rust on amd64 only?
with a bit of plugin glue we could.. I can take care of that when @mimugmail moves forward with this
May have found the underlying issue in the TUN rust crate. Let's see if we can get this fixed.
meh/rust-tun#119
May have found the underlying issue in the TUN rust crate. Let's see if we can get this fixed.
Thanks @fichtner and @maurice-w for this fast deep dive into the root cause & fix proposal.
- issue meh/rust-tun#119 is now fixed
- package shadowsocks-rust updated its dependencies version to benefit from that fix shadowsocks/shadowsocks-rust#1960
Pending issues seems all fixed
@eguun shadowsocks-rust indeed updated the dependency in master, but the current release 1.23.4 still uses the broken rust-tun 0.7.19. I'll wait for the next shadowsocks-rust release, then try the aarch64 build again and, if successful, remove the exclusion in opnsense/tools.
Many thanks for your support.
I saw 1.23.5 was freshly released a few hours ago. Hopefully this would work, otherwise, is there some ask I can raise to the maintainers?
On Thu, 12 Jun 2025 at 18:26, Maurice Walker @.***> wrote:
maurice-w left a comment (opnsense/plugins#4662) https://github.com/opnsense/plugins/issues/4662#issuecomment-2967487367
@eguun https://github.com/eguun shadowsocks-rust indeed updated the dependency in master, but the current release 1.23.4 still uses the broken rust-tun 0.7.19. I'll wait for the next shadowsocks-rust release, then try the aarch64 build again and, if successful, remove the exclusion in opnsense/tools.
— Reply to this email directly, view it on GitHub https://github.com/opnsense/plugins/issues/4662#issuecomment-2967487367, or unsubscribe https://github.com/notifications/unsubscribe-auth/AS3DOJ4HSTHP6HFXKLB5GUD3DGS2HAVCNFSM6AAAAAB4BFTRPGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDSNRXGQ4DOMZWG4 . You are receiving this because you were mentioned.Message ID: @.***>
@eguun You can see on Freshports which version the FreeBSD port uses and which builds are successful. Once an aarch64 package pops up there (probably in a few days), I'll try building it again and, if successful, create a PR to revert the exclusion in OPNsense tools.
Then the plugin itself can be changed by @mimugmail without special considerations for aarch64.
Thank you @maurice-w to walk me through the process. I will monitor the freshport page https://www.freshports.org/net/shadowsocks-rust
They manually added the rust-tun patch instead of updating to 1.23.5: freebsd/freebsd-ports@df5c417 Not sure why, maybe just unfortunate timing. But shouldn't matter to us.
@fichtner Could you please sync net/shadowsocks-rust with upstream?
Thanks @fichtner! The shadowsocks-rust aarch64 build was now successful and I created a PR for including it.
Thanks @fichtner! The shadowsocks-rust aarch64 build was now successful and I created a PR for including it.
That's a critical step forward, bravo @maurice-w Looking back on the steps made on this thread to overcome challenges, it's a fantastic collaboration seeing results!
It’s a slow moving target but it’s moving. 😉
FYI,
Since last night, https://www.freshports.org/net/shadowsocks-rust is now featuring an aarch64 version of the plugin
if @mimugmail agrees I can make the switch in the package: either only devel or for 25.7. As far as I understand this is a drop-in replacement?
@eguun The shadowsocks-rust aarch64 package is now available on my repo: https://opnsense-update.walker.earth/FreeBSD:14:aarch64/25.1/latest/All/shadowsocks-rust-1.23.4_2.pkg
if @mimugmail agrees I can make the switch in the package: either only devel or for 25.7. As far as I understand this is a drop-in replacement?
agreed :)
@eguun The shadowsocks-rust aarch64 package is now available on my repo: https://opnsense-update.walker.earth/FreeBSD:14:aarch64/25.1/latest/All/shadowsocks-rust-1.23.4_2.pkg
Many thanks for this quick availability @maurice-w
Many thanks @mimugmail @fichtner and @maurice-w for your constant support throughout these 3 months! Great teamwork that contributes to clean the library of OPNsense plugins
@eguun no problem. are you going to be using it on amd64 or aarch64?
@eguun no problem. are you going to be using it on amd64 or aarch64?
I will be using on both architectures, waiting to be visible through the web-UI