├── .github ├── action │ ├── prepare │ │ └── action.yml │ └── upload │ │ └── action.yml └── workflows │ └── build-openwrt.yml ├── .gitignore ├── .vscode └── settings.json ├── LICENSE ├── README.md ├── build_helper ├── __init__.py ├── __main__.py ├── build.py ├── prepare.py ├── pyproject.toml ├── releases.py ├── requirements.txt └── utils │ ├── __init__.py │ ├── downloader.py │ ├── error.py │ ├── logger.py │ ├── network.py │ ├── openwrt.py │ ├── paths.py │ ├── repo.py │ ├── upload.py │ └── utils.py ├── config ├── OpenWrt.config ├── default-extpackages.config ├── rpi4b │ ├── OpenWrt-K │ │ ├── compile.config │ │ ├── extpackages.config │ │ └── openwrtext.config │ ├── image.config │ ├── kmod.config │ ├── luci.config │ ├── network.config │ ├── other.config │ ├── target.config │ └── utilities.config └── x86_64 │ ├── OpenWrt-K │ ├── compile.config │ ├── extpackages.config │ └── openwrtext.config │ ├── image.config │ ├── kmod.config │ ├── luci.config │ ├── network.config │ ├── other.config │ ├── target.config │ └── utilities.config ├── config_build_tool.sh ├── files ├── etc │ ├── AdGuardHome-dnslist(by cmzj).yaml │ ├── AdGuardHome.yaml │ ├── openclash │ │ └── rule_provider │ │ │ ├── DirectRule-chenmozhijin.yaml │ │ │ ├── HKMOTWRule-chenmozhijin.yaml │ │ │ └── ProxyRule-chenmozhijin.yaml │ └── uci-defaults │ │ ├── zzz-chenmozhijin │ │ └── zzz-chenmozhijin-passwall └── usr │ ├── bin │ └── AdGuardHome │ │ └── data │ │ └── filters │ │ ├── 826173319 │ │ ├── 2915155771 │ │ ├── 1628750870.txt │ │ ├── 1628750871.txt │ │ ├── 1677875715.txt │ │ ├── 1677875716.txt │ │ ├── 1677875717.txt │ │ ├── 1677875718.txt │ │ ├── 1677875720.txt │ │ ├── 1677875724.txt │ │ ├── 1677875725.txt │ │ ├── 1677875726.txt │ │ ├── 1677875727.txt │ │ ├── 1677875728.txt │ │ ├── 1677875733.txt │ │ ├── 1677875734.txt │ │ ├── 1677875735.txt │ │ ├── 1677875737.txt │ │ ├── 1677875739.txt │ │ └── 1677875740.txt │ └── share │ ├── cmzj │ └── openwrt-k_tool.sh │ └── passwall │ └── rules │ ├── direct_host │ ├── direct_ip │ ├── gfwlist │ └── proxy_host ├── img ├── 01.webp ├── 1.png ├── 1.webp ├── 10.webp ├── 11.webp ├── 2.webp ├── 3.webp ├── 4.webp ├── 5.webp ├── 6.webp ├── 7.webp ├── 8.webp └── 9.webp └── patches └── bcm27xx-gpu-fw.patch /.github/action/prepare/action.yml: -------------------------------------------------------------------------------- 1 | name: '准备运行环境' 2 | description: '准备运行环境' 3 | runs: 4 | using: "composite" 5 | steps: 6 | # 建立环境 7 | - name: 复制文件 8 | run: mkdir -p /opt/OpenWrt-K && cp -RT $GITHUB_WORKSPACE /opt/OpenWrt-K 9 | shell: bash 10 | - name: Setup Python 11 | uses: actions/setup-python@v5 12 | with: 13 | python-version: '3.12' 14 | cache: 'pip' 15 | - name: Install Dependencies 16 | run: | 17 | python -m pip install -U pip 18 | python -m pip install -r /opt/OpenWrt-K/build_helper/requirements.txt 19 | shell: bash -------------------------------------------------------------------------------- /.github/action/upload/action.yml: -------------------------------------------------------------------------------- 1 | name: '上传文件' 2 | description: '上传文件' 3 | runs: 4 | using: "composite" 5 | steps: 6 | - run: echo "没有要上传的文件" 7 | shell: bash -------------------------------------------------------------------------------- /.github/workflows/build-openwrt.yml: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | 4 | name: Build OpenWrt-K 5 | on: 6 | workflow_dispatch: 7 | schedule: 8 | - cron: '0 4 * * *' 9 | push: 10 | paths: 11 | - '.github/**' 12 | - 'files/**' 13 | - 'build_helper/**' 14 | - 'config/**' 15 | 16 | - '!.gitignore' 17 | - '!LICENSE' 18 | - '!README.md' 19 | - '!img/**' 20 | 21 | permissions: 22 | actions: write 23 | contents: write 24 | discussions: write 25 | env: 26 | GITHUB_TOKEN: ${{ github.token }} 27 | BUILD_HELPER_DEBUG: true 28 | jobs: 29 | 30 | prepare: 31 | outputs: 32 | matrix: ${{ steps.run.outputs.matrix }} 33 | runs-on: ubuntu-22.04 34 | name: 规划与准备 35 | steps: 36 | 37 | - uses: actions/checkout@v4 38 | - name: 建立环境 39 | uses: ./.github/action/prepare 40 | 41 | - name: 准备 42 | id: run 43 | working-directory: /opt/OpenWrt-K 44 | run: python3 -m build_helper --task prepare 45 | 46 | - name: 上传 47 | uses: ./../../../../../opt/OpenWrt-K/.github/action/upload 48 | 49 | base-builds: 50 | runs-on: ubuntu-22.04 51 | needs: prepare 52 | name: 构建工具链与内核(${{ matrix.name }}) 53 | strategy: 54 | matrix: ${{ fromJSON(needs.prepare.outputs.matrix) }} 55 | steps: 56 | 57 | - uses: actions/checkout@v4 58 | - name: 建立环境 59 | uses: ./.github/action/prepare 60 | 61 | - name: 准备编译 62 | id: prepare 63 | working-directory: /opt/OpenWrt-K 64 | run: python3 -m build_helper --task build-prepare --config ${{ matrix.config }} 65 | 66 | - name: 缓存toolchain 67 | uses: actions/cache@v4 68 | id: cache-toolchain 69 | if: ${{ steps.prepare.outputs.use-cache }} 70 | with: 71 | path: | 72 | ${{ steps.prepare.outputs.openwrt-path }}/staging_dir/host* 73 | ${{ steps.prepare.outputs.openwrt-path }}/staging_dir/tool* 74 | key: ${{ steps.prepare.outputs.toolchain-key }} 75 | 76 | - name: 缓存ccache 77 | uses: actions/cache@v4 78 | if: ${{ steps.prepare.outputs.use-cache }} 79 | with: 80 | path: ${{ steps.prepare.outputs.openwrt-path }}/.ccache 81 | key: ${{ steps.prepare.outputs.cache-key }} 82 | restore-keys: | 83 | ${{ steps.prepare.outputs.cache-restore-key }} 84 | 85 | - name: 编译 86 | id: build 87 | working-directory: /opt/OpenWrt-K 88 | run: python3 -m build_helper --task base-builds --config ${{ matrix.config }} 89 | env: 90 | CACHE_HIT: ${{ steps.cache-toolchain.outputs.cache-hit }} 91 | 92 | - name: 上传 93 | if: success() || failure() 94 | uses: ./../../../../../opt/OpenWrt-K/.github/action/upload 95 | 96 | build-packages: 97 | runs-on: ubuntu-22.04 98 | needs: [prepare,base-builds] 99 | name: 构建软件包(${{ matrix.name }}) 100 | strategy: 101 | matrix: ${{ fromJSON(needs.prepare.outputs.matrix) }} 102 | steps: 103 | 104 | - uses: actions/checkout@v4 105 | - name: 建立环境 106 | uses: ./.github/action/prepare 107 | 108 | - name: 准备编译 109 | id: prepare 110 | working-directory: /opt/OpenWrt-K 111 | run: python3 -m build_helper --task build-prepare --config ${{ matrix.config }} 112 | 113 | - name: 缓存ccache 114 | uses: actions/cache@v4 115 | if: ${{ steps.prepare.outputs.use-cache }} 116 | with: 117 | path: ${{ steps.prepare.outputs.openwrt-path }}/.ccache 118 | key: ${{ steps.prepare.outputs.cache-key }} 119 | restore-keys: | 120 | ${{ steps.prepare.outputs.cache-restore-key }} 121 | 122 | - name: 编译 123 | id: build 124 | working-directory: /opt/OpenWrt-K 125 | run: python3 -m build_helper --task build_packages --config ${{ matrix.config }} 126 | 127 | - name: 上传 128 | if: success() || failure() 129 | uses: ./../../../../../opt/OpenWrt-K/.github/action/upload 130 | 131 | build-ImageBuilder: 132 | runs-on: ubuntu-22.04 133 | needs: [prepare,base-builds] 134 | name: 构建Image Builder与内核模块(${{ matrix.name }}) 135 | strategy: 136 | matrix: ${{ fromJSON(needs.prepare.outputs.matrix) }} 137 | steps: 138 | 139 | - uses: actions/checkout@v4 140 | - name: 建立环境 141 | uses: ./.github/action/prepare 142 | 143 | - name: 准备编译 144 | id: prepare 145 | working-directory: /opt/OpenWrt-K 146 | run: python3 -m build_helper --task build-prepare --config ${{ matrix.config }} 147 | 148 | - name: 缓存ccache 149 | uses: actions/cache@v4 150 | if: ${{ steps.prepare.outputs.use-cache }} 151 | with: 152 | path: ${{ steps.prepare.outputs.openwrt-path }}/.ccache 153 | key: ${{ steps.prepare.outputs.cache-key }} 154 | restore-keys: | 155 | ${{ steps.prepare.outputs.cache-restore-key }} 156 | 157 | - name: 编译 158 | id: build 159 | working-directory: /opt/OpenWrt-K 160 | run: python3 -m build_helper --task build_image_builder --config ${{ matrix.config }} 161 | 162 | - name: 上传 163 | if: success() || failure() 164 | uses: ./../../../../../opt/OpenWrt-K/.github/action/upload 165 | 166 | build-images-releases: 167 | runs-on: ubuntu-22.04 168 | needs: [prepare,base-builds,build-ImageBuilder,build-packages] 169 | name: 构建镜像并发布(${{ matrix.name }}) 170 | strategy: 171 | matrix: ${{ fromJSON(needs.prepare.outputs.matrix) }} 172 | steps: 173 | 174 | - uses: actions/checkout@v4 175 | - name: 建立环境 176 | uses: ./.github/action/prepare 177 | 178 | - name: 准备构建 179 | id: prepare 180 | working-directory: /opt/OpenWrt-K 181 | run: python3 -m build_helper --task build-prepare --config ${{ matrix.config }} 182 | 183 | - name: 构建 184 | id: build 185 | working-directory: /opt/OpenWrt-K 186 | run: python3 -m build_helper --task build_images_releases --config ${{ matrix.config }} 187 | 188 | - name: 上传 189 | if: success() || failure() 190 | uses: ./../../../../../opt/OpenWrt-K/.github/action/upload -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Byte-compiled / optimized / DLL files 2 | __pycache__/ 3 | *.py[cod] 4 | *$py.class 5 | 6 | # C extensions 7 | *.so 8 | 9 | # Distribution / packaging 10 | .Python 11 | build/ 12 | develop-eggs/ 13 | dist/ 14 | downloads/ 15 | eggs/ 16 | .eggs/ 17 | lib/ 18 | lib64/ 19 | parts/ 20 | sdist/ 21 | var/ 22 | wheels/ 23 | share/python-wheels/ 24 | *.egg-info/ 25 | .installed.cfg 26 | *.egg 27 | MANIFEST 28 | 29 | # PyInstaller 30 | # Usually these files are written by a python script from a template 31 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 32 | *.manifest 33 | *.spec 34 | 35 | # Installer logs 36 | pip-log.txt 37 | pip-delete-this-directory.txt 38 | 39 | # Unit test / coverage reports 40 | htmlcov/ 41 | .tox/ 42 | .nox/ 43 | .coverage 44 | .coverage.* 45 | .cache 46 | nosetests.xml 47 | coverage.xml 48 | *.cover 49 | *.py,cover 50 | .hypothesis/ 51 | .pytest_cache/ 52 | cover/ 53 | 54 | # Translations 55 | *.mo 56 | *.pot 57 | 58 | # Django stuff: 59 | *.log 60 | local_settings.py 61 | db.sqlite3 62 | db.sqlite3-journal 63 | 64 | # Flask stuff: 65 | instance/ 66 | .webassets-cache 67 | 68 | # Scrapy stuff: 69 | .scrapy 70 | 71 | # Sphinx documentation 72 | docs/_build/ 73 | 74 | # PyBuilder 75 | .pybuilder/ 76 | target/ 77 | 78 | # Jupyter Notebook 79 | .ipynb_checkpoints 80 | 81 | # IPython 82 | profile_default/ 83 | ipython_config.py 84 | 85 | # pyenv 86 | # For a library or package, you might want to ignore these files since the code is 87 | # intended to run in multiple environments; otherwise, check them in: 88 | # .python-version 89 | 90 | # pipenv 91 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 92 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 93 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 94 | # install all needed dependencies. 95 | #Pipfile.lock 96 | 97 | # poetry 98 | # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. 99 | # This is especially recommended for binary packages to ensure reproducibility, and is more 100 | # commonly ignored for libraries. 101 | # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control 102 | #poetry.lock 103 | 104 | # pdm 105 | # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. 106 | #pdm.lock 107 | # pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it 108 | # in version control. 109 | # https://pdm.fming.dev/latest/usage/project/#working-with-version-control 110 | .pdm.toml 111 | .pdm-python 112 | .pdm-build/ 113 | 114 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm 115 | __pypackages__/ 116 | 117 | # Celery stuff 118 | celerybeat-schedule 119 | celerybeat.pid 120 | 121 | # SageMath parsed files 122 | *.sage.py 123 | 124 | # Environments 125 | .env 126 | .venv 127 | env/ 128 | venv/ 129 | ENV/ 130 | env.bak/ 131 | venv.bak/ 132 | 133 | # Spyder project settings 134 | .spyderproject 135 | .spyproject 136 | 137 | # Rope project settings 138 | .ropeproject 139 | 140 | # mkdocs documentation 141 | /site 142 | 143 | # mypy 144 | .mypy_cache/ 145 | .dmypy.json 146 | dmypy.json 147 | 148 | # Pyre type checker 149 | .pyre/ 150 | 151 | # pytype static type analyzer 152 | .pytype/ 153 | 154 | # Cython debug symbols 155 | cython_debug/ 156 | 157 | # PyCharm 158 | # JetBrains specific template is maintained in a separate JetBrains.gitignore that can 159 | # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore 160 | # and can be added to the global gitignore or merged into this file. For a more nuclear 161 | # option (not recommended) you can uncomment the following to ignore the entire idea folder. 162 | #.idea/ 163 | .vscode/ 164 | .vs/ 165 | uploads/ -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "python.analysis.typeCheckingMode": "basic" 3 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023-2024 沉默の金 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # OpenWrt-K 2 | 3 | [![GitHub Repo stars](https://img.shields.io/github/stars/chenmozhijin/OpenWrt-K)](https://github.com/chenmozhijin/OpenWrt-K/stargazers) 4 | [![GitHub forks](https://img.shields.io/github/forks/chenmozhijin/OpenWrt-K)](https://github.com/chenmozhijin/OpenWrt-K/forks?include=active%2Carchived%2Cinactive%2Cnetwork&page=1&period=2y&sort_by=stargazer_counts) 5 | [![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/t/chenmozhijin/OpenWrt-K)](https://github.com/chenmozhijin/OpenWrt-K/commits) 6 | [![GitHub last commit (by committer)](https://img.shields.io/github/last-commit/chenmozhijin/OpenWrt-K)](https://github.com/chenmozhijin/OpenWrt-K/commits) 7 | [![Workflow Status](https://github.com/chenmozhijin/OpenWrt-K/actions/workflows/build-openwrt.yml/badge.svg)](https://github.com/chenmozhijin/OpenWrt-K/actions) 8 | > OpenWRT软件包与固件自动云编译 9 | 10 | ## 目录 11 | 12 | [README](https://github.com/chenmozhijin/OpenWrt-K#openwrt-k): 13 | 1. [更新日志](https://github.com/chenmozhijin/OpenWrt-K#%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97) 14 | 2. [固件介绍](https://github.com/chenmozhijin/OpenWrt-K#%E5%9B%BA%E4%BB%B6%E4%BB%8B%E7%BB%8D) 15 | 16 | [Wiki页面](https://github.com/chenmozhijin/OpenWrt-K/wiki): 17 | 18 | 1. [固件使用方法](https://github.com/chenmozhijin/OpenWrt-K/wiki/%E5%9B%BA%E4%BB%B6%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95) 19 | 2. [仓库基本介绍](https://github.com/chenmozhijin/OpenWrt-K/wiki/%E4%BB%93%E5%BA%93%E5%9F%BA%E6%9C%AC%E4%BB%8B%E7%BB%8D) 20 | 3. [定制编译OpenWrt固件](https://github.com/chenmozhijin/OpenWrt-K/wiki/%E5%AE%9A%E5%88%B6%E7%BC%96%E8%AF%91-OpenWrt-%E5%9B%BA%E4%BB%B6) 21 | 4. [常见问题](https://github.com/chenmozhijin/OpenWrt-K/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98) 22 | 23 | ## 更新日志 24 | [2025/2/7]升级openwrt到v24.10.0,修复AdGuardHome规则下载错误导致其无法启动的问题,增减部分软件包 25 |
增减列表 26 | 27 | 1. 删除:passwall、passwall2、luci-app-rclone、luci-app-ddns、luci-app-aria2(你可以通过修改编译配置把他们加回来) 28 | 2. 添加:luci-app-vlmcsd、luci-app-sqm、luci-app-qbittorrent 29 |
30 |
完整更新日志 31 | 32 | [2024/9/26] 使用python重构了编译工作流,提高了可维护性, 优化了编译流程,减少资源占用 33 | [2023/7/27] 添加多配置编译支持,移动README部分内容到wiki 34 |
35 | 36 | ## 固件介绍 37 | 38 | 1. 基于OpenWrt官方源码编译 39 | 2. 自带丰富的LuCI插件与软件包(见内置功能) 40 | 3. 自带SmartDNS+AdGuard Home配置(AdGuard Home 默认密码:```password```) 41 | 4. 随固件编译几乎全部kmod(无sfe),拒绝kernel版本不兼容(kmod在Releases allkmod.zip中,建议与固件一同下载) 42 | 5. 固件自带OpenWrt-K工具支持升级官方源没有的软件包(使用```openwrt-k```命令) 43 | 6. 提供多种格式固件以应对不同需求 44 | 45 | ### 内置功能 46 | 47 | 已内置以下软件包: 48 | 49 | 1. LuCI插件: 50 | [luci-app-adguardhome](https://github.com/chenmozhijin/luci-app-adguardhome) :AdGuardHome广告屏蔽工具的luci设置界面 51 | [luci-app-argon-config](https://github.com/jerrykuku/luci-app-argon-config):Argon 主题设置 52 | luci-app-cifs-mount:SMB/CIFS 网络挂载共享客户端 53 | [luci-app-diskman](https://github.com/lisaac/luci-app-diskman):DiskMan 磁盘管理 54 | luci-app-fileassistant:文件助手 55 | luci-app-firewall:防火墙 56 | luci-app-netdata:[Netdata](https://github.com/netdata/netdata) 实时监控 57 | [luci-app-netspeedtest](https://github.com/sirpdboy/netspeedtest):网速测试 58 | luci-app-nlbwmon:网络带宽监视器 59 | luci-app-opkg:软件包 60 | [luci-app-openclash](https://github.com/vernesong/OpenClash):可运行在 OpenWrt 上的 Clash 客户端 61 | luci-app-samba4:samba网络共享 62 | [luci-app-smartdns](https://github.com/pymumu/luci-app-smartdns):SmartDNS 服务器 63 | [luci-app-socat](https://github.com/chenmozhijin/luci-app-socat):Socat网络工具 64 | luci-app-ttyd:ttyd 终端 65 | [luci-app-turboacc](https://github.com/chenmozhijin/turboacc):Turbo ACC 网络加速 66 | luci-app-upnp:通用即插即用(UPnP) 67 | luci-app-usb-printer:USB 打印服务器 68 | luci-app-webadmin:Web 管理页面设置 69 | [luci-app-wechatpush](https://github.com/tty228/luci-app-wechatpush):微信推送 70 | luci-app-wol:网络唤醒 71 | luci-app-zerotier:ZeroTier虚拟局域网 72 | luci-app-qbittorrent:qBittorrent-Enhanced-Edition的luci设置界面 73 | luci-app-sqm:Smart Queue Management (SQM) QoS 74 | luci-app-vlmcsd:VLMCSd KMS 激活工具 75 | 76 | 1. 其他部分软件包: 77 | ethtool-full:网卡工具用于查询及设置网卡参数 78 | sudo:sudo命令支持 79 | htop:系统监控与进程管理软件 80 | cfdisk:磁盘分区工具 81 | bc:一个命令行计算器 82 | coremark:cpu跑分测试 83 | pciutils:PCI 设备配置工具 84 | usbutils:USB 设备列出工具 85 | 86 | 1. LuCI主题:[Argon](https://github.com/jerrykuku/luci-theme-argon) 87 | 88 | > + 以上软件包都在生成在Releases的package.zip文件中,可安装使用。 89 | 90 | 2. 网卡驱动: 91 | kmod-8139cp 92 | kmod-8139too 93 | kmod-alx 94 | kmod-amazon-ena 95 | kmod-amd-xgbe 96 | kmod-bnx2 97 | kmod-bnx2x 98 | kmod-e1000 99 | kmod-e1000e 100 | kmod-forcedeth 101 | kmod-i40e 102 | kmod-iavf 103 | kmod-igb 104 | kmod-igbvf 105 | kmod-igc 106 | kmod-ixgbe 107 | kmod-libphy 108 | kmod-macvlan 109 | kmod-mii 110 | kmod-mlx4-core 111 | kmod-mlx5-core 112 | kmod-net-selftests 113 | kmod-pcnet32 114 | kmod-phy-ax88796b 115 | kmod-phy-realtek 116 | kmod-phy-smsc 117 | [kmod-r8125](https://github.com/sbwml/package_kernel_r8125) 118 | kmod-r8152 119 | kmod-r8168 120 | kmod-tg3 121 | kmod-tulip 122 | kmod-via-velocity 123 | kmod-vmxnet3 124 | 125 | ### 固件预览 126 | 127 | #### 概览 128 | 129 | ![概览](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/1.webp) 130 | 131 | #### 新版netdata实时监控 132 | 133 | ![实时监控](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/2.webp) 134 | 135 | #### DiskMan 磁盘管理 136 | 137 | ![磁盘管理](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/3.webp) 138 | 139 | #### Argon 主题设置 140 | 141 | ![Argon 主题设置](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/4.webp) 142 | 143 | #### AdGuardHome广告屏蔽工具 144 | 145 | ![luci-app-adguardhome](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/5.webp) 146 | ![AdGuardHome](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/11.webp) 147 | 148 | #### SmartDNS DNS服务器 149 | 150 | ![SmartDNS](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/6.webp) 151 | 152 | #### 文件助手 153 | 154 | ![文件助手](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/7.webp) 155 | 156 | #### Socat网络工具 157 | 158 | ![概览](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/8.webp) 159 | 160 | #### Turbo ACC 网络加速 161 | 162 | ![概览](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/9.webp) 163 | 164 | #### ZeroTier虚拟局域网 165 | 166 | ![概览](https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/main/img/10.webp) 167 | 168 | ## 感谢 169 | 170 | 感谢以下项目与各位制作软件包大佬的付出 171 | 172 | + [openwrt/openwrt](https://github.com/openwrt/openwrt/) 173 | + [coolsnowwolf/lede](https://github.com/coolsnowwolf/lede) 174 | + [Lienol/openwrt](https://github.com/Lienol/openwrt) 175 | + [immortalwrt/immortalwrt](https://github.com/immortalwrt/immortalwrt/) 176 | + [wongsyrone/lede-1](https://github.com/wongsyrone/lede-1) 177 | + [Github Actions](https://github.com/features/actions) 178 | + [softprops/action-gh-release](https://github.com/ncipollo/release-action) 179 | + [dev-drprasad/delete-older-releases](https://github.com/mknejp/delete-release-assets) 180 | -------------------------------------------------------------------------------- /build_helper/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | -------------------------------------------------------------------------------- /build_helper/__main__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import gzip 4 | from argparse import ArgumentParser 5 | 6 | from actions_toolkit import core 7 | 8 | from .utils.error import ConfigParseError, PrePareError 9 | from .utils.logger import debug, logger 10 | from .utils.upload import uploader 11 | from .utils.utils import setup_env 12 | 13 | parser = ArgumentParser() 14 | parser.add_argument("--task", "-t", help="要执行的任务") 15 | parser.add_argument("--config", "-c", help="配置") 16 | 17 | args = parser.parse_args() 18 | if args.config: 19 | import json 20 | config = json.loads(gzip.decompress(bytes.fromhex(args.config)).decode("utf-8")) 21 | else: 22 | config = {} 23 | 24 | 25 | def main() -> None: 26 | match args.task: 27 | case "prepare": 28 | from .prepare import get_matrix, parse_configs, prepare 29 | setup_env() 30 | try: 31 | configs = parse_configs() 32 | except Exception as e: 33 | msg = f"解析配置时出错: {e.__class__.__name__}: {e!s}" 34 | raise ConfigParseError(msg) from e 35 | try: 36 | prepare(configs) 37 | core.set_output("matrix", get_matrix(configs)) 38 | except Exception as e: 39 | msg = f"准备时出错: {e.__class__.__name__}: {e!s}" 40 | raise PrePareError(msg) from e 41 | case "build-prepare": 42 | from .build import prepare 43 | prepare(config) 44 | case "base-builds": 45 | from .build import base_builds 46 | base_builds(config) 47 | case "build_packages": 48 | from .build import build_packages 49 | build_packages(config) 50 | case "build_image_builder": 51 | from .build import build_image_builder 52 | build_image_builder(config) 53 | case "build_images_releases": 54 | from .build import build_images 55 | build_images(config) 56 | from .releases import releases 57 | releases(config) 58 | 59 | uploader.save() 60 | 61 | if __name__ == "__main__": 62 | try: 63 | main() 64 | except Exception as e: 65 | logger.exception("发生错误") 66 | logger.info("开始收集错误信息...") 67 | import os 68 | import time 69 | 70 | from actions_toolkit.github import Context 71 | 72 | from .utils.paths import paths 73 | errorinfo_path = paths.errorinfo 74 | openwrt_path = os.path.join(paths.workdir, "openwrt") 75 | if os.path.exists(openwrt_path): 76 | import shutil 77 | if os.path.exists(os.path.join(openwrt_path, ".config")): 78 | shutil.copy2(os.path.join(openwrt_path, ".config"), os.path.join(errorinfo_path, "openwrt.config")) 79 | if os.path.exists(os.path.join(openwrt_path, "logs")): 80 | shutil.copytree(os.path.join(openwrt_path, "logs"), os.path.join(errorinfo_path, "openwrt-logs")) 81 | if debug: 82 | import tarfile 83 | tmp_dir = paths.get_tmpdir() 84 | logger.info("正在打包 openwrt 文件夹...") 85 | with tarfile.open(os.path.join(tmp_dir.name, "openwrt.tar.gz"), "w:gz") as tar: 86 | tar.add(openwrt_path, arcname="openwrt") 87 | uploader.add(f"{Context().job}-{config.get("name") if config else ''}-openwrt-{time.time()}", 88 | os.path.join(tmp_dir.name, "openwrt.tar.gz"), retention_days=90, compression_level=0) 89 | 90 | with open(os.path.join(errorinfo_path, "files.txt"), "w") as f: 91 | for root, _, files in os.walk(paths.root): 92 | for file in files: 93 | f.write(f"{root}/{file}\n") 94 | 95 | 96 | uploader.add(f"{Context().job}-{config.get("name") if config else ''}-errorinfo-{time.time()}", errorinfo_path, retention_days=90, compression_level=9) 97 | uploader.save() 98 | if not debug: 99 | core.notice("已收集部分错误信息,更详细信息请Re-run jobs并启用debug logging") 100 | core.set_failed(f"发生错误: {e.__class__.__name__}: {e!s}") 101 | -------------------------------------------------------------------------------- /build_helper/build.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import os 4 | import re 5 | import shutil 6 | import tarfile 7 | import zipfile 8 | 9 | import zstandard as zstd 10 | from actions_toolkit import core 11 | from actions_toolkit.github import Context 12 | 13 | from .utils.logger import logger 14 | from .utils.openwrt import ImageBuilder, OpenWrt 15 | from .utils.paths import paths 16 | from .utils.repo import del_cache, dl_artifact 17 | from .utils.upload import uploader 18 | from .utils.utils import hash_dirs, setup_env 19 | 20 | 21 | def get_cache_restore_key(openwrt: OpenWrt, cfg: dict) -> str: 22 | context = Context() 23 | if context.job.startswith("base-builds"): 24 | job_prefix = "base-builds" 25 | elif context.job.startswith("build-packages"): 26 | job_prefix = "build-packages" 27 | elif context.job.startswith("build-ImageBuilder"): 28 | job_prefix = "build-ImageBuilder" 29 | else: 30 | msg = "Invalid job" 31 | raise ValueError(msg) 32 | cache_restore_key = f"{job_prefix}-{cfg["compile"]["openwrt_tag/branch"]}-{cfg["name"]}" 33 | target, subtarget = openwrt.get_target() 34 | if target: 35 | cache_restore_key += f"-{target}" 36 | if subtarget: 37 | cache_restore_key += f"-{subtarget}" 38 | return cache_restore_key 39 | 40 | 41 | def prepare(cfg: dict) -> None: 42 | context = Context() 43 | logger.debug("job: %s", context.job) 44 | setup_env(context.job in ("build-packages", "build-ImageBuilder", "build-images-releases"), 45 | context.job in ("build-packages", "build-ImageBuilder", "build-images-releases")) 46 | 47 | tmpdir = paths.get_tmpdir() 48 | 49 | logger.info("还原openwrt源码...") 50 | path = dl_artifact(f"openwrt-source-{cfg["name"]}", tmpdir.name) 51 | with zipfile.ZipFile(path, "r") as zip_ref: 52 | zip_ref.extract("openwrt-source.tar.gz", tmpdir.name) 53 | with tarfile.open(os.path.join(tmpdir.name, "openwrt-source.tar.gz"), "r") as tar_ref: 54 | tar_ref.extractall(paths.workdir) # noqa: S202 55 | openwrt = OpenWrt(os.path.join(paths.workdir, "openwrt")) 56 | 57 | if context.job == "base-builds": 58 | logger.info("构建toolchain缓存key...") 59 | toolchain_key = f"toolchain-{hash_dirs((os.path.join(openwrt.path, "tools"), os.path.join(openwrt.path, "toolchain")))}" 60 | target, subtarget = openwrt.get_target() 61 | if target: 62 | toolchain_key += f"-{target}" 63 | if subtarget: 64 | toolchain_key += f"-{subtarget}" 65 | core.set_output("toolchain-key", toolchain_key) 66 | 67 | elif context.job in ("build-packages", "build-ImageBuilder"): 68 | if os.path.exists(os.path.join(openwrt.path, "staging_dir")): 69 | shutil.rmtree(os.path.join(openwrt.path, "staging_dir")) 70 | base_builds_path = dl_artifact(f"base-builds-{cfg['name']}", tmpdir.name) 71 | with zipfile.ZipFile(base_builds_path, "r") as zip_ref: 72 | zip_ref.extract("builds.tar.gz", tmpdir.name) 73 | with tarfile.open(os.path.join(tmpdir.name, "builds.tar.gz"), "r:gz") as tar: 74 | tar.extractall(openwrt.path) # noqa: S202 75 | 76 | elif context.job == "build-images-releases": 77 | ib_path = dl_artifact(f"Image_Builder-{cfg["name"]}", tmpdir.name) 78 | with zipfile.ZipFile(ib_path, "r") as zip_ref: 79 | ext = "zst" if "openwrt-imagebuilder.tar.zst" in zip_ref.namelist() else "xz" 80 | zip_ref.extract(f"openwrt-imagebuilder.tar.{ext}", tmpdir.name) 81 | 82 | ib_path = os.path.join(tmpdir.name, f"openwrt-imagebuilder.tar.{ext}") 83 | 84 | if ext == "zst": 85 | with open(ib_path, 'rb') as f: 86 | dctx = zstd.ZstdDecompressor() 87 | with dctx.stream_reader(f) as reader, tarfile.open(fileobj=reader, mode="r|*") as tar: 88 | tar.extractall(paths.workdir) # noqa: S202 89 | shutil.move(os.path.join(paths.workdir, tar.getnames()[0]), os.path.join(paths.workdir, "ImageBuilder")) 90 | else: 91 | with tarfile.open(os.path.join(tmpdir.name, "openwrt-imagebuilder.tar.xz"), "r:xz") as tar: 92 | tar.extractall(paths.workdir) # noqa: S202 93 | shutil.move(os.path.join(paths.workdir, tar.getnames()[0]), os.path.join(paths.workdir, "ImageBuilder")) 94 | 95 | ib = ImageBuilder(os.path.join(paths.workdir, "ImageBuilder")) 96 | 97 | pkgs_path = dl_artifact(f"packages-{cfg['name']}", tmpdir.name) 98 | with zipfile.ZipFile(pkgs_path, "r") as zip_ref: 99 | for membber in zip_ref.infolist(): 100 | if not os.path.exists(os.path.join(ib.packages_path, membber.filename)) and not membber.is_dir(): 101 | with zip_ref.open(membber) as f, open(os.path.join(ib.packages_path, os.path.basename(membber.filename)), "wb") as fw: 102 | shutil.copyfileobj(f, fw) 103 | logger.debug("解压文件 %s到 %s", membber.filename, os.path.join(ib.packages_path, os.path.basename(membber.filename))) 104 | 105 | shutil.copytree(os.path.join(openwrt.path, "files"), os.path.join(ib.path, "files")) 106 | if os.path.exists(os.path.join(ib.path, ".config")): 107 | os.remove(os.path.join(ib.path, ".config")) 108 | shutil.copy2(os.path.join(openwrt.path, ".config"), os.path.join(ib.path, ".config")) 109 | 110 | else: 111 | msg = f"未知的工作流 {context.job}" 112 | raise ValueError(msg) 113 | 114 | if context.job in ("base-builds", "build-packages", "build-ImageBuilder"): 115 | cache_restore_key = get_cache_restore_key(openwrt, cfg) 116 | core.set_output("cache-key", f"{cache_restore_key}-{context.run_id}") 117 | core.set_output("cache-restore-key", cache_restore_key) 118 | core.set_output("use-cache", cfg["compile"]["use_cache"]) 119 | core.set_output("openwrt-path", openwrt.path) 120 | 121 | def base_builds(cfg: dict) -> None: 122 | openwrt = OpenWrt(os.path.join(paths.workdir, "openwrt")) 123 | 124 | ccache_path = os.path.join(openwrt.path, ".ccache") 125 | tmp_ccache_path = None 126 | if os.path.exists(ccache_path): 127 | tmp_ccache_path = paths.get_tmpdir() 128 | os.replace(ccache_path, tmp_ccache_path.name) 129 | 130 | logger.info("修改配置(设置编译所有kmod)...") 131 | openwrt.enable_kmods(cfg["compile"]["kmod_compile_exclude_list"]) 132 | 133 | if os.getenv("CACHE_HIT", "").lower().strip() != "true": 134 | logger.info("下载编译工具链所需源码...") 135 | openwrt.download_source("tools/download") 136 | openwrt.download_source("target/prereq") 137 | openwrt.download_source("toolchain/download") 138 | logger.info("开始编译tools...") 139 | openwrt.make("tools/install") 140 | logger.info("开始编译toolchain...") 141 | openwrt.make("toolchain/install") 142 | logger.info("正在清理...") 143 | openwrt.make("clean") 144 | 145 | logger.info("下载编译内核所需源码...") 146 | openwrt.download_source("target/download") 147 | logger.info("开始编译内核...") 148 | if tmp_ccache_path: 149 | if os.path.exists(ccache_path): 150 | shutil.rmtree(ccache_path) 151 | os.replace(tmp_ccache_path.name, ccache_path) 152 | tmp_ccache_path.cleanup() 153 | openwrt.make("target/compile") 154 | 155 | logger.info("归档文件...") 156 | tar_path = os.path.join(paths.uploads, "builds.tar.gz") 157 | with tarfile.open(tar_path, "w:gz") as tar: 158 | tar.add(os.path.join(openwrt.path, "staging_dir"), arcname="staging_dir") 159 | tar.add(os.path.join(openwrt.path, "build_dir"), arcname="build_dir") 160 | uploader.add(f"base-builds-{cfg["name"]}", tar_path, retention_days=1, compression_level=0) 161 | 162 | logger.info("删除旧缓存...") 163 | del_cache(get_cache_restore_key(openwrt, cfg)) 164 | 165 | 166 | def build_packages(cfg: dict) -> None: 167 | openwrt = OpenWrt(os.path.join(paths.workdir, "openwrt")) 168 | 169 | logger.info("下载编译所需源码...") 170 | openwrt.download_source() 171 | 172 | logger.info("开始编译软件包...") 173 | openwrt.make("package/compile") 174 | 175 | logger.info("开始生成软件包...") 176 | openwrt.make("package/install") 177 | 178 | logger.info("整理软件包...") 179 | packages_path = os.path.join(paths.uploads, "packages") 180 | os.makedirs(packages_path, exist_ok=True) 181 | for root, _dirs, files in os.walk(os.path.join(openwrt.path, "bin")): 182 | for file in files: 183 | if file.endswith(".ipk"): 184 | shutil.copy2(os.path.join(root, file), packages_path) 185 | logger.debug(f"复制 {file} 到 {packages_path}") 186 | uploader.add(f"packages-{cfg['name']}", packages_path, retention_days=1) 187 | 188 | logger.info("删除旧缓存...") 189 | del_cache(get_cache_restore_key(openwrt, cfg)) 190 | 191 | def build_image_builder(cfg: dict) -> None: 192 | openwrt = OpenWrt(os.path.join(paths.workdir, "openwrt")) 193 | 194 | logger.info("修改配置(设置编译所有kmod/取消编译其他软件包/取消生成镜像/)...") 195 | openwrt.enable_kmods(cfg["compile"]["kmod_compile_exclude_list"], only_kmods=True) 196 | with open(os.path.join(openwrt.path, ".config")) as f: 197 | config = f.read() 198 | with open(os.path.join(openwrt.path, ".config"), "w") as f: 199 | for line in config.splitlines(): 200 | if ((match := re.match(r"CONFIG_(?P[^_=]+)_IMAGES=y", line)) or 201 | (match := re.match(r"CONFIG_TARGET_ROOTFS_(?P[^_=]+)=y", line)) or 202 | (match := re.match(r"CONFIG_TARGET_IMAGES_(?P[^_=]+)=y", line))): 203 | name = match.group("name") 204 | if name in ("ISO", "VDI", "VMDK", "VHDX", "TARGZ", "CPIOGZ", "EXT4FS", "SQUASHFS", "GZIP"): 205 | logger.debug(f"不构建 {name} 格式镜像") 206 | f.write(line.replace("=y", "=n") + "\n") 207 | else: 208 | f.write(line + "\n") 209 | f.write("CONFIG_IB=y\n") 210 | f.write("CONFIG_IB_STANDALONE=y\n") 211 | # f.write("CONFIG_SDK=y\n") 212 | openwrt.make_defconfig() 213 | 214 | logger.info("下载编译所需源码...") 215 | openwrt.download_source() 216 | 217 | logger.info("开始编译软件包...") 218 | openwrt.make("package/compile") 219 | 220 | logger.info("开始生成软件包...") 221 | openwrt.make("package/install") 222 | 223 | logger.info("制作Image Builder包...") 224 | openwrt.make("target/install") 225 | 226 | logger.info("制作包索引、镜像概述信息并计算校验和...") 227 | openwrt.make("package/index") 228 | openwrt.make("json_overview_image_info") 229 | openwrt.make("checksum") 230 | 231 | logger.info("整理kmods...") 232 | 233 | kmods_path = os.path.join(paths.uploads, "kmods") 234 | os.makedirs(kmods_path, exist_ok=True) 235 | for root, _dirs, files in os.walk(os.path.join(openwrt.path, "bin")): 236 | for file in files: 237 | if file.startswith("kmod-") and file.endswith(".ipk"): 238 | shutil.copy2(os.path.join(root, file), kmods_path) 239 | logger.debug(f"复制 {file} 到 {kmods_path}") 240 | uploader.add(f"kmods-{cfg['name']}", kmods_path, retention_days=1) 241 | 242 | target, subtarget = openwrt.get_target() 243 | if target is None or subtarget is None: 244 | msg = "无法获取target信息" 245 | raise RuntimeError(msg) 246 | 247 | bl_path = os.path.join(openwrt.path, "bin", "targets", target, subtarget, f"openwrt-imagebuilder-{target}-{subtarget}.Linux-x86_64.tar.zst") 248 | ext = "zst" 249 | if not os.path.exists(bl_path): 250 | bl_path = os.path.join(openwrt.path, "bin", "targets", target, subtarget, f"openwrt-imagebuilder-{target}-{subtarget}.Linux-x86_64.tar.xz") 251 | ext = "xz" 252 | shutil.move(bl_path, os.path.join(paths.uploads, f"openwrt-imagebuilder.tar.{ext}")) 253 | bl_path = os.path.join(paths.uploads, f"openwrt-imagebuilder.tar.{ext}") 254 | uploader.add(f"Image_Builder-{cfg['name']}", bl_path, retention_days=1, compression_level=0) 255 | 256 | logger.info("删除旧缓存...") 257 | del_cache(get_cache_restore_key(openwrt, cfg)) 258 | 259 | def build_images(cfg: dict) -> None: 260 | ib = ImageBuilder(os.path.join(paths.workdir, "ImageBuilder")) 261 | 262 | logger.info("收集镜像信息...") 263 | ib.make_info() 264 | ib.make_manifest() 265 | 266 | logger.info("开始构建镜像...") 267 | ib.make_image() 268 | 269 | target, subtarget = ib.get_target() 270 | if target is None or subtarget is None: 271 | msg = "无法获取target信息" 272 | raise RuntimeError(msg) 273 | 274 | logger.info("准备上传...") 275 | uploader.add(f"firmware-{cfg['name']}", os.path.join(ib.path, "bin", "targets", target, subtarget), retention_days=1, compression_level=0) 276 | -------------------------------------------------------------------------------- /build_helper/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.ruff] 2 | target-version = "py312" 3 | line-length = 159 4 | 5 | [tool.ruff.lint] 6 | select = [ 7 | "ALL", 8 | 9 | "CPY001", 10 | ] 11 | 12 | ignore = [ 13 | "ANN401", # any-type 14 | "BLE001", # blind-except 15 | "D100", # undocumented-public-module 16 | "D101", # undocumented-public-class 17 | "D102", # undocumented-public-method 18 | "D103", # undocumented-public-function 19 | "D104", # undocumented-public-package 20 | "D105", # undocumented-magic-method 21 | "D107", # undocumented-public-init 22 | "D400", # ends-in-period 23 | "D415", # ends-in-punctuation 24 | "ERA001", # commented-out-code 25 | "PLR2004", # magic-value-comparison 26 | "PLW1510", # subprocess-run-without-check 27 | "Q000", # bad-quotes-inline-string 28 | "RUF001", # ambiguous-unicode-character-string 29 | "S603", # subprocess-without-shell-equals-true 30 | "S607", # start-process-with-partial-path 31 | "N802", # invalid-function-name 32 | "N999", # invalid-name 33 | 34 | "PTH", # flake8-use-pathlib 35 | "FBT", # flake8-boolean-trap 36 | ] 37 | preview = true 38 | explicit-preview-rules = true 39 | 40 | [tool.ruff.lint.pylint] 41 | max-branches = 25 # PLR0912 42 | max-returns = 15 # PLR0911 43 | max-statements = 75 # PLR0915 44 | max-args = 10 # PLR0913 45 | 46 | [tool.ruff.lint.mccabe] 47 | max-complexity = 30 # C901 48 | -------------------------------------------------------------------------------- /build_helper/releases.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import json 4 | import os 5 | import shutil 6 | from datetime import datetime, timedelta, timezone 7 | 8 | from actions_toolkit.github import Context 9 | 10 | from .utils.logger import logger 11 | from .utils.network import request_get 12 | from .utils.openwrt import ImageBuilder, OpenWrt 13 | from .utils.paths import paths 14 | from .utils.repo import dl_artifact, get_current_commit, match_releases, new_release, repo, user_repo 15 | 16 | 17 | def releases(cfg: dict) -> None: 18 | """发布到 GitHub""" 19 | logger.info("下载artifact...") 20 | 21 | 22 | tmpdir = paths.get_tmpdir() 23 | pkgs_archive_path = dl_artifact(f"packages-{cfg['name']}", tmpdir.name) 24 | shutil.move(pkgs_archive_path, os.path.join(paths.uploads, "packages.zip")) 25 | pkgs_archive_path = os.path.join(paths.uploads, "packages.zip") 26 | kmods_archive_path = dl_artifact(f"kmods-{cfg['name']}", tmpdir.name) 27 | shutil.move(kmods_archive_path, os.path.join(paths.uploads, "kmods.zip")) 28 | kmods_archive_path = os.path.join(paths.uploads, "kmods.zip") 29 | 30 | tmpdir.cleanup() 31 | 32 | ib = ImageBuilder(os.path.join(paths.workdir, "ImageBuilder")) 33 | openwrt = OpenWrt(os.path.join(paths.workdir, "openwrt")) 34 | target, subtarget = ib.get_target() 35 | if target is None or subtarget is None: 36 | msg = "无法获取target信息" 37 | raise RuntimeError(msg) 38 | firmware_path = str(shutil.copytree(os.path.join(ib.path, "bin", "targets", target, subtarget), os.path.join(paths.uploads, "firmware"))) 39 | 40 | current_manifest = None 41 | profiles = None 42 | for root, _, files in os.walk(firmware_path): 43 | for file in files: 44 | if file.endswith(".manifest"): 45 | with open(os.path.join(root, file)) as f: 46 | current_manifest = f.read() 47 | elif file == "profiles.json": 48 | with open(os.path.join(root, file)) as f: 49 | try: 50 | profiles = json.load(f) 51 | if not isinstance(profiles, dict): 52 | logger.error("profiles.json格式错误") 53 | profiles = None 54 | except json.JSONDecodeError: 55 | logger.exception("解析profiles.json失败") 56 | continue 57 | 58 | assets = [] 59 | for root, _, files in os.walk(paths.uploads): 60 | for file in files: 61 | assets.append(os.path.join(root, file)) # noqa: PERF401 62 | 63 | current_packages = {line.split(" - ")[0]: line.split(" - ")[1] for line in current_manifest.splitlines()} if current_manifest else None 64 | 65 | context = Context() 66 | 67 | try: 68 | changelog = "" 69 | if release := match_releases(cfg): 70 | packages = openwrt.get_packageinfos() 71 | 72 | old_manifest = None 73 | for asset in release.get_assets(): 74 | if asset.name.endswith(".manifest"): 75 | old_manifest = request_get(asset.browser_download_url) 76 | 77 | if old_manifest and current_packages: 78 | old_packages = {line.split(" - ")[0]: line.split(" - ")[1] for line in old_manifest.splitlines()} 79 | 80 | for pkg_name, version in current_packages.items(): 81 | pkg = packages.get(pkg_name) 82 | if pkg_name in old_packages: 83 | if old_packages[pkg_name] != version and pkg and pkg["version"] != "x": 84 | changelog += f"更新: {pkg_name} {old_packages[pkg_name]} -> {version}\n" 85 | else: 86 | changelog += f"新增: {pkg_name} {version}\n" 87 | for pkg_name, version in old_packages.items(): 88 | if pkg_name not in current_packages: 89 | changelog += f"移除: {pkg_name} {version}\n" 90 | 91 | changelog = "更新日志:\n" + changelog if changelog else "无任何软件包更新" 92 | 93 | body = f"编译完成于: {datetime.now(timezone(timedelta(hours=8))).strftime('%Y-%m-%d %H:%M:%S')}\n" 94 | body += f"使用的配置: [{cfg['name']}](https://github.com/{user_repo}/tree/{get_current_commit()}/config/{cfg['name']})\n" 95 | workflow_run = repo.get_workflow_run(context.run_id) 96 | body += f"编译此固件的工作流运行: [{workflow_run.display_title}]({workflow_run.html_url}) ({workflow_run.event})\n" 97 | if profiles: 98 | if (version_number := profiles.get("version_number")) and (version_code := profiles.get('version_code')): 99 | body += f"OpenWrt版本: {version_number} {version_code}\n" 100 | if target := profiles.get("target"): 101 | body += f"目标平台: {target}\n" 102 | if current_packages and (kernel_ver := current_packages.get("kernel")): 103 | body += f"内核版本: {kernel_ver}\n" 104 | 105 | if changelog: 106 | body += f"\n\n{changelog}" 107 | 108 | new_release(cfg, assets, body) 109 | 110 | except Exception: 111 | logger.exception("获取旧版本信息并对照失败") 112 | -------------------------------------------------------------------------------- /build_helper/requirements.txt: -------------------------------------------------------------------------------- 1 | actions-toolkit 2 | pygit2 3 | pyyaml 4 | zstandard 5 | httpx -------------------------------------------------------------------------------- /build_helper/utils/__init__.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | -------------------------------------------------------------------------------- /build_helper/utils/downloader.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import os 4 | import threading 5 | import time 6 | from concurrent.futures import ThreadPoolExecutor, as_completed 7 | 8 | import httpx 9 | 10 | from .logger import logger 11 | 12 | 13 | class DownloadError(Exception): 14 | def __init__(self, msg: str, task: "DLTask") -> None: 15 | super().__init__(msg) 16 | self.task = task 17 | self.msg = msg 18 | 19 | def __str__(self) -> str: 20 | url = self.task.url 21 | path = self.task.path 22 | return f"DownloadError: {self.msg} (url: {url}, path: {path})" 23 | 24 | def __repr__(self) -> str: 25 | return self.__str__() 26 | 27 | class DLTask: 28 | def __init__(self, url: str, path: str, retry: int, num_chunks: int, headers: dict | None) -> None: 29 | self.url = url 30 | self.path = os.path.abspath(path) 31 | self.retry = retry 32 | self.num_chunks = num_chunks 33 | self.headers = headers or {} 34 | self.error: Exception | None = None 35 | self.completed = False 36 | 37 | if os.path.exists(self.path): 38 | os.remove(self.path) 39 | logger.warning(f"File {self.path} already exists, removed.") 40 | 41 | if not os.path.exists(os.path.dirname(self.path)): 42 | os.makedirs(os.path.dirname(self.path)) 43 | logger.info(f"Directory {os.path.dirname(self.path)} created.") 44 | 45 | self.thread = threading.Thread(target=self._download) 46 | self.thread.start() 47 | 48 | def _download(self) -> None: 49 | try: 50 | with httpx.Client(headers=self.headers, follow_redirects=True) as client: 51 | try: 52 | # 检查服务器是否支持分片下载 53 | resp = client.head(self.url) 54 | resp.raise_for_status() 55 | accept_ranges = resp.headers.get("Accept-Ranges") == "bytes" 56 | content_length = int(resp.headers.get("Content-Length", 0)) 57 | except (httpx.HTTPError, httpx.RequestError): 58 | accept_ranges = False 59 | content_length = 0 60 | 61 | if accept_ranges and content_length > 0 and self.num_chunks > 1: 62 | try: 63 | self._download_chunks(client, content_length) 64 | except Exception: 65 | self._download_whole(client) 66 | else: 67 | self._download_whole(client) 68 | except Exception as e: 69 | self.error = e 70 | finally: 71 | self.completed = True 72 | 73 | def _download_chunks(self, client: httpx.Client, content_length: int) -> None: 74 | # 计算块范围 75 | num_chunks = min(self.num_chunks, content_length) 76 | chunk_size = content_length // num_chunks 77 | ranges = [ 78 | ( 79 | i * chunk_size, 80 | (i + 1) * chunk_size - 1 if i < num_chunks - 1 else content_length - 1, 81 | ) 82 | for i in range(num_chunks) 83 | ] 84 | 85 | # 预先分配文件 86 | with open(self.path, "wb") as f: 87 | f.truncate(content_length) 88 | 89 | # 并行下载块 90 | with ThreadPoolExecutor(max_workers=num_chunks) as executor: 91 | futures = [executor.submit(self._download_chunk, client, start, end) for start, end in ranges] 92 | 93 | for future in as_completed(futures): 94 | try: 95 | data, pos = future.result() 96 | self._write_chunk(pos, data) 97 | except Exception: 98 | executor.shutdown(wait=False, cancel_futures=True) 99 | raise 100 | 101 | def _download_chunk(self, client: httpx.Client, start: int, end: int) -> tuple[bytes, int]: 102 | headers = self.headers.copy() 103 | headers["Range"] = f"bytes={start}-{end}" 104 | 105 | for attempt in range(self.retry + 1): 106 | try: 107 | resp = client.get(self.url, headers=headers) 108 | if resp.status_code == 206: 109 | return resp.content, start 110 | msg = f"Unexpected status code {resp.status_code}" 111 | self._raise_download_error(httpx.HTTPStatusError( 112 | msg, 113 | request=resp.request, 114 | response=resp, 115 | )) 116 | except Exception: 117 | if attempt == self.retry: 118 | raise 119 | time.sleep(1) 120 | msg = "Chunk download failed after retries" 121 | raise DownloadError(msg, self) 122 | 123 | def _write_chunk(self, pos: int, data: bytes) -> None: 124 | with open(self.path, "r+b") as f: 125 | f.seek(pos) 126 | f.write(data) 127 | 128 | def _download_whole(self, client: httpx.Client) -> None: 129 | for attempt in range(self.retry + 1): 130 | try: 131 | with client.stream("GET", self.url, headers=self.headers) as response: 132 | response.raise_for_status() 133 | with open(self.path, "wb") as f: 134 | for chunk in response.iter_bytes(): 135 | f.write(chunk) 136 | return 137 | except Exception: 138 | if attempt == self.retry: 139 | raise 140 | time.sleep(1) 141 | 142 | def _raise_download_error(self, e: Exception) -> None: 143 | raise e 144 | 145 | def dl2( 146 | url: str, 147 | path: str, 148 | retry: int = 6, 149 | num_chunks: int = 4, 150 | headers: dict | None = None, 151 | ) -> DLTask: 152 | return DLTask(url, path, retry, num_chunks, headers) 153 | 154 | 155 | def wait_dl_tasks(dl_tasks: list[DLTask]) -> None: 156 | for task in dl_tasks: 157 | task.thread.join() 158 | 159 | for task in dl_tasks: 160 | if task.error is not None: 161 | raise task.error 162 | -------------------------------------------------------------------------------- /build_helper/utils/error.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | class ConfigError(Exception): 4 | pass 5 | 6 | class ConfigParseError(ConfigError): 7 | pass 8 | 9 | class ConfigNotFoundError(ConfigError): 10 | pass 11 | 12 | class PrePareError(Exception): 13 | pass 14 | -------------------------------------------------------------------------------- /build_helper/utils/logger.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import io 4 | import logging 5 | import os 6 | import sys 7 | 8 | from actions_toolkit import core 9 | 10 | from .paths import paths 11 | 12 | logger = logging.getLogger("build_helper") 13 | 14 | formatter = logging.Formatter('[%(levelname)s]%(asctime)s- %(module)s(%(lineno)d) - %(funcName)s:%(message)s') 15 | 16 | # 标准输出 17 | handler = logging.StreamHandler(sys.stdout) 18 | if isinstance(sys.stdout, io.TextIOWrapper): 19 | sys.stdout.reconfigure(encoding='utf-8') 20 | handler.setFormatter(formatter) 21 | 22 | # 日志等级 23 | if core.is_debug() or os.getenv("BUILD_HELPER_DEBUG") == "1" or os.getenv("BUILD_HELPER_DEBUG", "").lower() == "true": 24 | handler.setLevel(logging.DEBUG) 25 | logger.setLevel(logging.DEBUG) 26 | debug = True 27 | else: 28 | handler.setLevel(logging.INFO) 29 | logger.setLevel(logging.INFO) 30 | debug = False 31 | logger.addHandler(handler) 32 | # 文件 33 | handler = logging.FileHandler(filename=paths.log, encoding="utf-8") 34 | handler.setFormatter(formatter) 35 | handler.setLevel(logging.DEBUG) 36 | logger.addHandler(handler) 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /build_helper/utils/network.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import json 4 | 5 | import httpx 6 | 7 | from .logger import logger 8 | 9 | HEADER = { 10 | "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36 Edg/128.0.0.0", 11 | "Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7,en-GB;q=0.6", 12 | "accept-encoding": "gzip, deflate, br, zstd", 13 | "cache-control": "no-cache", 14 | } 15 | 16 | 17 | def request_get(url: str, retry: int = 6, headers: dict | None = None) -> str | None: 18 | for i in range(retry): 19 | try: 20 | response = httpx.get(url, timeout=10, follow_redirects=True, headers=headers) 21 | response.raise_for_status() 22 | return response.text # noqa: TRY300 23 | except Exception as e: 24 | logger.warning(f"请求{url}失败, 重试次数:{i + 1}") 25 | error = e 26 | logger.error("请求失败,重试次数已用完 %s", f"{error.__class__.__name__}: {error!s}") 27 | return None 28 | 29 | def get_gh_repo_last_releases(repo: str, token: str | None = None) -> dict | None: 30 | return gh_api_request(f"https://api.github.com/repos/{repo}/releases/latest", token) 31 | 32 | def gh_api_request(url: str, token: str | None = None) -> dict | None: 33 | headers = { 34 | "Accept": "application/vnd.github+json", 35 | "X-GitHub-Api-Version": "2022-11-28", 36 | } 37 | if token: 38 | headers["Authorization"] = f'Bearer {token}' 39 | response = request_get(url, headers=headers) 40 | if isinstance(response, str): 41 | obj = json.loads(response) 42 | if isinstance(obj, dict): 43 | return obj 44 | return None 45 | -------------------------------------------------------------------------------- /build_helper/utils/paths.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import os 4 | import tempfile 5 | 6 | from actions_toolkit import core 7 | 8 | from .error import ConfigError 9 | 10 | 11 | class Paths: 12 | 13 | def __init__(self) -> None: 14 | root = os.getenv("GITHUB_WORKSPACE") 15 | if root is None: 16 | self.root = os.getcwd() 17 | else: 18 | self.root = root 19 | self.global_config = os.path.join(self.root, "config", "OpenWrt.config") 20 | 21 | self.main = os.path.abspath(__import__("__main__").__file__) 22 | self.build_helper = os.path.dirname(self.main) 23 | self.openwrt_k = os.path.dirname(self.build_helper) 24 | 25 | @property 26 | def configs(self) -> dict[str, str]: 27 | """获取配置的名称与路径""" 28 | configs = {} 29 | try: 30 | from .utils import parse_config 31 | config_names = parse_config(self.global_config, ["config"])['config'] 32 | if isinstance(config_names, str): 33 | config_names = [config_names] 34 | if not isinstance(config_names, list) or len(config_names) == 0: 35 | msg = "没有获取到任何配置" 36 | raise ConfigError(msg) 37 | for config in config_names: 38 | path = os.path.join(self.root, "config", config) 39 | if os.path.isdir(path): 40 | configs[config] = os.path.join(self.root, "config", config) 41 | else: 42 | core.warning(f"配置 {config} 不存在") 43 | except Exception as e: 44 | msg = f"获取配置时出错: {e.__class__.__name__}: {e!s}" 45 | raise ConfigError(msg) from e 46 | return configs 47 | 48 | @property 49 | def workdir(self) -> str: 50 | workdir = os.path.join(self.root, "workdir") 51 | if not os.path.exists(workdir): 52 | os.makedirs(workdir) 53 | elif not os.path.isdir(workdir): 54 | msg = f"工作区路径 {workdir} 不是一个目录" 55 | raise NotADirectoryError(msg) 56 | return workdir 57 | 58 | @property 59 | def uploads(self) -> str: 60 | uploads = os.path.join(self.root, "uploads") 61 | if not os.path.exists(uploads): 62 | os.makedirs(uploads) 63 | elif not os.path.isdir(uploads): 64 | msg = f"上传区路径 {uploads} 不是一个目录" 65 | raise NotADirectoryError(msg) 66 | return uploads 67 | 68 | @property 69 | def log(self) -> str: 70 | return os.path.join(self.build_helper, "build_helper.log") 71 | 72 | @property 73 | def errorinfo(self) -> str: 74 | errorinfo = os.path.join(self.root, "errorinfo") 75 | if not os.path.exists(errorinfo): 76 | os.makedirs(errorinfo) 77 | elif not os.path.isdir(errorinfo): 78 | msg = f"错误信息路径 {errorinfo} 不是一个目录" 79 | raise NotADirectoryError(msg) 80 | return errorinfo 81 | 82 | @property 83 | def patches(self) -> str: 84 | return os.path.join(self.openwrt_k, "patches") 85 | 86 | def get_tmpdir(self) -> tempfile.TemporaryDirectory: 87 | tmpdir = os.path.join(self.root, "tmp") 88 | if not os.path.exists(tmpdir): 89 | os.makedirs(tmpdir) 90 | elif not os.path.isdir(tmpdir): 91 | msg = f"临时目录 {tmpdir} 不是一个目录" 92 | raise NotADirectoryError(msg) 93 | return tempfile.TemporaryDirectory(dir=tmpdir) 94 | 95 | 96 | paths = Paths() 97 | -------------------------------------------------------------------------------- /build_helper/utils/repo.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import contextlib 4 | import os 5 | from datetime import datetime, timedelta, timezone 6 | 7 | import github 8 | import github.GitRelease 9 | import httpx 10 | import pygit2 11 | from actions_toolkit.github import Context, get_octokit 12 | 13 | from .downloader import dl2, wait_dl_tasks 14 | from .logger import logger 15 | from .network import gh_api_request 16 | from .paths import paths 17 | 18 | context = Context() 19 | user_repo = f'{context.repo.owner}/{context.repo.repo}' 20 | 21 | token = os.getenv('GITHUB_TOKEN') 22 | with contextlib.suppress(Exception): 23 | repo = get_octokit(token).rest.get_repo(user_repo) 24 | 25 | compiler = context.repo.owner 26 | if user_info := gh_api_request(f"https://api.github.com/users/{compiler}", token): 27 | compiler = user_info.get("name", compiler) 28 | 29 | def get_current_commit() -> str: 30 | current_repo = pygit2.Repository(paths.openwrt_k) 31 | head_commit = current_repo.head.target 32 | if isinstance(head_commit, pygit2.Oid): 33 | head_commit = head_commit.raw.hex() 34 | return head_commit 35 | 36 | def dl_artifact(name: str, path: str) -> str: 37 | for artifact in repo.get_artifacts(): 38 | if artifact.workflow_run.id == context.run_id and artifact.name == name: 39 | dl_url = artifact.archive_download_url 40 | logger.debug(f'Downloading artifact {name} from {dl_url}') 41 | break 42 | else: 43 | msg = f'Artifact {name} not found' 44 | raise ValueError(msg) 45 | if not token: 46 | msg = "没有可用的token" 47 | raise KeyError(msg) 48 | 49 | # https://github.com/orgs/community/discussions/88698 50 | headers = { 51 | "Accept": "application/vnd.github+json", 52 | "X-GitHub-Api-Version": "2022-11-28", 53 | "Authorization": f'Bearer {token}', 54 | } 55 | task = dl2(dl_url, os.path.join(path, name + ".zip"), headers=headers) 56 | wait_dl_tasks([task]) 57 | return os.path.join(path, name + ".zip") 58 | 59 | def del_cache(key_prefix: str) -> None: 60 | headers = { 61 | "Accept": "application/vnd.github+json", 62 | "X-GitHub-Api-Version": "2022-11-28", 63 | "Authorization": f'Bearer {token}', 64 | } 65 | if response := gh_api_request(f"https://api.github.com/repos/{user_repo}/actions/caches", token): 66 | for cache in response["actions_caches"]: 67 | cache: dict 68 | if cache['key'].startswith(key_prefix): 69 | logger.info(f'Deleting cache {cache["key"]}') 70 | httpx.delete(f"https://api.github.com/repos/{user_repo}/actions/caches/{cache['id']}", headers=headers, timeout=10) 71 | else: 72 | logger.error('Failed to get caches list') 73 | 74 | def get_release_suffix(cfg: dict) -> tuple[str, str]: 75 | release_suffix = f"({cfg["target"]}-{cfg["subtarget"]})-[{cfg["compile"]["openwrt_tag/branch"]}]" 76 | tag_suffix = f"({cfg["target"]}-{cfg["subtarget"]})-({cfg["compile"]["openwrt_tag/branch"]})-{cfg["name"]}" 77 | return release_suffix, tag_suffix 78 | 79 | def new_release(cfg: dict, assets: list[str], body: str) -> None: 80 | release_suffix, tag_suffix = get_release_suffix(cfg) 81 | f_release_name = "v" + datetime.now(timezone(timedelta(hours=8))).strftime('%Y.%m.%d') + "-{n}" + release_suffix 82 | f_tag_name = "v" + datetime.now(timezone(timedelta(hours=8))).strftime('%Y.%m.%d') + "-{n}" + tag_suffix 83 | 84 | releases = repo.get_releases() 85 | tag_names = [release.tag_name for release in releases] 86 | 87 | i = 0 88 | while True: 89 | tag_name = f_tag_name.format(n=i) 90 | if tag_name not in tag_names: 91 | release_name = f_release_name.format(n=i) 92 | break 93 | i += 1 94 | 95 | head_commit = get_current_commit() 96 | 97 | logger.info("创建新发布: %s", release_name) 98 | release = repo.create_git_tag_and_release(tag_name, 99 | f"发布新版本:{release_name}", 100 | release_name, 101 | body, 102 | head_commit, 103 | "commit", 104 | ) 105 | for asset in assets: 106 | logger.info("上传资产: %s", asset) 107 | release.upload_asset(asset) 108 | 109 | try: 110 | headers = { 111 | "Accept": "application/vnd.github+json", 112 | "X-GitHub-Api-Version": "2022-11-28", 113 | "Authorization": f'Bearer {token}', 114 | } 115 | for release in releases: 116 | if release.tag_name.endswith(tag_suffix) and release.tag_name != tag_name: 117 | logger.info("删除旧版本: %s", release.tag_name) 118 | release.delete_release() 119 | httpx.delete(f"https://api.github.com/repos/{user_repo}/git/refs/tags/{release.tag_name}", headers=headers, timeout=10) 120 | 121 | except Exception: 122 | logger.exception("删除旧版本失败") 123 | 124 | 125 | def match_releases(cfg: dict) -> github.GitRelease.GitRelease | None: 126 | _, suffix = get_release_suffix(cfg) 127 | 128 | releases = repo.get_releases() 129 | 130 | matched_releases = [release for release in releases if release.tag_name.endswith(suffix)] 131 | 132 | if matched_releases: 133 | return matched_releases[0] 134 | return None 135 | -------------------------------------------------------------------------------- /build_helper/utils/upload.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import os 4 | 5 | import yaml 6 | 7 | from .logger import logger 8 | from .paths import paths 9 | 10 | 11 | class UpLoader: 12 | def __init__(self) -> None: 13 | self.action_file = os.path.join(paths.openwrt_k, ".github", "action", "upload", "action.yml") 14 | logger.debug(f"UpLoad Action file: {self.action_file}") 15 | with open(self.action_file, encoding='utf-8') as file: 16 | self.action = yaml.load(file, Loader=yaml.FullLoader) # noqa: S506 17 | self.action['runs']['steps'] = [] 18 | 19 | def add(self, 20 | name: str, 21 | path: str | list[str], 22 | if_no_files_found: str | None = None, 23 | retention_days: int | None = None, 24 | compression_level: int | None = None, 25 | overwrite: bool | None = None, 26 | include_hidden_files: bool | None = None) -> None: 27 | if not path: 28 | logger.warning(f"添加Artifact {name} 时没有指定任何要上传的文件, 跳过") 29 | return 30 | logger.debug(f"Add Artifact: {name} {path}") 31 | if isinstance(path, list): 32 | path = "\n".join(path) 33 | action = { 34 | "name": name, 35 | "uses": "actions/upload-artifact@v4", 36 | "with": { 37 | "name": name, 38 | "path": path, 39 | }, 40 | } 41 | if if_no_files_found is not None: 42 | action["with"]['if-no-files-found'] = if_no_files_found 43 | if retention_days is not None: 44 | action["with"]['retention-days'] = retention_days 45 | if compression_level is not None: 46 | action["with"]['compression-level'] = compression_level 47 | if overwrite is not None: 48 | action["with"]['overwrite'] = overwrite 49 | if include_hidden_files is not None: 50 | action["with"]['include-hidden-files'] = include_hidden_files 51 | self.action['runs']['steps'].append(action) 52 | 53 | def save(self) -> None: 54 | if self.action['runs']['steps']: 55 | logger.debug("Save UpLoad Action file to %s", self.action_file) 56 | with open(self.action_file, 'w', encoding='utf-8') as file: 57 | yaml.dump(self.action, file, allow_unicode=True, sort_keys=False) 58 | 59 | uploader = UpLoader() 60 | -------------------------------------------------------------------------------- /build_helper/utils/utils.py: -------------------------------------------------------------------------------- 1 | # SPDX-FileCopyrightText: Copyright (c) 2024-2025 沉默の金 2 | # SPDX-License-Identifier: MIT 3 | import hashlib 4 | import os 5 | import shutil 6 | import subprocess 7 | 8 | from .error import ConfigParseError 9 | from .logger import logger 10 | from .paths import paths 11 | 12 | 13 | def parse_config(path: str, prefixs: tuple[str,...]|list[str]) -> dict[str, str | list[str] | bool]: 14 | if not os.path.isfile(path): 15 | msg = f"配置文件 {path} 不存在" 16 | raise ConfigParseError(msg) 17 | 18 | config = {} 19 | with open(path, encoding="utf-8") as f: 20 | for prefix in prefixs: 21 | for line in f: 22 | if line.startswith(prefix+"="): 23 | content = line.split("=")[1].strip() 24 | match content.lower(): 25 | case "true": 26 | config[prefix] = True 27 | case "false": 28 | config[prefix] = False 29 | case _: 30 | if "," in content: 31 | config[prefix] = [v.strip() for v in content.split(",")] 32 | else: 33 | config[prefix] = content 34 | break 35 | else: 36 | msg = f"无法在配置文件 {path} 中找到配置项{prefix}" 37 | raise ConfigParseError(msg) 38 | return config 39 | 40 | 41 | def setup_env(full: bool = False, clear: bool = False) -> None: 42 | def sudo(*args: str) -> None: 43 | subprocess.run(["sudo", "-E", *list(args)], stdout=subprocess.PIPE) 44 | def apt(*args: str) -> None: 45 | subprocess.run(["sudo", "-E", "apt-get", "-y", *list(args)], stdout=subprocess.PIPE) 46 | logger.info("开始准备编译环境%s...", f"(full={full}, clear={clear})") 47 | # https://github.com/community/community/discussions/47863 48 | sudo("apt-mark", "hold", "grub-efi-amd64-signed") 49 | # 1. 更新包列表 50 | logger.info("更新包列表") 51 | apt("update") 52 | # 2.删除不需要的包 53 | if clear: 54 | logger.info("删除不需要的包") 55 | try: 56 | apt("purge", "azure-cli*", "docker*", "ghc*", "zulu*", "llvm*", "firefox", "google*", "dotnet*", 57 | "powershell*", "openjdk*", "mysql*", "php*", "mongodb*", "dotnet*", "snap*", "moby*") 58 | except subprocess.CalledProcessError: 59 | logger.exception("删除不需要的包时发生错误") 60 | 61 | if full: 62 | # 3. 完整更新所有包 63 | logger.info("完整更新所有包") 64 | apt("dist-upgrade") 65 | # 4.安装编译环境 66 | apt("install", "ack", "antlr3", "aria2", "asciidoc", "autoconf", "automake", "autopoint", "b43-fwcutter", "binutils", 67 | "bison", "build-essential", "bzip2", "ccache", "cmake", "cpio", "curl", "device-tree-compiler", "fastjar", 68 | "flex", "gawk", "gettext", "gcc-multilib", "g++-multilib", "git", "gperf", "haveged", "help2man", "intltool", 69 | "libc6-dev-i386", "libelf-dev", "libglib2.0-dev", "libgmp3-dev", "libltdl-dev", "libmpc-dev", "libmpfr-dev", 70 | "libncurses5-dev", "libncursesw5-dev", "libreadline-dev", "libssl-dev", "libtool", "lrzsz", "mkisofs", "msmtp", 71 | "nano", "ninja-build", "p7zip", "p7zip-full", "patch", "pkgconf", "python2.7", "python3-distutils", 72 | "qemu-utils", "clang", "g++", "rsync", "unzip", "zlib1g-dev", "wget", "libfuse-dev") 73 | else: 74 | apt("install", "build-essential", "clang", "flex", "bison", "g++", "gawk", "gcc-multilib", "g++-multilib", "gettext", 75 | "libncurses5-dev", "libssl-dev", "rsync", "swig", "unzip", "zlib1g-dev", "file", "wget") 76 | # 5.重载系统 77 | logger.info("重载系统") 78 | sudo("systemctl", "daemon-reload") 79 | # 6.自动删除不需要的包 80 | logger.info("自动删除不需要的包") 81 | try: 82 | apt("autoremove", "--purge") 83 | except subprocess.CalledProcessError: 84 | logger.exception("自动删除不需要的包") 85 | # 7.清理缓存 86 | logger.info("清理缓存") 87 | apt("clean") 88 | # 8.调整时区 89 | logger.info("调整时区") 90 | sudo("timedatectl", "set-timezone", "Asia/Shanghai") 91 | if clear: 92 | # 清理空间 93 | logger.info("清理空间") 94 | sudo("rm", "-rf", "/etc/apt/sources.list.d/*", "/usr/share/dotnet", "/usr/local/lib/android", "/opt/ghc", 95 | "/etc/mysql", "/etc/php") 96 | 97 | # 移除 swap 文件 98 | sudo("swapoff", "-a") 99 | sudo("rm", "-f", "/mnt/swapfile") 100 | # 创建根分区映像文件 101 | root_avail_kb = int(subprocess.check_output(["df", "--block-size=1024", "--output=avail", "/"]).decode().splitlines()[-1]) 102 | root_size_kb = (root_avail_kb - 1048576) * 1024 103 | sudo("fallocate", "-l", str(root_size_kb), "/root.img") 104 | root_loop_devname = subprocess.check_output(["sudo", "losetup", "-Pf", "--show", "/root.img"]).decode().strip() 105 | 106 | # 创建物理卷 107 | sudo("pvcreate", "-f", root_loop_devname) 108 | 109 | # 创建挂载点分区映像文件 110 | mnt_avail_kb = int(subprocess.check_output(["df", "--block-size=1024", "--output=avail", "/mnt"]).decode().splitlines()[-1]) 111 | mnt_size_kb = (mnt_avail_kb - 102400) * 1024 112 | sudo("fallocate", "-l", str(mnt_size_kb), "/mnt/mnt.img") 113 | mnt_loop_devname = subprocess.check_output(["sudo", "losetup", "-Pf", "--show", "/mnt/mnt.img"]).decode().strip() 114 | 115 | # 创建物理卷 116 | sudo("pvcreate", "-f", mnt_loop_devname) 117 | 118 | # 创建卷组和逻辑卷 119 | sudo("vgcreate", "vgstorage", root_loop_devname, mnt_loop_devname) 120 | sudo("lvcreate", "-n", "lvstorage", "-l", "100%FREE", "vgstorage") 121 | lv_devname = subprocess.check_output(["sudo", "lvscan"]).decode().split("'")[1].strip() 122 | 123 | # 创建文件系统并挂载 124 | sudo("mkfs.btrfs", "-L", "combinedisk", lv_devname) 125 | sudo("mount", "-o", "compress=zstd", lv_devname, paths.root) 126 | sudo("chown", "-R", "runner:runner", paths.root) 127 | 128 | if not os.path.exists(os.path.join(paths.root, ".github")): 129 | os.symlink(os.path.join(paths.openwrt_k, ".github"), os.path.join(paths.root, ".github")) 130 | # 打印剩余空间 131 | total, used, free = shutil.disk_usage(paths.root) 132 | logger.info(f"工作区空间使用情况: {used / (1024**3):.2f}/{total / (1024**3):.2f}GB,剩余: {free / (1024**3):.2f}GB") 133 | 134 | 135 | def apply_patch(patch: str, target: str) -> bool: 136 | result = subprocess.run(["patch", "-p1", "-d", target], 137 | input=patch, 138 | text=True, 139 | capture_output=True, 140 | ) 141 | return result.returncode == 0 142 | 143 | 144 | def hash_dirs(directories: list[str] | tuple[str,...], hash_algorithm: str = 'sha256') -> str: 145 | """计算整个目录的哈希值""" 146 | hash_obj = hashlib.new(hash_algorithm) 147 | 148 | # 遍历目录中的所有文件和子目录 149 | for directory in directories: 150 | for root, _, files in os.walk(directory): 151 | for name in sorted(files): 152 | with open(os.path.join(root, name), 'rb') as f: 153 | while chunk := f.read(8192): 154 | hash_obj.update(chunk) 155 | 156 | return hash_obj.hexdigest() 157 | -------------------------------------------------------------------------------- /config/OpenWrt.config: -------------------------------------------------------------------------------- 1 | #config=后面添加选用的配置,多个配置直接用英文逗号间隔。 2 | config=x86_64 -------------------------------------------------------------------------------- /config/default-extpackages.config: -------------------------------------------------------------------------------- 1 | EXT_PACKAGES_NAME[1]="luci-app-usb-printer" 2 | EXT_PACKAGES_PATH[1]="applications/luci-app-usb-printer" 3 | EXT_PACKAGES_REPOSITORIE[1]="https://github.com/coolsnowwolf/luci" 4 | EXT_PACKAGES_BRANCH[1]="" 5 | EXT_PACKAGES_NAME[2]="luci-app-vlmcsd" 6 | EXT_PACKAGES_PATH[2]="applications/luci-app-vlmcsd" 7 | EXT_PACKAGES_REPOSITORIE[2]="https://github.com/coolsnowwolf/luci" 8 | EXT_PACKAGES_BRANCH[2]="" 9 | EXT_PACKAGES_NAME[3]="luci-app-webadmin" 10 | EXT_PACKAGES_PATH[3]="applications/luci-app-webadmin" 11 | EXT_PACKAGES_REPOSITORIE[3]="https://github.com/coolsnowwolf/luci" 12 | EXT_PACKAGES_BRANCH[3]="" 13 | EXT_PACKAGES_NAME[4]="luci-app-cifs-mount" 14 | EXT_PACKAGES_PATH[4]="applications/luci-app-cifs-mount" 15 | EXT_PACKAGES_REPOSITORIE[4]="https://github.com/coolsnowwolf/luci" 16 | EXT_PACKAGES_BRANCH[4]="" 17 | EXT_PACKAGES_NAME[5]="luci-app-netdata" 18 | EXT_PACKAGES_PATH[5]="applications/luci-app-netdata" 19 | EXT_PACKAGES_REPOSITORIE[5]="https://github.com/coolsnowwolf/luci" 20 | EXT_PACKAGES_BRANCH[5]="" 21 | EXT_PACKAGES_NAME[6]="vlmcsd" 22 | EXT_PACKAGES_PATH[6]="net/vlmcsd" 23 | EXT_PACKAGES_REPOSITORIE[6]="https://github.com/coolsnowwolf/packages" 24 | EXT_PACKAGES_BRANCH[6]="" 25 | EXT_PACKAGES_NAME[7]="r8168" 26 | EXT_PACKAGES_PATH[7]="package/kernel/r8168" 27 | EXT_PACKAGES_REPOSITORIE[7]="https://github.com/coolsnowwolf/lede" 28 | EXT_PACKAGES_BRANCH[7]="" 29 | EXT_PACKAGES_NAME[8]="shortcut-fe" 30 | EXT_PACKAGES_PATH[8]="shortcut-fe" 31 | EXT_PACKAGES_REPOSITORIE[8]="https://github.com/chenmozhijin/turboacc" 32 | EXT_PACKAGES_BRANCH[8]="package" 33 | EXT_PACKAGES_NAME[9]="luci-app-rclone" 34 | EXT_PACKAGES_PATH[9]="applications/luci-app-rclone" 35 | EXT_PACKAGES_REPOSITORIE[9]="https://github.com/immortalwrt/luci" 36 | EXT_PACKAGES_BRANCH[9]="" 37 | EXT_PACKAGES_NAME[10]="luci-app-zerotier" 38 | EXT_PACKAGES_PATH[10]="applications/luci-app-zerotier" 39 | EXT_PACKAGES_REPOSITORIE[10]="https://github.com/immortalwrt/luci" 40 | EXT_PACKAGES_BRANCH[10]="" 41 | EXT_PACKAGES_NAME[11]="luci-app-fileassistant" 42 | EXT_PACKAGES_PATH[11]="luci-app-fileassistant" 43 | EXT_PACKAGES_REPOSITORIE[11]="https://github.com/Lienol/openwrt-package" 44 | EXT_PACKAGES_BRANCH[11]="" 45 | EXT_PACKAGES_NAME[12]="luci-app-passwall" 46 | EXT_PACKAGES_PATH[12]="luci-app-passwall" 47 | EXT_PACKAGES_REPOSITORIE[12]="https://github.com/xiaorouji/openwrt-passwall" 48 | EXT_PACKAGES_BRANCH[12]="" 49 | EXT_PACKAGES_NAME[13]="openwrt-passwall-packages" 50 | EXT_PACKAGES_PATH[13]="" 51 | EXT_PACKAGES_REPOSITORIE[13]="https://github.com/xiaorouji/openwrt-passwall-packages" 52 | EXT_PACKAGES_BRANCH[13]="" 53 | EXT_PACKAGES_NAME[14]="passwall2" 54 | EXT_PACKAGES_PATH[14]="luci-app-passwall2" 55 | EXT_PACKAGES_REPOSITORIE[14]="https://github.com/xiaorouji/openwrt-passwall2" 56 | EXT_PACKAGES_BRANCH[14]="" 57 | EXT_PACKAGES_NAME[15]="nft-fullcone" 58 | EXT_PACKAGES_PATH[15]="" 59 | EXT_PACKAGES_REPOSITORIE[15]="https://github.com/fullcone-nat-nftables/nft-fullcone" 60 | EXT_PACKAGES_BRANCH[15]="" 61 | EXT_PACKAGES_NAME[16]="luci-app-turboacc" 62 | EXT_PACKAGES_PATH[16]="luci-app-turboacc" 63 | EXT_PACKAGES_REPOSITORIE[16]="https://github.com/chenmozhijin/turboacc" 64 | EXT_PACKAGES_BRANCH[16]="" 65 | EXT_PACKAGES_NAME[17]="luci-app-adguardhome" 66 | EXT_PACKAGES_PATH[17]="" 67 | EXT_PACKAGES_REPOSITORIE[17]="https://github.com/chenmozhijin/luci-app-adguardhome" 68 | EXT_PACKAGES_BRANCH[17]="" 69 | EXT_PACKAGES_NAME[18]="luci-app-argon-config" 70 | EXT_PACKAGES_PATH[18]="" 71 | EXT_PACKAGES_REPOSITORIE[18]="https://github.com/jerrykuku/luci-app-argon-config" 72 | EXT_PACKAGES_BRANCH[18]="" 73 | EXT_PACKAGES_NAME[19]="luci-app-diskman" 74 | EXT_PACKAGES_PATH[19]="applications/luci-app-diskman" 75 | EXT_PACKAGES_REPOSITORIE[19]="https://github.com/lisaac/luci-app-diskman" 76 | EXT_PACKAGES_BRANCH[19]="" 77 | EXT_PACKAGES_NAME[20]="luci-app-netspeedtest" 78 | EXT_PACKAGES_PATH[20]="" 79 | EXT_PACKAGES_REPOSITORIE[20]="https://github.com/sirpdboy/NetSpeedTest" 80 | EXT_PACKAGES_BRANCH[20]="" 81 | EXT_PACKAGES_NAME[21]="luci-app-wechatpush" 82 | EXT_PACKAGES_PATH[21]="" 83 | EXT_PACKAGES_REPOSITORIE[21]="https://github.com/tty228/luci-app-wechatpush" 84 | EXT_PACKAGES_BRANCH[21]="" 85 | EXT_PACKAGES_NAME[22]="luci-theme-argon" 86 | EXT_PACKAGES_PATH[22]="" 87 | EXT_PACKAGES_REPOSITORIE[22]="https://github.com/jerrykuku/luci-theme-argon" 88 | EXT_PACKAGES_BRANCH[22]="" 89 | EXT_PACKAGES_NAME[23]="luci-app-socat" 90 | EXT_PACKAGES_PATH[23]="luci-app-socat" 91 | EXT_PACKAGES_REPOSITORIE[23]="https://github.com/chenmozhijin/luci-app-socat" 92 | EXT_PACKAGES_BRANCH[23]="" 93 | EXT_PACKAGES_NAME[24]="r8125" 94 | EXT_PACKAGES_PATH[24]="" 95 | EXT_PACKAGES_REPOSITORIE[24]="https://github.com/sbwml/package_kernel_r8125" 96 | EXT_PACKAGES_BRANCH[24]="" 97 | EXT_PACKAGES_NAME[25]="luci-app-openclash" 98 | EXT_PACKAGES_PATH[25]="luci-app-openclash" 99 | EXT_PACKAGES_REPOSITORIE[25]="https://github.com/vernesong/OpenClash" 100 | EXT_PACKAGES_BRANCH[25]="" 101 | EXT_PACKAGES_NAME[26]="wrtbwmon" 102 | EXT_PACKAGES_PATH[26]="wrtbwmon" 103 | EXT_PACKAGES_REPOSITORIE[26]="https://github.com/brvphoenix/wrtbwmon" 104 | EXT_PACKAGES_BRANCH[26]="" 105 | EXT_PACKAGES_NAME[27]="ddns-scripts_aliyun" 106 | EXT_PACKAGES_PATH[27]="package/lean/ddns-scripts_aliyun" 107 | EXT_PACKAGES_REPOSITORIE[27]="https://github.com/coolsnowwolf/lede" 108 | EXT_PACKAGES_BRANCH[27]="" 109 | EXT_PACKAGES_NAME[28]="luci-app-qbittorrent" 110 | EXT_PACKAGES_PATH[28]="applications/luci-app-qbittorrent" 111 | EXT_PACKAGES_REPOSITORIE[28]="https://github.com/immortalwrt/luci" 112 | EXT_PACKAGES_BRANCH[28]="" 113 | EXT_PACKAGES_NAME[29]="qBittorrent-Enhanced-Edition" 114 | EXT_PACKAGES_PATH[29]="net/qBittorrent-Enhanced-Edition" 115 | EXT_PACKAGES_REPOSITORIE[29]="https://github.com/immortalwrt/packages" 116 | EXT_PACKAGES_BRANCH[29]="" 117 | EXT_PACKAGES_NAME[30]="qt6base" 118 | EXT_PACKAGES_PATH[30]="libs/qt6base" 119 | EXT_PACKAGES_REPOSITORIE[30]="https://github.com/immortalwrt/packages" 120 | EXT_PACKAGES_BRANCH[30]="" 121 | EXT_PACKAGES_NAME[31]="qt6tools" 122 | EXT_PACKAGES_PATH[31]="utils/qt6tools" 123 | EXT_PACKAGES_REPOSITORIE[31]="https://github.com/immortalwrt/packages" 124 | EXT_PACKAGES_BRANCH[31]="" 125 | EXT_PACKAGES_NAME[32]="libdouble-conversion" 126 | EXT_PACKAGES_PATH[32]="libs/libdouble-conversion" 127 | EXT_PACKAGES_REPOSITORIE[32]="https://github.com/immortalwrt/packages" 128 | EXT_PACKAGES_BRANCH[32]="" -------------------------------------------------------------------------------- /config/rpi4b/OpenWrt-K/compile.config: -------------------------------------------------------------------------------- 1 | openwrt_tag/branch=v24.10.1 2 | kmod_compile_exclude_list=kmod-shortcut-fe-cm,kmod-shortcut-fe,kmod-fast-classifier,kmod-shortcut-fe-drv 3 | use_cache=true -------------------------------------------------------------------------------- /config/rpi4b/OpenWrt-K/extpackages.config: -------------------------------------------------------------------------------- 1 | EXT_PACKAGES_NAME[1]="luci-app-usb-printer" 2 | EXT_PACKAGES_PATH[1]="applications/luci-app-usb-printer" 3 | EXT_PACKAGES_REPOSITORIE[1]="https://github.com/coolsnowwolf/luci" 4 | EXT_PACKAGES_BRANCH[1]="" 5 | EXT_PACKAGES_NAME[2]="luci-app-vlmcsd" 6 | EXT_PACKAGES_PATH[2]="applications/luci-app-vlmcsd" 7 | EXT_PACKAGES_REPOSITORIE[2]="https://github.com/coolsnowwolf/luci" 8 | EXT_PACKAGES_BRANCH[2]="" 9 | EXT_PACKAGES_NAME[3]="luci-app-webadmin" 10 | EXT_PACKAGES_PATH[3]="applications/luci-app-webadmin" 11 | EXT_PACKAGES_REPOSITORIE[3]="https://github.com/coolsnowwolf/luci" 12 | EXT_PACKAGES_BRANCH[3]="" 13 | EXT_PACKAGES_NAME[4]="luci-app-cifs-mount" 14 | EXT_PACKAGES_PATH[4]="applications/luci-app-cifs-mount" 15 | EXT_PACKAGES_REPOSITORIE[4]="https://github.com/coolsnowwolf/luci" 16 | EXT_PACKAGES_BRANCH[4]="" 17 | EXT_PACKAGES_NAME[5]="luci-app-netdata" 18 | EXT_PACKAGES_PATH[5]="applications/luci-app-netdata" 19 | EXT_PACKAGES_REPOSITORIE[5]="https://github.com/coolsnowwolf/luci" 20 | EXT_PACKAGES_BRANCH[5]="" 21 | EXT_PACKAGES_NAME[6]="vlmcsd" 22 | EXT_PACKAGES_PATH[6]="net/vlmcsd" 23 | EXT_PACKAGES_REPOSITORIE[6]="https://github.com/coolsnowwolf/packages" 24 | EXT_PACKAGES_BRANCH[6]="" 25 | EXT_PACKAGES_NAME[7]="r8168" 26 | EXT_PACKAGES_PATH[7]="package/kernel/r8125" 27 | EXT_PACKAGES_REPOSITORIE[7]="https://github.com/coolsnowwolf/lede" 28 | EXT_PACKAGES_BRANCH[7]="" 29 | EXT_PACKAGES_NAME[8]="shortcut-fe" 30 | EXT_PACKAGES_PATH[8]="shortcut-fe" 31 | EXT_PACKAGES_REPOSITORIE[8]="https://github.com/chenmozhijin/turboacc" 32 | EXT_PACKAGES_BRANCH[8]="package" 33 | EXT_PACKAGES_NAME[9]="luci-app-rclone" 34 | EXT_PACKAGES_PATH[9]="applications/luci-app-rclone" 35 | EXT_PACKAGES_REPOSITORIE[9]="https://github.com/immortalwrt/luci" 36 | EXT_PACKAGES_BRANCH[9]="" 37 | EXT_PACKAGES_NAME[10]="luci-app-zerotier" 38 | EXT_PACKAGES_PATH[10]="applications/luci-app-zerotier" 39 | EXT_PACKAGES_REPOSITORIE[10]="https://github.com/immortalwrt/luci" 40 | EXT_PACKAGES_BRANCH[10]="" 41 | EXT_PACKAGES_NAME[11]="luci-app-fileassistant" 42 | EXT_PACKAGES_PATH[11]="luci-app-fileassistant" 43 | EXT_PACKAGES_REPOSITORIE[11]="https://github.com/Lienol/openwrt-package" 44 | EXT_PACKAGES_BRANCH[11]="" 45 | EXT_PACKAGES_NAME[12]="luci-app-passwall" 46 | EXT_PACKAGES_PATH[12]="luci-app-passwall" 47 | EXT_PACKAGES_REPOSITORIE[12]="https://github.com/xiaorouji/openwrt-passwall" 48 | EXT_PACKAGES_BRANCH[12]="" 49 | EXT_PACKAGES_NAME[13]="openwrt-passwall-packages" 50 | EXT_PACKAGES_PATH[13]="" 51 | EXT_PACKAGES_REPOSITORIE[13]="https://github.com/xiaorouji/openwrt-passwall-packages" 52 | EXT_PACKAGES_BRANCH[13]="" 53 | EXT_PACKAGES_NAME[14]="passwall2" 54 | EXT_PACKAGES_PATH[14]="luci-app-passwall2" 55 | EXT_PACKAGES_REPOSITORIE[14]="https://github.com/xiaorouji/openwrt-passwall2" 56 | EXT_PACKAGES_BRANCH[14]="" 57 | EXT_PACKAGES_NAME[15]="nft-fullcone" 58 | EXT_PACKAGES_PATH[15]="" 59 | EXT_PACKAGES_REPOSITORIE[15]="https://github.com/fullcone-nat-nftables/nft-fullcone" 60 | EXT_PACKAGES_BRANCH[15]="" 61 | EXT_PACKAGES_NAME[16]="luci-app-turboacc" 62 | EXT_PACKAGES_PATH[16]="luci-app-turboacc" 63 | EXT_PACKAGES_REPOSITORIE[16]="https://github.com/chenmozhijin/turboacc" 64 | EXT_PACKAGES_BRANCH[16]="" 65 | EXT_PACKAGES_NAME[17]="luci-app-adguardhome" 66 | EXT_PACKAGES_PATH[17]="" 67 | EXT_PACKAGES_REPOSITORIE[17]="https://github.com/chenmozhijin/luci-app-adguardhome" 68 | EXT_PACKAGES_BRANCH[17]="" 69 | EXT_PACKAGES_NAME[18]="luci-app-argon-config" 70 | EXT_PACKAGES_PATH[18]="" 71 | EXT_PACKAGES_REPOSITORIE[18]="https://github.com/jerrykuku/luci-app-argon-config" 72 | EXT_PACKAGES_BRANCH[18]="" 73 | EXT_PACKAGES_NAME[19]="luci-app-diskman" 74 | EXT_PACKAGES_PATH[19]="applications/luci-app-diskman" 75 | EXT_PACKAGES_REPOSITORIE[19]="https://github.com/lisaac/luci-app-diskman" 76 | EXT_PACKAGES_BRANCH[19]="" 77 | EXT_PACKAGES_NAME[20]="luci-app-netspeedtest" 78 | EXT_PACKAGES_PATH[20]="" 79 | EXT_PACKAGES_REPOSITORIE[20]="https://github.com/sirpdboy/NetSpeedTest" 80 | EXT_PACKAGES_BRANCH[20]="" 81 | EXT_PACKAGES_NAME[21]="luci-app-wechatpush" 82 | EXT_PACKAGES_PATH[21]="" 83 | EXT_PACKAGES_REPOSITORIE[21]="https://github.com/tty228/luci-app-wechatpush" 84 | EXT_PACKAGES_BRANCH[21]="" 85 | EXT_PACKAGES_NAME[22]="luci-theme-argon" 86 | EXT_PACKAGES_PATH[22]="" 87 | EXT_PACKAGES_REPOSITORIE[22]="https://github.com/jerrykuku/luci-theme-argon" 88 | EXT_PACKAGES_BRANCH[22]="" 89 | EXT_PACKAGES_NAME[23]="luci-app-socat" 90 | EXT_PACKAGES_PATH[23]="luci-app-socat" 91 | EXT_PACKAGES_REPOSITORIE[23]="https://github.com/chenmozhijin/luci-app-socat" 92 | EXT_PACKAGES_BRANCH[23]="" 93 | EXT_PACKAGES_NAME[24]="r8125" 94 | EXT_PACKAGES_PATH[24]="" 95 | EXT_PACKAGES_REPOSITORIE[24]="https://github.com/sbwml/package_kernel_r8125" 96 | EXT_PACKAGES_BRANCH[24]="" 97 | EXT_PACKAGES_NAME[25]="luci-app-openclash" 98 | EXT_PACKAGES_PATH[25]="luci-app-openclash" 99 | EXT_PACKAGES_REPOSITORIE[25]="https://github.com/vernesong/OpenClash" 100 | EXT_PACKAGES_BRANCH[25]="" 101 | EXT_PACKAGES_NAME[26]="wrtbwmon" 102 | EXT_PACKAGES_PATH[26]="wrtbwmon" 103 | EXT_PACKAGES_REPOSITORIE[26]="https://github.com/brvphoenix/wrtbwmon" 104 | EXT_PACKAGES_BRANCH[26]="" 105 | EXT_PACKAGES_NAME[27]="ddns-scripts_aliyun" 106 | EXT_PACKAGES_PATH[27]="package/lean/ddns-scripts_aliyun" 107 | EXT_PACKAGES_REPOSITORIE[27]="https://github.com/coolsnowwolf/lede" 108 | EXT_PACKAGES_BRANCH[27]="" -------------------------------------------------------------------------------- /config/rpi4b/OpenWrt-K/openwrtext.config: -------------------------------------------------------------------------------- 1 | ipaddr=192.168.2.1 2 | timezone=CST-8 3 | zonename=Asia/Shanghai 4 | golang_version=23.x -------------------------------------------------------------------------------- /config/rpi4b/image.config: -------------------------------------------------------------------------------- 1 | # 2 | # Target Images 3 | # 4 | # 5 | # Root filesystem archives 6 | # 7 | # 8 | # Root filesystem images 9 | # 10 | # 11 | # Image Options 12 | # 13 | CONFIG_TARGET_KERNEL_PARTSIZE=256 14 | CONFIG_TARGET_ROOTFS_PARTSIZE=4096 15 | # end of Target Images 16 | -------------------------------------------------------------------------------- /config/rpi4b/kmod.config: -------------------------------------------------------------------------------- 1 | # 2 | # Kernel modules 3 | # 4 | # 5 | # Block Devices 6 | # 7 | CONFIG_PACKAGE_kmod-md-mod=y 8 | CONFIG_PACKAGE_kmod-md-linear=y 9 | CONFIG_PACKAGE_kmod-md-raid0=y 10 | CONFIG_PACKAGE_kmod-md-raid1=y 11 | CONFIG_PACKAGE_kmod-md-raid10=y 12 | CONFIG_PACKAGE_kmod-md-raid456=y 13 | CONFIG_PACKAGE_kmod-nvme=y 14 | CONFIG_PACKAGE_kmod-scsi-core=y 15 | # end of Block Devices 16 | # 17 | # Cryptographic API modules 18 | # 19 | CONFIG_PACKAGE_kmod-crypto-acompress=y 20 | CONFIG_PACKAGE_kmod-crypto-aead=y 21 | CONFIG_PACKAGE_kmod-crypto-arc4=y 22 | CONFIG_PACKAGE_kmod-crypto-authenc=y 23 | CONFIG_PACKAGE_kmod-crypto-cbc=y 24 | CONFIG_PACKAGE_kmod-crypto-ccm=y 25 | CONFIG_PACKAGE_kmod-crypto-cmac=y 26 | CONFIG_PACKAGE_kmod-crypto-crc32=y 27 | CONFIG_PACKAGE_kmod-crypto-ctr=y 28 | CONFIG_PACKAGE_kmod-crypto-cts=y 29 | CONFIG_PACKAGE_kmod-crypto-des=y 30 | CONFIG_PACKAGE_kmod-crypto-ecb=y 31 | CONFIG_PACKAGE_kmod-crypto-gcm=y 32 | CONFIG_PACKAGE_kmod-crypto-gf128=y 33 | CONFIG_PACKAGE_kmod-crypto-ghash=y 34 | CONFIG_PACKAGE_kmod-crypto-hmac=y 35 | CONFIG_PACKAGE_kmod-crypto-kpp=y 36 | CONFIG_PACKAGE_kmod-crypto-manager=y 37 | CONFIG_PACKAGE_kmod-crypto-md5=y 38 | CONFIG_PACKAGE_kmod-crypto-null=y 39 | CONFIG_PACKAGE_kmod-crypto-rng=y 40 | CONFIG_PACKAGE_kmod-crypto-seqiv=y 41 | CONFIG_PACKAGE_kmod-crypto-sha1=y 42 | CONFIG_PACKAGE_kmod-crypto-sha256=y 43 | CONFIG_PACKAGE_kmod-crypto-sha512=y 44 | CONFIG_PACKAGE_kmod-crypto-user=y 45 | CONFIG_PACKAGE_kmod-cryptodev=y 46 | # end of Cryptographic API modules 47 | # 48 | # Filesystems 49 | # 50 | CONFIG_PACKAGE_kmod-fs-btrfs=y 51 | CONFIG_PACKAGE_kmod-fs-cifs=y 52 | CONFIG_PACKAGE_kmod-fs-exfat=y 53 | CONFIG_PACKAGE_kmod-fs-exportfs=y 54 | CONFIG_PACKAGE_kmod-fs-ext4=y 55 | CONFIG_PACKAGE_kmod-fs-f2fs=y 56 | CONFIG_PACKAGE_kmod-fs-msdos=y 57 | CONFIG_PACKAGE_kmod-fs-nfs=y 58 | CONFIG_PACKAGE_kmod-fs-nfs-common=y 59 | CONFIG_PACKAGE_kmod-fs-nfs-common-rpcsec=y 60 | CONFIG_PACKAGE_kmod-fs-nfs-v3=y 61 | CONFIG_PACKAGE_kmod-fs-nfs-v4=y 62 | CONFIG_PACKAGE_kmod-fs-nfsd=y 63 | CONFIG_PACKAGE_kmod-fs-ntfs=y 64 | CONFIG_PACKAGE_kmod-fs-smbfs-common=y 65 | CONFIG_PACKAGE_kmod-fs-squashfs=y 66 | CONFIG_PACKAGE_kmod-fs-xfs=y 67 | CONFIG_PACKAGE_kmod-fuse=y 68 | # end of Filesystems 69 | # 70 | # Hardware Monitoring Support 71 | # 72 | CONFIG_PACKAGE_kmod-hwmon-core=y 73 | # end of Hardware Monitoring Support 74 | # 75 | # I2C support 76 | # 77 | CONFIG_PACKAGE_kmod-i2c-core=y 78 | # end of I2C support 79 | # 80 | # Libraries 81 | # 82 | CONFIG_PACKAGE_kmod-asn1-decoder=y 83 | CONFIG_PACKAGE_kmod-lib-cordic=y 84 | CONFIG_PACKAGE_kmod-lib-crc16=y 85 | CONFIG_PACKAGE_kmod-lib-crc8=y 86 | CONFIG_PACKAGE_kmod-lib-lzo=y 87 | CONFIG_PACKAGE_kmod-lib-raid6=y 88 | CONFIG_PACKAGE_kmod-lib-textsearch=y 89 | CONFIG_PACKAGE_kmod-lib-xor=y 90 | CONFIG_PACKAGE_kmod-lib-zlib-deflate=y 91 | CONFIG_PACKAGE_kmod-lib-zlib-inflate=y 92 | CONFIG_PACKAGE_kmod-lib-zstd=y 93 | CONFIG_PACKAGE_kmod-oid-registry=y 94 | # end of Libraries 95 | # 96 | # Native Language Support 97 | # 98 | CONFIG_PACKAGE_kmod-nls-cp932=y 99 | CONFIG_PACKAGE_kmod-nls-cp936=y 100 | CONFIG_PACKAGE_kmod-nls-cp950=y 101 | # end of Native Language Support 102 | # 103 | # Netfilter Extensions 104 | # 105 | CONFIG_PACKAGE_kmod-br-netfilter=y 106 | CONFIG_PACKAGE_kmod-ip6tables=y 107 | CONFIG_PACKAGE_kmod-ipt-conntrack=y 108 | CONFIG_PACKAGE_kmod-ipt-core=y 109 | CONFIG_PACKAGE_kmod-ipt-extra=y 110 | CONFIG_PACKAGE_kmod-ipt-ipopt=y 111 | CONFIG_PACKAGE_kmod-ipt-ipset=y 112 | CONFIG_PACKAGE_kmod-ipt-nat=y 113 | CONFIG_PACKAGE_kmod-ipt-nat6=y 114 | CONFIG_PACKAGE_kmod-ipt-physdev=y 115 | CONFIG_PACKAGE_kmod-nf-ipt=y 116 | CONFIG_PACKAGE_kmod-nf-ipt6=y 117 | CONFIG_PACKAGE_kmod-nf-ipvs=y 118 | CONFIG_PACKAGE_kmod-nf-nat6=y 119 | CONFIG_PACKAGE_kmod-nf-nathelper=y 120 | CONFIG_PACKAGE_kmod-nf-nathelper-extra=y 121 | CONFIG_PACKAGE_kmod-nf-socket=y 122 | CONFIG_PACKAGE_kmod-nfnetlink-queue=y 123 | CONFIG_PACKAGE_kmod-nft-arp=y 124 | CONFIG_PACKAGE_kmod-nft-bridge=y 125 | CONFIG_PACKAGE_kmod-nft-compat=y 126 | CONFIG_PACKAGE_kmod-nft-fullcone=y 127 | CONFIG_PACKAGE_kmod-nft-netdev=y 128 | CONFIG_PACKAGE_kmod-nft-queue=y 129 | CONFIG_PACKAGE_kmod-nft-socket=y 130 | CONFIG_PACKAGE_kmod-nft-xfrm=y 131 | # end of Netfilter Extensions 132 | # 133 | # Network Devices 134 | # 135 | CONFIG_PACKAGE_kmod-8139cp=y 136 | CONFIG_PACKAGE_kmod-8139too=y 137 | CONFIG_PACKAGE_kmod-alx=y 138 | CONFIG_PACKAGE_kmod-bnx2x=y 139 | CONFIG_PACKAGE_kmod-fixed-phy=y 140 | CONFIG_PACKAGE_kmod-i40e=y 141 | CONFIG_PACKAGE_kmod-iavf=y 142 | CONFIG_PACKAGE_kmod-macvlan=y 143 | CONFIG_PACKAGE_kmod-mlx4-core=y 144 | CONFIG_PACKAGE_kmod-mlx5-core=y 145 | CONFIG_PACKAGE_kmod-net-selftests=y 146 | CONFIG_PACKAGE_kmod-pcnet32=y 147 | CONFIG_PACKAGE_kmod-phy-ax88796b=y 148 | CONFIG_PACKAGE_kmod-phy-microchip=y 149 | CONFIG_PACKAGE_kmod-phy-smsc=y 150 | CONFIG_PACKAGE_kmod-r8125=y 151 | CONFIG_PACKAGE_kmod-r8168=y 152 | CONFIG_PACKAGE_kmod-r8169=n 153 | CONFIG_PACKAGE_kmod-tulip=y 154 | CONFIG_PACKAGE_kmod-via-velocity=y 155 | CONFIG_PACKAGE_kmod-vmxnet3=y 156 | # end of Network Devices 157 | # 158 | # Network Support 159 | # 160 | CONFIG_PACKAGE_kmod-bonding=y 161 | CONFIG_PACKAGE_kmod-dnsresolver=y 162 | CONFIG_PACKAGE_kmod-inet-diag=y 163 | CONFIG_PACKAGE_kmod-iptunnel=y 164 | CONFIG_PACKAGE_kmod-iptunnel4=y 165 | CONFIG_PACKAGE_kmod-mdio=y 166 | CONFIG_PACKAGE_kmod-netlink-diag=y 167 | CONFIG_PACKAGE_kmod-sit=y 168 | CONFIG_PACKAGE_kmod-tcp-bbr=y 169 | CONFIG_PACKAGE_kmod-tls=y 170 | CONFIG_PACKAGE_kmod-tun=y 171 | CONFIG_PACKAGE_kmod-veth=y 172 | # end of Network Support 173 | # 174 | # Other modules 175 | # 176 | CONFIG_PACKAGE_kmod-bcma=y 177 | CONFIG_PACKAGE_kmod-pps=y 178 | CONFIG_PACKAGE_kmod-ptp=y 179 | CONFIG_PACKAGE_kmod-random-core=y 180 | CONFIG_PACKAGE_kmod-regmap-core=y 181 | CONFIG_PACKAGE_kmod-regmap-i2c=y 182 | CONFIG_PACKAGE_kmod-rtc-ds1307=y 183 | CONFIG_PACKAGE_kmod-sdhci=y 184 | # end of Other modules 185 | # 186 | # USB Support 187 | # 188 | CONFIG_PACKAGE_kmod-usb-ehci=y 189 | CONFIG_PACKAGE_kmod-usb-net-aqc111=y 190 | CONFIG_PACKAGE_kmod-usb-net-asix=y 191 | CONFIG_PACKAGE_kmod-usb-net-asix-ax88179=y 192 | CONFIG_PACKAGE_kmod-usb-net-cdc-eem=y 193 | CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y 194 | CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y 195 | CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y 196 | CONFIG_PACKAGE_kmod-usb-net-cdc-subset=y 197 | CONFIG_PACKAGE_kmod-usb-net-dm9601-ether=y 198 | CONFIG_PACKAGE_kmod-usb-net-hso=y 199 | CONFIG_PACKAGE_kmod-usb-net-huawei-cdc-ncm=y 200 | CONFIG_PACKAGE_kmod-usb-net-ipheth=y 201 | CONFIG_PACKAGE_kmod-usb-net-kalmia=y 202 | CONFIG_PACKAGE_kmod-usb-net-kaweth=y 203 | CONFIG_PACKAGE_kmod-usb-net-lan78xx=n 204 | CONFIG_PACKAGE_kmod-usb-net-mcs7830=y 205 | CONFIG_PACKAGE_kmod-usb-net-pegasus=y 206 | CONFIG_PACKAGE_kmod-usb-net-pl=y 207 | CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y 208 | CONFIG_PACKAGE_kmod-usb-net-rndis=y 209 | CONFIG_PACKAGE_kmod-usb-net-rtl8150=y 210 | CONFIG_PACKAGE_kmod-usb-net-rtl8152=y 211 | CONFIG_PACKAGE_kmod-usb-net-sierrawireless=y 212 | CONFIG_PACKAGE_kmod-usb-net-smsc75xx=y 213 | CONFIG_PACKAGE_kmod-usb-net-smsc95xx=y 214 | CONFIG_PACKAGE_kmod-usb-net-sr9700=y 215 | CONFIG_PACKAGE_kmod-usb-ohci=y 216 | CONFIG_PACKAGE_kmod-usb-ohci-pci=y 217 | CONFIG_PACKAGE_kmod-usb-printer=y 218 | CONFIG_PACKAGE_kmod-usb-serial=y 219 | CONFIG_PACKAGE_kmod-usb-serial-option=y 220 | CONFIG_PACKAGE_kmod-usb-serial-wwan=y 221 | CONFIG_PACKAGE_kmod-usb-storage=y 222 | CONFIG_PACKAGE_kmod-usb-storage-extras=y 223 | CONFIG_PACKAGE_kmod-usb-storage-uas=y 224 | CONFIG_PACKAGE_kmod-usb-uhci=y 225 | CONFIG_PACKAGE_kmod-usb-wdm=y 226 | CONFIG_PACKAGE_kmod-usb-xhci-hcd=y 227 | CONFIG_PACKAGE_kmod-usb2=y 228 | CONFIG_PACKAGE_kmod-usb2-pci=y 229 | CONFIG_PACKAGE_kmod-usb3=y 230 | # end of USB Support 231 | # 232 | # Wireless Drivers 233 | # 234 | CONFIG_PACKAGE_kmod-ath=y 235 | CONFIG_ATH_USER_REGD=y 236 | CONFIG_PACKAGE_ATH_DFS=y 237 | CONFIG_PACKAGE_kmod-ath6kl=y 238 | CONFIG_PACKAGE_kmod-ath6kl-sdio=y 239 | CONFIG_PACKAGE_kmod-ath6kl-usb=y 240 | CONFIG_PACKAGE_kmod-ath9k=y 241 | CONFIG_ATH9K_HWRNG=y 242 | CONFIG_ATH9K_SUPPORT_PCOEM=y 243 | CONFIG_PACKAGE_kmod-ath9k-common=y 244 | CONFIG_PACKAGE_kmod-ath9k-htc=y 245 | CONFIG_PACKAGE_kmod-brcmsmac=y 246 | CONFIG_BRCMSMAC_USE_FW_FROM_WL=y 247 | CONFIG_PACKAGE_kmod-carl9170=y 248 | CONFIG_PACKAGE_kmod-mac80211=y 249 | CONFIG_PACKAGE_MAC80211_DEBUGFS=y 250 | CONFIG_PACKAGE_MAC80211_MESH=y 251 | CONFIG_PACKAGE_kmod-mt76-connac=y 252 | CONFIG_PACKAGE_kmod-mt76-core=y 253 | CONFIG_PACKAGE_kmod-mt76-usb=y 254 | CONFIG_PACKAGE_kmod-mt7601u=y 255 | CONFIG_PACKAGE_kmod-mt7603=y 256 | CONFIG_PACKAGE_kmod-mt7615-common=y 257 | CONFIG_PACKAGE_kmod-mt7663-usb-sdio=y 258 | CONFIG_PACKAGE_kmod-mt7663u=y 259 | CONFIG_PACKAGE_kmod-mt76x0-common=y 260 | CONFIG_PACKAGE_kmod-mt76x02-common=y 261 | CONFIG_PACKAGE_kmod-mt76x02-usb=y 262 | CONFIG_PACKAGE_kmod-mt76x0u=y 263 | CONFIG_PACKAGE_kmod-mt76x2-common=y 264 | CONFIG_PACKAGE_kmod-mt76x2u=y 265 | CONFIG_PACKAGE_kmod-rsi91x=y 266 | CONFIG_PACKAGE_kmod-rsi91x-usb=y 267 | CONFIG_PACKAGE_kmod-rt2800-lib=y 268 | CONFIG_PACKAGE_kmod-rt2800-usb=y 269 | CONFIG_PACKAGE_kmod-rt2x00-lib=y 270 | CONFIG_PACKAGE_kmod-rt2x00-usb=y 271 | CONFIG_PACKAGE_kmod-rtl8192c-common=y 272 | CONFIG_PACKAGE_kmod-rtl8192ce=y 273 | CONFIG_PACKAGE_kmod-rtl8192cu=y 274 | CONFIG_PACKAGE_kmod-rtl8192de=y 275 | CONFIG_PACKAGE_kmod-rtl8192se=y 276 | CONFIG_PACKAGE_kmod-rtl8723bs=y 277 | CONFIG_PACKAGE_kmod-rtl8812au-ct=y 278 | CONFIG_PACKAGE_kmod-rtl8821ae=y 279 | CONFIG_PACKAGE_kmod-rtl8xxxu=y 280 | CONFIG_PACKAGE_kmod-rtlwifi=y 281 | CONFIG_PACKAGE_kmod-rtlwifi-btcoexist=y 282 | CONFIG_PACKAGE_kmod-rtlwifi-pci=y 283 | CONFIG_PACKAGE_kmod-rtlwifi-usb=y 284 | # end of Wireless Drivers 285 | # end of Kernel modules 286 | -------------------------------------------------------------------------------- /config/rpi4b/luci.config: -------------------------------------------------------------------------------- 1 | # 2 | # LuCI 3 | # 4 | # 5 | # 1. Collections 6 | # 7 | CONFIG_PACKAGE_luci=y 8 | CONFIG_PACKAGE_luci-light=y 9 | # end of 1. Collections 10 | # 11 | # 2. Modules 12 | # 13 | CONFIG_PACKAGE_luci-base=y 14 | # 15 | # Translations 16 | # 17 | CONFIG_LUCI_LANG_ja=y 18 | CONFIG_LUCI_LANG_zh_Hans=y 19 | CONFIG_LUCI_LANG_zh_Hant=y 20 | # end of Translations 21 | CONFIG_PACKAGE_luci-compat=y 22 | CONFIG_PACKAGE_luci-lua-runtime=y 23 | CONFIG_PACKAGE_luci-mod-admin-full=y 24 | CONFIG_PACKAGE_luci-mod-network=y 25 | CONFIG_PACKAGE_luci-mod-rpc=y 26 | CONFIG_PACKAGE_luci-mod-status=y 27 | CONFIG_PACKAGE_luci-mod-system=y 28 | # end of 2. Modules 29 | # 30 | # 3. Applications 31 | # 32 | CONFIG_PACKAGE_luci-app-adguardhome=y 33 | CONFIG_PACKAGE_luci-app-argon-config=y 34 | CONFIG_PACKAGE_luci-app-aria2=y 35 | CONFIG_PACKAGE_luci-app-cifs-mount=y 36 | CONFIG_PACKAGE_luci-app-ddns=y 37 | CONFIG_PACKAGE_luci-app-diskman=y 38 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_ntfs_3g_utils=y 39 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_btrfs_progs=y 40 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_lsblk=y 41 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_mdadm=y 42 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_kmod_md_raid456=y 43 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_kmod_md_linears=y 44 | CONFIG_PACKAGE_luci-app-fileassistant=y 45 | CONFIG_PACKAGE_luci-app-firewall=y 46 | CONFIG_PACKAGE_luci-app-netdata=y 47 | CONFIG_PACKAGE_luci-app-netspeedtest=y 48 | CONFIG_PACKAGE_luci-app-nlbwmon=y 49 | CONFIG_PACKAGE_luci-app-openclash=y 50 | CONFIG_PACKAGE_luci-app-opkg=y 51 | CONFIG_PACKAGE_luci-app-passwall=y 52 | # 53 | # Configuration 54 | # 55 | CONFIG_PACKAGE_luci-app-passwall_Nftables_Transparent_Proxy=y 56 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Brook=y 57 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Hysteria=y 58 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_NaiveProxy=y 59 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Client=n 60 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Shadowsocks_Rust_Server=n 61 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_ShadowsocksR_Libev_Server=y 62 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Trojan_GO=y 63 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_tuic_client=y 64 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_V2ray_Geodata=y 65 | CONFIG_PACKAGE_luci-app-passwall_INCLUDE_Xray_Plugin=y 66 | # end of Configuration 67 | CONFIG_PACKAGE_luci-app-passwall2=y 68 | # 69 | # Configuration 70 | # 71 | CONFIG_PACKAGE_luci-app-passwall2_Nftables_Transparent_Proxy=y 72 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Brook=y 73 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Hysteria=y 74 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_NaiveProxy=y 75 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Libev_Server=y 76 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Client=n 77 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_Shadowsocks_Rust_Server=n 78 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_ShadowsocksR_Libev_Server=y 79 | CONFIG_PACKAGE_luci-app-passwall2_INCLUDE_tuic_client=y 80 | # end of Configuration 81 | CONFIG_PACKAGE_luci-app-rclone=y 82 | CONFIG_PACKAGE_luci-app-samba4=y 83 | CONFIG_PACKAGE_luci-app-smartdns=y 84 | CONFIG_PACKAGE_luci-app-socat=y 85 | CONFIG_PACKAGE_luci-app-ttyd=y 86 | CONFIG_PACKAGE_luci-app-turboacc=y 87 | CONFIG_PACKAGE_luci-app-upnp=y 88 | CONFIG_PACKAGE_luci-app-usb-printer=y 89 | CONFIG_PACKAGE_luci-app-webadmin=y 90 | CONFIG_PACKAGE_luci-app-wechatpush=y 91 | CONFIG_PACKAGE_luci-app-wechatpush_Local_Disk_Information_Detection=y 92 | CONFIG_PACKAGE_luci-app-wechatpush_Host_Information_Detection=y 93 | CONFIG_PACKAGE_luci-app-wol=y 94 | CONFIG_PACKAGE_luci-app-zerotier=y 95 | # end of 3. Applications 96 | # 97 | # 4. Themes 98 | # 99 | CONFIG_PACKAGE_luci-theme-argon=y 100 | CONFIG_PACKAGE_luci-theme-bootstrap=y 101 | # end of 4. Themes 102 | # 103 | # 5. Protocols 104 | # 105 | CONFIG_PACKAGE_luci-proto-3g=y 106 | CONFIG_PACKAGE_luci-proto-bonding=y 107 | CONFIG_PACKAGE_luci-proto-ipv6=y 108 | CONFIG_PACKAGE_luci-proto-modemmanager=y 109 | CONFIG_PACKAGE_luci-proto-ncm=y 110 | CONFIG_PACKAGE_luci-proto-ppp=y 111 | CONFIG_PACKAGE_luci-proto-qmi=y 112 | # end of 5. Protocols 113 | # 114 | # 6. Libraries 115 | # 116 | CONFIG_PACKAGE_luci-lib-base=y 117 | CONFIG_PACKAGE_luci-lib-ip=y 118 | CONFIG_PACKAGE_luci-lib-ipkg=y 119 | CONFIG_PACKAGE_luci-lib-json=y 120 | CONFIG_PACKAGE_luci-lib-jsonc=y 121 | CONFIG_PACKAGE_luci-lib-nixio=y 122 | # end of 6. Libraries 123 | CONFIG_PACKAGE_luci-i18n-adguardhome-zh-cn=y 124 | CONFIG_PACKAGE_luci-i18n-argon-config-zh-cn=y 125 | CONFIG_PACKAGE_luci-i18n-argon-config-zh-tw=y 126 | CONFIG_PACKAGE_luci-i18n-aria2-ja=y 127 | CONFIG_PACKAGE_luci-i18n-aria2-zh-cn=y 128 | CONFIG_PACKAGE_luci-i18n-aria2-zh-tw=y 129 | CONFIG_PACKAGE_luci-i18n-base-ja=y 130 | CONFIG_PACKAGE_luci-i18n-base-zh-cn=y 131 | CONFIG_PACKAGE_luci-i18n-base-zh-tw=y 132 | CONFIG_PACKAGE_luci-i18n-cifs-mount-zh-cn=y 133 | CONFIG_PACKAGE_luci-i18n-ddns-ja=y 134 | CONFIG_PACKAGE_luci-i18n-ddns-zh-cn=y 135 | CONFIG_PACKAGE_luci-i18n-ddns-zh-tw=y 136 | CONFIG_PACKAGE_luci-i18n-diskman-zh-cn=y 137 | CONFIG_PACKAGE_luci-i18n-diskman-zh-tw=y 138 | CONFIG_PACKAGE_luci-i18n-firewall-ja=y 139 | CONFIG_PACKAGE_luci-i18n-firewall-zh-cn=y 140 | CONFIG_PACKAGE_luci-i18n-firewall-zh-tw=y 141 | CONFIG_PACKAGE_luci-i18n-netdata-zh-cn=y 142 | CONFIG_PACKAGE_luci-i18n-netspeedtest-zh-cn=y 143 | CONFIG_PACKAGE_luci-i18n-nlbwmon-ja=y 144 | CONFIG_PACKAGE_luci-i18n-nlbwmon-zh-cn=y 145 | CONFIG_PACKAGE_luci-i18n-nlbwmon-zh-tw=y 146 | CONFIG_PACKAGE_luci-i18n-opkg-ja=y 147 | CONFIG_PACKAGE_luci-i18n-opkg-zh-cn=y 148 | CONFIG_PACKAGE_luci-i18n-opkg-zh-tw=y 149 | CONFIG_PACKAGE_luci-i18n-passwall-zh-cn=y 150 | CONFIG_PACKAGE_luci-i18n-passwall2-zh-cn=y 151 | CONFIG_PACKAGE_luci-i18n-rclone-zh-cn=y 152 | CONFIG_PACKAGE_luci-i18n-samba4-ja=y 153 | CONFIG_PACKAGE_luci-i18n-samba4-zh-cn=y 154 | CONFIG_PACKAGE_luci-i18n-samba4-zh-tw=y 155 | CONFIG_PACKAGE_luci-i18n-smartdns-zh-cn=y 156 | CONFIG_PACKAGE_luci-i18n-smartdns-zh-tw=y 157 | CONFIG_PACKAGE_luci-i18n-socat-zh-cn=y 158 | CONFIG_PACKAGE_luci-i18n-ttyd-ja=y 159 | CONFIG_PACKAGE_luci-i18n-ttyd-zh-cn=y 160 | CONFIG_PACKAGE_luci-i18n-ttyd-zh-tw=y 161 | CONFIG_PACKAGE_luci-i18n-turboacc-zh-cn=y 162 | CONFIG_PACKAGE_luci-i18n-upnp-ja=y 163 | CONFIG_PACKAGE_luci-i18n-upnp-zh-cn=y 164 | CONFIG_PACKAGE_luci-i18n-upnp-zh-tw=y 165 | CONFIG_PACKAGE_luci-i18n-usb-printer-zh-cn=y 166 | CONFIG_PACKAGE_luci-i18n-webadmin-zh-cn=y 167 | CONFIG_PACKAGE_luci-i18n-wechatpush-zh-cn=y 168 | CONFIG_PACKAGE_luci-i18n-wol-ja=y 169 | CONFIG_PACKAGE_luci-i18n-wol-zh-cn=y 170 | CONFIG_PACKAGE_luci-i18n-wol-zh-tw=y 171 | CONFIG_PACKAGE_luci-i18n-zerotier-zh-cn=y 172 | # end of LuCI 173 | -------------------------------------------------------------------------------- /config/rpi4b/network.config: -------------------------------------------------------------------------------- 1 | # 2 | # Network 3 | # 4 | # 5 | # Cloud Manager 6 | # 7 | CONFIG_PACKAGE_rclone-ng=y 8 | CONFIG_PACKAGE_rclone-webui-react=y 9 | # end of Cloud Manager 10 | # 11 | # Download Manager 12 | # 13 | CONFIG_PACKAGE_ariang=y 14 | # end of Download Manager 15 | # 16 | # File Transfer 17 | # 18 | CONFIG_PACKAGE_aria2=y 19 | # 20 | # Aria2 Configuration 21 | # 22 | CONFIG_ARIA2_OPENSSL=y 23 | CONFIG_ARIA2_LIBXML2=y 24 | CONFIG_ARIA2_BITTORRENT=y 25 | CONFIG_ARIA2_METALINK=y 26 | CONFIG_ARIA2_SFTP=y 27 | CONFIG_ARIA2_ASYNC_DNS=y 28 | CONFIG_ARIA2_COOKIE=y 29 | CONFIG_ARIA2_WEBSOCKET=y 30 | # end of Aria2 Configuration 31 | CONFIG_PACKAGE_curl=y 32 | CONFIG_PACKAGE_rclone=y 33 | CONFIG_PACKAGE_rclone-config=y 34 | CONFIG_PACKAGE_vsftpd-tls=y 35 | CONFIG_PACKAGE_wget-ssl=y 36 | # end of File Transfer 37 | # 38 | # Firewall 39 | # 40 | CONFIG_PACKAGE_ip6tables-nft=y 41 | CONFIG_PACKAGE_iptables-nft=y 42 | CONFIG_PACKAGE_miniupnpd-nftables=y 43 | CONFIG_PACKAGE_xtables-nft=y 44 | # end of Firewall 45 | # 46 | # IP Addresses and Names 47 | # 48 | CONFIG_PACKAGE_avahi-dbus-daemon=y 49 | CONFIG_PACKAGE_chinadns-ng=y 50 | CONFIG_PACKAGE_ddns-scripts=y 51 | CONFIG_PACKAGE_ddns-scripts-cloudflare=y 52 | CONFIG_PACKAGE_ddns-scripts-dnspod=y 53 | CONFIG_PACKAGE_ddns-scripts-services=y 54 | CONFIG_PACKAGE_ddns-scripts_aliyun=y 55 | CONFIG_PACKAGE_dns2socks=y 56 | CONFIG_PACKAGE_dns2tcp=y 57 | CONFIG_PACKAGE_v2ray-geoip=y 58 | CONFIG_PACKAGE_v2ray-geosite=y 59 | CONFIG_PACKAGE_wsdd2=y 60 | # end of IP Addresses and Names 61 | # 62 | # Printing 63 | # 64 | CONFIG_PACKAGE_p910nd=y 65 | # end of Printing 66 | # 67 | # Routing and Redirection 68 | # 69 | CONFIG_PACKAGE_ip-full=y 70 | # end of Routing and Redirection 71 | # 72 | # SSH 73 | # 74 | CONFIG_PACKAGE_openssh-client=y 75 | CONFIG_PACKAGE_openssh-keygen=y 76 | # end of SSH 77 | # 78 | # VPN 79 | # 80 | CONFIG_PACKAGE_zerotier=y 81 | # end of VPN 82 | # 83 | # WWAN 84 | # 85 | CONFIG_PACKAGE_comgt=y 86 | CONFIG_PACKAGE_comgt-ncm=y 87 | CONFIG_PACKAGE_umbim=y 88 | CONFIG_PACKAGE_uqmi=y 89 | # end of WWAN 90 | # 91 | # Web Servers/Proxies 92 | # 93 | CONFIG_PACKAGE_brook=y 94 | CONFIG_PACKAGE_cgi-io=y 95 | CONFIG_PACKAGE_haproxy=y 96 | CONFIG_PACKAGE_homebox=y 97 | CONFIG_PACKAGE_microsocks=y 98 | CONFIG_PACKAGE_naiveproxy=y 99 | CONFIG_PACKAGE_shadowsocks-libev-config=y 100 | CONFIG_PACKAGE_shadowsocks-libev-ss-local=y 101 | CONFIG_PACKAGE_shadowsocks-libev-ss-redir=y 102 | CONFIG_PACKAGE_shadowsocks-libev-ss-server=y 103 | CONFIG_PACKAGE_shadowsocks-rust-sslocal=n 104 | CONFIG_PACKAGE_shadowsocks-rust-ssserver=n 105 | CONFIG_PACKAGE_shadowsocksr-libev-ssr-local=y 106 | CONFIG_PACKAGE_shadowsocksr-libev-ssr-redir=y 107 | CONFIG_PACKAGE_shadowsocksr-libev-ssr-server=y 108 | CONFIG_PACKAGE_sing-box=y 109 | # 110 | # Customizing build tags 111 | # 112 | CONFIG_SING_BOX_WITH_CLASH_API=y 113 | CONFIG_SING_BOX_WITH_DHCP=y 114 | CONFIG_SING_BOX_WITH_ECH=y 115 | CONFIG_SING_BOX_WITH_QUIC=y 116 | CONFIG_SING_BOX_WITH_UTLS=y 117 | CONFIG_SING_BOX_WITH_WIREGUARD=y 118 | # end of Customizing build tags 119 | CONFIG_PACKAGE_trojan-go=y 120 | CONFIG_PACKAGE_tuic-client=y 121 | CONFIG_PACKAGE_uhttpd=y 122 | CONFIG_PACKAGE_uhttpd-mod-ubus=y 123 | CONFIG_PACKAGE_v2ray-plugin=y 124 | CONFIG_PACKAGE_xray-plugin=y 125 | # end of Web Servers/Proxies 126 | CONFIG_PACKAGE_6in4=y 127 | CONFIG_PACKAGE_chat=y 128 | CONFIG_PACKAGE_cifsmount=y 129 | CONFIG_PACKAGE_etherwake=y 130 | CONFIG_PACKAGE_ethtool-full=y 131 | CONFIG_PACKAGE_hysteria=y 132 | CONFIG_PACKAGE_ipset=y 133 | CONFIG_PACKAGE_ipt2socks=y 134 | CONFIG_PACKAGE_iputils-arping=y 135 | CONFIG_PACKAGE_libipset=y 136 | CONFIG_PACKAGE_modemmanager=y 137 | # 138 | # Configuration 139 | # 140 | CONFIG_MODEMMANAGER_WITH_MBIM=y 141 | CONFIG_MODEMMANAGER_WITH_QMI=y 142 | CONFIG_MODEMMANAGER_WITH_QRTR=y 143 | # end of Configuration 144 | CONFIG_PACKAGE_netperf=y 145 | CONFIG_PACKAGE_nlbwmon=y 146 | CONFIG_PACKAGE_proto-bonding=y 147 | CONFIG_PACKAGE_samba4-admin=y 148 | CONFIG_PACKAGE_samba4-client=y 149 | CONFIG_PACKAGE_samba4-libs=y 150 | CONFIG_PACKAGE_samba4-server=y 151 | CONFIG_SAMBA4_SERVER_WSDD2=y 152 | CONFIG_SAMBA4_SERVER_NETBIOS=y 153 | CONFIG_SAMBA4_SERVER_AVAHI=y 154 | CONFIG_SAMBA4_SERVER_VFS=y 155 | CONFIG_PACKAGE_samba4-utils=y 156 | CONFIG_PACKAGE_simple-obfs=y 157 | CONFIG_PACKAGE_smartdns=y 158 | CONFIG_PACKAGE_socat=y 159 | CONFIG_SOCAT_SSL=y 160 | CONFIG_PACKAGE_tcping=y 161 | CONFIG_PACKAGE_trojan-plus=y 162 | CONFIG_PACKAGE_wwan=y 163 | CONFIG_PACKAGE_xray-core=y 164 | # end of Network 165 | -------------------------------------------------------------------------------- /config/rpi4b/other.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # OpenWrt Configuration 4 | # 5 | # 6 | # Global build settings 7 | # 8 | # 9 | # General build options 10 | # 11 | # 12 | # Kernel build options 13 | # 14 | CONFIG_KERNEL_PAGE_POOL=y 15 | # end of Kernel build options 16 | # 17 | # Package build options 18 | # 19 | # 20 | # Stripping options 21 | # 22 | # 23 | # Hardening build options 24 | # 25 | # end of Global build settings 26 | # 27 | # Base system 28 | # 29 | CONFIG_PACKAGE_block-mount=y 30 | CONFIG_PACKAGE_ca-certificates=y 31 | CONFIG_PACKAGE_libatomic=y 32 | CONFIG_PACKAGE_libstdcpp=y 33 | CONFIG_PACKAGE_resolveip=y 34 | CONFIG_PACKAGE_rpcd=y 35 | CONFIG_PACKAGE_rpcd-mod-file=y 36 | CONFIG_PACKAGE_rpcd-mod-iwinfo=y 37 | CONFIG_PACKAGE_rpcd-mod-ucode=y 38 | # end of Base system 39 | # 40 | # Administration 41 | # 42 | # 43 | # Zabbix 44 | # 45 | # 46 | # Database Software 47 | # 48 | # end of Zabbix 49 | CONFIG_PACKAGE_htop=y 50 | CONFIG_HTOP_LMSENSORS=y 51 | CONFIG_PACKAGE_netdata=y 52 | CONFIG_PACKAGE_sudo=y 53 | # end of Administration 54 | # 55 | # Development 56 | # 57 | CONFIG_PACKAGE_diffutils=y 58 | # end of Development 59 | # 60 | # Firmware 61 | # 62 | CONFIG_PACKAGE_ath9k-htc-firmware=y 63 | CONFIG_PACKAGE_bnx2x-firmware=y 64 | CONFIG_PACKAGE_carl9170-firmware=y 65 | CONFIG_PACKAGE_mt7601u-firmware=y 66 | CONFIG_PACKAGE_r8152-firmware=y 67 | CONFIG_PACKAGE_r8169-firmware=n 68 | CONFIG_PACKAGE_rs9113-firmware=y 69 | CONFIG_PACKAGE_rt2800-usb-firmware=y 70 | CONFIG_PACKAGE_rtl8188eu-firmware=y 71 | CONFIG_PACKAGE_rtl8192ce-firmware=y 72 | CONFIG_PACKAGE_rtl8192cu-firmware=y 73 | CONFIG_PACKAGE_rtl8192de-firmware=y 74 | CONFIG_PACKAGE_rtl8192eu-firmware=y 75 | CONFIG_PACKAGE_rtl8192se-firmware=y 76 | CONFIG_PACKAGE_rtl8723au-firmware=y 77 | CONFIG_PACKAGE_rtl8723bu-firmware=y 78 | CONFIG_PACKAGE_rtl8821ae-firmware=y 79 | # end of Firmware 80 | # 81 | # Languages 82 | # 83 | # 84 | # Lua 85 | # 86 | CONFIG_PACKAGE_lua=y 87 | # end of Lua 88 | # 89 | # Python 90 | # 91 | CONFIG_PACKAGE_libpython3=y 92 | CONFIG_PACKAGE_python3=y 93 | CONFIG_PACKAGE_python3-asyncio=y 94 | CONFIG_PACKAGE_python3-base=y 95 | CONFIG_PACKAGE_python3-cgi=y 96 | CONFIG_PACKAGE_python3-cgitb=y 97 | CONFIG_PACKAGE_python3-codecs=y 98 | CONFIG_PACKAGE_python3-ctypes=y 99 | CONFIG_PACKAGE_python3-dbm=y 100 | CONFIG_PACKAGE_python3-decimal=y 101 | CONFIG_PACKAGE_python3-distutils=y 102 | CONFIG_PACKAGE_python3-email=y 103 | CONFIG_PACKAGE_python3-light=y 104 | CONFIG_PACKAGE_python3-logging=y 105 | CONFIG_PACKAGE_python3-lzma=y 106 | CONFIG_PACKAGE_python3-multiprocessing=y 107 | CONFIG_PACKAGE_python3-ncurses=y 108 | CONFIG_PACKAGE_python3-openssl=y 109 | CONFIG_PACKAGE_python3-pydoc=y 110 | CONFIG_PACKAGE_python3-readline=y 111 | CONFIG_PACKAGE_python3-sqlite3=y 112 | CONFIG_PACKAGE_python3-unittest=y 113 | CONFIG_PACKAGE_python3-urllib=y 114 | CONFIG_PACKAGE_python3-uuid=y 115 | CONFIG_PACKAGE_python3-xml=y 116 | # end of Python 117 | # 118 | # Ruby 119 | # 120 | CONFIG_PACKAGE_ruby=y 121 | # 122 | # Standard Library 123 | # 124 | CONFIG_PACKAGE_ruby-bigdecimal=y 125 | CONFIG_PACKAGE_ruby-date=y 126 | CONFIG_PACKAGE_ruby-digest=y 127 | CONFIG_PACKAGE_ruby-enc=y 128 | CONFIG_PACKAGE_ruby-forwardable=y 129 | CONFIG_PACKAGE_ruby-pstore=y 130 | CONFIG_PACKAGE_ruby-psych=y 131 | CONFIG_PACKAGE_ruby-stringio=y 132 | CONFIG_PACKAGE_ruby-yaml=y 133 | # end of Ruby 134 | # 135 | # ucode 136 | # 137 | CONFIG_PACKAGE_ucode-mod-math=y 138 | # end of ucode 139 | # end of Languages 140 | # 141 | # Libraries 142 | # 143 | # 144 | # Compression 145 | # 146 | CONFIG_PACKAGE_libbz2=y 147 | CONFIG_PACKAGE_liblzma=y 148 | # end of Compression 149 | # 150 | # Database 151 | # 152 | CONFIG_PACKAGE_libsqlite3=y 153 | # 154 | # Configuration 155 | # 156 | CONFIG_SQLITE3_COLUMN_METADATA=y 157 | CONFIG_SQLITE3_DYNAMIC_EXTENSIONS=y 158 | CONFIG_SQLITE3_FTS3=y 159 | CONFIG_SQLITE3_FTS4=y 160 | CONFIG_SQLITE3_FTS5=y 161 | CONFIG_SQLITE3_RTREE=y 162 | # end of Configuration 163 | # end of Database 164 | # 165 | # Filesystem 166 | # 167 | CONFIG_PACKAGE_libattr=y 168 | CONFIG_PACKAGE_libfuse=y 169 | CONFIG_PACKAGE_libsysfs=y 170 | # end of Filesystem 171 | # 172 | # Firewall 173 | # 174 | CONFIG_PACKAGE_libip6tc=y 175 | CONFIG_PACKAGE_libiptext=y 176 | CONFIG_PACKAGE_libiptext-nft=y 177 | CONFIG_PACKAGE_libiptext6=y 178 | CONFIG_PACKAGE_libxtables=y 179 | # end of Firewall 180 | # 181 | # Languages 182 | # 183 | CONFIG_PACKAGE_libyaml=y 184 | # end of Languages 185 | # 186 | # SSL 187 | # 188 | CONFIG_PACKAGE_libgnutls=y 189 | # 190 | # Configuration 191 | # 192 | CONFIG_GNUTLS_DTLS_SRTP=y 193 | CONFIG_GNUTLS_ALPN=y 194 | CONFIG_GNUTLS_OCSP=y 195 | CONFIG_GNUTLS_HEARTBEAT=y 196 | CONFIG_GNUTLS_PSK=y 197 | CONFIG_GNUTLS_ANON=y 198 | # end of Configuration 199 | # 200 | # Option details in source code: include/mbedtls/mbedtls_config.h 201 | # 202 | # 203 | # Ciphers - unselect old or less-used ciphers to reduce binary size 204 | # 205 | # 206 | # Curves - unselect old or less-used curves to reduce binary size 207 | # 208 | # 209 | # Build Options - unselect features to reduce binary size 210 | # 211 | # 212 | # Build Options 213 | # 214 | CONFIG_PACKAGE_libopenssl=y 215 | # 216 | # Build Options 217 | # 218 | CONFIG_OPENSSL_OPTIMIZE_SPEED=y 219 | CONFIG_OPENSSL_WITH_ASM=y 220 | CONFIG_OPENSSL_WITH_DEPRECATED=y 221 | CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y 222 | # 223 | # Protocol Support 224 | # 225 | CONFIG_OPENSSL_WITH_TLS13=y 226 | CONFIG_OPENSSL_WITH_SRP=y 227 | CONFIG_OPENSSL_WITH_CMS=y 228 | # 229 | # Algorithm Selection 230 | # 231 | CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y 232 | CONFIG_OPENSSL_WITH_PSK=y 233 | # 234 | # Less commonly used build options 235 | # 236 | CONFIG_OPENSSL_WITH_IDEA=y 237 | CONFIG_OPENSSL_WITH_SEED=y 238 | CONFIG_OPENSSL_WITH_MDC2=y 239 | CONFIG_OPENSSL_WITH_WHIRLPOOL=y 240 | # 241 | # Engine/Hardware Support 242 | # 243 | CONFIG_OPENSSL_ENGINE=y 244 | CONFIG_PACKAGE_libopenssl-conf=y 245 | # end of SSL 246 | # 247 | # libimobiledevice 248 | # 249 | CONFIG_PACKAGE_libimobiledevice=y 250 | CONFIG_PACKAGE_libplist=y 251 | CONFIG_PACKAGE_libusbmuxd=y 252 | # end of libimobiledevice 253 | CONFIG_PACKAGE_boost=y 254 | # 255 | # Select Boost Options 256 | # 257 | # 258 | # Boost compilation options. 259 | # 260 | CONFIG_boost-compile-visibility-hidden=y 261 | CONFIG_boost-static-and-shared-libs=y 262 | CONFIG_boost-runtime-shared=y 263 | CONFIG_boost-variant-release=y 264 | # end of Select Boost Options 265 | # 266 | # Select Boost libraries 267 | # 268 | # 269 | # Libraries 270 | # 271 | CONFIG_PACKAGE_boost-program_options=y 272 | CONFIG_PACKAGE_boost-system=y 273 | # end of Select Boost libraries 274 | CONFIG_PACKAGE_glib2=y 275 | CONFIG_PACKAGE_libavahi-client=y 276 | CONFIG_PACKAGE_libavahi-dbus-support=y 277 | CONFIG_PACKAGE_libbpf=y 278 | CONFIG_PACKAGE_libcap=y 279 | CONFIG_PACKAGE_libcap-bin=y 280 | CONFIG_PACKAGE_libcap-bin-capsh-shell="/bin/sh" 281 | CONFIG_PACKAGE_libcap-ng=y 282 | CONFIG_PACKAGE_libcares=y 283 | CONFIG_PACKAGE_libcurl=y 284 | # 285 | # SSL support 286 | # 287 | CONFIG_LIBCURL_MBEDTLS=y 288 | # 289 | # Supported protocols 290 | # 291 | CONFIG_LIBCURL_FILE=y 292 | CONFIG_LIBCURL_FTP=y 293 | CONFIG_LIBCURL_HTTP=y 294 | CONFIG_LIBCURL_COOKIES=y 295 | CONFIG_LIBCURL_NO_SMB="!" 296 | CONFIG_LIBCURL_NGHTTP2=y 297 | # 298 | # Miscellaneous 299 | # 300 | CONFIG_LIBCURL_PROXY=y 301 | CONFIG_LIBCURL_UNIX_SOCKETS=y 302 | CONFIG_PACKAGE_libdaemon=y 303 | CONFIG_PACKAGE_libdbus=y 304 | CONFIG_PACKAGE_libelf=y 305 | CONFIG_PACKAGE_libev=y 306 | CONFIG_PACKAGE_libevdev=y 307 | CONFIG_PACKAGE_libexpat=y 308 | CONFIG_PACKAGE_libfdisk=y 309 | CONFIG_PACKAGE_libffi=y 310 | CONFIG_PACKAGE_libgcrypt=y 311 | CONFIG_PACKAGE_libgdbm=y 312 | CONFIG_PACKAGE_libgpg-error=y 313 | CONFIG_PACKAGE_libkmod=y 314 | CONFIG_PACKAGE_libltdl=y 315 | CONFIG_PACKAGE_liblua=y 316 | CONFIG_PACKAGE_liblua5.3=y 317 | CONFIG_PACKAGE_liblucihttp=y 318 | CONFIG_PACKAGE_liblucihttp-lua=y 319 | CONFIG_PACKAGE_liblucihttp-ucode=y 320 | CONFIG_PACKAGE_liblzo=y 321 | CONFIG_PACKAGE_libmbim=y 322 | CONFIG_PACKAGE_libminiupnpc=y 323 | CONFIG_PACKAGE_libmount=y 324 | CONFIG_PACKAGE_libnatpmp=y 325 | CONFIG_PACKAGE_libncurses=y 326 | CONFIG_PACKAGE_libnghttp2=y 327 | CONFIG_PACKAGE_libparted=y 328 | CONFIG_PACKAGE_libpci=y 329 | CONFIG_PACKAGE_libpcre=y 330 | CONFIG_PACKAGE_libpcre2=y 331 | CONFIG_PCRE2_JIT_ENABLED=y 332 | CONFIG_PACKAGE_libpopt=y 333 | CONFIG_PACKAGE_libqmi=y 334 | # 335 | # Configuration 336 | # 337 | CONFIG_LIBQMI_WITH_MBIM_QMUX=y 338 | CONFIG_LIBQMI_WITH_QRTR_GLIB=y 339 | CONFIG_LIBQMI_COLLECTION_BASIC=y 340 | # end of Configuration 341 | CONFIG_PACKAGE_libqrtr-glib=y 342 | CONFIG_PACKAGE_libreadline=y 343 | CONFIG_PACKAGE_libruby=y 344 | CONFIG_PACKAGE_libsensors=y 345 | CONFIG_PACKAGE_libsodium=y 346 | # 347 | # Configuration 348 | # 349 | CONFIG_LIBSODIUM_MINIMAL=y 350 | # end of Configuration 351 | CONFIG_PACKAGE_libssh2=y 352 | CONFIG_LIBSSH2_OPENSSL=y 353 | CONFIG_PACKAGE_libtasn1=y 354 | CONFIG_PACKAGE_libtirpc=y 355 | CONFIG_PACKAGE_libubus-lua=y 356 | CONFIG_PACKAGE_libuci-lua=y 357 | CONFIG_PACKAGE_libudev-zero=y 358 | CONFIG_PACKAGE_libudns=y 359 | CONFIG_PACKAGE_liburing=y 360 | CONFIG_PACKAGE_libusb-1.0=y 361 | CONFIG_PACKAGE_libuv=y 362 | CONFIG_PACKAGE_libwebsockets-full=y 363 | CONFIG_PACKAGE_libxml2=y 364 | CONFIG_PACKAGE_rpcd-mod-luci=y 365 | CONFIG_PACKAGE_rpcd-mod-rrdns=y 366 | CONFIG_PACKAGE_terminfo=y 367 | CONFIG_PACKAGE_zlib=y 368 | # end of Libraries 369 | -------------------------------------------------------------------------------- /config/rpi4b/target.config: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_bcm27xx=y 2 | CONFIG_TARGET_bcm27xx_bcm2711=y 3 | CONFIG_TARGET_bcm27xx_bcm2711_DEVICE_rpi-4=y 4 | -------------------------------------------------------------------------------- /config/rpi4b/utilities.config: -------------------------------------------------------------------------------- 1 | # 2 | # Utilities 3 | # 4 | # 5 | # Compression 6 | # 7 | CONFIG_PACKAGE_unzip=y 8 | # end of Compression 9 | # 10 | # Disc 11 | # 12 | CONFIG_PACKAGE_blkid=y 13 | CONFIG_PACKAGE_cfdisk=y 14 | CONFIG_PACKAGE_lsblk=y 15 | CONFIG_PACKAGE_mdadm=y 16 | CONFIG_PACKAGE_parted=y 17 | # 18 | # Configuration 19 | # 20 | CONFIG_PARTED_READLINE=y 21 | # end of Configuration 22 | # end of Disc 23 | # 24 | # Filesystem 25 | # 26 | CONFIG_PACKAGE_attr=y 27 | CONFIG_PACKAGE_btrfs-progs=y 28 | CONFIG_PACKAGE_dosfstools=y 29 | CONFIG_PACKAGE_exfat-fsck=y 30 | CONFIG_PACKAGE_exfat-mkfs=y 31 | CONFIG_PACKAGE_fuse-utils=y 32 | CONFIG_PACKAGE_ntfs-3g=y 33 | CONFIG_PACKAGE_NTFS-3G_HAS_PROBE=y 34 | CONFIG_PACKAGE_ntfs-3g-utils=y 35 | CONFIG_PACKAGE_sysfsutils=y 36 | # end of Filesystem 37 | # 38 | # Shells 39 | # 40 | CONFIG_PACKAGE_bash=y 41 | # end of Shells 42 | # 43 | # Terminal 44 | # 45 | CONFIG_PACKAGE_ttyd=y 46 | # end of Terminal 47 | # 48 | # libimobiledevice 49 | # 50 | CONFIG_PACKAGE_libimobiledevice-utils=y 51 | CONFIG_PACKAGE_libusbmuxd-utils=y 52 | CONFIG_PACKAGE_plistutil=y 53 | CONFIG_PACKAGE_usbmuxd=y 54 | # end of libimobiledevice 55 | CONFIG_PACKAGE_bc=y 56 | CONFIG_PACKAGE_coremark=y 57 | CONFIG_COREMARK_OPTIMIZE_O3=y 58 | CONFIG_COREMARK_ENABLE_MULTITHREADING=y 59 | CONFIG_COREMARK_NUMBER_OF_THREADS=128 60 | CONFIG_PACKAGE_coreutils=y 61 | CONFIG_PACKAGE_coreutils-base64=y 62 | CONFIG_PACKAGE_coreutils-nohup=y 63 | CONFIG_PACKAGE_dbus=y 64 | CONFIG_PACKAGE_jq=y 65 | CONFIG_PACKAGE_lm-sensors=y 66 | CONFIG_PACKAGE_openssl-util=y 67 | CONFIG_PACKAGE_pciids=y 68 | CONFIG_PACKAGE_pciutils=y 69 | CONFIG_PACKAGE_qmi-utils=y 70 | CONFIG_PACKAGE_smartmontools=y 71 | CONFIG_PACKAGE_smartmontools-drivedb=y 72 | CONFIG_PACKAGE_ucode-mod-html=y 73 | CONFIG_PACKAGE_ucode-mod-lua=y 74 | CONFIG_PACKAGE_usb-modeswitch=y 75 | CONFIG_PACKAGE_usbutils=y 76 | # end of Utilities 77 | -------------------------------------------------------------------------------- /config/x86_64/OpenWrt-K/compile.config: -------------------------------------------------------------------------------- 1 | openwrt_tag/branch=v24.10.1 2 | kmod_compile_exclude_list=kmod-shortcut-fe-cm,kmod-shortcut-fe,kmod-fast-classifier,kmod-shortcut-fe-drv 3 | use_cache=true -------------------------------------------------------------------------------- /config/x86_64/OpenWrt-K/extpackages.config: -------------------------------------------------------------------------------- 1 | EXT_PACKAGES_NAME[1]="luci-app-usb-printer" 2 | EXT_PACKAGES_PATH[1]="applications/luci-app-usb-printer" 3 | EXT_PACKAGES_REPOSITORIE[1]="https://github.com/coolsnowwolf/luci" 4 | EXT_PACKAGES_BRANCH[1]="" 5 | EXT_PACKAGES_NAME[2]="luci-app-vlmcsd" 6 | EXT_PACKAGES_PATH[2]="applications/luci-app-vlmcsd" 7 | EXT_PACKAGES_REPOSITORIE[2]="https://github.com/coolsnowwolf/luci" 8 | EXT_PACKAGES_BRANCH[2]="" 9 | EXT_PACKAGES_NAME[3]="luci-app-webadmin" 10 | EXT_PACKAGES_PATH[3]="applications/luci-app-webadmin" 11 | EXT_PACKAGES_REPOSITORIE[3]="https://github.com/coolsnowwolf/luci" 12 | EXT_PACKAGES_BRANCH[3]="" 13 | EXT_PACKAGES_NAME[4]="luci-app-cifs-mount" 14 | EXT_PACKAGES_PATH[4]="applications/luci-app-cifs-mount" 15 | EXT_PACKAGES_REPOSITORIE[4]="https://github.com/coolsnowwolf/luci" 16 | EXT_PACKAGES_BRANCH[4]="" 17 | EXT_PACKAGES_NAME[5]="luci-app-netdata" 18 | EXT_PACKAGES_PATH[5]="applications/luci-app-netdata" 19 | EXT_PACKAGES_REPOSITORIE[5]="https://github.com/coolsnowwolf/luci" 20 | EXT_PACKAGES_BRANCH[5]="" 21 | EXT_PACKAGES_NAME[6]="vlmcsd" 22 | EXT_PACKAGES_PATH[6]="net/vlmcsd" 23 | EXT_PACKAGES_REPOSITORIE[6]="https://github.com/coolsnowwolf/packages" 24 | EXT_PACKAGES_BRANCH[6]="" 25 | EXT_PACKAGES_NAME[7]="r8168" 26 | EXT_PACKAGES_PATH[7]="package/kernel/r8168" 27 | EXT_PACKAGES_REPOSITORIE[7]="https://github.com/coolsnowwolf/lede" 28 | EXT_PACKAGES_BRANCH[7]="" 29 | EXT_PACKAGES_NAME[8]="shortcut-fe" 30 | EXT_PACKAGES_PATH[8]="shortcut-fe" 31 | EXT_PACKAGES_REPOSITORIE[8]="https://github.com/chenmozhijin/turboacc" 32 | EXT_PACKAGES_BRANCH[8]="package" 33 | EXT_PACKAGES_NAME[9]="luci-app-rclone" 34 | EXT_PACKAGES_PATH[9]="applications/luci-app-rclone" 35 | EXT_PACKAGES_REPOSITORIE[9]="https://github.com/immortalwrt/luci" 36 | EXT_PACKAGES_BRANCH[9]="" 37 | EXT_PACKAGES_NAME[10]="luci-app-zerotier" 38 | EXT_PACKAGES_PATH[10]="applications/luci-app-zerotier" 39 | EXT_PACKAGES_REPOSITORIE[10]="https://github.com/immortalwrt/luci" 40 | EXT_PACKAGES_BRANCH[10]="" 41 | EXT_PACKAGES_NAME[11]="luci-app-fileassistant" 42 | EXT_PACKAGES_PATH[11]="luci-app-fileassistant" 43 | EXT_PACKAGES_REPOSITORIE[11]="https://github.com/Lienol/openwrt-package" 44 | EXT_PACKAGES_BRANCH[11]="" 45 | EXT_PACKAGES_NAME[12]="luci-app-passwall" 46 | EXT_PACKAGES_PATH[12]="luci-app-passwall" 47 | EXT_PACKAGES_REPOSITORIE[12]="https://github.com/xiaorouji/openwrt-passwall" 48 | EXT_PACKAGES_BRANCH[12]="" 49 | EXT_PACKAGES_NAME[13]="openwrt-passwall-packages" 50 | EXT_PACKAGES_PATH[13]="" 51 | EXT_PACKAGES_REPOSITORIE[13]="https://github.com/xiaorouji/openwrt-passwall-packages" 52 | EXT_PACKAGES_BRANCH[13]="" 53 | EXT_PACKAGES_NAME[14]="passwall2" 54 | EXT_PACKAGES_PATH[14]="luci-app-passwall2" 55 | EXT_PACKAGES_REPOSITORIE[14]="https://github.com/xiaorouji/openwrt-passwall2" 56 | EXT_PACKAGES_BRANCH[14]="" 57 | EXT_PACKAGES_NAME[15]="nft-fullcone" 58 | EXT_PACKAGES_PATH[15]="" 59 | EXT_PACKAGES_REPOSITORIE[15]="https://github.com/fullcone-nat-nftables/nft-fullcone" 60 | EXT_PACKAGES_BRANCH[15]="" 61 | EXT_PACKAGES_NAME[16]="luci-app-turboacc" 62 | EXT_PACKAGES_PATH[16]="luci-app-turboacc" 63 | EXT_PACKAGES_REPOSITORIE[16]="https://github.com/chenmozhijin/turboacc" 64 | EXT_PACKAGES_BRANCH[16]="" 65 | EXT_PACKAGES_NAME[17]="luci-app-adguardhome" 66 | EXT_PACKAGES_PATH[17]="" 67 | EXT_PACKAGES_REPOSITORIE[17]="https://github.com/chenmozhijin/luci-app-adguardhome" 68 | EXT_PACKAGES_BRANCH[17]="" 69 | EXT_PACKAGES_NAME[18]="luci-app-argon-config" 70 | EXT_PACKAGES_PATH[18]="" 71 | EXT_PACKAGES_REPOSITORIE[18]="https://github.com/jerrykuku/luci-app-argon-config" 72 | EXT_PACKAGES_BRANCH[18]="" 73 | EXT_PACKAGES_NAME[19]="luci-app-diskman" 74 | EXT_PACKAGES_PATH[19]="applications/luci-app-diskman" 75 | EXT_PACKAGES_REPOSITORIE[19]="https://github.com/lisaac/luci-app-diskman" 76 | EXT_PACKAGES_BRANCH[19]="" 77 | EXT_PACKAGES_NAME[20]="luci-app-netspeedtest" 78 | EXT_PACKAGES_PATH[20]="" 79 | EXT_PACKAGES_REPOSITORIE[20]="https://github.com/sirpdboy/NetSpeedTest" 80 | EXT_PACKAGES_BRANCH[20]="" 81 | EXT_PACKAGES_NAME[21]="luci-app-wechatpush" 82 | EXT_PACKAGES_PATH[21]="" 83 | EXT_PACKAGES_REPOSITORIE[21]="https://github.com/tty228/luci-app-wechatpush" 84 | EXT_PACKAGES_BRANCH[21]="" 85 | EXT_PACKAGES_NAME[22]="luci-theme-argon" 86 | EXT_PACKAGES_PATH[22]="" 87 | EXT_PACKAGES_REPOSITORIE[22]="https://github.com/jerrykuku/luci-theme-argon" 88 | EXT_PACKAGES_BRANCH[22]="" 89 | EXT_PACKAGES_NAME[23]="luci-app-socat" 90 | EXT_PACKAGES_PATH[23]="luci-app-socat" 91 | EXT_PACKAGES_REPOSITORIE[23]="https://github.com/chenmozhijin/luci-app-socat" 92 | EXT_PACKAGES_BRANCH[23]="" 93 | EXT_PACKAGES_NAME[24]="r8125" 94 | EXT_PACKAGES_PATH[24]="" 95 | EXT_PACKAGES_REPOSITORIE[24]="https://github.com/sbwml/package_kernel_r8125" 96 | EXT_PACKAGES_BRANCH[24]="" 97 | EXT_PACKAGES_NAME[25]="luci-app-openclash" 98 | EXT_PACKAGES_PATH[25]="luci-app-openclash" 99 | EXT_PACKAGES_REPOSITORIE[25]="https://github.com/vernesong/OpenClash" 100 | EXT_PACKAGES_BRANCH[25]="" 101 | EXT_PACKAGES_NAME[26]="wrtbwmon" 102 | EXT_PACKAGES_PATH[26]="wrtbwmon" 103 | EXT_PACKAGES_REPOSITORIE[26]="https://github.com/brvphoenix/wrtbwmon" 104 | EXT_PACKAGES_BRANCH[26]="" 105 | EXT_PACKAGES_NAME[27]="ddns-scripts_aliyun" 106 | EXT_PACKAGES_PATH[27]="package/lean/ddns-scripts_aliyun" 107 | EXT_PACKAGES_REPOSITORIE[27]="https://github.com/coolsnowwolf/lede" 108 | EXT_PACKAGES_BRANCH[27]="" 109 | EXT_PACKAGES_NAME[28]="luci-app-qbittorrent" 110 | EXT_PACKAGES_PATH[28]="applications/luci-app-qbittorrent" 111 | EXT_PACKAGES_REPOSITORIE[28]="https://github.com/immortalwrt/luci" 112 | EXT_PACKAGES_BRANCH[28]="" 113 | EXT_PACKAGES_NAME[29]="qBittorrent-Enhanced-Edition" 114 | EXT_PACKAGES_PATH[29]="net/qBittorrent-Enhanced-Edition" 115 | EXT_PACKAGES_REPOSITORIE[29]="https://github.com/immortalwrt/packages" 116 | EXT_PACKAGES_BRANCH[29]="" 117 | EXT_PACKAGES_NAME[30]="qt6base" 118 | EXT_PACKAGES_PATH[30]="libs/qt6base" 119 | EXT_PACKAGES_REPOSITORIE[30]="https://github.com/immortalwrt/packages" 120 | EXT_PACKAGES_BRANCH[30]="" 121 | EXT_PACKAGES_NAME[31]="qt6tools" 122 | EXT_PACKAGES_PATH[31]="utils/qt6tools" 123 | EXT_PACKAGES_REPOSITORIE[31]="https://github.com/immortalwrt/packages" 124 | EXT_PACKAGES_BRANCH[31]="" 125 | EXT_PACKAGES_NAME[32]="libdouble-conversion" 126 | EXT_PACKAGES_PATH[32]="libs/libdouble-conversion" 127 | EXT_PACKAGES_REPOSITORIE[32]="https://github.com/immortalwrt/packages" 128 | EXT_PACKAGES_BRANCH[32]="" -------------------------------------------------------------------------------- /config/x86_64/OpenWrt-K/openwrtext.config: -------------------------------------------------------------------------------- 1 | ipaddr=192.168.1.1 2 | timezone=CST-8 3 | zonename=Asia/Shanghai 4 | golang_version=24.x -------------------------------------------------------------------------------- /config/x86_64/image.config: -------------------------------------------------------------------------------- 1 | # 2 | # Target Images 3 | # 4 | # 5 | # Root filesystem archives 6 | # 7 | # 8 | # Root filesystem images 9 | # 10 | CONFIG_GRUB_TIMEOUT="0" 11 | CONFIG_ISO_IMAGES=y 12 | CONFIG_VMDK_IMAGES=y 13 | # 14 | # Image Options 15 | # 16 | CONFIG_TARGET_ROOTFS_PARTSIZE=1024 17 | # end of Target Images 18 | -------------------------------------------------------------------------------- /config/x86_64/kmod.config: -------------------------------------------------------------------------------- 1 | # 2 | # Kernel modules 3 | # 4 | # 5 | # Block Devices 6 | # 7 | CONFIG_PACKAGE_kmod-md-mod=y 8 | CONFIG_PACKAGE_kmod-md-linear=y 9 | CONFIG_PACKAGE_kmod-md-raid0=y 10 | CONFIG_PACKAGE_kmod-md-raid1=y 11 | CONFIG_PACKAGE_kmod-md-raid10=y 12 | CONFIG_PACKAGE_kmod-md-raid456=y 13 | CONFIG_PACKAGE_kmod-nvme=y 14 | CONFIG_PACKAGE_kmod-scsi-core=y 15 | # end of Block Devices 16 | # 17 | # Cryptographic API modules 18 | # 19 | CONFIG_PACKAGE_kmod-crypto-acompress=y 20 | CONFIG_PACKAGE_kmod-crypto-aead=y 21 | CONFIG_PACKAGE_kmod-crypto-arc4=y 22 | CONFIG_PACKAGE_kmod-crypto-authenc=y 23 | CONFIG_PACKAGE_kmod-crypto-blake2b=y 24 | CONFIG_PACKAGE_kmod-crypto-cbc=y 25 | CONFIG_PACKAGE_kmod-crypto-ccm=y 26 | CONFIG_PACKAGE_kmod-crypto-cmac=y 27 | CONFIG_PACKAGE_kmod-crypto-crc32=y 28 | CONFIG_PACKAGE_kmod-crypto-ctr=y 29 | CONFIG_PACKAGE_kmod-crypto-cts=y 30 | CONFIG_PACKAGE_kmod-crypto-des=y 31 | CONFIG_PACKAGE_kmod-crypto-ecb=y 32 | CONFIG_PACKAGE_kmod-crypto-gcm=y 33 | CONFIG_PACKAGE_kmod-crypto-geniv=y 34 | CONFIG_PACKAGE_kmod-crypto-gf128=y 35 | CONFIG_PACKAGE_kmod-crypto-ghash=y 36 | CONFIG_PACKAGE_kmod-crypto-hmac=y 37 | CONFIG_PACKAGE_kmod-crypto-kpp=y 38 | CONFIG_PACKAGE_kmod-crypto-manager=y 39 | CONFIG_PACKAGE_kmod-crypto-md5=y 40 | CONFIG_PACKAGE_kmod-crypto-null=y 41 | CONFIG_PACKAGE_kmod-crypto-rng=y 42 | CONFIG_PACKAGE_kmod-crypto-seqiv=y 43 | CONFIG_PACKAGE_kmod-crypto-sha1=y 44 | CONFIG_PACKAGE_kmod-crypto-sha256=y 45 | CONFIG_PACKAGE_kmod-crypto-sha3=y 46 | CONFIG_PACKAGE_kmod-crypto-sha512=y 47 | CONFIG_PACKAGE_kmod-crypto-user=y 48 | CONFIG_PACKAGE_kmod-crypto-xxhash=y 49 | CONFIG_PACKAGE_kmod-cryptodev=y 50 | # end of Cryptographic API modules 51 | # 52 | # Filesystems 53 | # 54 | CONFIG_PACKAGE_kmod-fs-btrfs=y 55 | CONFIG_PACKAGE_kmod-fs-cifs=y 56 | CONFIG_PACKAGE_kmod-fs-exfat=y 57 | CONFIG_PACKAGE_kmod-fs-exportfs=y 58 | CONFIG_PACKAGE_kmod-fs-ext4=y 59 | CONFIG_PACKAGE_kmod-fs-f2fs=y 60 | CONFIG_PACKAGE_kmod-fs-msdos=y 61 | CONFIG_PACKAGE_kmod-fs-netfs=y 62 | CONFIG_PACKAGE_kmod-fs-nfs=y 63 | CONFIG_PACKAGE_kmod-fs-nfs-common=y 64 | CONFIG_PACKAGE_kmod-fs-nfs-common-rpcsec=y 65 | CONFIG_PACKAGE_kmod-fs-nfs-v3=y 66 | CONFIG_PACKAGE_kmod-fs-nfs-v4=y 67 | CONFIG_PACKAGE_kmod-fs-nfsd=y 68 | CONFIG_PACKAGE_kmod-fs-ntfs=y 69 | CONFIG_PACKAGE_kmod-fs-smbfs-common=y 70 | CONFIG_PACKAGE_kmod-fs-squashfs=y 71 | CONFIG_PACKAGE_kmod-fs-xfs=y 72 | CONFIG_PACKAGE_kmod-fuse=y 73 | # end of Filesystems 74 | # 75 | # Input modules 76 | # 77 | CONFIG_PACKAGE_kmod-hid=y 78 | CONFIG_PACKAGE_kmod-hid-generic=y 79 | CONFIG_PACKAGE_kmod-input-evdev=y 80 | # end of Input modules 81 | # 82 | # Libraries 83 | # 84 | CONFIG_PACKAGE_kmod-asn1-decoder=y 85 | CONFIG_PACKAGE_kmod-lib-crc16=y 86 | CONFIG_PACKAGE_kmod-lib-lzo=y 87 | CONFIG_PACKAGE_kmod-lib-raid6=y 88 | CONFIG_PACKAGE_kmod-lib-textsearch=y 89 | CONFIG_PACKAGE_kmod-lib-xor=y 90 | CONFIG_PACKAGE_kmod-lib-xxhash=y 91 | CONFIG_PACKAGE_kmod-lib-zlib-deflate=y 92 | CONFIG_PACKAGE_kmod-lib-zlib-inflate=y 93 | CONFIG_PACKAGE_kmod-lib-zstd=y 94 | CONFIG_PACKAGE_kmod-oid-registry=y 95 | # end of Libraries 96 | # 97 | # Native Language Support 98 | # 99 | CONFIG_PACKAGE_kmod-nls-cp932=y 100 | CONFIG_PACKAGE_kmod-nls-cp936=y 101 | CONFIG_PACKAGE_kmod-nls-cp950=y 102 | CONFIG_PACKAGE_kmod-nls-ucs2-utils=y 103 | # end of Native Language Support 104 | # 105 | # Netfilter Extensions 106 | # 107 | CONFIG_PACKAGE_kmod-br-netfilter=y 108 | CONFIG_PACKAGE_kmod-ip6tables=y 109 | CONFIG_PACKAGE_kmod-ipt-conntrack=y 110 | CONFIG_PACKAGE_kmod-ipt-core=y 111 | CONFIG_PACKAGE_kmod-ipt-extra=y 112 | CONFIG_PACKAGE_kmod-ipt-ipopt=y 113 | CONFIG_PACKAGE_kmod-ipt-ipset=y 114 | CONFIG_PACKAGE_kmod-ipt-nat=y 115 | CONFIG_PACKAGE_kmod-ipt-nat6=y 116 | CONFIG_PACKAGE_kmod-ipt-physdev=y 117 | CONFIG_PACKAGE_kmod-nf-ipt=y 118 | CONFIG_PACKAGE_kmod-nf-ipt6=y 119 | CONFIG_PACKAGE_kmod-nf-ipvs=y 120 | CONFIG_PACKAGE_kmod-nf-nat6=y 121 | CONFIG_PACKAGE_kmod-nf-nathelper=y 122 | CONFIG_PACKAGE_kmod-nf-nathelper-extra=y 123 | CONFIG_PACKAGE_kmod-nf-socket=y 124 | CONFIG_PACKAGE_kmod-nfnetlink-queue=y 125 | CONFIG_PACKAGE_kmod-nft-arp=y 126 | CONFIG_PACKAGE_kmod-nft-bridge=y 127 | CONFIG_PACKAGE_kmod-nft-compat=y 128 | CONFIG_PACKAGE_kmod-nft-fullcone=y 129 | CONFIG_PACKAGE_kmod-nft-netdev=y 130 | CONFIG_PACKAGE_kmod-nft-queue=y 131 | CONFIG_PACKAGE_kmod-nft-socket=y 132 | CONFIG_PACKAGE_kmod-nft-xfrm=y 133 | # end of Netfilter Extensions 134 | # 135 | # Network Devices 136 | # 137 | CONFIG_PACKAGE_kmod-8139cp=y 138 | CONFIG_PACKAGE_kmod-8139too=y 139 | CONFIG_PACKAGE_kmod-alx=y 140 | CONFIG_PACKAGE_kmod-bnx2x=y 141 | CONFIG_PACKAGE_kmod-i40e=y 142 | CONFIG_PACKAGE_kmod-iavf=y 143 | CONFIG_PACKAGE_kmod-ifb=y 144 | CONFIG_PACKAGE_kmod-igbvf=y 145 | CONFIG_PACKAGE_kmod-macvlan=y 146 | CONFIG_PACKAGE_kmod-mlx4-core=y 147 | CONFIG_PACKAGE_kmod-mlx5-core=y 148 | CONFIG_PACKAGE_kmod-mlxfw=y 149 | CONFIG_PACKAGE_kmod-net-selftests=y 150 | CONFIG_PACKAGE_kmod-pcnet32=y 151 | CONFIG_PACKAGE_kmod-phy-ax88796b=y 152 | CONFIG_PACKAGE_kmod-phy-realtek=n 153 | CONFIG_PACKAGE_kmod-phy-smsc=y 154 | CONFIG_PACKAGE_kmod-r8125=y 155 | CONFIG_PACKAGE_kmod-r8168=y 156 | CONFIG_PACKAGE_kmod-r8169=n 157 | CONFIG_PACKAGE_kmod-tulip=y 158 | CONFIG_PACKAGE_kmod-via-velocity=y 159 | CONFIG_PACKAGE_kmod-vmxnet3=y 160 | # end of Network Devices 161 | # 162 | # Network Support 163 | # 164 | CONFIG_PACKAGE_kmod-bonding=y 165 | CONFIG_PACKAGE_kmod-dnsresolver=y 166 | CONFIG_PACKAGE_kmod-inet-diag=y 167 | CONFIG_PACKAGE_kmod-iptunnel=y 168 | CONFIG_PACKAGE_kmod-iptunnel4=y 169 | CONFIG_PACKAGE_kmod-netlink-diag=y 170 | CONFIG_PACKAGE_kmod-sched-cake=y 171 | CONFIG_PACKAGE_kmod-sched-core=y 172 | CONFIG_PACKAGE_kmod-sit=y 173 | CONFIG_PACKAGE_kmod-tcp-bbr=y 174 | CONFIG_PACKAGE_kmod-tls=y 175 | CONFIG_PACKAGE_kmod-tun=y 176 | CONFIG_PACKAGE_kmod-veth=y 177 | # end of Network Support 178 | # 179 | # Other modules 180 | # 181 | CONFIG_PACKAGE_kmod-mmc=y 182 | CONFIG_PACKAGE_kmod-random-core=y 183 | CONFIG_PACKAGE_kmod-sdhci=y 184 | # end of Other modules 185 | # 186 | # USB Support 187 | # 188 | CONFIG_PACKAGE_kmod-usb-core=y 189 | CONFIG_PACKAGE_kmod-usb-ehci=y 190 | CONFIG_PACKAGE_kmod-usb-hid=y 191 | CONFIG_PACKAGE_kmod-usb-net=y 192 | CONFIG_PACKAGE_kmod-usb-net-aqc111=y 193 | CONFIG_PACKAGE_kmod-usb-net-asix=y 194 | CONFIG_PACKAGE_kmod-usb-net-asix-ax88179=y 195 | CONFIG_PACKAGE_kmod-usb-net-cdc-eem=y 196 | CONFIG_PACKAGE_kmod-usb-net-cdc-ether=y 197 | CONFIG_PACKAGE_kmod-usb-net-cdc-mbim=y 198 | CONFIG_PACKAGE_kmod-usb-net-cdc-ncm=y 199 | CONFIG_PACKAGE_kmod-usb-net-cdc-subset=y 200 | CONFIG_PACKAGE_kmod-usb-net-dm9601-ether=y 201 | CONFIG_PACKAGE_kmod-usb-net-hso=y 202 | CONFIG_PACKAGE_kmod-usb-net-huawei-cdc-ncm=y 203 | CONFIG_PACKAGE_kmod-usb-net-ipheth=y 204 | CONFIG_PACKAGE_kmod-usb-net-kalmia=y 205 | CONFIG_PACKAGE_kmod-usb-net-kaweth=y 206 | CONFIG_PACKAGE_kmod-usb-net-mcs7830=y 207 | CONFIG_PACKAGE_kmod-usb-net-pegasus=y 208 | CONFIG_PACKAGE_kmod-usb-net-pl=y 209 | CONFIG_PACKAGE_kmod-usb-net-qmi-wwan=y 210 | CONFIG_PACKAGE_kmod-usb-net-rndis=y 211 | CONFIG_PACKAGE_kmod-usb-net-rtl8150=y 212 | CONFIG_PACKAGE_kmod-usb-net-sierrawireless=y 213 | CONFIG_PACKAGE_kmod-usb-net-smsc95xx=y 214 | CONFIG_PACKAGE_kmod-usb-net-sr9700=y 215 | CONFIG_PACKAGE_kmod-usb-ohci=y 216 | CONFIG_PACKAGE_kmod-usb-ohci-pci=y 217 | CONFIG_PACKAGE_kmod-usb-printer=y 218 | CONFIG_PACKAGE_kmod-usb-serial=y 219 | CONFIG_PACKAGE_kmod-usb-serial-option=y 220 | CONFIG_PACKAGE_kmod-usb-serial-wwan=y 221 | CONFIG_PACKAGE_kmod-usb-storage=y 222 | CONFIG_PACKAGE_kmod-usb-storage-extras=y 223 | CONFIG_PACKAGE_kmod-usb-storage-uas=y 224 | CONFIG_PACKAGE_kmod-usb-uhci=y 225 | CONFIG_PACKAGE_kmod-usb-wdm=y 226 | CONFIG_PACKAGE_kmod-usb-xhci-hcd=y 227 | CONFIG_PACKAGE_kmod-usb2=y 228 | CONFIG_PACKAGE_kmod-usb2-pci=y 229 | CONFIG_PACKAGE_kmod-usb3=y 230 | # end of USB Support 231 | # 232 | # Wireless Drivers 233 | # 234 | CONFIG_PACKAGE_kmod-ath=y 235 | CONFIG_ATH_USER_REGD=y 236 | CONFIG_PACKAGE_ATH_DFS=y 237 | CONFIG_PACKAGE_kmod-ath6kl=y 238 | CONFIG_PACKAGE_kmod-ath6kl-sdio=y 239 | CONFIG_PACKAGE_kmod-ath6kl-usb=y 240 | CONFIG_PACKAGE_kmod-ath9k=y 241 | CONFIG_ATH9K_HWRNG=y 242 | CONFIG_ATH9K_SUPPORT_PCOEM=y 243 | CONFIG_PACKAGE_kmod-ath9k-common=y 244 | CONFIG_PACKAGE_kmod-ath9k-htc=y 245 | CONFIG_PACKAGE_kmod-carl9170=y 246 | CONFIG_PACKAGE_kmod-cfg80211=y 247 | CONFIG_PACKAGE_kmod-mac80211=y 248 | CONFIG_PACKAGE_MAC80211_DEBUGFS=y 249 | CONFIG_PACKAGE_MAC80211_MESH=y 250 | CONFIG_PACKAGE_kmod-mt76-connac=y 251 | CONFIG_PACKAGE_kmod-mt76-core=y 252 | CONFIG_PACKAGE_kmod-mt76-usb=y 253 | CONFIG_PACKAGE_kmod-mt7601u=y 254 | CONFIG_PACKAGE_kmod-mt7603=y 255 | CONFIG_PACKAGE_kmod-mt7615-common=y 256 | CONFIG_PACKAGE_kmod-mt7663-usb-sdio=y 257 | CONFIG_PACKAGE_kmod-mt7663u=y 258 | CONFIG_PACKAGE_kmod-mt76x0-common=y 259 | CONFIG_PACKAGE_kmod-mt76x02-common=y 260 | CONFIG_PACKAGE_kmod-mt76x02-usb=y 261 | CONFIG_PACKAGE_kmod-mt76x0u=y 262 | CONFIG_PACKAGE_kmod-mt76x2-common=y 263 | CONFIG_PACKAGE_kmod-mt76x2u=y 264 | CONFIG_PACKAGE_kmod-rsi91x=y 265 | CONFIG_PACKAGE_kmod-rsi91x-usb=y 266 | CONFIG_PACKAGE_kmod-rt2800-lib=y 267 | CONFIG_PACKAGE_kmod-rt2800-usb=y 268 | CONFIG_PACKAGE_kmod-rt2x00-lib=y 269 | CONFIG_PACKAGE_kmod-rt2x00-usb=y 270 | # end of Wireless Drivers 271 | # end of Kernel modules 272 | -------------------------------------------------------------------------------- /config/x86_64/luci.config: -------------------------------------------------------------------------------- 1 | # 2 | # LuCI 3 | # 4 | # 5 | # 1. Collections 6 | # 7 | CONFIG_PACKAGE_luci=y 8 | CONFIG_PACKAGE_luci-light=y 9 | # end of 1. Collections 10 | # 11 | # 2. Modules 12 | # 13 | CONFIG_PACKAGE_luci-base=y 14 | # 15 | # Translations 16 | # 17 | CONFIG_LUCI_LANG_ja=y 18 | CONFIG_LUCI_LANG_zh_Hans=y 19 | CONFIG_LUCI_LANG_zh_Hant=y 20 | # end of Translations 21 | CONFIG_PACKAGE_luci-compat=y 22 | CONFIG_PACKAGE_luci-lua-runtime=y 23 | CONFIG_PACKAGE_luci-mod-admin-full=y 24 | CONFIG_PACKAGE_luci-mod-network=y 25 | CONFIG_PACKAGE_luci-mod-rpc=y 26 | CONFIG_PACKAGE_luci-mod-status=y 27 | CONFIG_PACKAGE_luci-mod-system=y 28 | # end of 2. Modules 29 | # 30 | # 3. Applications 31 | # 32 | CONFIG_PACKAGE_luci-app-adguardhome=y 33 | CONFIG_PACKAGE_luci-app-argon-config=y 34 | CONFIG_PACKAGE_luci-app-cifs-mount=y 35 | CONFIG_PACKAGE_luci-app-diskman=y 36 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_ntfs_3g_utils=y 37 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_btrfs_progs=y 38 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_lsblk=y 39 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_mdadm=y 40 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_kmod_md_raid456=y 41 | CONFIG_PACKAGE_luci-app-diskman_INCLUDE_kmod_md_linears=y 42 | CONFIG_PACKAGE_luci-app-fileassistant=y 43 | CONFIG_PACKAGE_luci-app-firewall=y 44 | CONFIG_PACKAGE_luci-app-netdata=y 45 | CONFIG_PACKAGE_luci-app-netspeedtest=y 46 | CONFIG_PACKAGE_luci-app-nlbwmon=y 47 | CONFIG_PACKAGE_luci-app-openclash=y 48 | CONFIG_PACKAGE_ipset=y 49 | CONFIG_PACKAGE_luci-app-package-manager=y 50 | CONFIG_PACKAGE_luci-app-qbittorrent=y 51 | CONFIG_PACKAGE_luci-app-samba4=y 52 | CONFIG_PACKAGE_luci-app-smartdns=y 53 | CONFIG_PACKAGE_luci-app-socat=y 54 | CONFIG_PACKAGE_luci-app-sqm=y 55 | CONFIG_PACKAGE_luci-app-ttyd=y 56 | CONFIG_PACKAGE_luci-app-turboacc=y 57 | CONFIG_PACKAGE_luci-app-upnp=y 58 | CONFIG_PACKAGE_luci-app-usb-printer=y 59 | CONFIG_PACKAGE_luci-app-vlmcsd=y 60 | CONFIG_PACKAGE_luci-app-webadmin=y 61 | CONFIG_PACKAGE_luci-app-wechatpush=y 62 | CONFIG_PACKAGE_luci-app-wechatpush_Local_Disk_Information_Detection=y 63 | CONFIG_PACKAGE_luci-app-wechatpush_Host_Information_Detection=y 64 | CONFIG_PACKAGE_luci-app-wol=y 65 | CONFIG_PACKAGE_luci-app-zerotier=y 66 | # end of 3. Applications 67 | # 68 | # 4. Themes 69 | # 70 | CONFIG_PACKAGE_luci-theme-argon=y 71 | CONFIG_PACKAGE_luci-theme-bootstrap=y 72 | # end of 4. Themes 73 | # 74 | # 5. Protocols 75 | # 76 | CONFIG_PACKAGE_luci-proto-3g=y 77 | CONFIG_PACKAGE_luci-proto-ipv6=y 78 | CONFIG_PACKAGE_luci-proto-modemmanager=y 79 | CONFIG_PACKAGE_luci-proto-ncm=y 80 | CONFIG_PACKAGE_luci-proto-ppp=y 81 | CONFIG_PACKAGE_luci-proto-qmi=y 82 | # end of 5. Protocols 83 | # 84 | # 6. Libraries 85 | # 86 | CONFIG_PACKAGE_luci-lib-base=y 87 | CONFIG_PACKAGE_luci-lib-chartjs=y 88 | CONFIG_PACKAGE_luci-lib-ip=y 89 | CONFIG_PACKAGE_luci-lib-ipkg=y 90 | CONFIG_PACKAGE_luci-lib-json=y 91 | CONFIG_PACKAGE_luci-lib-jsonc=y 92 | CONFIG_PACKAGE_luci-lib-nixio=y 93 | # end of 6. Libraries 94 | CONFIG_PACKAGE_luci-i18n-adguardhome-zh-cn=y 95 | CONFIG_PACKAGE_luci-i18n-argon-config-zh-cn=y 96 | CONFIG_PACKAGE_luci-i18n-argon-config-zh-tw=y 97 | CONFIG_PACKAGE_luci-i18n-base-ja=y 98 | CONFIG_PACKAGE_luci-i18n-base-zh-cn=y 99 | CONFIG_PACKAGE_luci-i18n-base-zh-tw=y 100 | CONFIG_PACKAGE_luci-i18n-cifs-mount-zh-cn=y 101 | CONFIG_PACKAGE_luci-i18n-diskman-zh-cn=y 102 | CONFIG_PACKAGE_luci-i18n-diskman-zh-tw=y 103 | CONFIG_PACKAGE_luci-i18n-firewall-ja=y 104 | CONFIG_PACKAGE_luci-i18n-firewall-zh-cn=y 105 | CONFIG_PACKAGE_luci-i18n-firewall-zh-tw=y 106 | CONFIG_PACKAGE_luci-i18n-netdata-zh-cn=y 107 | CONFIG_PACKAGE_luci-i18n-netspeedtest-zh-cn=y 108 | CONFIG_PACKAGE_luci-i18n-nlbwmon-ja=y 109 | CONFIG_PACKAGE_luci-i18n-nlbwmon-zh-cn=y 110 | CONFIG_PACKAGE_luci-i18n-nlbwmon-zh-tw=y 111 | CONFIG_PACKAGE_luci-i18n-package-manager-ja=y 112 | CONFIG_PACKAGE_luci-i18n-package-manager-zh-cn=y 113 | CONFIG_PACKAGE_luci-i18n-package-manager-zh-tw=y 114 | CONFIG_PACKAGE_luci-i18n-qbittorrent-zh-cn=y 115 | CONFIG_PACKAGE_luci-i18n-samba4-ja=y 116 | CONFIG_PACKAGE_luci-i18n-samba4-zh-cn=y 117 | CONFIG_PACKAGE_luci-i18n-samba4-zh-tw=y 118 | CONFIG_PACKAGE_luci-i18n-smartdns-ja=y 119 | CONFIG_PACKAGE_luci-i18n-smartdns-zh-cn=y 120 | CONFIG_PACKAGE_luci-i18n-smartdns-zh-tw=y 121 | CONFIG_PACKAGE_luci-i18n-socat-zh-cn=y 122 | CONFIG_PACKAGE_luci-i18n-sqm-ja=y 123 | CONFIG_PACKAGE_luci-i18n-sqm-zh-cn=y 124 | CONFIG_PACKAGE_luci-i18n-sqm-zh-tw=y 125 | CONFIG_PACKAGE_luci-i18n-ttyd-ja=y 126 | CONFIG_PACKAGE_luci-i18n-ttyd-zh-cn=y 127 | CONFIG_PACKAGE_luci-i18n-ttyd-zh-tw=y 128 | CONFIG_PACKAGE_luci-i18n-turboacc-zh-cn=y 129 | CONFIG_PACKAGE_luci-i18n-upnp-ja=y 130 | CONFIG_PACKAGE_luci-i18n-upnp-zh-cn=y 131 | CONFIG_PACKAGE_luci-i18n-upnp-zh-tw=y 132 | CONFIG_PACKAGE_luci-i18n-usb-printer-zh-cn=y 133 | CONFIG_PACKAGE_luci-i18n-vlmcsd-zh-cn=y 134 | CONFIG_PACKAGE_luci-i18n-webadmin-zh-cn=y 135 | CONFIG_PACKAGE_luci-i18n-wechatpush-zh-cn=y 136 | CONFIG_PACKAGE_luci-i18n-wol-ja=y 137 | CONFIG_PACKAGE_luci-i18n-wol-zh-cn=y 138 | CONFIG_PACKAGE_luci-i18n-wol-zh-tw=y 139 | CONFIG_PACKAGE_luci-i18n-zerotier-zh-cn=y 140 | CONFIG_PACKAGE_luci-i18n-zerotier-zh-tw=y 141 | # end of LuCI 142 | -------------------------------------------------------------------------------- /config/x86_64/network.config: -------------------------------------------------------------------------------- 1 | # 2 | # Network 3 | # 4 | # 5 | # BitTorrent 6 | # 7 | CONFIG_PACKAGE_qbittorrent-enhanced-edition=y 8 | # end of BitTorrent 9 | # 10 | # File Transfer 11 | # 12 | CONFIG_PACKAGE_curl=y 13 | CONFIG_PACKAGE_vsftpd-tls=y 14 | CONFIG_PACKAGE_wget-ssl=y 15 | # end of File Transfer 16 | # 17 | # Firewall 18 | # 19 | CONFIG_PACKAGE_ip6tables-nft=y 20 | CONFIG_PACKAGE_iptables-mod-ipopt=y 21 | CONFIG_PACKAGE_iptables-nft=y 22 | CONFIG_PACKAGE_miniupnpd-nftables=y 23 | CONFIG_PACKAGE_xtables-nft=y 24 | # end of Firewall 25 | # 26 | # IP Addresses and Names 27 | # 28 | CONFIG_PACKAGE_avahi-dbus-daemon=y 29 | CONFIG_PACKAGE_wsdd2=y 30 | # end of IP Addresses and Names 31 | # 32 | # Printing 33 | # 34 | CONFIG_PACKAGE_p910nd=y 35 | # end of Printing 36 | # 37 | # Routing and Redirection 38 | # 39 | CONFIG_PACKAGE_ip-full=y 40 | CONFIG_PACKAGE_tc-tiny=y 41 | # end of Routing and Redirection 42 | # 43 | # SSH 44 | # 45 | CONFIG_PACKAGE_openssh-client=y 46 | CONFIG_PACKAGE_openssh-keygen=y 47 | # end of SSH 48 | # 49 | # VPN 50 | # 51 | CONFIG_PACKAGE_zerotier=y 52 | # end of VPN 53 | # 54 | # WWAN 55 | # 56 | CONFIG_PACKAGE_comgt=y 57 | CONFIG_PACKAGE_comgt-ncm=y 58 | CONFIG_PACKAGE_umbim=y 59 | CONFIG_PACKAGE_uqmi=y 60 | # end of WWAN 61 | # 62 | # Web Servers/Proxies 63 | # 64 | CONFIG_PACKAGE_cgi-io=y 65 | CONFIG_PACKAGE_uhttpd=y 66 | CONFIG_PACKAGE_uhttpd-mod-ubus=y 67 | # end of Web Servers/Proxies 68 | # 69 | # WirelessAPD 70 | # 71 | CONFIG_PACKAGE_hostapd-common=y 72 | CONFIG_WPA_MSG_MIN_PRIORITY=3 73 | CONFIG_DRIVER_11AC_SUPPORT=y 74 | CONFIG_WPA_MBO_SUPPORT=y 75 | # end of WirelessAPD 76 | CONFIG_PACKAGE_6in4=y 77 | CONFIG_PACKAGE_chat=y 78 | CONFIG_PACKAGE_cifsmount=y 79 | CONFIG_PACKAGE_etherwake=y 80 | CONFIG_PACKAGE_ethtool-full=y 81 | CONFIG_PACKAGE_homebox=y 82 | CONFIG_PACKAGE_iperf3-ssl=y 83 | CONFIG_PACKAGE_iputils-arping=y 84 | CONFIG_PACKAGE_iw=y 85 | CONFIG_PACKAGE_krb5-libs=y 86 | CONFIG_PACKAGE_libipset=y 87 | CONFIG_PACKAGE_modemmanager=y 88 | # 89 | # Configuration 90 | # 91 | CONFIG_MODEMMANAGER_WITH_MBIM=y 92 | CONFIG_MODEMMANAGER_WITH_QMI=y 93 | CONFIG_MODEMMANAGER_WITH_QRTR=y 94 | # end of Configuration 95 | CONFIG_PACKAGE_netperf=y 96 | CONFIG_PACKAGE_nlbwmon=y 97 | CONFIG_PACKAGE_proto-bonding=y 98 | CONFIG_PACKAGE_samba4-admin=y 99 | CONFIG_PACKAGE_samba4-client=y 100 | CONFIG_PACKAGE_samba4-libs=y 101 | CONFIG_PACKAGE_samba4-server=y 102 | CONFIG_SAMBA4_SERVER_WSDD2=y 103 | CONFIG_SAMBA4_SERVER_NETBIOS=y 104 | CONFIG_SAMBA4_SERVER_AVAHI=y 105 | CONFIG_SAMBA4_SERVER_VFS=y 106 | CONFIG_PACKAGE_samba4-utils=y 107 | CONFIG_PACKAGE_smartdns=y 108 | CONFIG_PACKAGE_socat=y 109 | CONFIG_SOCAT_SSL=y 110 | CONFIG_PACKAGE_tcping=y 111 | CONFIG_PACKAGE_vlmcsd=y 112 | CONFIG_PACKAGE_wwan=y 113 | # end of Network 114 | -------------------------------------------------------------------------------- /config/x86_64/other.config: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # OpenWrt Configuration 4 | # 5 | # 6 | # Global build settings 7 | # 8 | # 9 | # General build options 10 | # 11 | # 12 | # Kernel build options 13 | # 14 | CONFIG_KERNEL_PAGE_POOL=y 15 | # end of Kernel build options 16 | # 17 | # Package build options 18 | # 19 | # 20 | # Stripping options 21 | # 22 | # 23 | # Hardening build options 24 | # 25 | # end of Global build settings 26 | # 27 | # Base system 28 | # 29 | CONFIG_PACKAGE_block-mount=y 30 | CONFIG_PACKAGE_ca-certificates=y 31 | CONFIG_PACKAGE_libatomic=y 32 | CONFIG_PACKAGE_libstdcpp=y 33 | CONFIG_PACKAGE_resolveip=y 34 | CONFIG_PACKAGE_rpcd=y 35 | CONFIG_PACKAGE_rpcd-mod-file=y 36 | CONFIG_PACKAGE_rpcd-mod-iwinfo=y 37 | CONFIG_PACKAGE_rpcd-mod-ucode=y 38 | CONFIG_PACKAGE_sqm-scripts=y 39 | CONFIG_PACKAGE_wifi-scripts=y 40 | # end of Base system 41 | # 42 | # Administration 43 | # 44 | # 45 | # Zabbix 46 | # 47 | # 48 | # Database Software 49 | # 50 | # end of Zabbix 51 | CONFIG_PACKAGE_htop=y 52 | CONFIG_HTOP_LMSENSORS=y 53 | CONFIG_PACKAGE_netdata=y 54 | CONFIG_PACKAGE_sudo=y 55 | # end of Administration 56 | # 57 | # Development 58 | # 59 | CONFIG_PACKAGE_diffutils=y 60 | # end of Development 61 | # 62 | # Extra packages 63 | # 64 | CONFIG_PACKAGE_libiwinfo-data=y 65 | # end of Extra packages 66 | # 67 | # Firmware 68 | # 69 | CONFIG_PACKAGE_ath9k-htc-firmware=y 70 | CONFIG_PACKAGE_bnx2x-firmware=y 71 | CONFIG_PACKAGE_carl9170-firmware=y 72 | CONFIG_PACKAGE_mt7601u-firmware=y 73 | CONFIG_PACKAGE_r8169-firmware=n 74 | CONFIG_PACKAGE_rs9113-firmware=y 75 | CONFIG_PACKAGE_rt2800-usb-firmware=y 76 | CONFIG_PACKAGE_rtl8188eu-firmware=y 77 | CONFIG_PACKAGE_rtl8192cu-firmware=y 78 | CONFIG_PACKAGE_rtl8192eu-firmware=y 79 | CONFIG_PACKAGE_rtl8192se-firmware=y 80 | CONFIG_PACKAGE_rtl8723au-firmware=y 81 | CONFIG_PACKAGE_rtl8723bu-firmware=y 82 | CONFIG_PACKAGE_wireless-regdb=y 83 | # end of Firmware 84 | # 85 | # Languages 86 | # 87 | # 88 | # Lua 89 | # 90 | CONFIG_PACKAGE_lua=y 91 | # end of Lua 92 | # 93 | # Python 94 | # 95 | CONFIG_PACKAGE_libpython3=y 96 | CONFIG_PACKAGE_python3=y 97 | CONFIG_PACKAGE_python3-asyncio=y 98 | CONFIG_PACKAGE_python3-base=y 99 | CONFIG_PACKAGE_python3-cgi=y 100 | CONFIG_PACKAGE_python3-cgitb=y 101 | CONFIG_PACKAGE_python3-codecs=y 102 | CONFIG_PACKAGE_python3-ctypes=y 103 | CONFIG_PACKAGE_python3-dbm=y 104 | CONFIG_PACKAGE_python3-decimal=y 105 | CONFIG_PACKAGE_python3-distutils=y 106 | CONFIG_PACKAGE_python3-email=y 107 | CONFIG_PACKAGE_python3-light=y 108 | CONFIG_PACKAGE_python3-logging=y 109 | CONFIG_PACKAGE_python3-lzma=y 110 | CONFIG_PACKAGE_python3-multiprocessing=y 111 | CONFIG_PACKAGE_python3-ncurses=y 112 | CONFIG_PACKAGE_python3-openssl=y 113 | CONFIG_PACKAGE_python3-pydoc=y 114 | CONFIG_PACKAGE_python3-readline=y 115 | CONFIG_PACKAGE_python3-sqlite3=y 116 | CONFIG_PACKAGE_python3-unittest=y 117 | CONFIG_PACKAGE_python3-urllib=y 118 | CONFIG_PACKAGE_python3-uuid=y 119 | CONFIG_PACKAGE_python3-xml=y 120 | # end of Python 121 | # 122 | # Ruby 123 | # 124 | CONFIG_PACKAGE_ruby=y 125 | CONFIG_RUBY_ENABLE_YJIT=y 126 | # 127 | # Standard Library 128 | # 129 | CONFIG_PACKAGE_ruby-bigdecimal=y 130 | CONFIG_PACKAGE_ruby-date=y 131 | CONFIG_PACKAGE_ruby-digest=y 132 | CONFIG_PACKAGE_ruby-enc=y 133 | CONFIG_PACKAGE_ruby-forwardable=y 134 | CONFIG_PACKAGE_ruby-pstore=y 135 | CONFIG_PACKAGE_ruby-psych=y 136 | CONFIG_PACKAGE_ruby-stringio=y 137 | CONFIG_PACKAGE_ruby-yaml=y 138 | # end of Ruby 139 | # 140 | # ucode 141 | # 142 | CONFIG_PACKAGE_ucode-mod-math=y 143 | CONFIG_PACKAGE_ucode-mod-nl80211=y 144 | CONFIG_PACKAGE_ucode-mod-rtnl=y 145 | # end of ucode 146 | # end of Languages 147 | # 148 | # Libraries 149 | # 150 | # 151 | # Compression 152 | # 153 | CONFIG_PACKAGE_libbz2=y 154 | CONFIG_PACKAGE_liblzma=y 155 | # end of Compression 156 | # 157 | # Database 158 | # 159 | CONFIG_PACKAGE_libsqlite3=y 160 | # 161 | # Configuration 162 | # 163 | CONFIG_SQLITE3_COLUMN_METADATA=y 164 | CONFIG_SQLITE3_DYNAMIC_EXTENSIONS=y 165 | CONFIG_SQLITE3_FTS3=y 166 | CONFIG_SQLITE3_FTS4=y 167 | CONFIG_SQLITE3_FTS5=y 168 | CONFIG_SQLITE3_RTREE=y 169 | # end of Configuration 170 | # end of Database 171 | # 172 | # Filesystem 173 | # 174 | CONFIG_PACKAGE_libattr=y 175 | CONFIG_PACKAGE_libfuse=y 176 | CONFIG_PACKAGE_libsysfs=y 177 | # end of Filesystem 178 | # 179 | # Firewall 180 | # 181 | CONFIG_PACKAGE_libip6tc=y 182 | CONFIG_PACKAGE_libiptext=y 183 | CONFIG_PACKAGE_libiptext-nft=y 184 | CONFIG_PACKAGE_libiptext6=y 185 | CONFIG_PACKAGE_libxtables=y 186 | # end of Firewall 187 | # 188 | # Languages 189 | # 190 | CONFIG_PACKAGE_libyaml=y 191 | # end of Languages 192 | # 193 | # Qt6 194 | # 195 | CONFIG_PACKAGE_libQt6Core=y 196 | CONFIG_PACKAGE_libQt6Network=y 197 | CONFIG_PACKAGE_libQt6Sql=y 198 | CONFIG_PACKAGE_libQt6Xml=y 199 | CONFIG_PACKAGE_qt6-plugin-libqopensslbackend=y 200 | CONFIG_PACKAGE_qt6-plugin-libqsqlite=y 201 | # end of Qt6 202 | # 203 | # SSL 204 | # 205 | CONFIG_PACKAGE_libgnutls=y 206 | # 207 | # Configuration 208 | # 209 | CONFIG_GNUTLS_DTLS_SRTP=y 210 | CONFIG_GNUTLS_ALPN=y 211 | CONFIG_GNUTLS_OCSP=y 212 | CONFIG_GNUTLS_HEARTBEAT=y 213 | CONFIG_GNUTLS_PSK=y 214 | CONFIG_GNUTLS_ANON=y 215 | # end of Configuration 216 | # 217 | # Option details in source code: include/mbedtls/mbedtls_config.h 218 | # 219 | # 220 | # Ciphers - unselect old or less-used ciphers to reduce binary size 221 | # 222 | # 223 | # Curves - unselect old or less-used curves to reduce binary size 224 | # 225 | CONFIG_MBEDTLS_ECP_DP_SECP521R1_ENABLED=n 226 | # 227 | # Build Options - unselect features to reduce binary size 228 | # 229 | # 230 | # Build Options 231 | # 232 | CONFIG_PACKAGE_libopenssl=y 233 | # 234 | # Build Options 235 | # 236 | CONFIG_OPENSSL_OPTIMIZE_SPEED=y 237 | CONFIG_OPENSSL_WITH_ASM=y 238 | CONFIG_OPENSSL_WITH_DEPRECATED=y 239 | CONFIG_OPENSSL_WITH_ERROR_MESSAGES=y 240 | # 241 | # Protocol Support 242 | # 243 | CONFIG_OPENSSL_WITH_TLS13=y 244 | CONFIG_OPENSSL_WITH_SRP=y 245 | CONFIG_OPENSSL_WITH_CMS=y 246 | # 247 | # Algorithm Selection 248 | # 249 | CONFIG_OPENSSL_WITH_CHACHA_POLY1305=y 250 | CONFIG_OPENSSL_WITH_PSK=y 251 | # 252 | # Less commonly used build options 253 | # 254 | CONFIG_OPENSSL_WITH_IDEA=y 255 | CONFIG_OPENSSL_WITH_SEED=y 256 | CONFIG_OPENSSL_WITH_MDC2=y 257 | CONFIG_OPENSSL_WITH_WHIRLPOOL=y 258 | # 259 | # Engine/Hardware Support 260 | # 261 | CONFIG_OPENSSL_ENGINE=y 262 | CONFIG_PACKAGE_libopenssl-conf=y 263 | # end of SSL 264 | # 265 | # libimobiledevice 266 | # 267 | CONFIG_PACKAGE_libimobiledevice=y 268 | CONFIG_PACKAGE_libimobiledevice-glue=y 269 | CONFIG_PACKAGE_libplist=y 270 | CONFIG_PACKAGE_libusbmuxd=y 271 | # end of libimobiledevice 272 | CONFIG_PACKAGE_boost=y 273 | # 274 | # Select Boost Options 275 | # 276 | # 277 | # Boost compilation options. 278 | # 279 | CONFIG_boost-compile-visibility-hidden=y 280 | CONFIG_boost-static-and-shared-libs=y 281 | CONFIG_boost-runtime-shared=y 282 | CONFIG_boost-variant-release=y 283 | # end of Select Boost Options 284 | # 285 | # Select Boost libraries 286 | # 287 | # 288 | # Libraries 289 | # 290 | CONFIG_PACKAGE_boost-program_options=y 291 | CONFIG_PACKAGE_boost-system=y 292 | # end of Select Boost libraries 293 | CONFIG_PACKAGE_glib2=y 294 | CONFIG_PACKAGE_libavahi-client=y 295 | CONFIG_PACKAGE_libavahi-dbus-support=y 296 | CONFIG_PACKAGE_libbpf=y 297 | CONFIG_PACKAGE_libcap=y 298 | CONFIG_PACKAGE_libcap-bin=y 299 | CONFIG_PACKAGE_libcap-bin-capsh-shell="/bin/sh" 300 | CONFIG_PACKAGE_libcap-ng=y 301 | CONFIG_PACKAGE_libcares=y 302 | CONFIG_PACKAGE_libcurl=y 303 | # 304 | # SSL support 305 | # 306 | CONFIG_LIBCURL_MBEDTLS=y 307 | # 308 | # Supported protocols 309 | # 310 | CONFIG_LIBCURL_FILE=y 311 | CONFIG_LIBCURL_FTP=y 312 | CONFIG_LIBCURL_HTTP=y 313 | CONFIG_LIBCURL_COOKIES=y 314 | CONFIG_LIBCURL_NO_SMB="!" 315 | CONFIG_LIBCURL_NGHTTP2=y 316 | # 317 | # Miscellaneous 318 | # 319 | CONFIG_LIBCURL_PROXY=y 320 | CONFIG_LIBCURL_UNIX_SOCKETS=y 321 | CONFIG_PACKAGE_libdaemon=y 322 | CONFIG_PACKAGE_libdbus=y 323 | CONFIG_PACKAGE_libdouble-conversion=y 324 | CONFIG_PACKAGE_libelf=y 325 | CONFIG_PACKAGE_libev=y 326 | CONFIG_PACKAGE_libevdev=y 327 | CONFIG_PACKAGE_libexpat=y 328 | CONFIG_PACKAGE_libfdisk=y 329 | CONFIG_PACKAGE_libffi=y 330 | CONFIG_PACKAGE_libgcrypt=y 331 | CONFIG_PACKAGE_libgdbm=y 332 | CONFIG_PACKAGE_libgpg-error=y 333 | CONFIG_PACKAGE_libiwinfo=y 334 | CONFIG_PACKAGE_libkmod=y 335 | CONFIG_PACKAGE_libltdl=y 336 | CONFIG_PACKAGE_liblua=y 337 | CONFIG_PACKAGE_liblua5.3=y 338 | CONFIG_PACKAGE_liblucihttp=y 339 | CONFIG_PACKAGE_liblucihttp-lua=y 340 | CONFIG_PACKAGE_liblucihttp-ucode=y 341 | CONFIG_PACKAGE_liblzo=y 342 | CONFIG_PACKAGE_libmbim=y 343 | CONFIG_PACKAGE_libminiupnpc=y 344 | CONFIG_PACKAGE_libmount=y 345 | CONFIG_PACKAGE_libnatpmp=y 346 | CONFIG_PACKAGE_libncurses=y 347 | CONFIG_PACKAGE_libnghttp2=y 348 | CONFIG_PACKAGE_libparted=y 349 | CONFIG_PACKAGE_libpci=y 350 | CONFIG_PACKAGE_libpcre2=y 351 | CONFIG_PCRE2_JIT_ENABLED=y 352 | CONFIG_PACKAGE_libpcre2-16=y 353 | CONFIG_PACKAGE_libpopt=y 354 | CONFIG_PACKAGE_libqmi=y 355 | # 356 | # Configuration 357 | # 358 | CONFIG_LIBQMI_WITH_MBIM_QMUX=y 359 | CONFIG_LIBQMI_WITH_QRTR_GLIB=y 360 | CONFIG_LIBQMI_COLLECTION_BASIC=y 361 | # end of Configuration 362 | CONFIG_PACKAGE_libqrtr-glib=y 363 | CONFIG_PACKAGE_libreadline=y 364 | CONFIG_PACKAGE_libruby=y 365 | CONFIG_PACKAGE_libsensors=y 366 | CONFIG_PACKAGE_libsodium=y 367 | # 368 | # Configuration 369 | # 370 | CONFIG_LIBSODIUM_MINIMAL=y 371 | # end of Configuration 372 | CONFIG_PACKAGE_libssh2=y 373 | CONFIG_LIBSSH2_OPENSSL=y 374 | CONFIG_PACKAGE_libtasn1=y 375 | CONFIG_PACKAGE_libtirpc=y 376 | CONFIG_PACKAGE_libtorrent-rasterbar=y 377 | CONFIG_PACKAGE_libubus-lua=y 378 | CONFIG_PACKAGE_libuci-lua=y 379 | CONFIG_PACKAGE_libudev-zero=y 380 | CONFIG_PACKAGE_libudns=y 381 | CONFIG_PACKAGE_liburing=y 382 | CONFIG_PACKAGE_libusb-1.0=y 383 | CONFIG_PACKAGE_libuv=y 384 | CONFIG_PACKAGE_libwebsockets-full=y 385 | CONFIG_PACKAGE_libxml2=y 386 | CONFIG_PACKAGE_rpcd-mod-luci=y 387 | CONFIG_PACKAGE_rpcd-mod-rrdns=y 388 | CONFIG_PACKAGE_terminfo=y 389 | CONFIG_PACKAGE_zlib=y 390 | # end of Libraries 391 | -------------------------------------------------------------------------------- /config/x86_64/target.config: -------------------------------------------------------------------------------- 1 | CONFIG_TARGET_x86=y 2 | CONFIG_TARGET_x86_64=y 3 | CONFIG_TARGET_x86_64_DEVICE_generic=y 4 | -------------------------------------------------------------------------------- /config/x86_64/utilities.config: -------------------------------------------------------------------------------- 1 | # 2 | # Utilities 3 | # 4 | # 5 | # Compression 6 | # 7 | CONFIG_PACKAGE_unzip=y 8 | # end of Compression 9 | # 10 | # Disc 11 | # 12 | CONFIG_PACKAGE_blkid=y 13 | CONFIG_PACKAGE_cfdisk=y 14 | CONFIG_PACKAGE_lsblk=y 15 | CONFIG_PACKAGE_mdadm=y 16 | CONFIG_PACKAGE_parted=y 17 | # 18 | # Configuration 19 | # 20 | CONFIG_PARTED_READLINE=y 21 | # end of Configuration 22 | # end of Disc 23 | # 24 | # Filesystem 25 | # 26 | CONFIG_PACKAGE_attr=y 27 | CONFIG_PACKAGE_btrfs-progs=y 28 | CONFIG_PACKAGE_dosfstools=y 29 | CONFIG_PACKAGE_exfat-fsck=y 30 | CONFIG_PACKAGE_exfat-mkfs=y 31 | CONFIG_PACKAGE_fuse-utils=y 32 | CONFIG_PACKAGE_ntfs-3g=y 33 | CONFIG_PACKAGE_NTFS-3G_HAS_PROBE=y 34 | CONFIG_PACKAGE_ntfs-3g-utils=y 35 | CONFIG_PACKAGE_sysfsutils=y 36 | # end of Filesystem 37 | # 38 | # Shells 39 | # 40 | CONFIG_PACKAGE_bash=y 41 | # end of Shells 42 | # 43 | # Terminal 44 | # 45 | CONFIG_PACKAGE_ttyd=y 46 | # end of Terminal 47 | # 48 | # libimobiledevice 49 | # 50 | CONFIG_PACKAGE_libimobiledevice-utils=y 51 | CONFIG_PACKAGE_libusbmuxd-utils=y 52 | CONFIG_PACKAGE_plistutil=y 53 | CONFIG_PACKAGE_usbmuxd=y 54 | # end of libimobiledevice 55 | CONFIG_PACKAGE_bc=y 56 | CONFIG_PACKAGE_coremark=y 57 | CONFIG_COREMARK_OPTIMIZE_O3=y 58 | CONFIG_COREMARK_ENABLE_MULTITHREADING=y 59 | CONFIG_COREMARK_NUMBER_OF_THREADS=128 60 | CONFIG_PACKAGE_coreutils=y 61 | CONFIG_PACKAGE_coreutils-base64=y 62 | CONFIG_PACKAGE_coreutils-nohup=y 63 | CONFIG_PACKAGE_dbus=y 64 | CONFIG_PACKAGE_iwinfo=y 65 | CONFIG_PACKAGE_jq=y 66 | CONFIG_PACKAGE_lm-sensors=y 67 | CONFIG_PACKAGE_openssl-util=y 68 | CONFIG_PACKAGE_pciids=y 69 | CONFIG_PACKAGE_pciutils=y 70 | CONFIG_PACKAGE_qmi-utils=y 71 | CONFIG_PACKAGE_smartmontools=y 72 | CONFIG_PACKAGE_smartmontools-drivedb=y 73 | CONFIG_PACKAGE_ucode-mod-html=y 74 | CONFIG_PACKAGE_ucode-mod-lua=y 75 | CONFIG_PACKAGE_usb-modeswitch=y 76 | CONFIG_PACKAGE_usbids=y 77 | CONFIG_PACKAGE_usbutils=y 78 | # end of Utilities 79 | -------------------------------------------------------------------------------- /files/etc/AdGuardHome-dnslist(by cmzj).yaml: -------------------------------------------------------------------------------- 1 | 127.0.0.1:6053 2 | 127.0.0.1:5335 3 | # Steam++ Start 4 | [/steam-chat.com/steamcdn-a.akamaihd.net/cdn.akamai.steamstatic.com/community.akamai.steamstatic.com/avatars.akamai.steamstatic.com/media.steampowered.com/store.steampowered.com/api.steampowered.com/help.steampowered.com/steamcommunity.com/www.steamcommunity.com/support.discord.com/safety.discord.com/support-dev.discord.com/dl.discordapp.net/discordapp.com/support.discordapp.com/url9177.discordapp.com/canary-api.discordapp.com/cdn-ptb.discordapp.com/ptb.discordapp.com/status.discordapp.com/cdn-canary.discordapp.com/cdn.discordapp.com/streamkit.discordapp.com/i18n.discordapp.com/url9624.discordapp.com/url7195.discordapp.com/merch.discordapp.com/printer.discordapp.com/canary.discordapp.com/apps.discordapp.com/pax.discordapp.com/media.discordapp.net/images-ext-2.discordapp.net/images-ext-1.discordapp.net/images-2.discordapp.net/images-1.discordapp.net/discord.com/click.discord.com/status.discord.com/streamkit.discord.com/ptb.discord.com/i18n.discord.com/pax.discord.com/printer.discord.com/canary.discord.com/feedback.discord.com/updates.discord.com/irc-ws.chat.twitch.tv/irc-ws-r.chat.twitch.tv/passport.twitch.tv/abs.hls.ttvnw.net/video-edge-646949.pdx01.abs.hls.ttvnw.net/id-cdn.twitch.tv/id.twitch.tv/pubsub-edge.twitch.tv/supervisor.ext-twitch.tv/vod-secure.twitch.tv/music.twitch.tv/twitch.tv/www.twitch.tv/m.twitch.tv/app.twitch.tv/badges.twitch.tv/blog.twitch.tv/inspector.twitch.tv/stream.twitch.tv/dev.twitch.tv/clips.twitch.tv/gql.twitch.tv/vod-storyboards.twitch.tv/trowel.twitch.tv/countess.twitch.tv/extension-files.twitch.tv/vod-metro.twitch.tv/pubster.twitch.tv/help.twitch.tv/link.twitch.tv/player.twitch.tv/api.twitch.tv/cvp.twitch.tv/clips-media-assets2.twitch.tv/client-event-reporter.twitch.tv/gds-vhs-drops-campaign-images.twitch.tv/us-west-2.uploads-regional.twitch.tv/assets.help.twitch.tv/discuss.dev.twitch.tv/dashboard.twitch.tv/origin-a.akamaihd.net/store.ubi.com/static3.cdn.ubi.com/gravatar.com/secure.gravatar.com/www.gravatar.com/themes.googleusercontent.com/maxcdn.bootstrapcdn.com/ajax.googleapis.com/fonts.googleapis.com/fonts.gstatic.com/hcaptcha.com/assets.hcaptcha.com/imgs.hcaptcha.com/www.hcaptcha.com/docs.hcaptcha.com/js.hcaptcha.com/newassets.hcaptcha.com/google.com/www.google.com/client-api.arkoselabs.com/epic-games-api.arkoselabs.com/cdn.arkoselabs.com/prod-ireland.arkoselabs.com/api.github.com/gist.github.com/raw.github.com/githubusercontent.com/raw.githubusercontent.com/camo.githubusercontent.com/cloud.githubusercontent.com/avatars.githubusercontent.com/avatars0.githubusercontent.com/avatars1.githubusercontent.com/avatars2.githubusercontent.com/avatars3.githubusercontent.com/user-images.githubusercontent.com/github.io/www.github.io/githubapp.com/github.com/pages.github.com/nexusmods.com/www.nexusmods.com/staticdelivery.nexusmods.com/cf-files.nexusmods.com/staticstats.nexusmods.com/users.nexusmods.com/files.nexus-cdn.com/premium-files.nexus-cdn.com/supporter-files.nexus-cdn.com/storage.live.com/skyapi.onedrive.live.com/onedrive.live.com/onedrive.live/mega.co.nz/g.cdn1.mega.co.nz/www.mega.co.nz/userstroage.mega.co.nz/g.api.mega.co.nz/mega.nz/mega.io/aem.dropbox.com/dl.dropboxusercontent.com/uc07aaf207f16a978a3dbc24a1c9.dl.dropboxusercontent.com/uc87442e427766fe8cf2a7a07827.dl.dropboxusercontent.com/uc957f785cc03b9b273234fd24f9.dl.dropboxusercontent.com/ucc541451e9df780e40777d477eb.dl.dropboxusercontent.com/ucb277f9a438d6b3f4ea2147ac26.dl.dropboxusercontent.com/uc4b4b602d4b01e27782f92ce984.dl.dropboxusercontent.com/uc9c83355d6aa8bc75f7f597c7d6.dl.dropboxusercontent.com/ucaf37cba09486e69c215bdfe2e2.dl.dropboxusercontent.com/uca3a40eb53259715309022eb9fd.dl.dropboxusercontent.com/dropbox.com/www.dropbox.com/pinterest.com/www.pinterest.com/pinimg.com/sm.pinimg.com/s.pinimg.com/i.pinimg.com/artstation.com/www.artstation.com/cdn-learning.artstation.com/cdna.artstation.com/cdn.artstation.com/cdnb.artstation.com/aleksi.artstation.com/aroll.artstation.com/dya.artstation.com/yourihoek.artstation.com/rishablue.artstation.com/ww.artstation.com/magazine.artstation.com/v2ex.com/www.v2ex.com/cdn.v2ex.com/imgur.com/i.imgur.com/s.imgur.com/i.stack.imgur.com/m.imgur.com/api.imgur.com/p.imgur.com/www.imgur.com/fufufu23.imgur.com/thepoy.imgur.com/blog.imgur.com/cellcow.imgur.com/t.imgur.com/sketch.pixiv.net/pixivsketch.net/www.pixivsketch.net/pximg.net/i.pximg.net/s.pximg.net/img-sketch.pximg.net/source.pximg.net/booth.pximg.net/i-f.pximg.net/imp.pximg.net/public-img-comic.pximg.net/www.pixiv.net/touch.pixiv.net/source.pixiv.net/accounts.pixiv.net/imgaz.pixiv.net/app-api.pixiv.net/oauth.secure.pixiv.net/dic.pixiv.net/comic.pixiv.net/factory.pixiv.net/g-client-proxy.pixiv.net/payment.pixiv.net/sensei.pixiv.net/novel.pixiv.net/ssl.pixiv.net/times.pixiv.net/recruit.pixiv.net/pixiv.net/p2.pixiv.net/matsuri.pixiv.net/m.pixiv.net/iracon.pixiv.net/inside.pixiv.net/i1.pixiv.net/help.pixiv.net/goods.pixiv.net/genepixiv.pr.pixiv.net/festa.pixiv.net/en.dic.pixiv.net/dev.pixiv.net/chat.pixiv.net/blog.pixiv.net/embed.pixiv.net/comic-api.pixiv.net/pay.pixiv.net/pixon.ads-pixiv.net/link.pixiv.net/in.appcenter.ms/appcenter.ms/local.steampp.net/]127.0.0.1:5335 5 | # Steam++ End 6 | [/*.hk/]127.0.0.1:5335 7 | [/*.in/]127.0.0.1:5335 8 | [/*.io/]127.0.0.1:5335 9 | [/*.jp/]127.0.0.1:5335 10 | [/*.mo/]127.0.0.1:5335 11 | [/*.ru/]127.0.0.1:5335 12 | [/*.th/]127.0.0.1:5335 13 | [/*.tw/]127.0.0.1:5335 14 | [/*.uk/]127.0.0.1:5335 15 | [/*.uk/]127.0.0.1:5335 16 | [/*.cn/]127.0.0.1:6053 17 | [/github.com/]127.0.0.1:5335 18 | [/*.github.com/]127.0.0.1:5335 19 | # 20 | # 21 | #bbs 22 | [/bbs.sumisora.org/]127.0.0.1:5335 23 | [/www.tsdm39.com/]127.0.0.1:5335 24 | #gfwlist 25 | -------------------------------------------------------------------------------- /files/etc/AdGuardHome.yaml: -------------------------------------------------------------------------------- 1 | http: 2 | pprof: 3 | port: 6060 4 | enabled: false 5 | address: 0.0.0.0:3000 6 | session_ttl: 720h 7 | users: 8 | - name: root 9 | password: $2y$10$qAIcbPtZYElYD05MSRyqqOTYulNn6XgytFKtNkBTjHl2mIxFMcPI. 10 | auth_attempts: 5 11 | block_auth_min: 15 12 | http_proxy: "" 13 | language: zh-cn 14 | theme: auto 15 | dns: 16 | bind_hosts: 17 | - 0.0.0.0 18 | port: 1745 19 | anonymize_client_ip: false 20 | ratelimit: 0 21 | ratelimit_subnet_len_ipv4: 24 22 | ratelimit_subnet_len_ipv6: 56 23 | ratelimit_whitelist: [] 24 | refuse_any: false 25 | upstream_dns: 26 | - 223.5.5.5 27 | upstream_dns_file: /etc/AdGuardHome-dnslist(by cmzj).yaml 28 | bootstrap_dns: 29 | - 119.29.29.29 30 | - 223.5.5.5 31 | - 144.144.144.144 32 | - 101.6.6.6 33 | - 119.29.29.29 34 | - 101.226.4.6 35 | - 180.76.76.76 36 | fallback_dns: [] 37 | upstream_mode: parallel 38 | fastest_timeout: 1s 39 | allowed_clients: [] 40 | disallowed_clients: [] 41 | blocked_hosts: 42 | - version.bind 43 | - id.server 44 | - hostname.bind 45 | trusted_proxies: 46 | - 127.0.0.0/8 47 | - ::1/128 48 | cache_size: 0 49 | cache_ttl_min: 0 50 | cache_ttl_max: 0 51 | cache_optimistic: false 52 | bogus_nxdomain: [] 53 | aaaa_disabled: false 54 | enable_dnssec: false 55 | edns_client_subnet: 56 | custom_ip: "" 57 | enabled: false 58 | use_custom: false 59 | max_goroutines: 300 60 | handle_ddr: true 61 | ipset: [] 62 | ipset_file: "" 63 | bootstrap_prefer_ipv6: false 64 | upstream_timeout: 10s 65 | private_networks: [] 66 | use_private_ptr_resolvers: true 67 | local_ptr_upstreams: [] 68 | use_dns64: false 69 | dns64_prefixes: [] 70 | serve_http3: false 71 | use_http3_upstreams: false 72 | serve_plain_dns: true 73 | hostsfile_enabled: true 74 | tls: 75 | enabled: false 76 | server_name: "" 77 | force_https: false 78 | port_https: 443 79 | port_dns_over_tls: 853 80 | port_dns_over_quic: 784 81 | port_dnscrypt: 0 82 | dnscrypt_config_file: "" 83 | allow_unencrypted_doh: false 84 | certificate_chain: "" 85 | private_key: "" 86 | certificate_path: "" 87 | private_key_path: "" 88 | strict_sni_check: false 89 | querylog: 90 | dir_path: "" 91 | ignored: [] 92 | interval: 168h 93 | size_memory: 1000 94 | enabled: true 95 | file_enabled: true 96 | statistics: 97 | dir_path: "" 98 | ignored: [] 99 | interval: 2160h 100 | enabled: true 101 | filters: 102 | - enabled: true 103 | url: https://adguardteam.github.io/AdGuardSDNSFilter/Filters/filter.txt 104 | name: AdGuard DNS filter 105 | id: 1628750870 106 | - enabled: true 107 | url: https://anti-ad.net/easylist.txt 108 | name: anti-AD 109 | id: 1628750871 110 | - enabled: true 111 | url: https://easylist-downloads.adblockplus.org/easylist.txt 112 | name: EasyList 113 | id: 1677875715 114 | - enabled: true 115 | url: https://easylist-downloads.adblockplus.org/easylistchina.txt 116 | name: EasylistChina 117 | id: 1677875716 118 | - enabled: true 119 | url: https://cdn.jsdelivr.net/gh/cjx82630/cjxlist@master/cjx-annoyance.txt 120 | name: CJX'sAnnoyanceList 121 | id: 1677875717 122 | - enabled: true 123 | url: https://cdn.jsdelivr.net/gh/zsakvo/AdGuard-Custom-Rule@master/rule/zhihu-strict.txt 124 | name: 移除知乎部分广告 125 | id: 1677875718 126 | - enabled: true 127 | url: https://gist.githubusercontent.com/Ewpratten/a25ae63a7200c02c850fede2f32453cf/raw/b9318009399b99e822515d388b8458557d828c37/hosts-yt-ads 128 | name: Youtube去广告 129 | id: 1677875720 130 | - enabled: true 131 | url: https://raw.githubusercontent.com/banbendalao/ADgk/master/ADgk.txt 132 | name: ADgk 133 | id: 1677875724 134 | - enabled: true 135 | url: https://www.i-dont-care-about-cookies.eu/abp/ 136 | name: I don't care about cookies 137 | id: 1677875725 138 | - enabled: true 139 | url: https://raw.githubusercontent.com/jdlingyu/ad-wars/master/hosts 140 | name: 大圣净化 - 针对国内视频网站 141 | id: 1677875726 142 | - enabled: true 143 | url: https://raw.githubusercontent.com/Goooler/1024_hosts/master/hosts 144 | name: 1024_hosts - 1024网站和澳门皇家赌场 145 | id: 1677875727 146 | - enabled: true 147 | url: https://winhelp2002.mvps.org/hosts.txt 148 | name: Mvps - 屏蔽美欧地区英文网站相关的广告 149 | id: 1677875728 150 | whitelist_filters: 151 | - enabled: true 152 | url: https://cdn.jsdelivr.net/gh/hl2guide/Filterlist-for-AdGuard@master/filter_whitelist.txt 153 | name: hl2guideFilterlist-for-AdGuard 154 | id: 1677875733 155 | - enabled: true 156 | url: https://cdn.jsdelivr.net/gh/hg1978/AdGuard-Home-Whitelist@master/whitelist.txt 157 | name: hg1978/AdGuard-Home-Whitelist 158 | id: 1677875734 159 | - enabled: true 160 | url: https://cdn.jsdelivr.net/gh/mmotti/adguard-home-filters@master/whitelist.txt 161 | name: mmotti/adguard-home-filters 162 | id: 1677875735 163 | - enabled: true 164 | url: https://cdn.jsdelivr.net/gh/liwenjie119/adg-rules@master/white.txt 165 | name: LWJ'swhitelist 166 | id: 1677875737 167 | - enabled: true 168 | url: https://cdn.jsdelivr.net/gh/JamesDamp/AdGuard-Home---Personal-Whitelist@master/AdGuardHome-Whitelist.txt 169 | name: JamesDamp/Personal-Whitelist 170 | id: 1677875739 171 | - enabled: true 172 | url: https://cdn.jsdelivr.net/gh/scarletbane/AdGuard-Home-Whitelist@main/whitelist.txt 173 | name: scarletbane/AdGuard-Home-Whitelist 174 | id: 1677875740 175 | user_rules: [] 176 | dhcp: 177 | enabled: false 178 | interface_name: "" 179 | local_domain_name: lan 180 | dhcpv4: 181 | gateway_ip: "" 182 | subnet_mask: "" 183 | range_start: "" 184 | range_end: "" 185 | lease_duration: 86400 186 | icmp_timeout_msec: 1000 187 | options: [] 188 | dhcpv6: 189 | range_start: "" 190 | lease_duration: 86400 191 | ra_slaac_only: false 192 | ra_allow_slaac: false 193 | filtering: 194 | blocking_ipv4: "" 195 | blocking_ipv6: "" 196 | blocked_services: 197 | schedule: 198 | time_zone: UTC 199 | ids: [] 200 | protection_disabled_until: null 201 | safe_search: 202 | enabled: false 203 | bing: true 204 | duckduckgo: true 205 | google: true 206 | pixabay: true 207 | yandex: true 208 | youtube: true 209 | blocking_mode: default 210 | parental_block_host: family-block.dns.adguard.com 211 | safebrowsing_block_host: standard-block.dns.adguard.com 212 | rewrites: [] 213 | safebrowsing_cache_size: 1048576 214 | safesearch_cache_size: 1048576 215 | parental_cache_size: 1048576 216 | cache_time: 30 217 | filters_update_interval: 24 218 | blocked_response_ttl: 60 219 | filtering_enabled: true 220 | parental_enabled: false 221 | safebrowsing_enabled: false 222 | protection_enabled: true 223 | clients: 224 | runtime_sources: 225 | whois: true 226 | arp: true 227 | rdns: true 228 | dhcp: true 229 | hosts: true 230 | persistent: [] 231 | log: 232 | enabled: true 233 | file: "" 234 | max_backups: 0 235 | max_size: 100 236 | max_age: 3 237 | compress: false 238 | local_time: false 239 | verbose: false 240 | os: 241 | group: "" 242 | user: "" 243 | rlimit_nofile: 0 244 | schema_version: 28 245 | -------------------------------------------------------------------------------- /files/etc/openclash/rule_provider/DirectRule-chenmozhijin.yaml: -------------------------------------------------------------------------------- 1 | ##DirectRule by chenmozhijin 2 | ##------------------------------------- 3 | ###Direct 4 | ##------------------------------------- 5 | payload: 6 | # > 360 7 | - DOMAIN-SUFFIX,360.com 8 | - DOMAIN-SUFFIX,360kuai.com 9 | - DOMAIN-SUFFIX,360safe.com 10 | - DOMAIN-SUFFIX,360.cn 11 | - DOMAIN-SUFFIX,so.com 12 | 13 | # > apple 14 | - DOMAIN-SUFFIX,apple.com 15 | 16 | # > microsoft 17 | - DOMAIN-SUFFIX,windowsazure.com 18 | - DOMAIN-SUFFIX,login.microsoftonline.com 19 | - DOMAIN-SUFFIX,office.net 20 | # Bing 21 | - DOMAIN,cn.bing.com 22 | 23 | # > cdn 24 | - DOMAIN,origin-a.akamaihd.net 25 | - DOMAIN,blzddist1-a.akamaihd.net 26 | - DOMAIN-SUFFIX,alicdn.com 27 | - DOMAIN-SUFFIX,aliyuncs.com 28 | 29 | # > douyu 30 | - DOMAIN-SUFFIX,douyucdn.cn 31 | - DOMAIN-SUFFIX,douyucdn2.cn 32 | - DOMAIN-SUFFIX,douyu.com 33 | 34 | # > 163 35 | - DOMAIN-SUFFIX,163.com 36 | - DOMAIN-SUFFIX,126.net 37 | - DOMAIN-SUFFIX,127.net 38 | - DOMAIN-SUFFIX,163yun.com 39 | - DOMAIN-SUFFIX,netease.com 40 | - DOMAIN-SUFFIX,yeah.net 41 | 42 | # > baidu 43 | - DOMAIN-SUFFIX,baidu.com 44 | - DOMAIN-SUFFIX,baidubcr.com 45 | - DOMAIN-SUFFIX,baidupcs.com 46 | - DOMAIN-SUFFIX,baidustatic.com 47 | - DOMAIN-SUFFIX,bdstatic.com 48 | - DOMAIN-SUFFIX,bcebos.com 49 | - DOMAIN-SUFFIX,bdimg.com 50 | - DOMAIN-SUFFIX,shifen.com 51 | 52 | # > ali 53 | - DOMAIN-SUFFIX,tmall.com 54 | - DOMAIN-SUFFIX,taobao.com 55 | - DOMAIN-SUFFIX,aliapp.org 56 | - DOMAIN-SUFFIX,alibaba.com 57 | - DOMAIN-SUFFIX,aliimg.com 58 | - DOMAIN-SUFFIX,alipay.com 59 | - DOMAIN-SUFFIX,aliyun.com 60 | - DOMAIN-SUFFIX,aliyuncdn.com 61 | - DOMAIN-SUFFIX,aliyuncs.com 62 | - DOMAIN-SUFFIX,aliyundrive.com 63 | 64 | # > 51cto 65 | - DOMAIN-SUFFIX,51cto.com 66 | 67 | # > bilibili 68 | - DOMAIN-SUFFIX,bilibili.com 69 | - DOMAIN-SUFFIX,hdslb.com 70 | - DOMAIN-SUFFIX,bilivideo.com 71 | - DOMAIN-SUFFIX,biliapi.net 72 | - DOMAIN-SUFFIX,bilivideo.cn 73 | - DOMAIN-SUFFIX,b23.tv 74 | 75 | # > speedtest 76 | - DOMAIN-KEYWORD,vipspeedtest,Proxy 77 | - DOMAIN-SUFFIX,speedtest.net 78 | - DOMAIN-SUFFIX,chinamobile.com 79 | - DOMAIN-SUFFIX,ooklaserver.net 80 | 81 | # > Moegirlpedia 82 | - DOMAIN-SUFFIX,moegirl.org.cn 83 | 84 | # > weibo 85 | - DOMAIN-SUFFIX,weibo.com 86 | - DOMAIN-SUFFIX,weibo.cn 87 | - DOMAIN-SUFFIX,sina.com.cn 88 | - DOMAIN-SUFFIX,sinaimg.cn 89 | 90 | # > huya 91 | - DOMAIN-SUFFIX,huya.com 92 | - DOMAIN-SUFFIX,msstatic.com 93 | - DOMAIN-SUFFIX,livehwc3.cn 94 | 95 | # > ldtstore 96 | - DOMAIN-SUFFIX,ldtstore.com.cn 97 | 98 | # > cmzj 99 | - DOMAIN-SUFFIX,cmzj.org 100 | - DOMAIN-SUFFIX,cmzj.top 101 | 102 | # > mirrors-cn 103 | - DOMAIN,mirrors.tuna.tsinghua.edu.cn 104 | - DOMAIN,lug.ustc.edu.cn 105 | - DOMAIN,mirrors.cqu.edu.cn 106 | - DOMAIN,sci.nju.edu.cn 107 | - DOMAIN,mirrors.zju.edu.cn 108 | - DOMAIN,mirrors.sjtug.sjtu.edu.cn 109 | - DOMAIN,mirror.sjtu.edu.cn 110 | - DOMAIN,mirrors.bfsu.edu.cn 111 | - DOMAIN,mirror.bjtu.edu.cn 112 | - DOMAIN,mirrors.jlu.edu.cn 113 | - DOMAIN,mirrors.hit.edu.cn 114 | - DOMAIN,mirrors.sdu.edu.cn 115 | - DOMAIN,mirrors.sustech.edu.cn 116 | - DOMAIN,mirrors.xjtu.edu.cn 117 | - DOMAIN,mirrors.neusoft.edu.cn 118 | - DOMAIN,mirror.iscas.ac.cn 119 | - DOMAIN,mirror.lzu.edu.cn 120 | - DOMAIN,mirrors.njupt.edu.cn 121 | - DOMAIN,mirrors.nwafu.edu.cn 122 | - DOMAIN,mirror.nyist.edu.cn 123 | - DOMAIN,mirrors.pku.edu.cn 124 | - DOMAIN,mirrors.qlu.edu.cn 125 | - DOMAIN,mirrors.shanghaitech.edu.cn 126 | - DOMAIN,mirrors.uestc.cn 127 | - DOMAIN,mirrors.wsyu.edu.cn 128 | - DOMAIN-SUFFIX,hf-mirror.com 129 | 130 | # > steam-china 131 | - DOMAIN,ipv6check-http.steamserver.net 132 | - DOMAIN,ipv6check-udp.steamserver.net 133 | - DOMAIN,ipv6check-http.steamcontent.com 134 | - DOMAIN,ipv6check-udp.steamcontent.com 135 | - DOMAIN,steamcloud-ugc-hkg.oss-accelerate.aliyuncs.com 136 | - DOMAIN,dl.steam.clngaa.com 137 | - DOMAIN,cdn-ali.content.steamchina.com 138 | - DOMAIN,xz.pphimalayanrt.com 139 | - DOMAIN,lv.queniujq.cn 140 | - DOMAIN,st.dl.eccdnx.com 141 | - DOMAIN,st.dl.bscstorage.net 142 | - DOMAIN,trts.baishancdnx.cn 143 | - DOMAIN,cdn-ws.content.steamchina.com 144 | - DOMAIN,cdn-qc.content.steamchina.com 145 | - DOMAIN,store.st.dl.eccdnx.com 146 | - DOMAIN,media.st.dl.eccdnx.com 147 | - DOMAIN,avatars.st.dl.eccdnx.com 148 | - DOMAIN,cdn.steamstatic.com.8686c.com 149 | - DOMAIN,broadcast.st.dl.eccdnx.com 150 | - DOMAIN,steamcommunity-a.akamaihd.net 151 | 152 | # > epic-china 153 | - DOMAIN,epicgames-download1-1251447533.file.myqcloud.com 154 | 155 | # > ubisoft connect-china 156 | - DOMAIN,uplaypc-s-ubisoft.cdn.ubionline.com.cn 157 | 158 | # > deepseek 159 | - DOMAIN-SUFFIX,deepseek.com -------------------------------------------------------------------------------- /files/etc/openclash/rule_provider/HKMOTWRule-chenmozhijin.yaml: -------------------------------------------------------------------------------- 1 | ## Hong Kong, Macau and Taiwan Rule 2 | ##------------------------------------- 3 | ###Proxy 4 | ##------------------------------------- 5 | payload: 6 | 7 | # bahamut 8 | - DOMAIN-SUFFIX,gamer.com.tw 9 | - DOMAIN-SUFFIX,bahamut.com.tw 10 | - DOMAIN-SUFFIX,bahamut.akamaized.net 11 | 12 | # cdn 13 | - DOMAIN-SUFFIX,hinet.net 14 | - DOMAIN-SUFFIX,fbcdn.net 15 | - DOMAIN-SUFFIX,gvt1.com 16 | - DOMAIN-SUFFIX,digicert.com 17 | - DOMAIN-SUFFIX,viblast.com 18 | 19 | # hanime1 20 | - DOMAIN-SUFFIX,hanime1.me 21 | 22 | # heaven burns red 23 | - DOMAIN,heaven-burns-red-assets.akamaized.net 24 | - DOMAIN-SUFFIX,wfs.games 25 | - DOMAIN,gl-payment.gree-apps.net 26 | 27 | # HIKARI FIELD 28 | - DOMAIN,store.hikarifield.co.jp -------------------------------------------------------------------------------- /files/etc/uci-defaults/zzz-chenmozhijin-passwall: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | sleep 5 3 | [ ! -s "/etc/config/passwall" ] && sleep 5 4 | [ ! -s "/etc/config/passwall" ] && sleep 5 5 | [ ! -s "/etc/config/passwall" ] && sleep 5 6 | [ ! -s "/etc/config/passwall" ] && sleep 5 7 | [ ! -s "/etc/config/passwall" ] && sleep 5 8 | [ ! -s "/etc/config/passwall" ] && cp -f /usr/share/passwall/0_default_config /etc/config/passwall 9 | if [ "$( opkg list-installed 2>/dev/null| grep -c "^luci-app-passwall - ")" -ne '0' ];then 10 | uci set passwall.@global[0].dns_mode='dns2tcp' 11 | uci set passwall.@global[0].tcp_proxy_mode='gfwlist' 12 | if [ "$( opkg list-installed 2>/dev/null| grep -c "^luci-app-adguardhome")" -ne '0' ];then 13 | uci set passwall.@global[0].tcp_node_socks_port='1070' 14 | uci set passwall.@global[0].remote_dns='127.0.0.1:1745' 15 | fi 16 | uci set passwall.@global[0].when_chnroute_default_dns='chinadns_ng' 17 | uci set passwall.@global[0].udp_proxy_mode='chnroute' 18 | uci set passwall.@global_forwarding[0].use_nft='1' 19 | uci set passwall.@global_other[0].nodes_ping='auto_ping tcping info' 20 | uci set passwall.@global_rules[0].gfwlist_update='1' 21 | uci set passwall.@global_rules[0].auto_update='1' 22 | uci set passwall.@global_rules[0].week_update='7' 23 | uci del_list passwall.@global_rules[0].chnroute_url='https://ispip.clang.cn/all_cn_cidr.txt' 24 | uci del_list passwall.@global_rules[0].chnroute_url='https://fastly.jsdelivr.net/gh/soffchen/GeoIP2-CN@release/CN-ip-cidr.txt' 25 | uci del_list passwall.@global_rules[0].chnroute_url='https://fastly.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/CN-ip-cidr.txt' 26 | uci del_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt' 27 | uci del_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt' 28 | uci del_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/Loukky/gfwlist-by-loukky/gfwlist.txt' 29 | uci add_list passwall.@global_rules[0].chnroute_url='https://ispip.clang.cn/all_cn_cidr.txt' 30 | uci add_list passwall.@global_rules[0].chnroute_url='https://fastly.jsdelivr.net/gh/soffchen/GeoIP2-CN@release/CN-ip-cidr.txt' 31 | uci add_list passwall.@global_rules[0].chnroute_url='https://fastly.jsdelivr.net/gh/Hackl0us/GeoIP2-CN@release/CN-ip-cidr.txt' 32 | uci add_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/YW5vbnltb3Vz/domain-list-community@release/gfwlist.txt' 33 | uci add_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/gfwlist/gfwlist/gfwlist.txt' 34 | uci add_list passwall.@global_rules[0].gfwlist_url='https://fastly.jsdelivr.net/gh/Loukky/gfwlist-by-loukky/gfwlist.txt' 35 | uci set passwall.@global_rules[0].time_update='0' 36 | uci set passwall.@global_subscribe[0].filter_keyword_mode='1' 37 | uci set passwall.@global_subscribe[0].subscribe_proxy='1' 38 | uci add_list passwall.@global_subscribe[0].filter_discard_list='导航' 39 | uci set passwall.@auto_switch[0].retry_num='3' 40 | uci set passwall.@auto_switch[0].shunt_logic='1' 41 | uci set passwall.@auto_switch[0].connect_timeout='1' 42 | uci set passwall.@auto_switch[0].restore_switch='1' 43 | uci set passwall.@auto_switch[0].testing_time='1' 44 | uci set passwall.@auto_switch[0].enable='1' 45 | uci commit passwall 46 | /etc/init.d/passwall restart 47 | fi 48 | exit 0 49 | -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875718.txt: -------------------------------------------------------------------------------- 1 | ! Title: Zhihu App 广告屏蔽 2 | ! Description: 移除知乎部分广告 3 | ! Version: 1.0.1 4 | ! Expires: 7 days 5 | 6 | ! Note: AdGuard *MUST* run on VPN mode 7 | 8 | ! Target Zhihu Version 6.27.0 or Zhihu Explore 1.0.0 9 | 10 | ! ----------------------- New API Domain -------------------------- 11 | 12 | ! Block splash 13 | ||api.zhihu.com/commercial_api/launch_v2^ 14 | ||api.zhihu.com/commercial_api/real_time_launch_v2^ 15 | 16 | ! Block xj8 request 17 | |api.zhihu.com/ad-style-service/request 18 | |api.zhihu.com/fringe/ad 19 | 20 | ! Block ads below the answer 21 | ||api.zhihu.com/appview/api/v4/answers/*/recommendations*hb_answer_ad=0 22 | 23 | ! Block ads in comment 24 | ||api.zhihu.com/answers/*/comments/featured-comment-ad 25 | 26 | ! Block ads in timeline 27 | ||api.zhihu.com/moments*$replace=/\"adjson\"/\"adnull\"/s 28 | 29 | ! Block ads in recommand 30 | ||api.zhihu.com/topstory/recommend*$replace=/\"adjson\"/\"adnull\"/s 31 | 32 | ! Block ads in answers 33 | ||api.zhihu.com/v4/questions/*/answers*$replace=/\"adjson\"/\"adnull\"/s 34 | 35 | ! Block vip prompt in self-page 36 | ||api.zhihu.com/people/self$replace=/\"vip_info\"/\"null_vip\"/s 37 | 38 | ! Unblock search url 39 | @@||www.zhihu.com/api/v4/search_v3* 40 | 41 | ! Block zhihu recommends 42 | ||api.zhihu.com/topstory/recommend*$replace=/\"slot_event_card\"/\"null_card\"/s 43 | -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875720.txt: -------------------------------------------------------------------------------- 1 | 0.0.0.0 ads.doubleclick.net 2 | 0.0.0.0 s.ytimg.com 3 | 0.0.0.0 ad.youtube.com 4 | 0.0.0.0 ads.youtube.com 5 | 0.0.0.0 clients1.google.com 6 | 0.0.0.0 dts.innovid.com 7 | 0.0.0.0 googleads4.g.doubleclick.net 8 | 0.0.0.0 pagead2.googlesyndication.com 9 | 0.0.0.0 pixel.moatads.com 10 | 0.0.0.0 rtd.tubemogul.com 11 | 0.0.0.0 s.innovid.com 12 | 0.0.0.0 pubads.g.doubleclick.net 13 | 0.0.0.0 ssl.google-analytics.com 14 | 0.0.0.0 www-google-analytics.l.google.com 15 | 0.0.0.0 stats.g.doubleclick.net 16 | 0.0.0.0 clients.l.google.com 17 | 0.0.0.0 pagead.l.doubleclick.net 18 | 0.0.0.0 www-googletagmanager.l.google.com 19 | 0.0.0.0 googleadapis.l.google.com 20 | 0.0.0.0 s0.2mdn.net 21 | 0.0.0.0 googleads.g.doubleclick.net 22 | 0.0.0.0 files.adform.net 23 | 0.0.0.0 secure-ds.serving-sys.com 24 | 0.0.0.0 securepubads.g.doubleclick.net 25 | 0.0.0.0 s.youtube.com 26 | 0.0.0.0 2975c.v.fwmrm.net 27 | 0.0.0.0 static.doubleclick.net 28 | 0.0.0.0 googleadservices.com 29 | 0.0.0.0 ad-g.doubleclick.net 30 | 0.0.0.0 ad.doubleclick.net 31 | 0.0.0.0 ad.mo.doubleclick.net 32 | 0.0.0.0 doubleclick.net 33 | 0.0.0.0 pagead.googlesyndication.com 34 | 0.0.0.0 pagead1.googlesyndication.com 35 | 0.0.0.0 www.googleadservices.com 36 | 0.0.0.0 youtube-nocookie.com 37 | 0.0.0.0 www.youtube-nocookie.com 38 | 0.0.0.0 analytic-google.com 39 | 0.0.0.0 www.analytic-google.com 40 | 0.0.0.0 www.googletagservices.com 41 | 0.0.0.0 fwmrm.net 42 | 0.0.0.0 innovid.com 43 | 0.0.0.0 2mdn.net 44 | 0.0.0.0 r8.sn-4g5ednzz.googlevideo.com 45 | 0.0.0.0 r8---sn-4g5ednzz.googlevideo.com 46 | 0.0.0.0 r6.sn-4g5ednll.googlevideo.com 47 | 0.0.0.0 r6.sn-4g5edney.googlevideo.com 48 | 0.0.0.0 r6.sn-4g5ednek.googlevideo.com 49 | 0.0.0.0 r6.sn-4g5ednee.googlevideo.com 50 | 0.0.0.0 r6.sn-4g5edn7e.googlevideo.com 51 | 0.0.0.0 r6.sn-4g5e6nez.googlevideo.com 52 | 0.0.0.0 r6---sn-4g5ednll.googlevideo.com 53 | 0.0.0.0 r6---sn-4g5edney.googlevideo.com 54 | 0.0.0.0 r6---sn-4g5ednek.googlevideo.com 55 | 0.0.0.0 r6---sn-4g5ednee.googlevideo.com 56 | 0.0.0.0 r6---sn-4g5edn7e.googlevideo.com 57 | 0.0.0.0 r6---sn-4g5e6nez.googlevideo.com 58 | 0.0.0.0 r5.sn-h0jeenek.googlevideo.com 59 | 0.0.0.0 r5.sn-4g5ednzz.googlevideo.com 60 | 0.0.0.0 r5.sn-4g5ednsz.googlevideo.com 61 | 0.0.0.0 r5.sn-4g5ednsy.googlevideo.com 62 | 0.0.0.0 r5.sn-4g5ednsr.googlevideo.com 63 | 0.0.0.0 r5.sn-4g5ednsl.googlevideo.com 64 | 0.0.0.0 r5.sn-4g5ednsd.googlevideo.com 65 | 0.0.0.0 r5.sn-4g5edns6.googlevideo.com 66 | 0.0.0.0 r5.sn-4g5ednly.googlevideo.com 67 | 0.0.0.0 r5.sn-4g5edn7s.googlevideo.com 68 | 0.0.0.0 r5.sn-4g5e6nzl.googlevideo.com 69 | 0.0.0.0 r5.sn-4g5e6nze.googlevideo.com 70 | 0.0.0.0 r5.sn-4g5e6nz7.googlevideo.com 71 | 0.0.0.0 r5.sn-4g5e6nsz.googlevideo.com 72 | 0.0.0.0 r5.sn-4g5e6nsy.googlevideo.com 73 | 0.0.0.0 r5.sn-4g5e6nss.googlevideo.com 74 | 0.0.0.0 r5.sn-4g5e6nsk.googlevideo.com 75 | 0.0.0.0 r5.sn-4g5e6ns7.googlevideo.com 76 | 0.0.0.0 r5.sn-4g5e6ns6.googlevideo.com 77 | 0.0.0.0 r5.sn-4g5e6nls.googlevideo.com 78 | 0.0.0.0 r5.sn-4g5e6ney.googlevideo.com 79 | 0.0.0.0 r5.sn-4g5e6n7r.googlevideo.com 80 | 0.0.0.0 r5.sn-4g5e6n7k.googlevideo.com 81 | 0.0.0.0 r5---sn-h0jeenek.googlevideo.com 82 | 0.0.0.0 r5---sn-4g5ednzz.googlevideo.com 83 | 0.0.0.0 r5---sn-4g5ednsz.googlevideo.com 84 | 0.0.0.0 r5---sn-4g5ednsy.googlevideo.com 85 | 0.0.0.0 r5---sn-4g5ednsr.googlevideo.com 86 | 0.0.0.0 r5---sn-4g5ednsl.googlevideo.com 87 | 0.0.0.0 r5---sn-4g5ednsd.googlevideo.com 88 | 0.0.0.0 r5---sn-4g5edns6.googlevideo.com 89 | 0.0.0.0 r5---sn-4g5ednly.googlevideo.com 90 | 0.0.0.0 r5---sn-4g5edn7s.googlevideo.com 91 | 0.0.0.0 r5---sn-4g5e6nzl.googlevideo.com 92 | 0.0.0.0 r5---sn-4g5e6nze.googlevideo.com 93 | 0.0.0.0 r5---sn-4g5e6nz7.googlevideo.com 94 | 0.0.0.0 r5---sn-4g5e6nsz.googlevideo.com 95 | 0.0.0.0 r5---sn-4g5e6nsy.googlevideo.com 96 | 0.0.0.0 r5---sn-4g5e6nss.googlevideo.com 97 | 0.0.0.0 r5---sn-4g5e6nsk.googlevideo.com 98 | 0.0.0.0 r5---sn-4g5e6ns7.googlevideo.com 99 | 0.0.0.0 r5---sn-4g5e6ns6.googlevideo.com 100 | 0.0.0.0 r5---sn-4g5e6nls.googlevideo.com 101 | 0.0.0.0 r5---sn-4g5e6ney.googlevideo.com 102 | 0.0.0.0 r5---sn-4g5e6n7r.googlevideo.com 103 | 0.0.0.0 r5---sn-4g5e6n7k.googlevideo.com 104 | 0.0.0.0 r4.sn-4g5ednz7.googlevideo.com 105 | 0.0.0.0 r4.sn-4g5ednsy.googlevideo.com 106 | 0.0.0.0 r4.sn-4g5ednsk.googlevideo.com 107 | 0.0.0.0 r4.sn-4g5ednsd.googlevideo.com 108 | 0.0.0.0 r4---sn-4g5ednz7.googlevideo.com 109 | 0.0.0.0 r4---sn-4g5ednsy.googlevideo.com 110 | 0.0.0.0 r4---sn-4g5ednsk.googlevideo.com 111 | 0.0.0.0 r4---sn-4g5ednsd.googlevideo.com 112 | 0.0.0.0 r3.sn-4g5ednz7.googlevideo.com 113 | 0.0.0.0 r3.sn-4g5ednss.googlevideo.com 114 | 0.0.0.0 r3.sn-4g5ednsd.googlevideo.com 115 | 0.0.0.0 r3.sn-4g5ednls.googlevideo.com 116 | 0.0.0.0 r3.sn-4g5ednll.googlevideo.com 117 | 0.0.0.0 r3.sn-4g5ednee.googlevideo.com 118 | 0.0.0.0 r3.sn-4g5edned.googlevideo.com 119 | 0.0.0.0 r3.sn-4g5edne7.googlevideo.com 120 | 0.0.0.0 r3.sn-4g5edne6.googlevideo.com 121 | 0.0.0.0 r3.sn-4g5e6nzz.googlevideo.com 122 | 0.0.0.0 r3.sn-4g5e6nzs.googlevideo.com 123 | 0.0.0.0 r3.sn-4g5e6nsz.googlevideo.com 124 | 0.0.0.0 r3.sn-4g5e6nsy.googlevideo.com 125 | 0.0.0.0 r3.sn-4g5e6nsk.googlevideo.com 126 | 0.0.0.0 r3.sn-4g5e6nle.googlevideo.com 127 | 0.0.0.0 r3.sn-4g5e6nld.googlevideo.com 128 | 0.0.0.0 r3---sn-4g5ednz7.googlevideo.com 129 | 0.0.0.0 r3---sn-4g5ednss.googlevideo.com 130 | 0.0.0.0 r3---sn-4g5ednsd.googlevideo.com 131 | 0.0.0.0 r3---sn-4g5ednls.googlevideo.com 132 | 0.0.0.0 r3---sn-4g5ednll.googlevideo.com 133 | 0.0.0.0 r3---sn-4g5ednee.googlevideo.com 134 | 0.0.0.0 r3---sn-4g5edned.googlevideo.com 135 | 0.0.0.0 r3---sn-4g5edne7.googlevideo.com 136 | 0.0.0.0 r3---sn-4g5edne6.googlevideo.com 137 | 0.0.0.0 r3---sn-4g5e6nzz.googlevideo.com 138 | 0.0.0.0 r3---sn-4g5e6nzs.googlevideo.com 139 | 0.0.0.0 r3---sn-4g5e6nsz.googlevideo.com 140 | 0.0.0.0 r3---sn-4g5e6nsy.googlevideo.com 141 | 0.0.0.0 r3---sn-4g5e6nsk.googlevideo.com 142 | 0.0.0.0 r3---sn-4g5e6nle.googlevideo.com 143 | 0.0.0.0 r3---sn-4g5e6nld.googlevideo.com 144 | 0.0.0.0 r2.sn-hp57kn6e.googlevideo.com 145 | 0.0.0.0 r2.sn-h0jeln7e.googlevideo.com 146 | 0.0.0.0 r2.sn-h0jeener.googlevideo.com 147 | 0.0.0.0 r2.sn-h0jeen76.googlevideo.com 148 | 0.0.0.0 r2.sn-4g5ednzz.googlevideo.com 149 | 0.0.0.0 r2.sn-4g5ednly.googlevideo.com 150 | 0.0.0.0 r2.sn-4g5ednls.googlevideo.com 151 | 0.0.0.0 r2.sn-4g5ednle.googlevideo.com 152 | 0.0.0.0 r2.sn-4g5ednee.googlevideo.com 153 | 0.0.0.0 r2.sn-4g5edned.googlevideo.com 154 | 0.0.0.0 r2.sn-4g5edn7y.googlevideo.com 155 | 0.0.0.0 r2.sn-4g5e6nsz.googlevideo.com 156 | 0.0.0.0 r2.sn-4g5e6nsy.googlevideo.com 157 | 0.0.0.0 r2.sn-4g5e6nsk.googlevideo.com 158 | 0.0.0.0 r2.sn-4g5e6ns6.googlevideo.com 159 | 0.0.0.0 r2.sn-4g5e6nl7.googlevideo.com 160 | 0.0.0.0 r2.sn-4g5e6ney.googlevideo.com 161 | 0.0.0.0 r2---sn-hp57kn6e.googlevideo.com 162 | 0.0.0.0 r2---sn-h0jeln7e.googlevideo.com 163 | 0.0.0.0 r2---sn-h0jeener.googlevideo.com 164 | 0.0.0.0 r2---sn-h0jeen76.googlevideo.com 165 | 0.0.0.0 r2---sn-4g5ednzz.googlevideo.com 166 | 0.0.0.0 r2---sn-4g5ednse.googlevideo.com 167 | 0.0.0.0 r2---sn-4g5ednly.googlevideo.com 168 | 0.0.0.0 r2---sn-4g5ednls.googlevideo.com 169 | 0.0.0.0 r2---sn-4g5ednle.googlevideo.com 170 | 0.0.0.0 r2---sn-4g5ednee.googlevideo.com 171 | 0.0.0.0 r2---sn-4g5edned.googlevideo.com 172 | 0.0.0.0 r2---sn-4g5edn7y.googlevideo.com 173 | 0.0.0.0 r2---sn-4g5e6nsz.googlevideo.com 174 | 0.0.0.0 r2---sn-4g5e6nsy.googlevideo.com 175 | 0.0.0.0 r2---sn-4g5e6nsk.googlevideo.com 176 | 0.0.0.0 r2---sn-4g5e6ns6.googlevideo.com 177 | 0.0.0.0 r2---sn-4g5e6nl7.googlevideo.com 178 | 0.0.0.0 r2---sn-4g5e6ney.googlevideo.com 179 | 0.0.0.0 r15.sn-4g5ednzz.googlevideo.com 180 | 0.0.0.0 r15---sn-4g5ednzz.googlevideo.com 181 | 0.0.0.0 r11.sn-4g5ednzz.googlevideo.com 182 | 0.0.0.0 r11---sn-4g5ednzz.googlevideo.com 183 | 0.0.0.0 r10.sn-4g5ednzz.googlevideo.com 184 | 0.0.0.0 r10---sn-4g5ednzz.googlevideo.com 185 | 0.0.0.0 r1.sn-h0jeln7e.googlevideo.com 186 | 0.0.0.0 r1.sn-h0jeened.googlevideo.com 187 | 0.0.0.0 r1.sn-h0jeen76.googlevideo.com 188 | 0.0.0.0 r1.sn-4g5ednsd.googlevideo.com 189 | 0.0.0.0 r1.sn-4g5ednly.googlevideo.com 190 | 0.0.0.0 r1.sn-4g5ednll.googlevideo.com 191 | 0.0.0.0 r1.sn-4g5edne6.googlevideo.com 192 | 0.0.0.0 r1.sn-4g5e6nzz.googlevideo.com 193 | 0.0.0.0 r1.sn-4g5e6nz7.googlevideo.com 194 | 0.0.0.0 r1.sn-4g5e6nsy.googlevideo.com 195 | 0.0.0.0 r1.sn-4g5e6nez.googlevideo.com 196 | 0.0.0.0 r1---sn-h0jeln7e.googlevideo.com 197 | 0.0.0.0 r1---sn-h0jeened.googlevideo.com 198 | 0.0.0.0 r1---sn-h0jeen76.googlevideo.com 199 | 0.0.0.0 r1---sn-4g5ednsd.googlevideo.com 200 | 0.0.0.0 r1---sn-4g5ednly.googlevideo.com 201 | 0.0.0.0 r1---sn-4g5ednll.googlevideo.com 202 | 0.0.0.0 r1---sn-4g5edne6.googlevideo.com 203 | 0.0.0.0 r1---sn-4g5e6nzz.googlevideo.com 204 | 0.0.0.0 r1---sn-4g5e6nz7.googlevideo.com 205 | 0.0.0.0 r1---sn-4g5e6nsy.googlevideo.com 206 | 0.0.0.0 r1---sn-4g5e6ns7.googlevideo.com 207 | 0.0.0.0 r1---sn-4g5e6nez.googlevideo.com 208 | 0.0.0.0 manifest.googlevideo.com 209 | 0.0.0.0 r8.sn-n02xgoxufvg3-2gbs.googlevideo.com 210 | 0.0.0.0 r8---sn-n02xgoxufvg3-2gbs.googlevideo.com 211 | 0.0.0.0 r6.sn-4g5edne7.googlevideo.com 212 | 0.0.0.0 r6---sn-4g5edne7.googlevideo.com 213 | 0.0.0.0 r5.sn-hp57yn7y.googlevideo.com 214 | 0.0.0.0 r5---sn-hp57yn7y.googlevideo.com 215 | 0.0.0.0 r4.sn-h0jeln7l.googlevideo.com 216 | 0.0.0.0 r4.sn-h0jeln7e.googlevideo.com 217 | 0.0.0.0 r4.sn-h0jeened.googlevideo.com 218 | 0.0.0.0 r4.sn-4g5ednzz.googlevideo.com 219 | 0.0.0.0 r4.sn-4g5edns7.googlevideo.com 220 | 0.0.0.0 r4.sn-4g5ednly.googlevideo.com 221 | 0.0.0.0 r4.sn-4g5ednld.googlevideo.com 222 | 0.0.0.0 r4.sn-4g5edney.googlevideo.com 223 | 0.0.0.0 r4.sn-4g5e6nzs.googlevideo.com 224 | 0.0.0.0 r4.sn-4g5e6ns6.googlevideo.com 225 | 0.0.0.0 r4.sn-4g5e6nez.googlevideo.com 226 | 0.0.0.0 r4---sn-h0jeln7l.googlevideo.com 227 | 0.0.0.0 r4---sn-h0jeln7e.googlevideo.com 228 | 0.0.0.0 r4---sn-h0jeened.googlevideo.com 229 | 0.0.0.0 r4---sn-4g5ednzz.googlevideo.com 230 | 0.0.0.0 r4---sn-4g5edns7.googlevideo.com 231 | 0.0.0.0 r4---sn-4g5ednly.googlevideo.com 232 | 0.0.0.0 r4---sn-4g5ednld.googlevideo.com 233 | 0.0.0.0 r4---sn-4g5edney.googlevideo.com 234 | 0.0.0.0 r4---sn-4g5e6nzs.googlevideo.com 235 | 0.0.0.0 r4---sn-4g5e6ns6.googlevideo.com 236 | 0.0.0.0 r4---sn-4g5e6nez.googlevideo.com 237 | 0.0.0.0 r3.sn-4g5ednzz.googlevideo.com 238 | 0.0.0.0 r3.sn-4g5ednsz.googlevideo.com 239 | 0.0.0.0 r3.sn-4g5edns6.googlevideo.com 240 | 0.0.0.0 r3.sn-4g5ednld.googlevideo.com 241 | 0.0.0.0 r3.sn-4g5e6nsr.googlevideo.com 242 | 0.0.0.0 r3.sn-4g5e6nl7.googlevideo.com 243 | 0.0.0.0 r3---sn-4g5ednzz.googlevideo.com 244 | 0.0.0.0 r3---sn-4g5ednsz.googlevideo.com 245 | 0.0.0.0 r3---sn-4g5edns6.googlevideo.com 246 | 0.0.0.0 r3---sn-4g5ednld.googlevideo.com 247 | 0.0.0.0 r3---sn-4g5e6nsr.googlevideo.com 248 | 0.0.0.0 r3---sn-4g5e6nl7.googlevideo.com 249 | 0.0.0.0 r2.sn-4g5ednse.googlevideo.com 250 | 0.0.0.0 r2.sn-4g5ednld.googlevideo.com 251 | 0.0.0.0 r2.sn-4g5e6nzl.googlevideo.com 252 | 0.0.0.0 r2.sn-4g5e6nez.googlevideo.com 253 | 0.0.0.0 r2---sn-4g5ednld.googlevideo.com 254 | 0.0.0.0 r2---sn-4g5e6nzl.googlevideo.com 255 | 0.0.0.0 r2---sn-4g5e6nez.googlevideo.com 256 | 0.0.0.0 r1.sn-4g5ednsr.googlevideo.com 257 | 0.0.0.0 r1.sn-4g5ednsl.googlevideo.com 258 | 0.0.0.0 r1.sn-4g5ednse.googlevideo.com 259 | 0.0.0.0 r1.sn-4g5edned.googlevideo.com 260 | 0.0.0.0 r1.sn-4g5e6ns7.googlevideo.com 261 | 0.0.0.0 r1.sn-4g5e6ns6.googlevideo.com 262 | 0.0.0.0 r1.sn-4g5e6nl6.googlevideo.com 263 | 0.0.0.0 r1.sn-4g5e6ne6.googlevideo.com 264 | 0.0.0.0 r1---sn-4g5ednsr.googlevideo.com 265 | 0.0.0.0 r1---sn-4g5ednsl.googlevideo.com 266 | 0.0.0.0 r1---sn-4g5ednse.googlevideo.com 267 | 0.0.0.0 r1---sn-4g5edned.googlevideo.com 268 | 0.0.0.0 r1---sn-4g5e6ns6.googlevideo.com 269 | 0.0.0.0 r1---sn-4g5e6nl6.googlevideo.com 270 | 0.0.0.0 r1---sn-4g5e6ne6.googlevideo.com -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875734.txt: -------------------------------------------------------------------------------- 1 | @@||dns.adguard.com^$important 2 | @@||dns-family.adguard.com^$important 3 | @@||cdninstagram.com^$important 4 | @@||instagram.com^$important 5 | @@||instagram.c10r.facebook.com^$important 6 | @@||f1-prod-production.apigee.net^$important 7 | @@||f1-prod-production.dn.apigee.net^$important 8 | @@||formula1.com^$important 9 | @@||yospace.com^$important 10 | @@||heartbeats.prd.data.s.joyn.de^$important 11 | @@||ad-client.mediafe-prd.s.joyn.de^$important 12 | @@||0.client-channel.google.com^$important 13 | @@||2.android.pool.ntp.org^$important 14 | @@||android.clients.google.com^$important 15 | @@||clients1.google.com^$important 16 | @@||clients2.google.com^$important 17 | @@||clients3.google.com^$important 18 | @@||clients4.google.com^$important 19 | @@||clients5.google.com^$important 20 | @@||clients6.google.com^$important 21 | @@||cse.google.com^$important 22 | @@||googleapis.com^$important 23 | @@||gstatic.com^$important 24 | @@||manifest.googlevideo.com^$important 25 | @@||redirector.googlevideo.com^$important 26 | @@||video-stats.l.google.com^$important 27 | @@||geo3.ggpht.com^$important 28 | @@||yt3.ggpht.com^$important 29 | @@||s.youtube.com^$important 30 | @@||s2.youtube.com^$important 31 | @@||youtu.be^$important 32 | @@||youtube-nocookie.com^$important 33 | @@||i.ytimg.com^$important 34 | @@||i1.ytimg.com^$important 35 | @@||s.ytimg.com^$important 36 | @@||app.plex.tv^$important 37 | @@||cpms.spop10.ams.plex.bz^$important 38 | @@||cpms35.spop10.ams.plex.bz^$important 39 | @@||dashboard.plex.tv^$important 40 | @@||meta-db-worker02.pop.ric.plex.bz^$important 41 | @@||meta.plex.bz^$important 42 | @@||meta.plex.tv^$important 43 | @@||my.plexapp.com^$important 44 | @@||nine.plugins.plexapp.com^$important 45 | @@||node.plexapp.com^$important 46 | @@||o1.email.plex.tv^$important 47 | @@||o2.sg0.plex.tv^$important 48 | @@||proxy.plex.bz^$important 49 | @@||proxy.plex.tv^$important 50 | @@||proxy02.pop.ord.plex.bz^$important 51 | @@||pubsub.plex.bz^$important 52 | @@||pubsub.plex.tv^$important 53 | @@||staging.plex.tv^$important 54 | @@||status.plex.tv^$important 55 | @@||tvdb2.plex.tv^$important 56 | @@||tvthemes.plexapp.com^$important 57 | @@||github.com^$important 58 | @@||github.io^$important 59 | @@||raw.githubusercontent.com^$important 60 | @@||cdn.cloudflare.net^$important 61 | @@||cdnjs.cloudflare.com^$important 62 | @@||dl.dropbox.com^$important 63 | @@||dl.dropboxusercontent.com^$important 64 | @@||ns1.dropbox.com^$important 65 | @@||ns2.dropbox.com^$important 66 | @@||no-ip.com^$important 67 | @@||twimg.com^$important 68 | @@||twitter.com^$important 69 | @@||t.co^$important 70 | @@||cdn.optimizely.com^$important 71 | @@||cdn2.optimizely.com^$important 72 | @@||cdn3.optimizely.com^$important 73 | @@||akamaihd.net^$important 74 | @@||akamaitechnologies.com^$important 75 | @@||akamaized.net^$important 76 | @@||widget-cdn.rpxnow.com^$important 77 | @@||akamai.net^$important 78 | @@||akadns.net^$important 79 | @@||apt.sonarr.tv^$important 80 | @@||download.sonarr.tv^$important 81 | @@||forums.sonarr.tv^$important 82 | @@||services.sonarr.tv^$important 83 | @@||skyhook.sonarr.tv^$important 84 | @@||api.ipify.org^$important 85 | @@||api.rlje.net^$important 86 | @@||bufferapp.com^$important 87 | @@||cdn.embedly.com^$important 88 | @@||dataplicity.com^$important 89 | @@||drift.com^$important 90 | @@||driftt.com^$important 91 | @@||giphy.com^$important 92 | @@||gravatar.com^$important 93 | @@||hls.ted.com^$important 94 | @@||app-api.ted.com^$important 95 | @@||tedcdn.com^$important 96 | @@||img.vidible.tv^$important 97 | @@||cdn.vidible.tv^$important 98 | @@||delivery.vidible.tv^$important 99 | @@||videos.vidible.tv^$important 100 | @@||imgix.net^$important 101 | @@||imgs.xkcd.com^$important 102 | @@||j.mp^$important 103 | @@||jquery.com^$important 104 | @@||jsdelivr.net^$important 105 | @@||keystone.mwbsys.com^$important 106 | @@||login.aliexpress.com^$important 107 | @@||npr-news.streaming.adswizz.com^$important 108 | @@||cbsi.com^$important 109 | @@||cbsinteractive.hb.omtrdc.net^$important 110 | @@||s0.2mdn.net^$important 111 | @@||ws.audioscrobbler.com^$important 112 | @@||pinterest.com^$important 113 | @@||placehold.it^$important 114 | @@||placeholdit.imgix.net^$important 115 | @@||brightcove.net^$important 116 | @@||secure.brightcove.com^$important 117 | @@||edge.api.brightcove.com^$important 118 | @@||res.cloudinary.com^$important 119 | @@||v.shopify.com^$important 120 | @@||s.shopify.com^$important 121 | @@||wp.com^$important 122 | @@||wordpress.com^$important 123 | @@||secure.avangate.com^$important 124 | @@||secure.surveymonkey.com^$important 125 | @@||ssl.p.jwpcdn.com^$important 126 | @@||tawk.to^$important 127 | @@||themoviedb.com^$important 128 | @@||thetvdb.com^$important 129 | @@||tinyurl.com^$important 130 | @@||traffic.libsyn.com^$important 131 | @@||wikipedia.org^$important 132 | @@||xbox.ipv6.microsoft.com^$important 133 | @@||xboxexperiencesprod.experimentation.xboxlive.com^$important 134 | @@||xflight.xboxlive.com^$important 135 | @@||xkms.xboxlive.com^$important 136 | @@||xsts.auth.xboxlive.com^$important 137 | @@||ui.skype.com^$important 138 | @@||title.auth.xboxlive.com^$important 139 | @@||title.mgt.xboxlive.com^$important 140 | @@||t0.ssl.ak.dynamic.tiles.virtualearth.net^$important 141 | @@||t0.ssl.ak.tiles.virtualearth.net^$important 142 | @@||win10.ipv6.microsoft.com^$important 143 | @@||sharepoint.com^$important 144 | @@||pricelist.skype.com^$important 145 | @@||office.com^$important 146 | @@||office.net^$important 147 | @@||office365.com^$important 148 | @@||officeclient.microsoft.com^$important 149 | @@||notify.xboxlive.com^$important 150 | @@||nexusrules.officeapps.live.com^$important 151 | @@||microsoftonline.com^$important 152 | @@||licensing.xboxlive.com^$important 153 | @@||live.com^$important 154 | @@||msftncsi.com^$important 155 | @@||i.s-microsoft.com^$important 156 | @@||help.ui.xboxlive.com^$important 157 | @@||c.s-microsoft.com^$important 158 | @@||apps.skype.com^$important 159 | @@||attestation.xboxlive.com^$important 160 | @@||cert.mgt.xboxlive.com^$important 161 | @@||clientconfig.passport.net^$important 162 | @@||ctldl.windowsupdate.com^$important 163 | @@||dev.virtualearth.net^$important 164 | @@||device.auth.xboxlive.com^$important 165 | @@||ecn.dev.virtualearth.net^$important 166 | @@||def-vef.xboxlive.com^$important 167 | @@||eds.xboxlive.com^$important 168 | @@||geo-prod.do.dsp.mp.microsoft.com^$important 169 | @@||displaycatalog.mp.microsoft.com^$important 170 | @@||dl.delivery.mp.microsoft.com^$important 171 | @@||1drv.com^$important 172 | @@||aspnetcdn.com^$important 173 | @@||api-global.netflix.com^$important 174 | @@||ichnaea.netflix.com^$important 175 | @@||appboot.netflix.com^$important 176 | @@||secure.netflix.com^$important 177 | @@||cdn.samsungcloudsolution.com^$important 178 | @@||open.spotify.com^$important 179 | @@||mobile-ap.spotify.com^$important 180 | @@||apresolve.spotify.com^$important 181 | @@||upgrade.scdn.com^$important 182 | @@||market.spotify.com^$important 183 | @@||spclient.wg.spotify.com^$important 184 | @@||ap.spotify.com^$important 185 | @@||audio-ake.spotify.com.edgesuite.net^$important 186 | @@||audio4-ak.spotify.com.edgesuite.net^$important 187 | @@||msmetrics.ws.sonos.com^$important 188 | @@||eu.api.amazonvideo.com^$important 189 | @@||device-metrics-us.amazon.com^$important 190 | @@||fls-eu.amazon.com^$important 191 | @@||fls-na.amazon.com^$important 192 | @@||cloudfront.net^$important 193 | @@||device-metrics-us-2.amazon.com^$important 194 | @@||images-amazon.com^$important 195 | @@||amazonaws.com^$important 196 | @@||gdmf.apple.com.akadns.net^$important 197 | @@||itunes.com^$important 198 | @@||mzstatic.com^$important 199 | @@||iphone-ld.origin-apple.com.akadns.net^$important 200 | @@||ax.phobos.apple.com.edgesuite.net^$important 201 | @@||init-p01md-lb.push-apple.com.akadns.net^$important 202 | @@||uts-api-cdn.itunes-apple.com.akadns.net^$important 203 | @@||np-edge-cdn.itunes-apple.com.akadns.net^$important 204 | @@||iadsdk.apple.com.akadns.net^$important 205 | @@||play.itunes.apple.com.edgesuite.net^$important 206 | @@||worldweather.wmo.int^$important 207 | @@||yr.no^$important 208 | @@||letsencrypt.org^$important 209 | @@||sni.cdn.www.spiegel.de.c.footprint.net^$important 210 | @@||spiegel.de^$important 211 | @@||manager-magazin-de.manager-magazin.de^$important 212 | @@||cdn1.manager-magazin.de^$important 213 | @@||sni.cdn.manager-magazin.de.c.footprint.net^$important 214 | @@||a.manager-magazin.de^$important 215 | @@||cdn.registerdisney.go.com^$important 216 | @@||dssott.com^$important 217 | @@||disneyplus.com^$important 218 | @@||disney-plus.net^$important 219 | @@||cws.conviva.com^$important 220 | @@||disneyplus.bn5x.net^$important 221 | @@||disney-portal.my.onetrust.com^$important 222 | @@||bamgrid.com^$important 223 | @@||disneyplus.com.ssl.sc.omtrdc.net^$important 224 | @@||cws-sjc2.conviva.com^$important 225 | @@||cws-iad1.conviva.com^$important 226 | @@||vod-l3c-eu-north-2.media.dssott.com.c.footprint.net^$important 227 | @@||disney.demdex.net^$important 228 | @@||codemasters.helpshift.com^$important 229 | @@||f1mrs.codemasters.com^$important 230 | @@||cdp.cloud.unity3d.com^$important 231 | @@||di-wuhqj6gc.leasewebultracdn.com^$important 232 | @@||config.uca.cloud.unity3d.com^$important 233 | @@||ecommerce.iap.unity3d.com^$important 234 | @@||dyndns.variomedia.de^$important 235 | @@||image.ard.de^$important 236 | @@||image-ard-de-cddc.at-o.net^$important 237 | @@||daserste.de^$important 238 | @@||corona-datenspende.de^$important 239 | @@||datenspende.und-gesund.de^$important 240 | @@||detectportal.firefox.com^$important 241 | @@||svc90.main.px.t-online.de^$important 242 | @@||fe-lb.tranquilli.org^$important 243 | @@||reddit.com^$important 244 | @@||whatsapp.net^$important 245 | @@||whatsapp.com^$important 246 | @@||sp-ad-fa.audio.tidal.com^$important 247 | @@||vb-ad-fa.video.tidal.com^$important 248 | @@||piano.io^$important 249 | @@||dpm.demdex.net^$important 250 | @@||identity.mparticle.com^$important 251 | @@||business.meteologix.com^$important 252 | @@||.capital^$important 253 | @@||de.scalable.capital^$important 254 | @@||secure.scalable.capital^$important 255 | -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875735.txt: -------------------------------------------------------------------------------- 1 | ! Title: MMotti AdguardHome - whitelist.txt 2 | ! Description: Whitelist to resolve false positives introduced by filters.txt 3 | ! 4 | ! ⠐⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠂ 5 | ! ⠄⠄⣰⣾⣿⣿⣿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣆⠄⠄ 6 | ! ⠄⠄⣿⣿⣿⡿⠋⠄⡀⣿⣿⣿⣿⣿⣿⣿⣿⠿⠛⠋⣉⣉⣉⡉⠙⠻⣿⣿⠄⠄ 7 | ! ⠄⠄⣿⣿⣿⣇⠔⠈⣿⣿⣿⣿⣿⡿⠛⢉⣤⣶⣾⣿⣿⣿⣿⣿⣿⣦⡀⠹⠄⠄ 8 | ! ⠄⠄⣿⣿⠃⠄⢠⣾⣿⣿⣿⠟⢁⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡄⠄⠄ 9 | ! ⠄⠄⣿⣿⣿⣿⣿⣿⣿⠟⢁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠄⠄ 10 | ! ⠄⠄⣿⣿⣿⣿⣿⡟⠁⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄ 11 | ! ⠄⠄⣿⣿⣿⣿⠋⢠⣾⣿⣿⣿⣿⣿⣿⡿⠿⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄ 12 | ! ⠄⠄⣿⣿⡿⠁⣰⣿⣿⣿⣿⣿⣿⣿⣿⠗⠄⠄⠄⠄⣿⣿⣿⣿⣿⣿⣿⡟⠄⠄ 13 | ! ⠄⠄⣿⡿⠁⣼⣿⣿⣿⣿⣿⣿⡿⠋⠄⠄⠄⣠⣄⢰⣿⣿⣿⣿⣿⣿⣿⠃⠄⠄ 14 | ! ⠄⠄⡿⠁⣼⣿⣿⣿⣿⣿⣿⣿⡇⠄⢀⡴⠚⢿⣿⣿⣿⣿⣿⣿⣿⣿⡏⢠⠄⠄ 15 | ! ⠄⠄⠃⢰⣿⣿⣿⣿⣿⣿⡿⣿⣿⠴⠋⠄⠄⢸⣿⣿⣿⣿⣿⣿⣿⡟⢀⣾⠄⠄ 16 | ! ⠄⠄⢀⣿⣿⣿⣿⣿⣿⣿⠃⠈⠁⠄⠄⢀⣴⣿⣿⣿⣿⣿⣿⣿⡟⢀⣾⣿⠄⠄ 17 | ! ⠄⠄⢸⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⠄⢶⣿⣿⣿⣿⣿⣿⣿⣿⠏⢀⣾⣿⣿⠄⠄ 18 | ! ⠄⠄⣿⣿⣿⣿⣿⣿⣿⣷⣶⣶⣶⣶⣶⣿⣿⣿⣿⣿⣿⣿⠋⣠⣿⣿⣿⣿⠄⠄ 19 | ! ⠄⠄⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢁⣼⣿⣿⣿⣿⣿⠄⠄ 20 | ! ⠄⠄⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⢁⣴⣿⣿⣿⣿⣿⣿⣿⠄⠄ 21 | ! ⠄⠄⠈⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⢁⣴⣿⣿⣿⣿⠗⠄⠄⣿⣿⠄⠄ 22 | ! ⠄⠄⣆⠈⠻⢿⣿⣿⣿⣿⣿⣿⠿⠛⣉⣤⣾⣿⣿⣿⣿⣿⣇⠠⠺⣷⣿⣿⠄⠄ 23 | ! ⠄⠄⣿⣿⣦⣄⣈⣉⣉⣉⣡⣤⣶⣿⣿⣿⣿⣿⣿⣿⣿⠉⠁⣀⣼⣿⣿⣿⠄⠄ 24 | ! ⠄⠄⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣾⣿⣿⡿⠟⠄⠄ 25 | ! ⠠⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄ 26 | ! 27 | @@||clouds.archive.ubuntu.com^ 28 | @@||gumtree.com^ 29 | @@||here.com^ 30 | @@||ideas.purevpn.com^ 31 | @@||intercomcdn.com^ 32 | @@||intercom.io^ 33 | @@||nanorep.com^ 34 | @@||neo4j.com^ 35 | @@||tags.tiqcdn.com^ 36 | -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875737.txt: -------------------------------------------------------------------------------- 1 | ! Title: LWJ's white list 2 | ! Last modified: 2024-03-11 14:15 3 | ! 4 | !短链接 5 | @@goo.gl 6 | @@bit.ly 7 | @@sh.st 8 | @@t.cn 9 | @@url.cn 10 | @@||suo.im^$important 11 | @@||t.cn^$important 12 | @@||t.co^$important 13 | @@||t.me^$important 14 | ! 15 | !google系 16 | @@||facebook.com^$important 17 | @@||m.youtube.com^$important 18 | @@||www.google.com^$important 19 | @@||connectivitycheck.gstatic.com^$important 20 | @@||www.youtube.com^$important 21 | @@||youtu.be^$important 22 | @@||youtubei.googleapis.com^$important 23 | @@||apis.google.com 24 | @@||clients.l.google.com 25 | @@||clients1.google.com 26 | @@||gstatic.com 27 | @@||manifest.googlevideo.com 28 | @@||i.ytimg.com 29 | @@||www.gstatic.com 30 | @@||www.youtube-nocookie.com 31 | @@||youtube-nocookie.com 32 | @@||r4---sn-qxo7rn7e.googlevideo.com^$important 33 | @@||r5---sn-4g5ednsl.googlevideo.com^$important 34 | @@||r4---sn-a5meknek.googlevideo.com^$important 35 | @@||xn--ngstr-lra8j.com^$important 36 | @@||r3---sn-a5mlrn7r.googlevideo.com^$important 37 | @@||gvt1.com^$important 38 | ! 39 | !小米系 40 | @@m.video.xiaomi.com 41 | @@||api.account.xiaomi.com^$important 42 | @@||api.comm.miui.com^$important 43 | @@||api.device.xiaomi.net^$important 44 | @@||api.jr.mi.com^$important 45 | @@||api.micloud.xiaomi.net^$important 46 | @@||api.miui.security.xiaomi.com^$important 47 | @@||api.sec.miui.com^$important 48 | @@||api.video.xiaomi.com^$important 49 | @@||app.market.xiaomi.com^$important 50 | @@||appcloud.zhihu.com^$important 51 | @@||appmsg.gzmtr.cn^$important 52 | @@||at.umeng.com^$important 53 | @@||bigota.d.miui.com^$important 54 | @@||data.mistat.intl.xiaomi.com^$important 55 | @@||f8.market.xiaomi.com^$important 56 | @@||file.market.xiaomi.com^$importantcdn.ark.qq.com 57 | @@nileapi.market.xiaomi.com 58 | @@||cn.app.chat.xiaomi.net^$important 59 | @@||connect.rom.miui.com/generate_204^$important 60 | @@||m.video.xiaomi.com^$important 61 | @@||metok.sys.miui.com^$important 62 | @@||mibi.api.xiaomi.com^$important 63 | @@||migrate.driveapi.micloud.xiaomi.net^$important 64 | @@||pdc.micloud.xiaomi.net^$important 65 | @@||phonecallapi.micloud.xiaomi.net^$important 66 | @@||resolver.msg.xiaomi.net^$important 67 | @@||sfsapi.micloud.xiaomi.net^$important 68 | @@||update.miui.com^$important 69 | @@||ssl-cdn.static.browser.mi-img.com^$important 70 | @@||ts.market.mi-img.com^$important 71 | @@||cdn.cnbj1.fds.api.mi-img.com^$important 72 | @@||app-measurement.com^$important 73 | @@||exp.sug.browser.miui.com^$important 74 | @@||mi.com^$important 75 | @@||*.mi-img.com^$important 76 | @@||xzz.xiaomin.tech^$important 77 | @@||api.io.mi.com^$important 78 | @@||tracker.ai.xiaomi.com^$important 79 | @@||*.micloud.xiaomi.net^$important 80 | @@||web.vip.miui.com^$important 81 | @@||mi-img.com^$important 82 | @@||feedback.miui.com^$important 83 | @@||connect.rom.miui.com^$important 84 | @@||mobile.controller.duokanbox.com^$important 85 | @@||o2o.api.xiaomi.com^$important 86 | @@||tvepg.pandora.xiaomi.com^$important 87 | #小米视频 88 | @@||*.video.xiaomi.com^$important 89 | @@||mivideo.cdn.pandora.xiaomi.com^$important 90 | @@||v*-dc-ad.ixigua.com^$important 91 | #锁屏画报正常化 92 | @@||wallpaper.cdn.pandora.xiaomi.com^$important 93 | @@||package.wallpaper.cdn.pandora.xiaomi.com.lan^$important 94 | @@||w.pandora.xiaomi.com^$important 95 | #应用商店 96 | @@||sec-cdn.static.xiaomi.net^$important 97 | @@||fgc0.market.xiaomi.com^$important 98 | @@||fga0.market.xiaomi.com^$important 99 | @@||t3.market.mi-img.com^$important 100 | @@||sec.resource.xiaomi.net^$important 101 | @@t1.market.xiaomi.com 102 | @@verify.sec.xiaomi.com 103 | @@||*.market.xiaomi.com^$important 104 | @@||*.market.mi-img.com^$important 105 | #主题商店 106 | @@||f*.market.xiaomi.com^$important 107 | @@||f*.market.mi-img.com^$important 108 | @@||market.mi-img.com^$important 109 | #手机应用列表上传,但是禁用后会导致应用云备份gg 110 | @@||a0.app.xiaomi.com 111 | ! 112 | !阿里系 113 | @@s.click.taobao.com 114 | @@s.click.tmall.com 115 | @@||*.alipay.com^ 116 | @@||aliyun.com^$important 117 | @@||broccoli.uc.cn^$important 118 | @@||uczzd.cn^$important 119 | @@||cl2.webterren.com^$important 120 | @@||mparticle.uc.cn^$important 121 | @@||alissl.ucdl.pp.uc.cn^$important 122 | @@||downum.game.uc.cn^$important 123 | @@||iflow.uc.cn^$important 124 | @@||unet.ucweb.com^$important 125 | @@||image.uc.cn^$important 126 | @@||mos.m.taobao.com^$important 127 | @@||s.click.taobao.com^$important 128 | @@||uland.taobao.com^$important 129 | @@||g.shumafen.cn^$important 130 | @@||h5.m.taobao.com^$important 131 | @@||ip.taobao.com^$important 132 | @@||*.alipay.com^$important 133 | @@||alicdn.com^$important 134 | @@||dj.1688.com^$important 135 | @@||click.simba.taobao.com^$important 136 | !阿里云盘登录需要 137 | @@||acs.m.taobao.com^$important 138 | #代理游戏 139 | @@||na61-na62.wagbridge.advertisement.alibabacorp.com.gds.alibabadns.com^$important 140 | @@||na61-na62.wagbridge.advertisement.alibabacorp.com^$important 141 | ! 142 | !腾讯系 143 | @@||btrace.qq.com^$important 144 | @@||c.y.qq.com^$important 145 | @@||cdn.ark.qq.com^$important 146 | @@||dldir1.qq.com^$important 147 | @@||dns.weixin.qq.com^$important 148 | @@cdn.*.qq.com 149 | @@*.myapp.com 150 | @@||cfg.imtt.qq.com^$important 151 | @@||cmshow.qq.com^$important 152 | @@||dd.myapp.com^$important 153 | @@||graph.qq.com^$important 154 | @@||im.qq.com^$important 155 | @@||imtt.dd.qq.com^$important 156 | @@||mail.qq.com^$important 157 | @@||pingfore.qq.com^$important 158 | @@||pingjs.qq.com^$important 159 | @@||pingtas.qq.com^$important 160 | @@||pingtcss.qq.com^$important 161 | @@||pp.myapp.com^$important 162 | @@||weixin.qq.com^$important 163 | @@||vdun.weibo.com^$important 164 | @@||soft.tbs.imtt.qq.com^$important 165 | @@||stat.y.qq.com^$important 166 | @@||tbs.imtt.qq.com^$important 167 | @@||vectorsdk.map.qq.com^$important 168 | @@||work.weixin.qq.com^$important 169 | @@||weidian.com^$important 170 | @@||qlogo.cn^$important 171 | @@||thirdwx.qlogo.cn^$important 172 | @@||imgcache.qq.com^$important 173 | @@||*.imtt.qq.com^$important 174 | @@||translator.qq.com^$important 175 | @@||appsupport.qq.com^$important 176 | #腾讯游戏 177 | @@||*.lol.qq.com^$important 178 | @@||lol.qq.com^$important 179 | @@||lpl.qq.com^$important 180 | @@||logs.game.qq.com^$important 181 | @@||cn.ekg.riotgames.com^$important 182 | #腾讯新闻 183 | @@||inews.gtimg.com^$important 184 | @@||view.inews.qq.com^$important 185 | #其他腾讯系 186 | @@||res.imtt.qq.com^$important 187 | @@||recmd.html5.qq.com^$important 188 | @@||c.pc.qq.com^$important 189 | @@||sqimg.qq.com^$important 190 | @@||pinghot.qq.com^$important 191 | @@||*.y.qq.com^$important 192 | @@||debugtbs.qq.com^$important 193 | @@||3gimg.qq.com^$important 194 | @@||tdid.m.qq.com^$important 195 | @@||cc.map.qq.com^$important 196 | @@||dnet.mb.qq.com^$important 197 | @@||map.qq.com^$important 198 | @@||qun.qzone.qq.com^$important 199 | !qq音乐畅听广告 200 | @@||adstats.tencentmusic.com^$important 201 | @@||adsmind.gdtimg.com^$important 202 | @@||v.gdt.qq.com^$important 203 | ! 204 | !网易系 205 | @@||126.net^$important 206 | @@||163.com^$important 207 | @@||passport.youdao.com^$important 208 | @@||mam.netease.com^$important 209 | ! 210 | !百度系 211 | @@||c.tieba.baidu.com^$important 212 | @@||duapps.com^$important 213 | @@||mbd.baidu.com^$important 214 | @@||t7.baidu.com^$important 215 | @@||cpu.baidu.com^$important 216 | @@||baijiahao.baidu.com^$important 217 | @@||sp1.baidu.com^$important 218 | @@||issuecdn.baidupcs.com^$important 219 | @@||sofire.baidu.com^$important 220 | ! 221 | !新浪 222 | @@||free.sinaimg.cn^$important 223 | @@||simg.sinajs.cn^$important 224 | @@||sina.cn^$important 225 | @@||u1.img.mobile.sina.cn^$important 226 | @@||wbapp.mobile.sina.cn^$important 227 | @@||*.img.mobile.sina.cn^$important 228 | @@||weibo.cn^$important 229 | @@||wx2.sinaimg.cn^$important 230 | ! 231 | !头条系 232 | @@||snssdk.com^$important 233 | @@||toutiaocdn.com^$important 234 | @@||pstatp.com^$important 235 | ! 236 | !一点资讯 237 | @@||oppo.yidianzixun.com^$important 238 | @@||ib11.go2yd.com^$important 239 | ! 240 | !京东 241 | @@||gia.jd.com^$important 242 | @@||wl.jd.com^$important 243 | @@||mjrpay.jd.com^$important 244 | @@||cfm.jd.com^$important 245 | @@||jr.jd.com^$important 246 | @@||mars.jd.com^$important 247 | @@||wqsd.jd.com 248 | !京东一号店 249 | @@||yhd.com^$important 250 | !海外 251 | @@||self.events.data.microsoft.com^$important 252 | @@||bing.com^$important 253 | @@||instagram.com^$important 254 | @@||*.twimg.com^$important 255 | @@||reddit 256 | @@||*.cdninstagram.com^$important 257 | @@||www.recaptcha.net^$important 258 | @@||spotifycdn.net^$important 259 | @@||spotify.com^$important 260 | @@||spclient.wg.spotify.com^$important 261 | @@||cn.ultraiso.net^$important 262 | @@||cdn.jsdelivr.net^$important 263 | @@||client.wns.windows.com^$important 264 | @@||dmm.co.jp^$important 265 | @@||vmware.com^$important 266 | @@||www.paypalobjects.com^$important 267 | ! 268 | !国内大站/app 269 | @@||zkres.myzaker.com^$important 270 | @@||adidasapp.api.adidas.com.cn^$important 271 | @@||mobile.appchina.com^$important 272 | @@||mobile.yangkeduo.com^$important 273 | @@||sm.cn^$important 274 | @@||statics.itc.cn^$important 275 | @@||quan.suning.com^$important 276 | @@||api.zhihu.com^$important 277 | @@||get.sogou.com^$important 278 | @@||ctrip.com^$important 279 | @@||ip.cn^$important 280 | @@||m.video.9ddm.com^$important 281 | @@||iface2.iqiyi.com^$important 282 | @@||input.shouji.sogou.com^$important 283 | @@||ykimg.com^$important 284 | @@||app.zhuanzhuan.com^$important 285 | @@||upgrade.ptmi.gitv.tv^$important 286 | @@||yun.duiba.com.cn^$important 287 | @@||*.gtimg.cn^$important 288 | @@||baike.so.com^$important 289 | @@||img.zuoyebang.cc^$important 290 | @@||p2p.huya.com^$important 291 | @@||www.jiaoyimao.com^$important 292 | @@||m.jiaoyimao.com^$important 293 | @@||data.bilibili.com^$important 294 | @@||jumpluna.58.com^$important 295 | @@||oss-asq-static.11222.cn^$important 296 | ! 297 | !其他杂七杂八 298 | @@||zxcs.me^ 299 | @@*.flyme.cn 300 | @@guoqiangti.cf 301 | @@mp4.ts 302 | @@||api.rikka.app^$important 303 | @@||duiba.com.cn^$important 304 | @@||dxx.wwwtop.top^$important 305 | @@||f.51240.com^$important 306 | @@||hosts-file.net^$important 307 | @@||kyaru-concat.now.sh^$important 308 | @@||lhl.zxcs.linghit.com^$important 309 | @@||yun.rili.cn^$important 310 | @@||counter-strike.net^$important 311 | @@||www.chemdraw.com.cn^$important 312 | @@||pool.v6.bt.n0808.com 313 | @@||upload.cc 314 | @@||parked-content.godaddy.com^$important 315 | @@||ydstatic.com^$important 316 | @@||iteye.com^$important 317 | @@||ohssr.cn^$important 318 | @@||akamaized.net^$important 319 | @@||duckduckgo.com^$important 320 | @@||bmap6.cn^$important 321 | @@||api.ts.feedback.qy.net^$important 322 | @@||bonuscloud.io^$important 323 | @@||computemaster.bxcearth.com^$important 324 | @@||gcable.com.cn^$important 325 | @@||96956.com.cn^$important 326 | @@||uee.me^$important 327 | @@||www.kanjiantu.com^$important 328 | @@||analytics.yinxiang.com^$important 329 | @@||pic.mairuan.com^$important 330 | @@||quapp.shenbabao.com^$important 331 | @@||dataprajna.net^$important 332 | 333 | -------------------------------------------------------------------------------- /files/usr/bin/AdGuardHome/data/filters/1677875740.txt: -------------------------------------------------------------------------------- 1 | # AdGuard Home Whitelist 2 | 3 | # Akamai Technologies 4 | @@||akamaihd.net^$important 5 | @@||akamaitechnologies.com^$important 6 | @@||akamaized.net^$important 7 | @@||widget-cdn.rpxnow.com^$important 8 | @@||akamai.net^$important 9 | @@||akadns.net^$important 10 | 11 | # Beachbody 12 | @@||tags.tiqcdn.com^$important 13 | @@||landmarkglobal.com^$important 14 | 15 | # Schoolboard 16 | @@||schoolmessenger.com^$important 17 | 18 | # Microsoft 19 | @@||xbox.ipv6.microsoft.com^$important 20 | @@||xboxexperiencesprod.experimentation.xboxlive.com^$important 21 | @@||xflight.xboxlive.com^$important 22 | @@||xkms.xboxlive.com^$important 23 | @@||xsts.auth.xboxlive.com^$important 24 | @@||ui.skype.com^$important 25 | @@||title.auth.xboxlive.com^$important 26 | @@||title.mgt.xboxlive.com^$important 27 | @@||t0.ssl.ak.dynamic.tiles.virtualearth.net^$important 28 | @@||t0.ssl.ak.tiles.virtualearth.net^$important 29 | @@||win10.ipv6.microsoft.com^$important 30 | @@||sharepoint.com^$important 31 | @@||pricelist.skype.com^$important 32 | @@||office.com^$important 33 | @@||office.net^$important 34 | @@||office365.com^$important 35 | @@||officeclient.microsoft.com^$important 36 | @@||notify.xboxlive.com^$important 37 | @@||nexusrules.officeapps.live.com^$important 38 | @@||microsoftonline.com^$important 39 | @@||licensing.xboxlive.com^$important 40 | @@||live.com^$important 41 | @@||msftncsi.com^$important 42 | @@||i.s-microsoft.com^$important 43 | @@||help.ui.xboxlive.com^$important 44 | @@||c.s-microsoft.com^$important 45 | @@||apps.skype.com^$important 46 | @@||attestation.xboxlive.com^$important 47 | @@||cert.mgt.xboxlive.com^$important 48 | @@||clientconfig.passport.net^$important 49 | @@||ctldl.windowsupdate.com^$important 50 | @@||dev.virtualearth.net^$important 51 | @@||device.auth.xboxlive.com^$important 52 | @@||ecn.dev.virtualearth.net^$important 53 | @@||def-vef.xboxlive.com^$important 54 | @@||eds.xboxlive.com^$important 55 | @@||geo-prod.do.dsp.mp.microsoft.com^$important 56 | @@||displaycatalog.mp.microsoft.com^$important 57 | @@||dl.delivery.mp.microsoft.com^$important 58 | @@||1drv.com^$important 59 | @@||aspnetcdn.com^$important 60 | @@||v10.events.data.microsoft.com 61 | @@||v20.events.data.microsoft.com 62 | @@||vortex.data.microsoft.com 63 | @@||psg-prod-eastus.azureedge.net^$important 64 | @@||onegetcdn.azureedge.net^$important 65 | 66 | # Halo 67 | @@||halowaypoint.com 68 | @@||playfabapi.com 69 | 70 | # Facebook Messenger 71 | @@||api.facebook.com^$important 72 | @@||edge-mqtt.facebook.com^$important 73 | @@||graph.facebook.com^$important 74 | @@||mqtt.c10r.facebook.com^$important 75 | @@||portal.fb.com^$important 76 | @@||star.c10r.facebook.com^$important 77 | 78 | # Optimizely 79 | @@||cdn.optimizely.com^$important 80 | @@||cdn2.optimizely.com^$important 81 | @@||cdn3.optimizely.com^$important 82 | 83 | # Google 84 | @@||0.client-channel.google.com^$important 85 | @@||2.android.pool.ntp.org^$important 86 | @@||android.clients.google.com^$important 87 | @@||clients1.google.com^$important 88 | @@||clients2.google.com^$important 89 | @@||clients3.google.com^$important 90 | @@||clients4.google.com^$important 91 | @@||clients5.google.com^$important 92 | @@||clients6.google.com^$important 93 | @@||cse.google.com^$important 94 | @@||googleapis.com^$important 95 | @@||gstatic.com^$important 96 | @@||manifest.googlevideo.com^$important 97 | @@||redirector.googlevideo.com^$important 98 | @@||video-stats.l.google.com^$important 99 | @@||geo3.ggpht.com^$important 100 | @@||yt3.ggpht.com^$important 101 | 102 | # Youtube 103 | @@||s.youtube.com^$important 104 | @@||s2.youtube.com^$important 105 | @@||youtu.be^$important 106 | @@||youtube-nocookie.com^$important 107 | @@||i.ytimg.com^$important 108 | @@||i1.ytimg.com^$important 109 | @@||s.ytimg.com^$important 110 | 111 | # Plex 112 | @@||app.plex.tv^$important 113 | @@||cpms.spop10.ams.plex.bz^$important 114 | @@||cpms35.spop10.ams.plex.bz^$important 115 | @@||dashboard.plex.tv^$important 116 | @@||meta-db-worker02.pop.ric.plex.bz^$important 117 | @@||meta.plex.bz^$important 118 | @@||meta.plex.tv^$important 119 | @@||my.plexapp.com^$important 120 | @@||nine.plugins.plexapp.com^$important 121 | @@||node.plexapp.com^$important 122 | @@||o1.email.plex.tv^$important 123 | @@||o2.sg0.plex.tv^$important 124 | @@||proxy.plex.bz^$important 125 | @@||proxy.plex.tv^$important 126 | @@||proxy02.pop.ord.plex.bz^$important 127 | @@||pubsub.plex.bz^$important 128 | @@||pubsub.plex.tv^$important 129 | @@||staging.plex.tv^$important 130 | @@||status.plex.tv^$important 131 | @@||tvdb2.plex.tv^$important 132 | @@||tvthemes.plexapp.com^$important 133 | 134 | # Github 135 | @@||github.com^$important 136 | @@||github.io^$important 137 | @@||raw.githubusercontent.com^$important 138 | 139 | # Netflix 140 | @@||api-global.netflix.com^$important 141 | @@||ichnaea.netflix.com^$important 142 | @@||appboot.netflix.com^$important 143 | @@||secure.netflix.com^$important 144 | 145 | # Spotify 146 | @@||open.spotify.com^$important 147 | @@||mobile-ap.spotify.com^$important 148 | @@||apresolve.spotify.com^$important 149 | @@||upgrade.scdn.com^$important 150 | @@||market.spotify.com^$important 151 | @@||spclient.wg.spotify.com^$important 152 | @@||ap.spotify.com^$important 153 | @@||audio-ake.spotify.com.edgesuite.net^$important 154 | @@||audio4-ak.spotify.com.edgesuite.net^$important 155 | 156 | # Apple 157 | @@||gdmf.apple.com.akadns.net^$important 158 | @@||apple.com^$important 159 | @@||icloud.com^$important 160 | @@||itunes.com^$important 161 | @@||mzstatic.com^$important 162 | @@||apple-dns.net^$important 163 | @@||cdn-apple.com^$important 164 | @@||iphone-ld.origin-apple.com.akadns.net^$important 165 | @@||ax.phobos.apple.com.edgesuite.net^$important 166 | @@||init-p01md-lb.push-apple.com.akadns.net^$important 167 | @@||uts-api-cdn.itunes-apple.com.akadns.net^$important 168 | @@||np-edge-cdn.itunes-apple.com.akadns.net^$important 169 | @@||iadsdk.apple.com.akadns.net^$important 170 | @@||play.itunes.apple.com.edgesuite.net^$important 171 | 172 | # Lets Encrypt 173 | @@||letsencrypt.org^$important 174 | 175 | # Disney+ Streaming 176 | @@||cdn.registerdisney.go.com^$important 177 | @@||dssott.com^$important 178 | @@||disneyplus.com^$important 179 | @@||disney-plus.net^$important 180 | @@||cws.conviva.com^$important 181 | @@||disneyplus.bn5x.net^$important 182 | @@||disney-portal.my.onetrust.com^$important 183 | @@||bamgrid.com^$important 184 | @@||disneyplus.com.ssl.sc.omtrdc.net^$important 185 | @@||cws-sjc2.conviva.com^$important 186 | @@||cws-iad1.conviva.com^$important 187 | @@||vod-l3c-eu-north-2.media.dssott.com.c.footprint.net^$important 188 | @@||disney.demdex.net^$important 189 | 190 | # Reddit 191 | @@||reddit.com^$important 192 | 193 | # WhatsApp 194 | @@||whatsapp.net^$important 195 | @@||whatsapp.com^$important 196 | 197 | # Firefox Browser 198 | @@||detectportal.firefox.com^$important 199 | 200 | # Themoviedb.com 201 | @@||themoviedb.com^$important 202 | 203 | # Thetvdb.com 204 | @@||thetvdb.com^$important 205 | 206 | # Tinyurl Shortener 207 | @@||tinyurl.com^$important 208 | 209 | # Cloudinary Upload Platform 210 | @@||res.cloudinary.com^$important 211 | 212 | # Shopify.com eCommerce Software 213 | @@||v.shopify.com^$important 214 | @@||s.shopify.com^$important 215 | 216 | # Wordpress 217 | @@||wp.com^$important 218 | @@||wordpress.com^$important 219 | 220 | # Avangate Shop 221 | @@||secure.avangate.com^$important 222 | 223 | # Surveymonkey 224 | @@||secure.surveymonkey.com^$important 225 | 226 | #Bitly URL Shortener 227 | @@||j.mp^$important 228 | # Jquery 229 | @@||jquery.com^$important 230 | # Jsdelivr.net Open Source CDN 231 | @@||jsdelivr.net^$important 232 | # Malwarebytes Anti-Malware 233 | @@||keystone.mwbsys.com^$important 234 | 235 | # Giphy.com 236 | @@||giphy.com^$important 237 | 238 | # Cloudflare 239 | @@||cdn.cloudflare.net^$important 240 | @@||cdnjs.cloudflare.com^$important 241 | 242 | # Dropbox 243 | @@||dl.dropbox.com^$important 244 | @@||dl.dropboxusercontent.com^$important 245 | @@||ns1.dropbox.com^$important 246 | @@||ns2.dropbox.com^$important 247 | 248 | # No-IP.com 249 | @@||no-ip.com^$important 250 | 251 | # Instagram 252 | @@||cdninstagram.com^$important 253 | @@||instagram.com^$important 254 | @@||instagram.c10r.facebook.com^$important 255 | 256 | # Twitter 257 | @@||twimg.com^$important 258 | @@||twitter.com^$important 259 | @@||t.co^$important -------------------------------------------------------------------------------- /files/usr/share/passwall/rules/direct_host: -------------------------------------------------------------------------------- 1 | apple.com 2 | live.com 3 | windowsazure.com 4 | login.microsoftonline.com 5 | microsoft.com 6 | akamaized.net 7 | office.net 8 | dyndns.com 9 | douyucdn.cn 10 | douyucdn2.cn 11 | 163.com 12 | music.163.com 13 | 14 | ae01.alicdn.com 15 | s2.music.126.net 16 | openwrt.cc 17 | theme.zdassets.com 18 | s5.51cto.com 19 | 20 | speedtest.net 21 | moegirl.org.cn 22 | ldtstore.com.cn 23 | cmzj.org 24 | cmzj.top 25 | #mirrors-cn 26 | mirrors.tuna.tsinghua.edu.cn 27 | lug.ustc.edu.cn 28 | mirrors.cqu.edu.cn 29 | sci.nju.edu.cn 30 | mirrors.zju.edu.cn 31 | mirrors.sjtug.sjtu.edu.cn 32 | mirror.sjtu.edu.cn 33 | mirrors.bfsu.edu.cn 34 | mirror.bjtu.edu.cn 35 | mirrors.jlu.edu.cn 36 | mirrors.hit.edu.cn 37 | mirrors.sdu.edu.cn 38 | mirrors.sustech.edu.cn 39 | mirrors.xjtu.edu.cn 40 | mirrors.neusoft.edu.cn 41 | mirror.iscas.ac.cn 42 | mirror.lzu.edu.cn 43 | mirrors.njupt.edu.cn 44 | mirrors.nwafu.edu.cn 45 | mirror.nyist.edu.cn 46 | mirrors.pku.edu.cn 47 | mirrors.qlu.edu.cn 48 | mirrors.shanghaitech.edu.cn 49 | mirrors.uestc.cn 50 | mirrors.wsyu.edu.cn 51 | #mirrors-cn end 52 | #steam-china 53 | ipv6check-http.steamserver.net 54 | ipv6check-udp.steamserver.net 55 | ipv6check-http.steamcontent.com 56 | ipv6check-udp.steamcontent.com 57 | steamcloud-ugc-hkg.oss-accelerate.aliyuncs.com 58 | dl.steam.clngaa.com 59 | cdn-ali.content.steamchina.com 60 | xz.pphimalayanrt.com 61 | lv.queniujq.cn 62 | st.dl.eccdnx.com 63 | st.dl.bscstorage.net 64 | trts.baishancdnx.cn 65 | cdn-ws.content.steamchina.com 66 | cdn-qc.content.steamchina.com 67 | store.st.dl.eccdnx.com 68 | media.st.dl.eccdnx.com 69 | avatars.st.dl.eccdnx.com 70 | cdn.steamstatic.com.8686c.com 71 | broadcast.st.dl.eccdnx.com 72 | #steam-china end 73 | 74 | #epic-china 75 | epicgames-download1-1251447533.file.myqcloud.com 76 | #epic-china end 77 | 78 | #ubisoft connect-china 79 | uplaypc-s-ubisoft.cdn.ubionline.com.cn 80 | #ubisoft connect end 81 | -------------------------------------------------------------------------------- /files/usr/share/passwall/rules/direct_ip: -------------------------------------------------------------------------------- 1 | 114.114.114.114 2 | 114.114.115.115 3 | 223.5.5.5 4 | 223.6.6.6 5 | 119.29.29.29 6 | 180.76.76.76 7 | 106.6.6.6 8 | 101.226.4.6 9 | 119.29.29.29 10 | -------------------------------------------------------------------------------- /img/01.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/01.webp -------------------------------------------------------------------------------- /img/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/1.png -------------------------------------------------------------------------------- /img/1.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/1.webp -------------------------------------------------------------------------------- /img/10.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/10.webp -------------------------------------------------------------------------------- /img/11.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/11.webp -------------------------------------------------------------------------------- /img/2.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/2.webp -------------------------------------------------------------------------------- /img/3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/3.webp -------------------------------------------------------------------------------- /img/4.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/4.webp -------------------------------------------------------------------------------- /img/5.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/5.webp -------------------------------------------------------------------------------- /img/6.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/6.webp -------------------------------------------------------------------------------- /img/7.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/7.webp -------------------------------------------------------------------------------- /img/8.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/8.webp -------------------------------------------------------------------------------- /img/9.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chenmozhijin/OpenWrt-K/65c2f90554732ab990f2388bd93db53805fe710b/img/9.webp -------------------------------------------------------------------------------- /patches/bcm27xx-gpu-fw.patch: -------------------------------------------------------------------------------- 1 | diff --git a/package/kernel/bcm27xx-gpu-fw/Makefile b/package/kernel/bcm27xx-gpu-fw/Makefile 2 | index 048dd0d3a9..d8c467f770 100644 3 | --- a/package/kernel/bcm27xx-gpu-fw/Makefile 4 | +++ b/package/kernel/bcm27xx-gpu-fw/Makefile 5 | @@ -158,14 +158,6 @@ define Build/Prepare 6 | endef 7 | 8 | define Build/Compile 9 | - true 10 | -endef 11 | - 12 | -define Package/bcm27xx-gpu-fw/install 13 | - true 14 | -endef 15 | - 16 | -define Build/InstallDev 17 | $(CP) $(PKG_BUILD_DIR)/bootcode.bin $(KERNEL_BUILD_DIR) 18 | $(CP) $(PKG_BUILD_DIR)/LICENCE.broadcom $(KERNEL_BUILD_DIR) 19 | $(CP) $(PKG_BUILD_DIR)/start.elf $(KERNEL_BUILD_DIR) 20 | @@ -182,4 +174,8 @@ define Build/InstallDev 21 | $(CP) $(PKG_BUILD_DIR)/fixup4x.dat $(KERNEL_BUILD_DIR) 22 | endef 23 | 24 | +define Package/bcm27xx-gpu-fw/install 25 | + true 26 | +endef 27 | + 28 | $(eval $(call BuildPackage,bcm27xx-gpu-fw)) 29 | --------------------------------------------------------------------------------