diff --git a/DEVELOPERS b/DEVELOPERS
index c33959fa..e09ae0eb 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2075,9 +2075,6 @@ F:	configs/bananapi_m2_plus_defconfig
 N:	Mikhail Boiko <mikhailboiko85@gmail.com>
 F:	package/libfribidi/
 
-N:	Min Xu <xuminready@gmail.com>
-F:	package/shadowsocks-libev/
-
 N:	Miquèl Raynal <miquel.raynal@bootlin.com>
 F:	package/mali-driver/
 F:	package/rockchip-mali/
diff --git a/package/Config.in b/package/Config.in
index 88921341..25d391d4 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2356,7 +2356,6 @@ endif
 	source "package/samba4/Config.in"
 	source "package/sconeserver/Config.in"
 	source "package/ser2net/Config.in"
-	source "package/shadowsocks-libev/Config.in"
 	source "package/shairport-sync/Config.in"
 	source "package/shellinabox/Config.in"
 	source "package/smcroute/Config.in"
diff --git a/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch b/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch
deleted file mode 100644
index 781d3c0e..00000000
--- a/package/shadowsocks-libev/0001-configure.ac-use-pkg-config-to-find-netfilter_conntr.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From b3c61360a93b7f08fc9c33526056211408301ea9 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Mon, 23 Nov 2020 21:16:38 +0100
-Subject: [PATCH] configure.ac: use pkg-config to find netfilter_conntrack
-
-Use pkg-config to retrieve the dependencies of netfilter_conntrack
-and avoid the following build failure when building statically:
-
-configure:13096: /data/buildroot-test/instance-1/output-1/host/bin/x86_64-linux-gcc -o conftest -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -Os   -static -I/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/include -DPCRE_STATIC -pthread -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64  -static -L/data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib conftest.c -lnetfilter_conntrack -lnfnetlink -lev  -lcares -lsodium -lmbedcrypto -lpcre  >&5
-/data/buildroot-test/instance-1/output-1/host/opt/ext-toolchain/bin/../lib/gcc/x86_64-buildroot-linux-uclibc/8.3.0/../../../../x86_64-buildroot-linux-uclibc/bin/ld: /data/buildroot-test/instance-1/output-1/host/x86_64-buildroot-linux-uclibc/sysroot/usr/lib/libnetfilter_conntrack.a(api.o): in function `nfct_fill_hdr.constprop.4':
-api.c:(.text+0x3f): undefined reference to `mnl_nlmsg_put_header'
-
-Fixes:
- - http://autobuild.buildroot.org/results/6cad497a7ab941a0ee3fd7007defc81e30cdcbe0
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Upstream status:
-https://github.com/shadowsocks/shadowsocks-libev/pull/2773]
----
- configure.ac    | 5 +++--
- src/Makefile.am | 2 +-
- 2 files changed, 4 insertions(+), 3 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 9787bc2..207c041 100755
---- a/configure.ac
-+++ b/configure.ac
-@@ -252,7 +252,8 @@ AC_ARG_ENABLE(connmarktos,
- if test x"$enable_connmarktos" = "xyes" ; then
- 	AC_MSG_NOTICE([Linux Netfilter Conntrack support requested by --enable-connmarktos: ${enable_connmarktos}])
- 	if test "x$enable_connmarktos" != "xno"; then
--	    AC_SEARCH_LIBS([nfct_query], [netfilter_conntrack],,[
-+	    PKG_CHECK_MODULES([NETFILTER_CONNTRACK], [libnetfilter_conntrack],,
-+	    [AC_SEARCH_LIBS([nfct_query], [netfilter_conntrack],,[
- 	        if test x"$enable_connmarktos" = "xyes"; then
- 	            AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack library not found])
- 	        fi
-@@ -262,7 +263,7 @@ if test x"$enable_connmarktos" = "xyes" ; then
- 	        if test x"$enable_connmarktos" = "xyes"; then
- 	            AC_MSG_ERROR([--enable-connmarktos specified but libnetfilter-conntrack headers not found])
- 	        fi
--	        with_netfilter_conntrack=no])
-+	        with_netfilter_conntrack=no])])
- 	  # If nothing is broken; enable the libraries usage.
- 	  if test "x$with_netfilter_conntrack" != "xno"; then
- 		with_netfilter_conntrack=yes
-diff --git a/src/Makefile.am b/src/Makefile.am
-index c261ed0..b81ced7 100644
---- a/src/Makefile.am
-+++ b/src/Makefile.am
-@@ -9,7 +9,7 @@ AM_CFLAGS += -I$(top_srcdir)/libcork/include
- endif
- AM_CFLAGS += $(LIBPCRE_CFLAGS)
- 
--SS_COMMON_LIBS = $(INET_NTOP_LIB) $(LIBPCRE_LIBS)
-+SS_COMMON_LIBS = $(INET_NTOP_LIB) $(LIBPCRE_LIBS) $(NETFILTER_CONNTRACK_LIBS)
- if !USE_SYSTEM_SHARED_LIB
- SS_COMMON_LIBS += $(top_builddir)/libbloom/libbloom.la \
-                   $(top_builddir)/libipset/libipset.la \
--- 
-2.29.2
-
diff --git a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch b/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch
deleted file mode 100644
index 5275323e..00000000
--- a/package/shadowsocks-libev/0002-fix-maybe-uninitialized-errors.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 0c23224e926463b1097414979367655a27fa6d60 Mon Sep 17 00:00:00 2001
-From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-Date: Thu, 7 Apr 2022 18:27:58 +0200
-Subject: [PATCH] fix maybe-uninitialized errors
-
-Set {listen,server}_sock to -1 when needed as already done in
-src/manager.c by commit ecf1fcc84594b09ed2d61e3677cd8e62bd897ccb to
-avoid the following build failure:
-
-local.c: In function 'create_and_bind':
-local.c:218:12: error: 'listen_sock' may be used uninitialized in this function [-Werror=maybe-uninitialized]
-  218 |     return listen_sock;
-      |            ^~~~~~~~~~~
-
-Fixes:
- - http://autobuild.buildroot.org/results/27471a878ff52a972ac087d534e44fb0c50808f6
-
-Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
-[Retrieved from:
-https://github.com/shadowsocks/shadowsocks-libev/commit/0c23224e926463b1097414979367655a27fa6d60]
----
- src/local.c    | 2 +-
- src/redir.c    | 2 +-
- src/server.c   | 2 +-
- src/tunnel.c   | 2 +-
- src/udprelay.c | 2 +-
- 5 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/src/local.c b/src/local.c
-index b1ab040bb..47d634ce5 100644
---- a/src/local.c
-+++ b/src/local.c
-@@ -168,7 +168,7 @@ create_and_bind(const char *addr, const char *port)
- {
-     struct addrinfo hints;
-     struct addrinfo *result, *rp;
--    int s, listen_sock;
-+    int s, listen_sock = -1;
- 
-     memset(&hints, 0, sizeof(struct addrinfo));
-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
-diff --git a/src/redir.c b/src/redir.c
-index 4a5a489f0..e60bd4870 100644
---- a/src/redir.c
-+++ b/src/redir.c
-@@ -147,7 +147,7 @@ create_and_bind(const char *addr, const char *port)
- {
-     struct addrinfo hints;
-     struct addrinfo *result, *rp;
--    int s, listen_sock;
-+    int s, listen_sock = -1;
- 
-     memset(&hints, 0, sizeof(struct addrinfo));
-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
-diff --git a/src/server.c b/src/server.c
-index e9cdc2619..073e38b22 100644
---- a/src/server.c
-+++ b/src/server.c
-@@ -550,7 +550,7 @@ create_and_bind(const char *host, const char *port, int mptcp)
- {
-     struct addrinfo hints;
-     struct addrinfo *result, *rp, *ipv4v6bindall;
--    int s, listen_sock;
-+    int s, listen_sock = -1;
- 
-     memset(&hints, 0, sizeof(struct addrinfo));
-     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */
-diff --git a/src/tunnel.c b/src/tunnel.c
-index e0886bdb9..6641fe62a 100644
---- a/src/tunnel.c
-+++ b/src/tunnel.c
-@@ -129,7 +129,7 @@ create_and_bind(const char *addr, const char *port)
- {
-     struct addrinfo hints;
-     struct addrinfo *result, *rp;
--    int s, listen_sock;
-+    int s, listen_sock = -1;
- 
-     memset(&hints, 0, sizeof(struct addrinfo));
-     hints.ai_family   = AF_UNSPEC;   /* Return IPv4 and IPv6 choices */
-diff --git a/src/udprelay.c b/src/udprelay.c
-index 23a042497..580ad4bd8 100644
---- a/src/udprelay.c
-+++ b/src/udprelay.c
-@@ -446,7 +446,7 @@ create_server_socket(const char *host, const char *port)
- {
-     struct addrinfo hints;
-     struct addrinfo *result, *rp, *ipv4v6bindall;
--    int s, server_sock;
-+    int s, server_sock = -1;
- 
-     memset(&hints, 0, sizeof(struct addrinfo));
-     hints.ai_family   = AF_UNSPEC;               /* Return IPv4 and IPv6 choices */
diff --git a/package/shadowsocks-libev/Config.in b/package/shadowsocks-libev/Config.in
deleted file mode 100644
index fefb27bc..00000000
--- a/package/shadowsocks-libev/Config.in
+++ /dev/null
@@ -1,34 +0,0 @@
-config BR2_PACKAGE_SHADOWSOCKS_LIBEV
-	bool "shadowsocks-libev"
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # for libcork
-	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64 # for libcork
-	depends on BR2_TOOLCHAIN_HAS_THREADS
-	depends on BR2_USE_MMU # fork()
-	select BR2_PACKAGE_C_ARES
-	select BR2_PACKAGE_LIBEV
-	select BR2_PACKAGE_LIBSODIUM
-	select BR2_PACKAGE_MBEDTLS
-	select BR2_PACKAGE_PCRE
-	help
-	  Shadowsocks-libev is a lightweight secured SOCKS5 proxy for
-	  embedded devices and low-end boxes.
-
-	  https://github.com/shadowsocks/shadowsocks-libev
-
-config BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS
-	bool "connmarktos support in ss-server"
-	depends on BR2_PACKAGE_SHADOWSOCKS_LIBEV
-	select BR2_PACKAGE_LIBNETFILTER_CONNTRACK
-	help
-	  Build ss-server with the connmark to TOS feature.
-
-	  This feature requires advanced tc, iptables and conntrack
-	  rules to perform QoS on the server side.
-
-	  If unsure, don't enable this option
-
-comment "shadowsocks-libev needs a toolchain w/ threads"
-	depends on BR2_TOOLCHAIN_HAS_SYNC_4
-	depends on BR2_TOOLCHAIN_HAS_SYNC_8 || !BR2_ARCH_IS_64
-	depends on BR2_USE_MMU
-	depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/shadowsocks-libev/shadowsocks-libev.hash b/package/shadowsocks-libev/shadowsocks-libev.hash
deleted file mode 100644
index 4f1d6d2f..00000000
--- a/package/shadowsocks-libev/shadowsocks-libev.hash
+++ /dev/null
@@ -1,7 +0,0 @@
-# Locally computed
-sha256  cfc8eded35360f4b67e18dc447b0c00cddb29cc57a3cec48b135e5fb87433488  shadowsocks-libev-3.3.5.tar.gz
-
-# License files, locally calculated
-sha256  736883f97d44dbec288bb82819f18f4f86d02ae3192f6a9abefa00db76bace41  COPYING
-sha256  c41a4bc2c4c43e4daa3051e77e31b2d5c8500498afaeac6d831d55a4bb8de3fb  libbloom/LICENSE
-sha256  4fa2ada54f8c0410ec243265378242ffe862386d5ac517f8dd30a1911d25ae93  libcork/COPYING
diff --git a/package/shadowsocks-libev/shadowsocks-libev.mk b/package/shadowsocks-libev/shadowsocks-libev.mk
deleted file mode 100644
index c76983ce..00000000
--- a/package/shadowsocks-libev/shadowsocks-libev.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-################################################################################
-#
-# shadowsocks-libev
-#
-################################################################################
-
-SHADOWSOCKS_LIBEV_VERSION = 3.3.5
-SHADOWSOCKS_LIBEV_SITE = https://github.com/shadowsocks/shadowsocks-libev/releases/download/v$(SHADOWSOCKS_LIBEV_VERSION)
-SHADOWSOCKS_LIBEV_LICENSE = GPL-3.0+, BSD-2-Clause (libbloom), BSD-3-Clause (libcork, libipset)
-SHADOWSOCKS_LIBEV_LICENSE_FILES = COPYING libbloom/LICENSE libcork/COPYING
-SHADOWSOCKS_LIBEV_CPE_ID_VENDOR = shadowsocks
-SHADOWSOCKS_LIBEV_DEPENDENCIES = host-pkgconf c-ares libev libsodium mbedtls pcre
-SHADOWSOCKS_LIBEV_INSTALL_STAGING = YES
-# We're patching configure.ac
-SHADOWSOCKS_LIBEV_AUTORECONF = YES
-SHADOWSOCKS_LIBEV_CONF_OPTS = \
-	--with-pcre=$(STAGING_DIR)/usr \
-	--disable-ssp
-
-ifeq ($(BR2_PACKAGE_SHADOWSOCKS_LIBEV_CONNMARKTOS),y)
-SHADOWSOCKS_LIBEV_DEPENDENCIES += libnetfilter_conntrack
-SHADOWSOCKS_LIBEV_CONF_OPTS += --enable-connmarktos
-else
-SHADOWSOCKS_LIBEV_CONF_OPTS += --disable-connmarktos
-endif
-
-$(eval $(autotools-package))
