|
…
|
||
|---|---|---|
| .. | ||
| htdocs/luci-static/resources | ||
| po | ||
| root | ||
| wiki | ||
| .gitattributes | ||
| install.sh | ||
| LICENSE | ||
| Makefile | ||
| README_ru.md | ||
| README.md | ||
Re:HomeProxy
A modern multi-core proxy platform powered by hiddify-core and sing-box-extended. A fork of ImmortalWrt HomeProxy.
Overview
Re:HomeProxy is a feature-rich proxy management system, a fresh take on ImmortalWrt's HomeProxy. It runs on a choice of cores (hiddify-core or sing-box-extended), adds a built-in DPI-bypass based on Zapret2 and ByeDPI for un-throttling sites without a VPN, ready-made Russia routing rules, and a one-click core installer — all from the LuCI web interface.
Key Features
- Multi-core engine — run on hiddify-core or sing-box-extended, your choice per device. The built-in Core Management page installs and updates the core for you and automatically picks the right build for your available storage (with a compact build for tight-storage devices).
- Wide protocol support — Naive, Mieru, Hysteria, SOCKS, Shadowsocks, ShadowTLS, Trojan, VLESS (XHTTP), VMess, WireGuard, AmneziaWG / WARP (sing-box-extended), SSH and more.
- Two built-in DPI-bypass engines — un-throttle and unblock sites (e.g. YouTube, Discord) without any VPN subscription:
- ByeDPI (hufrea/byedpi) — a SOCKS-level desync proxy, with 47 ready-made strategy presets and a multi-site strategy tester that shows which setting actually works on your ISP.
- Zapret 2 (bol-van/zapret2, nfqws2) — a packet-level NFQUEUE desync that mangles the handshake in-place. Selected per routing rule (e.g. send only YouTube/Discord through it), with curated presets, optional Discord-voice desync, and its own scoped tester.
- URLTest auto-selection — automatically routes through the fastest reachable node and fails over when one goes down.
- Russia routing rules — one-click RU Proxy Rules (Russia Inside, Re:Filter) with curated domain/IP lists, so only blocked destinations go through the proxy.
- Subscription support — import nodes from subscription links (sing-box JSON / Hiddify, base64 / plain share-links, and Xray/V2Ray JSON configs) and update them on demand.
- Diagnostics — a built-in page to check core/system health, inspect ports, and generate a shareable report.
- Modern web interface — clean, responsive LuCI UI with node management, ACL traffic routing, and NFT rule control.
Prerequisites
- OpenWRT / ImmortalWrt 24.10 or higher (opkg)
- OpenWRT / ImmortalWrt 25.12 or higher (apk)
Optionally legacy build for 23.05 is available in Releases
Installation
~40 MB of free space recommended. Tight on storage? Install the LuCI app first, then use its Core & Tools tab (Services → Re:HomeProxy → Core & Tools) to install a core — it auto-picks a build that fits, including a compact build for small memory devices.
Quick install (one-liner)
Installs the LuCI app, then interactively walks you through the proxy core and optional ByeDPI / Zapret. Works on APK (25.12+), opkg (24.10) and 23.05 legacy. Run over SSH on the router:
wget -qO- https://raw.githubusercontent.com/1andrevich/homeproxy-hiddify/master/install.sh | sh
Behind a blocked/throttled GitHub, pass a mirror (note: the env var goes on sh, not wget):
wget -qO- https://raw.githubusercontent.com/1andrevich/homeproxy-hiddify/master/install.sh | GH_MIRROR=https://your.mirror sh
Prefer to do it by hand? Follow the per-version steps below.
OpenWRT 25.12+ (APK)
1. Install luci-app-re-homeproxy package
wget -O /tmp/homeproxy-hiddify.pub https://github.com/1andrevich/homeproxy-hiddify/releases/latest/download/homeproxy-hiddify.pub
cp /tmp/homeproxy-hiddify.pub /etc/apk/keys/
wget -O /tmp/luci-app-re-homeproxy.apk "$(wget -qO- 'https://api.github.com/repos/1andrevich/homeproxy-hiddify/releases' | grep -o 'https://github\.com/[^"]*luci-app-re-homeproxy[^"]*\.apk' | head -1)"
apk add /tmp/luci-app-re-homeproxy.apk
Once the key is in /etc/apk/keys/ it is trusted permanently — no flag needed for future updates.
2. Install components from the Core & Tools tab
Open Services → Re:HomeProxy → Core & Tools and install what you need — the installer auto-picks a build that fits your storage:
- Proxy core (required, pick one) — hiddify-core (default) or sing-box-extended (adds AmneziaWG / WARP and the widest protocol set). See Core Management.
- ByeDPI (optional) — SOCKS-level DPI bypass that un-throttles sites without a VPN, with 40 presets and a built-in strategy tester. See ByeDPI.
- Zapret 2 (optional) — packet-level (nfqws2) DPI bypass selected per routing rule, with curated presets and optional Discord-voice desync. See Zapret.
OpenWRT 24.10 (opkg)
1. Install luci-app-re-homeproxy package
wget -O /tmp/luci-app-re-homeproxy.ipk "$(wget -qO- 'https://api.github.com/repos/1andrevich/homeproxy-hiddify/releases' | grep -o 'https://github\.com/[^"]*luci-app-re-homeproxy[^"]*\.ipk' | head -1)"
opkg install /tmp/luci-app-re-homeproxy.ipk
2. Install components from the Core & Tools tab
Open Services → Re:HomeProxy → Core & Tools and install what you need — the installer auto-picks a build that fits your storage:
- Proxy core (required, pick one) — hiddify-core (default) or sing-box-extended (adds AmneziaWG / WARP and the widest protocol set). See Core Management.
- ByeDPI (optional) — SOCKS-level DPI bypass that un-throttles sites without a VPN, with 40 presets and a built-in strategy tester. See ByeDPI.
- Zapret 2 (optional) — packet-level (nfqws2) DPI bypass selected per routing rule, with curated presets and optional Discord-voice desync. See Zapret.
Manual install over SSH (alternative to the Core & Tools tab)
The Core & Tools tab is recommended — it auto-detects your hardware and picks a build that fits. To install the same components by hand over SSH, first detect your architecture and package format:
. /etc/openwrt_release; ARCH="$DISTRIB_ARCH"
command -v apk >/dev/null && EXT=apk || EXT=ipk
echo "$ARCH / $EXT"
The hiddify-core and ByeDPI packages are signed with the homeproxy-hiddify.pub key trusted during the app install above; if you skipped that, add --allow-untrusted to apk add.
Proxy core — pick one (plus its required kernel modules):
if [ "$EXT" = apk ]; then apk add kmod-nft-tproxy kmod-tun; else opkg install kmod-nft-tproxy kmod-tun; fi
# hiddify-core (default; for a compact build replace 'latest/download' with 'download/upx')
wget -O /tmp/hiddify-core.$EXT "https://github.com/1andrevich/hiddify-core/releases/latest/download/hiddify-core_${ARCH}.${EXT}"
if [ "$EXT" = apk ]; then apk add /tmp/hiddify-core.apk; else opkg install --force-reinstall /tmp/hiddify-core.ipk; fi
# ...OR sing-box-extended (AmneziaWG / WARP, widest protocol set; unsigned)
URL=$(wget -qO- 'https://api.github.com/repos/shtorm-7/sing-box-extended/releases/latest' | grep -o "https://github\.com/[^\"]*${ARCH}[^\"]*\.${EXT}" | head -1)
wget -O /tmp/sing-box-extended.$EXT "$URL"
if [ "$EXT" = apk ]; then apk add --allow-untrusted /tmp/sing-box-extended.apk; else opkg install /tmp/sing-box-extended.ipk; fi
ByeDPI (optional) — needs curl (its built-in strategy tester uses it):
if [ "$EXT" = apk ]; then apk add curl; else opkg install curl; fi
URL=$(wget -qO- 'https://api.github.com/repos/1andrevich/ByeDPI-OpenWrt/releases/latest' | grep -o "https://github\.com/[^\"]*byedpi_[^\"]*${ARCH}\.${EXT}" | head -1)
wget -O /tmp/byedpi.$EXT "$URL"
if [ "$EXT" = apk ]; then apk add /tmp/byedpi.apk; else opkg install /tmp/byedpi.ipk; fi
Zapret 2 (optional) — needs the NFQUEUE kernel module:
if [ "$EXT" = apk ]; then apk add kmod-nft-queue; else opkg install kmod-nft-queue; fi
[ "$EXT" = apk ] && wget -O /etc/apk/keys/zapret2-1andrevich.pub "https://github.com/1andrevich/zapret2-openwrt/releases/latest/download/zapret2-1andrevich.pub"
wget -O /tmp/zapret2.$EXT "https://github.com/1andrevich/zapret2-openwrt/releases/latest/download/zapret2_${ARCH}.${EXT}"
if [ "$EXT" = apk ]; then apk add /tmp/zapret2.apk; else opkg install /tmp/zapret2.ipk; fi
Optional
Installation of Russian Language Pack
If using "Custom JSON" — see the Custom JSON Config wiki page for full details.
4. Start the service
/etc/init.d/homeproxy start
The service will auto-start on boot. Monitor logs at Services → Re:HomeProxy → Core & Tools.
Documentation
Full guides live in the Wiki:
- Getting Started — from a fresh install to a working connection, step by step
- Core Management — hiddify-core vs sing-box-extended, the smart installer, storage and the compact build
- Supported Protocols — every protocol, transport, and the build tags each needs
- Subscriptions & Node Import — share links, .conf, Amnezia
vpn://(AmneziaWG/Xray), subscriptions, base64 - Routing & Access Control — routing modes, RU Proxy Rules, per-device access control
- Server Settings — run the router as a proxy server (inbounds, types, TLS/ACME)
- DNS & Diagnostics — clean vs secure DNS, IPv6 leaks, and the Diagnostics page
- ByeDPI — SOCKS-level DPI bypass, strategy presets and the tester
- Zapret — packet-level (nfqws2) DPI bypass, presets, Discord-voice and the tester
- Custom Routing — UI routing nodes + rules (match by domain/IP/port/protocol/process)
- Custom JSON Config — raw hiddify-core config routing mode
- Troubleshooting — common errors and fixes
Credits & Acknowledgements
Re:HomeProxy stands on the work of many upstream projects. The LuCI app is GPL-licensed; the cores and bypass engines are fetched at install time from their own releases and remain under their own licenses.
Base & cores
- ImmortalWrt HomeProxy — the original LuCI app this is a fork of
- hiddify-core — default proxy core (a sing-box fork by the Hiddify team)
- sing-box-extended — alternative core with extra build tags (AmneziaWG/WARP, widest protocol set)
- sing-box — the upstream engine both cores derive from
DPI-bypass engines
- hufrea/byedpi — the ByeDPI (
ciadpi) desync engine; OpenWrt packages by 1andrevich/ByeDPI-OpenWrt - bol-van/zapret2 — the Zapret / nfqws2 / blockcheck2 packet desync engine; OpenWrt packages by 1andrevich/zapret2-openwrt; some strategy presets adapted from flowseal/zapret-discord-youtube (MIT)
Protocols — implemented by the cores above (see Supported Protocols):
Naive, Mieru, Hysteria/Hysteria2, TUIC, SOCKS, Shadowsocks/Shadowsocks 2022, ShadowTLS, AnyTLS, Trojan, VLESS (Reality, XHTTP), VMess, WireGuard, AmneziaWG/WARP, SSH.
Routing lists
- Re:Filter — RKN-registry domain + IP blocklist
- itdoginfo/allow-domains — "Russia Inside" and the per-service routing lists (YouTube, Telegram, Discord, Meta, etc.)
- itdoginfo — HODCA and other curated lists by itdoginfo
All trademarks and service names are the property of their respective owners and are referenced nominatively to identify the traffic each rule or list affects.