diff --git a/repo/caddy-bgme-git/PKGBUILD b/repo/caddy-bgme-git/PKGBUILD
index 8c23336..be8f06a 100644
--- a/repo/caddy-bgme-git/PKGBUILD
+++ b/repo/caddy-bgme-git/PKGBUILD
@@ -9,8 +9,8 @@
 
 pkgname=caddy-bgme-git
 _pkgname=caddy
-pkgver=2.7.0beta.1.r18.g56af1ceb
-pkgrel=7
+pkgver=2.7.0beta.1.r25.g398c12ae
+pkgrel=1
 pkgdesc='Fast web server with automatic HTTPS'
 url='https://caddyserver.com'
 arch=('x86_64')
diff --git a/repo/curl-http3/Makefile b/repo/curl-http3/Makefile
new file mode 100644
index 0000000..7b07cba
--- /dev/null
+++ b/repo/curl-http3/Makefile
@@ -0,0 +1,6 @@
+.PHONY: all
+
+all:
+	@rm -f *.tar.* .SRCINFO
+	@updpkgsums
+	@makepkg --printsrcinfo > .SRCINFO
diff --git a/repo/curl-http3/PKGBUILD b/repo/curl-http3/PKGBUILD
new file mode 100644
index 0000000..afa56d8
--- /dev/null
+++ b/repo/curl-http3/PKGBUILD
@@ -0,0 +1,85 @@
+# Maintainer: Hendrik 'T4cC0re' Meyer <aur@t4cc0.re>
+pkgname=curl-http3
+pkgver=8.1.2
+pkgrel=1
+pkgdesc="An URL retrieval utility and library - compiled with HTTP/3 support - binary is called curl3"
+arch=('x86_64')
+url="https://curl.haxx.se"
+license=('MIT')
+depends=('ca-certificates' 'brotli' 'libbrotlidec.so' 'libgssapi_krb5.so'
+         'krb5' 'libidn2' 'libidn2.so' 'libnghttp2' 'libpsl' 'libpsl.so'
+         'libssh2' 'libssh2.so' 'openssl' 'zlib' 'zstd' 'libzstd.so')
+makedepends=('rust' 'git' 'go' 'cmake')
+_quiche_ref=0.17.1
+source=("https://curl.haxx.se/download/curl-$pkgver.tar.gz"{,.asc}
+		"git+https://github.com/cloudflare/quiche.git#tag=${_quiche_ref}"
+		"git+https://github.com/google/boringssl.git")
+validpgpkeys=('27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2') # Daniel Stenberg
+
+prepare() {
+  cd quiche
+  git submodule init
+  git config submodule.boringssl.url "${srcdir}"/boringssl
+  git -c protocol.file.allow=always submodule update quiche/deps/boringssl
+}
+build() {
+  #Build quiche
+  cd quiche
+  CFLAGS+=' -ffat-lto-objects'
+  cargo build --package quiche --release --features ffi,pkg-config-meta,qlog
+  mkdir quiche/deps/boringssl/src/lib
+  ln -vnf $(find target/release -name libcrypto.a -o -name libssl.a) quiche/deps/boringssl/src/lib/
+  cd ..
+ 
+  ## Build curl
+  cd "curl-${pkgver}"
+
+  autoreconf -fi
+## Arch Linux build flags + BoringSSL and quiche
+  ./configure \
+      LDFLAGS="-Wl,-L,${PWD}/../quiche/target/release" \
+      --with-openssl=$PWD/../quiche/quiche/deps/boringssl/src \
+      --with-quiche=$PWD/../quiche/target/release \
+      --enable-alt-svc \
+      --prefix=/usr \
+      --mandir=/usr/share/man \
+      --disable-ldap \
+      --disable-ldaps \
+      --disable-manual \
+      --disable-shared \
+      --enable-ipv6 \
+      --enable-threaded-resolver \
+      --with-gssapi \
+      --with-libssh2 \
+      --with-random=/dev/urandom \
+      --with-ca-bundle=/etc/ssl/certs/ca-certificates.crt
+  make
+}
+
+package() {
+  cd "curl-${pkgver}"
+
+  make DESTDIR="$pkgdir" install
+  LD_LIBRARY_PATH=$PWD/../quiche/target/release make DESTDIR="$pkgdir" install -C scripts
+
+  cd ..
+  
+  # rename curl to avoid conflicts
+  mv "${pkgdir}/usr/bin/curl" "${pkgdir}/usr/bin/curl3"
+  mv "${pkgdir}/usr/bin/curl-config" "${pkgdir}/usr/bin/curl-config3"
+
+  # Remove stuff that would conflict with core/curl
+  rm -rf "${pkgdir}/usr/lib" "${pkgdir}/usr/share" "${pkgdir}/usr/include"
+    
+  # libquice is required
+  install -Dm755 quiche/target/release/libquiche.so "${pkgdir}/usr/lib/libquiche.so"
+
+  # license
+  install -Dm644 "curl-${pkgver}"/COPYING -t "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -Dm644 quiche/COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING-quiche"
+  install -Dm644 quiche/quiche/deps/boringssl/LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE-boringssl"
+}
+sha512sums=('41f4edb9c75870b713a2ecdaae2f8888651f2db3e689b991e70f1ee4e0da86d861eba1a9d24374e7b99deb0fdb218b9fbbd6cd624363d940a27d82b90c0e5c1b'
+            'SKIP'
+            'SKIP'
+            'SKIP')
diff --git a/repo/ruby-build/PKGBUILD b/repo/ruby-build/PKGBUILD
index f713a75..d4cd4e2 100644
--- a/repo/ruby-build/PKGBUILD
+++ b/repo/ruby-build/PKGBUILD
@@ -3,7 +3,7 @@
 # Contributer: Vincent Demeester <vincent@sbr.io>
 # Contributer: Alex Ogier <alex.ogier@gmail.com>
 pkgname=ruby-build
-pkgver=20230608
+pkgver=20230614
 pkgrel=1
 _file="${pkgname}-v${pkgver}.tar.gz"
 pkgdesc="Compile and install Ruby"
@@ -16,7 +16,7 @@ optdepends=(
     'libyaml: install recent versions of mri'
 )
 source=($_file::$url/archive/v$pkgver.tar.gz)
-sha512sums=('f9d402f465492b356a8c12673fb3eb4dee95e662896746e444e6e504fde2dfac9a9a8cbbfe887e0422863d07f164b2d47a9192ea31131b014dbb37be49a2d519')
+sha512sums=('1c1296052aeb7c6f539333d330042687d6f78f11ffe95acada8b624fcf5fafa8a5766ade2e0d00531c62363db8b6fa263b8006a01094d8df90ad7809e2ebe6de')
 
 build() {
   cd $srcdir
diff --git a/repo/shadowsocks-rust/PKGBUILD b/repo/shadowsocks-rust/PKGBUILD
index 9b9edfc..84f40af 100644
--- a/repo/shadowsocks-rust/PKGBUILD
+++ b/repo/shadowsocks-rust/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=shadowsocks-rust
 pkgver=1.15.3
-pkgrel=3
+pkgrel=4
 pkgdesc='A Rust port of shadowsocks https://shadowsocks.org/'
 arch=(x86_64)
 url='https://github.com/shadowsocks/shadowsocks-rust'
@@ -23,6 +23,7 @@ build() {
     [[ "$CARCH" == "riscv64" ]] && CARCH="riscv64gc"
     cd "${srcdir}/${pkgname}-${pkgver}"
     export CARGO_TARGET_DIR=target
+    export RUSTUP_TOOLCHAIN=stable
     cargo fetch --locked --target "${CARCH}-unknown-linux-gnu"
     cargo build --frozen --release --features local-redir,local-tun,local-dns,local-http-native-tls
 }
diff --git a/repo/sing-box-git/PKGBUILD b/repo/sing-box-git/PKGBUILD
index 4326e5c..79e38e5 100644
--- a/repo/sing-box-git/PKGBUILD
+++ b/repo/sing-box-git/PKGBUILD
@@ -3,7 +3,7 @@
 
 pkgname=sing-box-git
 _pkgname=sing-box
-pkgver=1.3beta13.r0.ga7f77d5
+pkgver=1.3rc2.r1.g1d1db62
 pkgrel=1
 
 pkgdesc='The universal proxy platform (git version).'