Light Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Openwrt-Passwall/openwrt-passwall2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

1,029 Commits

Repository files navigation

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)

# find it in releases,base of your router Arch

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

  1. Download the IPK package from the releases page
    Look for luci-app-passwall2_{VERSION}_all.ipk in 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...).

  2. 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
  3. Install:

    opkg update
    opkg install luci-app-passwall2_*.ipk

    If 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

  1. Download the APK package from the releases page
    Look for luci-app-passwall2_{VERSION}_all.apk in 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...).

  2. 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
  3. Install:

    apk add --allow-untrusted luci-app-passwall2_*.apk

    Security Note: --allow-untrusted bypasses package signature verification.

How to check your package manager: Run opkg --version or apk --version to see which one your router uses.

Restart LuCI

/etc/init.d/rpcd restart

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-nohup
  • curl, ip-full, libuci-lua, lua, luci-compat, luci-lib-jsonc
  • resolveip, tcping, unzip
  • xray-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

  1. Access LuCI Interface:

    • Navigate to Services - PassWall2
  2. Add Your First Node:

    • Go to Node List - Add Node
    • Select protocol and fill in server details
  3. Configure Basic Settings:

    • Select your default node
    • Configure DNS settings
    • Enable transparent proxy
  4. Apply Configuration:

    • Click Save & Apply

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

logread | grep passwall2

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.


Stargazers over time