PassWall2
PassWall2 is a powerful LuCI web interface application for OpenWrt that provides advanced proxy and VPN functionality. It's a comprehensive solution for network traffic management, proxy services, and access control on OpenWrt-based routers.
Installation
Pre-installation (Recommended)
Visit GitHub Releases to download the correct package for your system.
Choose the package format based on your router's OpenWrt package manager:
For OpenWrt with OPKG
-
Download the IPK package from the releases page
Look forluci-app-passwall2_{VERSION}_all.ipkin the Assets section.Note: If you need localization (Chinese/Persian), download the corresponding language package as well (e.g.,
luci-i18n-passwall2-zh-cn...or...-fa...). -
Upload to your router (via SCP, LuCI upload, or wget):
# Replace {VERSION} with the actual version (e.g., 26.2.5-1)
wget https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/download/{VERSION}/luci-app-passwall2_{VERSION}_all.ipk -
Install:
opkg update
opkg install luci-app-passwall2_*.ipkIf installation fails due to missing dependencies (e.g.,
xray-core), you need to add the PassWall packages feed to/etc/opkg/customfeeds.conf.
For OpenWrt with APK
-
Download the APK package from the releases page
Look forluci-app-passwall2_{VERSION}_all.apkin the Assets section.Note: If you need localization (Chinese/Persian), download the corresponding language package as well (e.g.,
luci-i18n-passwall2-zh-cn...or...-fa...). -
Upload to your router (via SCP, LuCI upload, or wget):
# Replace {VERSION} with the actual version (e.g., 26.2.5-1)
wget https://github.com/Openwrt-Passwall/openwrt-passwall2/releases/download/{VERSION}/luci-app-passwall2_{VERSION}_all.apk -
Install:
apk add --allow-untrusted luci-app-passwall2_*.apkSecurity Note: --allow-untrustedbypasses package signature verification.
How to check your package manager: Run
opkg --versionorapk --versionto see which one your router uses.
Restart LuCI
System Requirements
OpenWrt Version
- OpenWrt 21.02 or later
- LuCI 19.07 or later
Hardware Requirements
- Minimum 128MB RAM (256MB recommended for stability with Xray/VLESS)
- Sufficient storage for packages (varies by protocol selection)
Core Dependencies
The following packages should be resolved automatically by the package manager (if available in your feeds):
coreutils,coreutils-base64,coreutils-nohupcurl,ip-full,libuci-lua,lua,luci-compat,luci-lib-jsoncresolveip,tcping,unzipxray-core(core proxy component)geoview,v2ray-geoip,v2ray-geosite(geo-routing data)
Note: Actual dependencies may vary based on selected features and your OpenWrt build. Ensure you have the necessary feeds configured.
Optional Protocol Packages
Selected during installation based on your needs:
- Shadowsocks (Libev/Rust), ShadowsocksR
- V2Ray/Xray (VMess, VLESS, Trojan)
- Sing-Box, Hysteria, Hysteria2, TUIC
- NaiveProxy, HAProxy
Features
Multi-Protocol Support
- Shadowsocks (Libev & Rust implementations)
- V2Ray/Xray with full protocol support (VMess, VLESS, Trojan)
- Sing-Box with modern proxy features
- Hysteria and Hysteria2 for high-performance UDP transport
- TUIC client support
- NaiveProxy for advanced obfuscation
- ShadowsocksR legacy support
Traffic Management
- Load Balancing: Distribute traffic across multiple nodes
- Smart Routing: Domain-based and geo-based routing rules
- DNS Control: Advanced DNS filtering and DoH/DoT support
- Transparent Proxy: Seamless network-wide proxy
Node Management
- Subscription Support: Import nodes from subscription URLs
- Node Testing: Built-in latency and connectivity testing
- Failover Support: Automatic failover to backup nodes
- QR Code: Generate and scan QR codes for node sharing
Access Control
- Per-Device Rules: Configure proxy settings per device
- Domain/IP Filtering: Whitelist/blacklist support
- Time-based Rules: Schedule proxy usage
Configuration
Basic Setup
-
Access LuCI Interface:
- Navigate to
Services-PassWall2
- Navigate to
-
Add Your First Node:
- Go to
Node List-Add Node - Select protocol and fill in server details
- Go to
-
Configure Basic Settings:
- Select your default node
- Configure DNS settings
- Enable transparent proxy
-
Apply Configuration:
- Click
Save & Apply
- Click
Language Support
PassWall2 supports multiple languages:
- Chinese (Simplified/Traditional)
- Persian (frsy)
Language files are organized in luci-app-passwall2/po/ subdirectories.
Troubleshooting
Common Issues
Service Won't Start
Check system logs, verify node configuration, and ensure required packages are installed.
DNS Issues
- Disable built-in DNS in browsers (Chrome: Settings - Privacy - Security - Disable "Use secure DNS")
- Clear DNS cache after reboot:
ipconfig /flushdns(Windows) or toggle airplane mode (mobile)
Connection Problems
- Test node connectivity
- Check firewall rules
- Verify transparent proxy settings
Debug Mode
Enable debug logging in Other Settings and check:
- Main log:
/tmp/log/passwall2.log - Server log:
/tmp/log/passwall2_server.log
License
This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.
Note: This software is intended for legal use only. Users are responsible for complying with all applicable laws and regulations in their jurisdiction.