diff --git a/README.md b/README.md
index 2e6b38419a..5e40f2d845 100644
--- a/README.md
+++ b/README.md
@@ -57,7 +57,8 @@ luci-theme-argonv3 source: [jerrykuku/luci-theme-argon](https://github.com/jerry
luci-theme-darkmatter source: [apollo-ng/luci-theme-darkmatter](https://github.com/apollo-ng/luci-theme-darkmatter).
luci-app-koolproxyR source: [Ameykyl/luci-app-koolproxyR](https://github.com/Ameykyl/luci-app-koolproxyR).
openwrt-chinadns-ng source: [pexcn/openwrt-chinadns-ng](https://github.com/pexcn/openwrt-chinadns-ng).
-luci-app-ssr-plus-jo source: [brokeld/luci-app-ssr-plus-jo](https://github.com/brokeld/luci-app-ssr-plus-jo).
+luci-app-ssr-plus-jo source: [brokeld/luci-app-ssr-plus-jo](https://github.com/brokeld/luci-app-ssr-plus-jo).
+openwrt-udpspeeder source: [pexcn/openwrt-udpspeeder](https://github.com/pexcn/openwrt-udpspeeder).
# License
### [GPL v3](https://www.gnu.org/licenses/gpl-3.0.html).
diff --git a/package/ctcgfw/luci-app-ssr-plus-jo/Makefile b/package/ctcgfw/luci-app-ssr-plus-jo/Makefile
index 890d88b75e..caeba4a0a4 100644
--- a/package/ctcgfw/luci-app-ssr-plus-jo/Makefile
+++ b/package/ctcgfw/luci-app-ssr-plus-jo/Makefile
@@ -102,9 +102,9 @@ define Package/luci-app-ssr-plus-jo
PKGARCH:=all
DEPENDS:=+shadowsocksr-libev-alt +ipset +ip-full +iptables-mod-tproxy +dnsmasq-full +coreutils +coreutils-base64 +bash +pdnsd-alt +wget \
- +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \
+ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \
+PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray \
- +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun \
+ +PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun:kcptun-client \
+PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server:shadowsocksr-libev-server \
+PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Server:shadowsocks-libev-ss-server \
+PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Socks:shadowsocksr-libev-ssr-local \
diff --git a/package/ctcgfw/openwrt-udpspeeder/Makefile b/package/ctcgfw/openwrt-udpspeeder/Makefile
new file mode 100644
index 0000000000..2eee0333c7
--- /dev/null
+++ b/package/ctcgfw/openwrt-udpspeeder/Makefile
@@ -0,0 +1,51 @@
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=udpspeeder
+PKG_VERSION:=20190408
+PKG_RELEASE:=1
+
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_URL:=https://github.com/wangyu-/UDPspeeder.git
+PKG_SOURCE_VERSION:=ecc90928d33741dbe726b547f2d8322540c26ea0
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)/$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION)
+
+PKG_BUILD_PARALLEL:=1
+PKG_USE_MIPS16:=0
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/udpspeeder
+ SECTION:=net
+ CATEGORY:=Network
+ TITLE:=A tunnel which improves your network quality on a high-latency lossy link
+ URL:=https://github.com/wangyu-/UDPspeeder
+endef
+
+define Package/udpspeeder/description
+A tunnel which improves your network quality on a high-latency lossy link
+by using forward error correction, for all traffics (TCP/UDP/ICMP).
+endef
+
+define Package/udpspeeder/conffiles
+/etc/config/udpspeeder
+endef
+
+define Build/Configure
+ $(SED) 's/cc_cross=.*/cc_cross=$(TARGET_CXX)/g' $(PKG_BUILD_DIR)/makefile
+ $(SED) 's/\\".*shell git rev-parse HEAD.*\\"/\\"$(PKG_SOURCE_VERSION)\\"/g' $(PKG_BUILD_DIR)/makefile
+endef
+
+MAKE_FLAGS += cross2
+
+define Package/udpspeeder/install
+ $(INSTALL_DIR) $(1)/usr/bin
+ $(INSTALL_BIN) $(PKG_BUILD_DIR)/speederv2_cross $(1)/usr/bin/udpspeeder
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) files/udpspeeder.init $(1)/etc/init.d/udpspeeder
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) files/udpspeeder.config $(1)/etc/config/udpspeeder
+endef
+
+$(eval $(call BuildPackage,udpspeeder))
diff --git a/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.config b/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.config
new file mode 100644
index 0000000000..c56b662b61
--- /dev/null
+++ b/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.config
@@ -0,0 +1,4 @@
+
+config udpspeeder
+ option enable '0'
+
diff --git a/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.init b/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.init
new file mode 100755
index 0000000000..90162b1709
--- /dev/null
+++ b/package/ctcgfw/openwrt-udpspeeder/files/udpspeeder.init
@@ -0,0 +1,44 @@
+#!/bin/sh /etc/rc.common
+#
+# This is free software, licensed under the GNU General Public License v3.
+# See /LICENSE for more information.
+#
+
+START=80
+
+USE_PROCD=1
+#PROCD_DEBUG=1
+
+append_param() {
+ local section="$1"
+ local option="$2"
+ local switch="$3"
+ local default="$4"
+ local _loctmp
+ config_get _loctmp "$section" "$option"
+ [ -n "$_loctmp" -o -n "$default" ] || return 0
+ procd_append_param command "$switch" "${_loctmp:-$default}"
+}
+
+start_udpspeeder() {
+ local enable
+ config_get_bool enable $1 enable
+ [ "$enable" = 1 ] || return 0
+
+ procd_open_instance
+ procd_set_param respawn
+ procd_set_param stderr 1
+ procd_set_param nice -5
+ procd_set_param limits nofile="65535 65535"
+
+ procd_set_param command /usr/bin/udpspeeder
+ procd_append_param command "-c"
+ # TODO: append_param $1 local_address "-l"
+
+ procd_close_instance
+}
+
+start_service() {
+ config_load udpspeeder
+ config_foreach start_udpspeeder udpspeeder
+}