samsesh/github-ip-address-list

GitHub: samsesh/github-ip-address-list

该项目利用 GitHub Actions 每日自动生成可直接导入 MikroTik 路由器的 GitHub IP 地址列表脚本,解决了手动维护网络规则的痛点。

Stars: 7 | Forks: 0

# 适用于 MikroTik 的 GitHub IP 列表 本仓库自动从 [https://api.github.com/meta](https://api.github.com/meta) 获取最新的 GitHub IP 地址列表,并将其转换为兼容 MikroTik 的 `.rsc` 脚本文件。 该脚本使用 GitHub Actions 每日自动更新,非常适合用于防火墙规则、NAT 例外,或通过特定接口路由 GitHub 流量。 ## 📆 生成的文件 * **`github-ip-list.rsc`** 兼容 MikroTik 的 RouterOS 脚本,用于将所有 GitHub IP 范围添加到名为 `GitHub` 的地址列表中。 内容示例: ``` # 自动生成的 MikroTik address list – GitHub IPs /ip firewall address-list add address=140.82.112.0/20 list=GitHub add address=185.199.108.0/22 list=GitHub add address=192.30.252.0/22 list=GitHub ... ``` ## 🚀 MikroTik 导入脚本 要将 IP 列表自动获取并导入到你的 MikroTik 路由器中,请运行以下脚本: ``` :foreach i in={"GitHub"} do={ /tool fetch url="https://raw.githubusercontent.com/samsesh/github-ip-address-list/Localhost/github-ip-list.rsc" dst-path=$i /ip firewall address-list remove [/ip firewall address-list find list=$i] /import file-name=$i /file remove $i } ``` ✅ 此脚本将会: * 从你的 GitHub 仓库下载最新的 IP 列表 * 移除 `GitHub` 地址列表中的旧条目 * 导入更新后的列表 * 清理已下载的文件 ## 🔁 自动化 本仓库使用 [GitHub Actions 工作流](.github/workflows/update-github-ips.yml),它会执行以下操作: * 每天 UTC 时间午夜运行 * 从 GitHub Meta API 获取最新的 GitHub IP 范围 * 构建并向 `Localhost` 分支提交 MikroTik `.rsc` 文件(`github-ip-list.rsc`) 你也可以从 Actions 标签页手动运行该工作流。 ## 📘 参考 * GitHub API: [https://api.github.com/meta](https://api.github.com/meta) * MikroTik 脚本指南: [https://wiki.mikrotik.com/wiki/Manual\:Scripting](https://wiki.mikrotik.com/wiki/Manual:Scripting) * MikroTik `/import` 命令: [`/import file-name=yourfile.rsc`](https://wiki.mikrotik.com/wiki/Manual:Console#import) ## ☕ 支持本项目 如果你觉得这个项目有用,可以在这里支持开发: 👉 [https://donate.samsesh.net](https://donate.samsesh.net) ## 🧑‍💻 维护者 **作者:** [samsesh](https://github.com/samsesh) **网站:** [samsesh.net](https://samsesh.net)
标签:Docker 部署, GitHub Actions, IP地址列表, MikroTik, RouterOS, 网络调试, 网络运维, 自动化, 自动笔记