diff --git a/package/network/ipv6/6in4/Makefile b/package/network/ipv6/6in4/Makefile
index 9eca57af63fd428e1f1a8356f0e8cbf42b6b6360..5d9355fa540cdf66836165bf7905db3c2046f87d 100644
--- a/package/network/ipv6/6in4/Makefile
+++ b/package/network/ipv6/6in4/Makefile
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6in4
-PKG_VERSION:=22
+PKG_VERSION:=23
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0
 
@@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/6in4
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=@IPV6 +kmod-sit
+  DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
   TITLE:=IPv6-in-IPv4 configuration support
   MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
   PKGARCH:=all
diff --git a/package/network/ipv6/6in4/files/6in4.sh b/package/network/ipv6/6in4/files/6in4.sh
index 59747a3783a934595e318191ff167ecdab92eea6..c358a222fa355fcf2d196cfa3535df7fbc7b8646 100755
--- a/package/network/ipv6/6in4/files/6in4.sh
+++ b/package/network/ipv6/6in4/files/6in4.sh
@@ -82,40 +82,23 @@ proto_6in4_setup() {
 		[ -n "$updatekey" ] && password="$updatekey"
 
 		local http="http"
-		local urlget="wget"
+		local urlget="uclient-fetch"
 		local urlget_opts="-qO-"
 		local ca_path="${SSL_CERT_DIR-/etc/ssl/certs}"
 
-		if [ -n "$(which curl)" ]; then
-			urlget="curl"
-			urlget_opts="-s -S"
-			if curl -V | grep "Protocols:" | grep -qF "https"; then
-				http="https"
-				urlget_opts="$urlget_opts --capath $ca_path"
-			fi
-		fi
-		if [ "$http" = "http" ] &&
-			wget --version 2>&1 | grep -qF "+https"; then
-			urlget="wget"
-			urlget_opts="-qO- --ca-directory=$ca_path"
-			http="https"
-		fi
+		[ -f /lib/libustream-ssl.so ] && http=https
 		[ "$http" = "https" -a -z "$(find $ca_path -name "*.0" 2>/dev/null)" ] && {
-			if [ "$urlget" = "curl" ]; then
-				urlget_opts="$urlget_opts -k"
-			else
-				urlget_opts="$urlget_opts --no-check-certificate"
-			fi
+			urlget_opts="$urlget_opts --no-check-certificate"
 		}
 
-		local url="$http://ipv4.tunnelbroker.net/nic/update?username=$username&password=$password&hostname=$tunnelid"
+		local url="$http://ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid"
 		local try=0
 		local max=3
 
 		(
 			set -o pipefail
 			while [ $((++try)) -le $max ]; do
-				if proto_6in4_update $urlget $urlget_opts "$url" 2>&1 | \
+				if proto_6in4_update $urlget $urlget_opts --user="$username" --password="$password" "$url" 2>&1 | \
 					sed -e 's,^Killed$,timeout,' -e "s,^,update $try/$max: ," | \
 					logger -t "$link";
 				then