mac过滤模块重构, 完美支持mac地址组模式; 修复mac过滤时区等一系列问题; 网址过滤模块, 修复了网址过滤模块在某些情况下无法正常工作的问题; 新增https域名过滤支持模块SNI, 完美解决了https域名过滤的问题;
本固件支持多种基于MT7621等平台的路由器设备,包括但不限于:K2(测试中)、K2P、K2P-USB、MI-R3G、R2100、XY-C1等多款路由器。
适用场景:
- 需要完整功能的普通家庭用户
- 对广告拦截、网络代理、网络工具等有全面需求的用户
- 不需要USB存储功能的K2P用户
核心功能模块:
- 广告管理:集成Adbyby Open开源广告拦截
- 网络代理:支持Shadowsocks、Trojan、simple-obfs等
- DNS服务:内置SmartDNS智能解析
- 安全通信:完整的OpenSSH服务
- 网络工具:包含curl、ttyd、htop、iperf3、mtr、msd_lite等
- 网络优化:支持SQM智能队列管理和WireGuard VPN
- 安全认证:支持EAP-PEAP企业级认证
- 高级功能:IPSet、完整OpenSSL支持
适用场景:
- 需要广告拦截但不需要代理工具的用户
- 对固件稳定性有较高要求的用户
- 希望平衡功能和性能的用户
核心功能模块:
- 广告管理:保留Adbyby Open开源广告拦截功能
- 系统监控:包含htop进程监控工具
- 网络测试:保留iperf3、mtr等基础网络诊断工具
- 网络优化:支持SQM和轻量级WireGuard
- 安全管理:使用功能完整的OpenSSH
- 精简设计:移除了Shadowsocks、Trojan等代理工具和SmartDNS
适用场景:
- 对固件大小要求极高的场景(如固件空间受限)
- 仅需要基本路由功能的用户
- 追求极致稳定性和性能的用户
- 作为二级路由或专用设备使用
核心功能模块:
- 轻量级设计:移除几乎所有可选功能,最小化固件体积
- SSH管理:使用更轻量级的dropbear替代OpenSSH
- 网络加速:保留SFE硬件加速功能
- 基础诊断:保留htop、iperf3、mtr等核心网络工具
- 基础功能:支持IPv6、IPSet、EAP-PEAP认证
- 轻量VPN:支持WireGuard轻量级VPN协议
- 移除的功能:无广告管理、无代理工具、无DNS增强服务, 无EAP-PEAP认证
适用场景:
- 使用K2P-USB硬件版本的用户
- 需要USB存储功能的用户
- 需要文件共享和媒体服务器的用户
- 需要VPN服务器功能的用户
核心功能模块:
- USB支持:完整的USB功能和设备驱动支持
- 文件系统:支持FAT/FAT32、exFAT、EXT2/3/4、FUSE等多种文件系统
- 存储服务:包含SMB3.6文件共享服务器、FTP服务器
- 打印服务:支持LPR打印守护进程、U2EC打印共享
- 网络工具:丰富的网络工具集,包括tcpdump、parted等
- VPN服务:包含OpenVPN完整支持
- 代理工具:支持Shadowsocks、Trojan、Xray等多种代理
- 专业诊断:完整的网络诊断和维护工具
根据README.md和配置文件,以下是Padavan固件支持的可选插件列表,按功能类别整理:
- Shadowsocks - 代理工具,支持科学上网
- Trojan (~1.2M) - 代理协议工具
- Xray (~4.5M) - 代理工具
- V2ray - 代理工具
- Sing-box - 代理工具
- Simple-obfs - 代理混淆工具
- Naiveproxy - 基于Chrome浏览器的代理工具
- Srelay - 简易Socks5代理服务器
- Redsocks - 重定向TCP连接的工具
- Adbyby Open - 广告拦截工具
- AdGuardHome (~8M) - 广告拦截与DNS过滤
- SmartDNS - 智能DNS解析器,可减少DNS污染
- DNS-Forwarder - DNS转发工具
- TCPDump (~0.6MB) - 网络数据包捕获工具
- IPerf3 - 网络性能测试工具
- MTR - 网络路由追踪与丢包分析工具
- Socat - 网络工具,可以在不同的协议之间转发数据
- SQM-QoS - 智能队列管理与服务质量控制
- MSD_Lite - 替代udpxy的IPTV工具
- XUPNPd (~0.3MB) - IPTV媒体服务器
- FAT/FAT32 (~0.1MB) - 文件系统支持
- exFAT (~0.12MB) - 文件系统支持
- EXT2 (~0.1MB) - 文件系统支持
- EXT3 (~0.2MB) - 文件系统支持
- EXT4 (~0.4MB) - 文件系统支持
- XFS (~0.6MB) - 文件系统支持
- FUSE (~0.1MB) - 用户空间文件系统支持
- ANTFS - AVM NTFS驱动
- NTFS-3G (~0.4MB) - NTFS文件系统支持
- Swap (~0.05MB) - 交换分区支持
- HDPARM (~0.1MB) - 硬盘参数设置工具
- Parted (~0.3MB) - 分区工具
- OpenSSH (~1.0MB) - SSH服务(功能更完整)
- Dropbear (~0.3MB) - 轻量级SSH服务
- TTYD - 基于浏览器的终端工具
- HTTPS (~1.2MB) - 安全网页服务支持
- SFTP-Server (~0.06MB) - SFTP服务
- OpenVPN (~0.4MB) - VPN服务(需要IPv6支持)
- StrongSwan (~0.7MB) - IPsec VPN服务
- WireGuard (10K) - 轻量级VPN服务
- SoftEtherVPN - VPN服务器/客户端
- ZeroTier (~1.3M) - 虚拟局域网工具
- FRP - 内网穿透工具(客户端/服务端)
- SMB3.6 (~1.5MB) - 文件共享服务器
- WINS (~0.4MB) - WINS服务器
- FTPD (~0.2MB) - FTP服务器
- Minidlna (~1.6MB) - UPnP媒体服务器
- Firefly (~1.0MB) - iTunes媒体服务器
- FFmpeg_NEW (~0.1MB) - 新版FFmpeg,用于媒体服务器
- VLMCSD - KMS激活服务器
- DDNSTO (~0.5M) - 内网穿透工具
- Transmission (~1.5MB) - BT下载客户端
- Aria2 (~3.5MB) - 多协议下载工具
- Aria2 WEB Control (~0.7MB) - Aria2的Web控制界面
- USB Support - 基础USB支持
- UVC (~0.2MB) - USB摄像头支持
- USB-HID (~0.2MB) - USB人机接口设备支持
- USB-Serial (~0.03MB) - USB串口设备支持
- USB-Audio (~0.46MB) - USB音频设备支持
- LPRD (~0.12MB) - 打印守护进程
- U2EC (~0.05MB) - USB转以太网打印守护进程
- SCUTCLIENT - 华南理工大学客户端
- GDUT-DRCOM - 广东工业大学客户端
- Dogcom - 校园网客户端
- Minieap - 校园网客户端
- NJIT-Client - 南京工程学院客户端
- MENTOHUST - 华中科技大学客户端
- CURL - 网络请求工具
- NANO - 文本编辑器
- HTOP - 进程监控工具
- LZRSZ - 文件传输工具
- DUMP1090 - 航空数据接收工具
- RTL_SDR - 软件定义无线电支持
- ALDRIVER (~3M) - 阿里驱动
- IPv6 Support - IPv6协议支持
- XFRM (~0.2MB) - IPsec模块
- QoS (~0.2MB) - 服务质量控制
- IMQ (~0.02MB) - 流量整形模块
- IFB (~0.03MB) - 流量整形模块
- IPSet (~0.4MB) - IP集合管理工具
- OpenSSL_EC (~0.1MB) - OpenSSL椭圆曲线支持
- OpenSSL_EXE (~0.4MB) - OpenSSL命令行工具
- ALIDNS - 阿里云动态DNS
- OC - CPU超频支持
在 trunk/configs/templates/K2P.config 文件中,通过设置对应选项的值为 y(启用)或 n(禁用)来控制是否包含某个插件。例如:
CONFIG_FIRMWARE_INCLUDE_ADBYBY=y # 启用Adbyby插件
CONFIG_FIRMWARE_INCLUDE_SHADOWSOCKS=n # 禁用Shadowsocks插件
- K2P 128M版本构建后的.trx文件最大支持15.68MB,超过此大小的固件无法刷入
- 启用插件会增加固件大小,需要根据设备内存和需求合理选择
- 控制架构改进:重构了防火墙相关逻辑,优化了NAT规则配置
- 接口配置优化:完善了WAN/LAN接口管理,提升了网络通信效率
- 访问规则管理:优化了端口转发、DMZ设置和UPnP映射功能
- 性能提升:通过代码重构提高了网络访问控制的响应速度
- 调试日志支持:增加了Radius调试日志控制功能,方便问题排查
- 命令参数优化:完善了Radius相关命令参数,支持更灵活的配置
- 日志输出改进:优化了日志格式和输出方式,提升可读性
- 异常处理增强:改进了客户端RSSI阈值配置和异常情况处理
- 编译问题修复:解决了构建过程中的依赖冲突和编译错误
- 共享库支持:改进了共享库链接机制,提高了代码复用性
- 包含路径优化:调整了头文件包含路径,使代码结构更清晰
- 头文件依赖:优化了头文件引用关系,减少了不必要的编译依赖
- 生成规则优化:改进了版本号生成机制,使版本标识更准确
- 构建工具升级:更新了构建工具链,提高了编译效率
- K2P-TINY配置更新:将K2P-TINY版本更新至v4,优化了功能模块配置
- 构建方式优化:改进了Adbyby的构建流程,提高了编译效率和稳定性
- 规则管理改进:优化了规则更新机制,支持更灵活的规则配置
- 配置管理:完善了服务控制脚本(adbyby.sh),增加了启动/关闭流程的健壮性
- 过滤性能:优化了DNS配置和IP过滤控制,提升了广告过滤效果
- 翻译优化:更新和完善了系统界面的翻译内容
- 代码回滚机制:增加了关键功能的回滚支持,提高了系统稳定性
- 性能监控工具:优化了系统诊断工具,提供更全面的性能监控
详细介绍SNI过滤模块功能、通配符域名匹配支持、智能路径规则分流机制和MAC地址组优化特性。
完整的URL过滤解决方案说明,包含配置方法、过滤模式详解、应用场景示例和调试监控指南。
详细介绍如何在Padavan系统中添加和配置SNI过滤模块的步骤和注意事项。
使用Docker容器环境编译Padavan固件的详细步骤和配置说明。
- CR660x
- JCG-Q20
- JCG-AC860M
- JCG-836PRO
- JCG-Y2
- DIR-878
- DIR-882
- K2P
- K2P-USB
- NETGEAR-BZV
- MR2600
- MI-4
- MI-R3G
- MI-R3P
- R2100
- XY-C1
- Install dependencies
Optional:
# Debian/Ubuntu sudo apt install unzip libtool-bin ccache curl cmake gperf gawk flex bison nano xxd \ fakeroot kmod cpio bc zip git python3-docutils gettext automake autopoint \ texinfo build-essential help2man pkg-config zlib1g-dev libgmp3-dev \ libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget libc-dev-bin- install golang for building go programs
sudo rm -rf /usr/local/go curl -fsSL https://go.dev/dl/go1.20.10.linux-amd64.tar.gz | sudo tar -C /usr/local -xz echo "export PATH=\$PATH:/usr/local/go/bin" | sudo tee /etc/profile.d/go.sh source /etc/profile.d/go.sh go version
- install nodejs for building AdGuardHome
sudo apt update sudo apt install -y ca-certificates curl gnupg sudo mkdir -p /etc/apt/keyrings curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list sudo apt update sudo apt install -y nodejs node -v
- install golang for building go programs
- Clone source code
git clone https://github.com/tekintian/padavan.git
- Modify template file and start compiling
# (Optional) Modify template file # vi trunk/configs/templates/K2P.config # Start compiling with: make PRODUCT_NAME make K2P # To build firmware for other devices, clean the tree after previous build make clean
- Makefile examples
- Compiling a single package (cd to
trunkfirst)- build:
make libs/libpcre_only - clean:
make libs/libpcre_clean - romfs:
make libs/libpcre_romfs
- build:
- Controlling GPIO and LEDs via sysfs
- How to use NAND RWFS partition
- How to use IPv6 NAT and fullcone NAT
- How to add new device support with device tree