update 2024-11-13 09:25:16

This commit is contained in:
kenzok8 2024-11-13 09:25:16 +08:00
parent 088194b3b5
commit a8092a6704
25 changed files with 2535 additions and 264 deletions

View File

@ -11,7 +11,7 @@
color-scheme: dark;
--bs-body-font-family: 'Noto Sans SC', sans-serif;
--bs-body-font-weight: 400;
--bs-body-color: #ffffff;
--bs-body-color: #FFFF00;
--bs-body-bg: #C8102E;
--bs-primary: #ffffff;
--bs-secondary: #ff4d4d;
@ -44,7 +44,7 @@ h1, h2, h3, h4, h5, h6 {
.table-3d {
background-color: #C8102E;
color: #ffffff;
color: #FFFF00;
border: none;
border-radius: 12px;
overflow: hidden;
@ -72,14 +72,14 @@ h1, h2, h3, h4, h5, h6 {
.table-3d th {
border: none;
padding: 15px;
color: #ffffff;
color: #FFFF00;
}
.form-control {
background-color: rgba(255, 255, 255, 0.1);
border: 2px solid rgba(255, 255, 255, 0.5);
padding: 12px 15px;
color: #ffffff;
color: #FFFF00;
border-radius: 8px;
transition: transform var(--bs-transition-speed), box-shadow var(--bs-transition-speed);
}
@ -133,7 +133,7 @@ h1, h2, h3, h4, h5, h6 {
}
p, span, div, a, label, input, select, textarea {
color: #ffffff;
color: #FF00FF;
}
a {
@ -163,14 +163,6 @@ a:hover {
background-color: #C8102E;
}
.table * {
color: #ffffff;
}
.table th {
color: #FFFF00;
}
.royal-style {
font-family: 'Cinzel Decorative', cursive;
font-weight: 900;
@ -190,6 +182,67 @@ a:hover {
text-shadow: 3px 3px 6px rgba(0,0,0,0.2);
}
@media (max-width: 767px) {
body {
font-size: 14px;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
.royal-style {
font-size: 40px;
}
.btn {
padding: 8px 16px;
font-size: 14px;
}
.table-3d {
font-size: 14px;
}
.table-3d td,
.table-3d th {
padding: 10px;
}
.container-bg {
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
}
@media (max-width: 575px) {
.container-sm.container-bg.callout {
flex-direction: column;
align-items: stretch;
}
.container-sm.container-bg.callout a {
margin: 0.25rem 0;
display: block;
text-align: center;
}
}
@media (min-width: 992px) {
.container-sm.container-bg.callout {
display: flex;
justify-content: center;
align-items: center;
}
.container-sm.container-bg.callout a {
margin: 0 0.5rem;
}
}
@media (max-width: 767px) {
.row.justify-content-md-center .col.input-group.mb-3.justify-content-md-center {
display: flex;
@ -202,8 +255,25 @@ a:hover {
}
}
.btn-info,
.btn-success,
.btn-danger {
color: #fff !important;
}
.btn-info:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-info:focus,
.btn-success:focus,
.btn-danger:focus {
color: #fff !important;
}
@media (max-width: 767px) {
.btn {
font-size: 10px;
}
}
}

View File

@ -509,6 +509,67 @@ nav {
background-color: #f8f9fa;
}
@media (max-width: 767px) {
body {
font-size: 14px;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
.royal-style {
font-size: 40px;
}
.btn {
padding: 8px 16px;
font-size: 14px;
}
.table-3d {
font-size: 14px;
}
.table-3d td,
.table-3d th {
padding: 10px;
}
.container-bg {
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
}
@media (max-width: 575px) {
.container-sm.container-bg.callout {
flex-direction: column;
align-items: stretch;
}
.container-sm.container-bg.callout a {
margin: 0.25rem 0;
display: block;
text-align: center;
}
}
@media (min-width: 992px) {
.container-sm.container-bg.callout {
display: flex;
justify-content: center;
align-items: center;
}
.container-sm.container-bg.callout a {
margin: 0 0.5rem;
}
}
@media (max-width: 767px) {
.row.justify-content-md-center .col.input-group.mb-3.justify-content-md-center {
display: flex;
@ -521,8 +582,25 @@ nav {
}
}
.btn-info,
.btn-success,
.btn-danger {
color: #fff !important;
}
.btn-info:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-info:focus,
.btn-success:focus,
.btn-danger:focus {
color: #fff !important;
}
@media (max-width: 767px) {
.btn {
font-size: 10px;
}
}
}

View File

@ -444,6 +444,67 @@ h2.text-center {
transition: background-color 0.3s ease;
}
@media (max-width: 767px) {
body {
font-size: 14px;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
.royal-style {
font-size: 40px;
}
.btn {
padding: 8px 16px;
font-size: 14px;
}
.table-3d {
font-size: 14px;
}
.table-3d td,
.table-3d th {
padding: 10px;
}
.container-bg {
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
}
@media (max-width: 575px) {
.container-sm.container-bg.callout {
flex-direction: column;
align-items: stretch;
}
.container-sm.container-bg.callout a {
margin: 0.25rem 0;
display: block;
text-align: center;
}
}
@media (min-width: 992px) {
.container-sm.container-bg.callout {
display: flex;
justify-content: center;
align-items: center;
}
.container-sm.container-bg.callout a {
margin: 0 0.5rem;
}
}
@media (max-width: 767px) {
.row.justify-content-md-center .col.input-group.mb-3.justify-content-md-center {
display: flex;
@ -456,8 +517,25 @@ h2.text-center {
}
}
.btn-info,
.btn-success,
.btn-danger {
color: #fff !important;
}
.btn-info:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-info:focus,
.btn-success:focus,
.btn-danger:focus {
color: #fff !important;
}
@media (max-width: 767px) {
.btn {
font-size: 10px;
}
}
}

View File

@ -327,6 +327,34 @@ h1:hover, h2:hover, h3:hover, h4:hover, h5:hover, h6:hover {
transition: all 0.3s ease;
}
.text-3d {
display: inline-block;
transition: transform 0.5s, text-shadow 0.5s;
text-shadow:
1px 1px 1px rgba(0, 0, 0, 0.2),
2px 2px 1px rgba(0, 0, 0, 0.15),
3px 3px 1px rgba(0, 0, 0, 0.1);
}
.text-3d:hover {
transform: rotateY(15deg) rotateX(15deg);
text-shadow:
3px 3px 1px rgba(0, 0, 0, 0.3),
4px 4px 2px rgba(0, 0, 0, 0.25),
5px 5px 3px rgba(0, 0, 0, 0.2);
}
.card {
border-radius: 12px;
overflow: hidden;
box-shadow: var(--bs-shadow-medium);
}
.card-header {
background-color: var(--bs-primary);
color: #fff;
}
.royal-style {
font-family: 'Cinzel Decorative', cursive;
font-weight: 900;
@ -346,19 +374,65 @@ h1:hover, h2:hover, h3:hover, h4:hover, h5:hover, h6:hover {
text-shadow: 3px 3px 6px rgba(0,0,0,0.2);
}
.btn-outline-info.btn-yacd,
.btn-outline-info.btn-dashboard,
.btn-outline-info.btn-meta {
color: #fff !important;
@media (max-width: 767px) {
body {
font-size: 14px;
}
h1 { font-size: 2rem; }
h2 { font-size: 1.75rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.1rem; }
h6 { font-size: 1rem; }
.royal-style {
font-size: 40px;
}
.btn {
padding: 8px 16px;
font-size: 14px;
}
.table-3d {
font-size: 14px;
}
.table-3d td,
.table-3d th {
padding: 10px;
}
.container-bg {
padding: 1rem;
margin-top: 1rem;
margin-bottom: 1rem;
}
@media (max-width: 575px) {
.container-sm.container-bg.callout {
flex-direction: column;
align-items: stretch;
}
.container-sm.container-bg.callout a {
margin: 0.25rem 0;
display: block;
text-align: center;
}
}
.btn-outline-info.btn-yacd:hover,
.btn-outline-info.btn-dashboard:hover,
.btn-outline-info.btn-meta:hover,
.btn-outline-info.btn-yacd:focus,
.btn-outline-info.btn-dashboard:focus,
.btn-outline-info.btn-meta:focus {
color: #fff !important;
@media (min-width: 992px) {
.container-sm.container-bg.callout {
display: flex;
justify-content: center;
align-items: center;
}
.container-sm.container-bg.callout a {
margin: 0 0.5rem;
}
}
@media (max-width: 767px) {
@ -373,8 +447,25 @@ h1:hover, h2:hover, h3:hover, h4:hover, h5:hover, h6:hover {
}
}
.btn-info,
.btn-success,
.btn-danger {
color: #fff !important;
}
.btn-info:hover,
.btn-success:hover,
.btn-danger:hover,
.btn-info:focus,
.btn-success:focus,
.btn-danger:focus {
color: #fff !important;
}
@media (max-width: 767px) {
.btn {
font-size: 10px;
}
}

View File

@ -1,7 +1,28 @@
<?php
ob_start();
include './cfg.php';
$dataFilePath = '/tmp/subscription_data.txt';
$lastSubscribeUrl = '';
if (file_exists($dataFilePath)) {
$fileContent = file_get_contents($dataFilePath);
$lastPos = strrpos($fileContent, '订阅链接地址:');
if ($lastPos !== false) {
$urlSection = substr($fileContent, $lastPos);
$httpPos = strpos($urlSection, 'http');
if ($httpPos !== false) {
$endPos = strpos($urlSection, '自定义模板URL:', $httpPos);
if ($endPos !== false) {
$lastSubscribeUrl = trim(substr($urlSection, $httpPos, $endPos - $httpPos));
} else {
$lastSubscribeUrl = trim(substr($urlSection, $httpPos));
}
}
}
}
?>
<!doctype html>
<html lang="en" data-bs-theme="<?php echo substr($neko_theme, 0, -4) ?>">
<head>
@ -12,7 +33,9 @@ include './cfg.php';
<link href="./assets/css/bootstrap.min.css" rel="stylesheet">
<link href="./assets/css/custom.css" rel="stylesheet">
<link href="./assets/theme/<?php echo $neko_theme ?>" rel="stylesheet">
<script type="text/javascript" src="./assets/js/bootstrap.min.js"></script>
<script type="text/javascript" src="./assets/js/feather.min.js"></script>
<script type="text/javascript" src="./assets/bootstrap/bootstrap.bundle.min.js"></script>
<script type="text/javascript" src="./assets/js/jquery-2.1.3.min.js"></script>
<script type="text/javascript" src="./assets/js/neko.js"></script>
</head>
@ -40,17 +63,20 @@ include './cfg.php';
<h1 class="title text-center" style="margin-top: 3rem; margin-bottom: 2rem;">Sing-box 订阅转换模板</h1>
<div class="alert alert-info">
<h4 class="alert-heading">帮助信息</h4>
<p>请选择一个模板以生成配置文件:根据订阅节点信息选择对应模板,否则启动不了。
<p>请选择一个模板以生成配置文件:根据订阅节点信息选择相应的模板。若选择带有地区分组的模板,请确保您的节点包含以下线路。挂梯子更新!</p>
<ul>
<li><strong>默认模板 1</strong>:无地区 无分组 通用。</li>
<li><strong>默认模板 2</strong>:无地区 带分流规则 通用。</li>
<li><strong>默认模板 3</strong>:香港 台湾 新加坡 日本 美国 韩国 分组 带分流规则。</li>
<li><strong>默认模板 3</strong>:香港 日本 美国 分组 带分流规则。</li>
<li><strong>默认模板 4</strong>:香港 新加坡 日本 美国 分组 带分流规则。</li>
<li><strong>默认模板 5</strong>:新加坡 日本 美国 韩国 分组 带分流规则。</li>
<li><strong>默认模板 6</strong>:香港 台湾 新加坡 日本 美国 韩国 分组 带分流规则。</li>
</ul>
</div>
<form method="post" action="">
<div class="mb-3">
<label for="subscribeUrl" class="form-label">订阅链接地址:</label>
<input type="text" class="form-control" id="subscribeUrl" name="subscribeUrl" required>
<input type="text" class="form-control" id="subscribeUrl" name="subscribeUrl" value="<?php echo htmlspecialchars($lastSubscribeUrl); ?>" required>
</div>
<div class="mb-3">
<label for="customFileName" class="form-label">自定义文件名(无需输入后缀)</label>
@ -75,6 +101,14 @@ include './cfg.php';
<input type="radio" class="form-check-input" id="useDefaultTemplate4" name="defaultTemplate" value="4">
<label class="form-check-label" for="useDefaultTemplate3">默认模板 4</label>
</div>
<div class="col">
<input type="radio" class="form-check-input" id="useDefaultTemplate5" name="defaultTemplate" value="5">
<label class="form-check-label" for="useDefaultTemplate3">默认模板 5</label>
</div>
<div class="col">
<input type="radio" class="form-check-input" id="useDefaultTemplate6" name="defaultTemplate" value="6">
<label class="form-check-label" for="useDefaultTemplate3">默认模板 6</label>
</div>
</div>
<div class="mt-3">
<input type="radio" class="form-check-input" id="useCustomTemplate" name="templateOption" value="custom">
@ -86,7 +120,6 @@ include './cfg.php';
<button type="submit" name="generateConfig" class="btn btn-info">生成配置文件</button>
</div>
</form>
<?php
$dataFilePath = '/tmp/subscription_data.txt';
$configFilePath = '/etc/neko/config/sing-box.json';
@ -115,8 +148,10 @@ include './cfg.php';
$defaultTemplates = [
'1' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_7.json",
'2' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_6.json",
'3' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_8.json",
'4' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_9.json"
'3' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_9.json",
'4' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_10.json",
'5' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_11.json",
'6' => "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/json/config_8.json"
];
$templateUrlEncoded = urlencode($defaultTemplates[$_POST['defaultTemplate']] ?? $defaultTemplates['mixed']);
@ -206,5 +241,53 @@ include './cfg.php';
alert("已复制到剪贴板");
}
</script>
<script>
document.addEventListener('DOMContentLoaded', (event) => {
const savedFileName = localStorage.getItem('customFileName');
if (savedFileName) {
document.getElementById('customFileName').value = savedFileName;
}
});
document.getElementById('customFileName').addEventListener('input', function() {
const customFileName = this.value.trim();
localStorage.setItem('customFileName', customFileName);
});
document.addEventListener("DOMContentLoaded", function () {
const savedTemplate = localStorage.getItem("selectedTemplate");
const customTemplateUrl = localStorage.getItem("customTemplateUrl");
if (savedTemplate) {
const templateInput = document.querySelector(`input[name="defaultTemplate"][value="${savedTemplate}"]`);
if (templateInput) {
templateInput.checked = true;
}
}
if (customTemplateUrl) {
document.getElementById("customTemplateUrl").value = customTemplateUrl;
document.getElementById("useCustomTemplate").checked = true;
}
document.querySelectorAll('input[name="defaultTemplate"]').forEach(input => {
input.addEventListener("change", function () {
localStorage.setItem("selectedTemplate", this.value);
localStorage.removeItem("customTemplateUrl");
});
});
document.getElementById("customTemplateUrl").addEventListener("input", function () {
localStorage.setItem("customTemplateUrl", this.value);
localStorage.setItem("selectedTemplate", "custom");
});
document.getElementById("useCustomTemplate").addEventListener("change", function () {
localStorage.setItem("selectedTemplate", "custom");
});
});
</script>
</body>
</html>

View File

@ -1090,10 +1090,10 @@ function initializeAceEditor() {
<h2 class="text-success text-center mt-4 mb-4">订阅管理 p核专用</h2>
<div class="help-text mb-3 text-start">
<strong>1. 对于首次使用 Sing-box 的用户,必须将核心更新至版本 v1.10.0 或更高版本。我们建议使用 P 核心。确保将出站和入站防火墙规则都设置为“接受”并启用它们。
<strong>1. 对于首次使用 Sing-box 的用户,必须将核心更新至版本 v1.10.0 或更高版本。确保将出站和入站防火墙规则都设置为“接受”并启用它们。
</div>
<div class="help-text mb-3 text-start">
<strong>2. 注意:</strong> 通用模板(<code>puernya.json</code>)最多支持<strong>3</strong>订阅链接,请勿更改默认名称
<strong>2. 注意:</strong> 通用模板(<code>puernya.json</code>)最多支持<strong>3 </strong>订阅链接。请勿更改默认文件名称,并确保使用 puernya 内核
</div>
<div class="help-text mb-3 text-start">
<strong>3. 支持通用格式订阅,无需转换。
@ -1101,6 +1101,9 @@ function initializeAceEditor() {
<div class="help-text mb-3 text-start">
<strong>4. 保存与更新:</strong> 填写完毕后,请点击"更新配置"按钮进行保存。
</div>
<div class="help-text mb-3 text-start">
<strong>5. 说明:</strong> 上述 Sing-box 订阅适用于原版 Sing-box 内核,仅支持后缀为 Sing-box 格式的机场订阅链接。对于通用订阅,请使用转换模板以确保兼容性。
</div>
<div class="row">
<?php for ($i = 0; $i < 3; $i++): ?>
<div class="col-md-4 mb-4">

View File

@ -138,7 +138,7 @@ filtered_lines: &filtered_lines # 处理重复节点
final_lines: *filtered_lines
# 其他地区
backup: &backup {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], exclude-filter: "(?i)港|🇭🇰|hk|hongkong|hong kong|台|🇹🇼|tw|taiwan|新|🇸🇬|sg|singapore|日本|🇯🇵|jp|japan|俄罗斯|🇷🇺|RU|Russia|美|纽约|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States|德国|🇩🇪|DE|Germany|荷兰|🇳🇱|NL|Netherlands|印度|🇮🇳|IN|India|英国|🇬🇧|United Kingdom|法国|都柏林|🇫🇷|FR|France|加拿大|🇨🇦|CA|Canada|韩国|🇰🇷|KR|South Korea"}
backup: &backup {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], exclude-filter: "(?i)港|🇭🇰|hk|hongkong|hong kong|台|🇹🇼|tw|taiwan|新|🇸🇬|sg|singapore|日本|🇯🇵|jp|japan|美|纽约|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States|韩国|🇰🇷|KR|South Korea"}
# 自动筛选最快节点
fly: &fly {type: url-test, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|美|us|unitedstates|united states|韩国|🇰🇷|KR|South Korea"}
@ -146,7 +146,7 @@ fly: &fly {type: url-test, url: "http://www.google.com/generate_204", interval:
p: &p {type: http, interval: 21600, health-check: {enable: true, url: "http://www.google.com/generate_204", interval: 1800, filter: "(?i)^(?!unavailable).*$"}}
# 订阅节点关键字过滤
exclude-filter-list: &exclude-filter "剩余流量|距离下次重置剩余|套餐到期|跳转域名{请勿连接}|邀请好友|关注频道|收费就说明被骗了"
exclude-filter-list: &exclude-filter "网站|地址|剩余|过期|时间|有效|套餐|到期|官网|tg|邀请"
###结束建立锚点
@ -205,17 +205,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🇷🇺 俄罗斯节点
- 🇨🇦 加拿大节点
- 🇮🇳 印度节点
- 🇬🇧 英国节点
- 🇫🇷 法国节点
- 🇩🇪 德国节点
- 🇳🇱 荷兰节点
- 📌 全部节点
- 🚀 其他地区
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: "🇭🇰 香港节点"
<<: *all
@ -229,56 +220,18 @@ proxy-groups:
- name: "🇯🇵 日本节点"
<<: *all
filter: "(?i)日本|🇯🇵|jp|japan"
- name: "🇷🇺 俄罗斯节点"
<<: *all
filter: "(?i)俄罗斯|🇷🇺|RU|Russia"
- name: "🇰🇷 韩国节点"
<<: *all
filter: "(?i)韩国|🇰🇷|KR|South Korea"
- name: "🇺🇸 美国节点"
<<: *all
filter: "(?i)美|纽约|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States"
- name: "🇩🇪 德国节点"
<<: *all
filter: "(?i)德国|🇩🇪|DE|Germany"
- name: "🇳🇱 荷兰节点"
<<: *all
filter: "(?i)荷兰|🇳🇱|NL|Netherlands"
- name: "🇮🇳 印度节点"
<<: *all
filter: "(?i)印度|🇮🇳|IN|India"
- name: "🇬🇧 英国节点"
<<: *all
filter: "(?i)英国|🇬🇧|United Kingdom"
- name: "🇫🇷 法国节点"
<<: *all
filter: "(?i)法国|都柏林|🇫🇷|FR|France"
- name: "🇨🇦 加拿大节点"
<<: *all
filter: "(?i)加拿大|🇨🇦|CA|Canada"
- name: "🚀 其他地区"
type: select
<<: *backup
- name: "🎥 国际媒体"
type: select
proxies:
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 📌 全部节点
- 🚀 其他地区
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: "🎶 国际抖音"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -292,7 +245,6 @@ proxy-groups:
- name: 📹 油管视频
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -306,7 +258,6 @@ proxy-groups:
- name: "📺 网飞视频"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -320,7 +271,6 @@ proxy-groups:
- name: "🎬 迪士尼+"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -334,7 +284,6 @@ proxy-groups:
- name: "🤖 OpenAI"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -348,7 +297,6 @@ proxy-groups:
- name: "📡 电报服务"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
@ -385,7 +333,7 @@ proxy-groups:
- name: "🎧 声田音乐"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- ⭕️ 直连
- name: "💳 贝宝服务"
type: select
@ -436,20 +384,6 @@ proxy-groups:
<<: *all
- name: ♻️ 自动选择
<<: *fly
- name: 🔯 故障转移
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
<<: *all
- name: 🔮 负载均衡
type: load-balance
strategy: consistent-hashing
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
<<: *all
filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|美|us|unitedstates|united states|韩国|🇰🇷|KR|South Korea"
- name: "🐟 漏网之鱼"
type: select
proxies:
@ -460,12 +394,6 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🇨🇦 加拿大节点
- 🇮🇳 印度节点
- 🇬🇧 英国节点
- 🇫🇷 法国节点
- 🇩🇪 德国节点
- 🇳🇱 荷兰节点
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
@ -872,38 +800,38 @@ rules:
- RULE-SET,Youku,📽 国内媒体
- RULE-SET,WeTV,📽 国内媒体
# 国际媒体分组
- RULE-SET,Netflix,🎥 国际媒体 #📺 网飞视频
- RULE-SET,Disney Plus,🎥 国际媒体 #🎬 迪士尼+
- RULE-SET,Spotify,🎥 国际媒体 #🎧 声田音乐
- RULE-SET,YouTube Music,🎥 国际媒体
- RULE-SET,ABC,🎥 国际媒体
- RULE-SET,Abema TV,🎥 国际媒体
- RULE-SET,Amazon,🎥 国际媒体
- RULE-SET,Apple News,🎥 国际媒体
- RULE-SET,Apple TV,🎥 国际媒体
- RULE-SET,Bahamut,🎥 国际媒体
- RULE-SET,BBC iPlayer,🎥 国际媒体
- RULE-SET,DAZN,🎥 国际媒体
- RULE-SET,Discovery Plus,🎥 国际媒体
- RULE-SET,encoreTVB,🎥 国际媒体
- RULE-SET,F1 TV,🎥 国际媒体
- RULE-SET,Fox Now,🎥 国际媒体
- RULE-SET,Fox+,🎥 国际媒体
- RULE-SET,HBO Go,🎥 国际媒体
- RULE-SET,HBO Max,🎥 国际媒体
- RULE-SET,Hulu Japan,🎥 国际媒体
- RULE-SET,Hulu,🎥 国际媒体
- RULE-SET,Japonx,🎥 国际媒体
- RULE-SET,JOOX,🎥 国际媒体
- RULE-SET,KKBOX,🎥 国际媒体
- RULE-SET,KKTV,🎥 国际媒体
- RULE-SET,Line TV,🎥 国际媒体
- RULE-SET,myTV SUPER,🎥 国际媒体
- RULE-SET,Pandora,🎥 国际媒体
- RULE-SET,PBS,🎥 国际媒体
- RULE-SET,Pornhub,🎥 国际媒体
- RULE-SET,Soundcloud,🎥 国际媒体
- RULE-SET,ViuTV,🎥 国际媒体
- RULE-SET,Netflix,✈️ 国际代理 #📺 网飞视频
- RULE-SET,Disney Plus,✈️ 国际代理 #🎬 迪士尼+
- RULE-SET,Spotify,✈️ 国际代理 #🎧 声田音乐
- RULE-SET,YouTube Music,✈️ 国际代理
- RULE-SET,ABC,✈️ 国际代理
- RULE-SET,Abema TV,✈️ 国际代理
- RULE-SET,Amazon,✈️ 国际代理
- RULE-SET,Apple News,✈️ 国际代理
- RULE-SET,Apple TV,✈️ 国际代理
- RULE-SET,Bahamut,✈️ 国际代理
- RULE-SET,BBC iPlayer,✈️ 国际代理
- RULE-SET,DAZN,✈️ 国际代理
- RULE-SET,Discovery Plus,✈️ 国际代理
- RULE-SET,encoreTVB,✈️ 国际代理
- RULE-SET,F1 TV,✈️ 国际代理
- RULE-SET,Fox Now,✈️ 国际代理
- RULE-SET,Fox+,✈️ 国际代理
- RULE-SET,HBO Go,✈️ 国际代理
- RULE-SET,HBO Max,✈️ 国际代理
- RULE-SET,Hulu Japan,✈️ 国际代理
- RULE-SET,Hulu,✈️ 国际代理
- RULE-SET,Japonx,✈️ 国际代理
- RULE-SET,JOOX,✈️ 国际代理
- RULE-SET,KKBOX,✈️ 国际代理
- RULE-SET,KKTV,✈️ 国际代理
- RULE-SET,Line TV,✈️ 国际代理
- RULE-SET,myTV SUPER,✈️ 国际代理
- RULE-SET,Pandora,✈️ 国际代理
- RULE-SET,PBS,✈️ 国际代理
- RULE-SET,Pornhub,✈️ 国际代理
- RULE-SET,Soundcloud,✈️ 国际代理
- RULE-SET,ViuTV,✈️ 国际代理
# 苹果服务
- RULE-SET,Apple,🍎 苹果服务

View File

@ -137,26 +137,8 @@ filtered_lines: &filtered_lines # 处理重复节点
- *all
final_lines: *filtered_lines
# 备用应急
backup: &backup {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], filter: "(?i)津巴布韦|🇿🇼|ZW|Zimbabwe|越南|🇻🇳|VNVietnam|乌克兰|🇺🇦|UA|Ukraine|土耳其|🇹🇷|Turkey|法国|都柏林|🇫🇷|FR|France|阿根廷|🇦🇷|AR|Argentina|印度|🇮🇳|IN|India|加拿大|🇨🇦|CA|Canada|马来西亚|🇲🇾|MY|Malaysia|德国|🇩🇪|DE|Germany|荷兰|🇳🇱|NL|Netherlands|泰国|🇹🇭|TH|Thailand|澳大利亚|🇦🇺|AU|Australia|西班牙|🇪🇸|ES|Spain|爱沙尼亚|🇪🇪|EE|Estonia|英国|🇬🇧|United Kingdom|巴西|🇧🇷|BR|Brazil|印度|🇮🇳|IN|India|阿联酋迪拜|🇦🇪|AE|United Arab Emirates|南非|🇿🇦|ZA|South Africa|奥地利|🇦🇹|AT|Austria|哈萨克斯坦|🇰🇿|KZ|Kazakhstan|立陶宛|🇱🇹|LT|Lithuania|瑞士|🇨🇭|CH|Switzerland|瑞典|🇸🇪|SE|Sweden"}
# 亚洲地区
Asia: &Asia {type: selectk, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], filter: "(?i)阿富汗|🇦🇫|AF|Afghanistan|亚美尼亚|🇦🇲|AM|Armenia|阿塞拜疆|🇦🇿|AZ|Azerbaijan|孟加拉国|🇧🇩|BD|Bangladesh|不丹|🇧🇹|BT|Bhutan|文莱|🇧🇳|BN|Brunei|柬埔寨|🇰🇭|KH|Cambodia|中国|🇨🇳|CN|China|塞浦路斯|🇨🇾|CY|Cyprus|东帝汶|🇹🇱|TL|Timor-Leste|格鲁吉亚|🇬🇪|GE|Georgia|印度尼西亚|🇮🇩|ID|Indonesia|伊朗|🇮🇷|IR|Iran|伊拉克|🇮🇶|IQ|Iraq|以色列|🇮🇱|IL|Israel|约旦|🇯🇴|JO|Jordan|哈萨克斯坦|🇰🇿|KZ|Kazakhstan|科威特|🇰🇼|KW|Kuwait|吉尔吉斯斯坦|🇰🇬|KG|Kyrgyzstan|老挝|🇱🇦|LA|Laos|黎巴嫩|🇱🇧|LB|Lebanon|马来西亚|🇲🇾|MY|Malaysia|马尔代夫|🇲🇻|MV|Maldives|蒙古|🇲🇳|MN|Mongolia|缅甸|🇲🇲|MM|Myanmar|尼泊尔|🇳🇵|NP|Nepal|朝鲜|🇰🇵|KP|North Korea|阿曼|🇴🇲|OM|Oman|巴基斯坦|🇵🇰|PK|Pakistan|巴勒斯坦|🇵🇸|PS|Palestine|菲律宾|🇵🇭|PH|Philippines|卡塔尔|🇶🇦|QA|Qatar|沙特阿拉伯|🇸🇦|SA|Saudi Arabia|斯里兰卡|🇱🇰|LK|Sri Lanka|叙利亚|🇸🇾|SY|Syria|塔吉克斯坦|🇹🇯|TJ|Tajikistan|泰国|🇹🇭|TH|Thailand|土库曼斯坦|🇹🇲|TM|Turkmenistan|阿联酋|🇦🇪|AE|United Arab Emirates|乌兹别克斯坦|🇺🇿|UY|Uzbekistan|也门|🇾🇪|YE|Yemen|越南|🇻🇳|VNVietnam"}
# 欧洲地区
Europe: &Europe {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿尔巴尼亚|🇦🇱|AL|Albania|安道尔|🇦🇩|AD|Andorra|亚美尼亚|🇦🇲|AM|Armenia|奥地利|🇦🇹|AT|Austria|阿塞拜疆|🇦🇿|AZ|Azerbaijan|白俄罗斯|🇧🇾|BY|Belarus|比利时|🇧🇪|BE|Belgium|波黑|🇧🇦|BA|Bosnia and Herzegovina|保加利亚|🇧🇬|BG|Bulgaria|克罗地亚|🇭🇷|HR|Croatia|塞浦路斯|🇨🇾|CY|Cyprus|捷克|🇨🇿|CZ|Czech Republic|丹麦|🇩🇰|DK|Denmark|爱沙尼亚|🇪🇪|EE|Estonia|芬兰|🇫🇮|FI|Finland|格鲁吉亚|🇬🇪|GE|Georgia|希腊|🇬🇷|GR|Greece|匈牙利|🇭🇺|HU|Hungary|冰岛|🇮🇸|IS|Iceland|爱尔兰|🇮🇪|IE|Ireland|意大利|🇮🇹|IT|Italy|拉脱维亚|🇱🇻|LV|Latvia|列支敦士登|🇱🇮|LI|Liechtenstein|立陶宛|🇱🇹|LT|Lithuania|卢森堡|🇱🇺|LU|Luxembourg|马其顿|🇲🇰|MK|Macedonia|马耳他|🇲🇹|MT|Malta|摩尔多瓦|🇲🇩|MD|Moldova|摩纳哥|🇲🇨|MC|Monaco|黑山|🇲🇪|ME|Montenegro|挪威|🇳🇴|NO|Norway|波兰|🇵🇱|PL|Poland|葡萄牙|🇵🇹|PT|Portugal|罗马尼亚|🇷🇴|RO|Romania|圣马力诺|🇸🇲|SM|San Marino|塞尔维亚|🇷🇸|RS|Serbia|斯洛伐克|🇸🇰|SK|Slovakia|斯洛文尼亚|🇸🇮|SI|Slovenia|西班牙|🇪🇸|ES|Spain|瑞典|🇸🇪|SE|Sweden|瑞士|🇨🇭|CH|Switzerland|土耳其|🇹🇷|TR|Turkey|乌克兰|🇺🇦|UA|Ukraine|梵蒂冈|🇻🇦|VA|Vatican City"}
# 北美洲地区
America: &America {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)安提瓜和巴布达|🇦🇬|AG|Antigua and Barbuda|巴哈马|🇧🇸|BS|Bahamas|巴巴多斯|🇧🇧|BB|Barbados|伯利兹|🇧🇿|BZ|Belize|哥斯达黎加|🇨🇷|CR|Costa Rica|古巴|🇨🇺|CU|Cuba|多米尼克|🇩🇲|DM|Dominica|多米尼加|🇩🇴|DO|Dominican Republic|萨尔瓦多|🇸🇻|SV|El Salvador|格林纳达|🇬🇩|GD|Grenada|危地马拉|🇬🇹|GT|Guatemala|海地|🇭🇹|HT|Haiti|洪都拉斯|🇭🇳|HN|Honduras|牙买加|🇯🇲|JM|Jamaica|墨西哥|🇲🇽|MX|Mexico|尼加拉瓜|🇳🇮|NI|Nicaragua|巴拿马|🇵🇦|PA|Panama|圣基茨和尼维斯|🇰🇳|KN|Saint Kitts and Nevis|圣卢西亚|🇱🇨|LC|Saint Lucia|圣文森特和格林纳丁斯|🇻🇨|VC|Saint Vincent and the Grenadines|特立尼达和多巴哥|🇹🇹|TT|Trinidad and Tobago"}
# 南美洲地区
Oceania: &Oceania {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿根廷|🇦🇷|AR|Argentina|玻利维亚|🇧🇴|BO|Bolivia|巴西|🇧🇷|BR|Brazil|智利|🇨🇱|CL|Chile|哥伦比亚|🇨🇴|CO|Colombia|厄瓜多尔|🇪🇨|EC|Ecuador|圭亚那|🇬🇾|GY|Guyana|巴拉圭|🇵🇾|PY|Paraguay|秘鲁|🇵🇪|PE|Peru|苏里南|🇸🇷|SR|Suriname|特立尼达和多巴哥|🇹🇹|TT|Trinidad and Tobago|乌拉圭|🇺🇾|UY|Uruguay|委内瑞拉|🇻🇪|VE|Venezuela"}
# 非洲地区
Africa: &Africa {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿尔及利亚|🇩🇿|DZ|Algeria|安哥拉|🇦🇴|AO|Angola|贝宁|🇧🇯|BJ|Benin|博茨瓦纳|🇧🇼|BW|Botswana|布基纳法索|🇧🇫|BF|Burkina Faso|布隆迪|🇧🇮|BI|Burundi|佛得角|🇨🇻|CV|Cape Verde|喀麦隆|🇨🇲|CM|Cameroon|中非共和国|🇨🇫|CF|Central African Republic|乍得|🇹🇩|TD|Chad|科摩罗|🇰🇲|KM|Comoros|刚果(布)|🇨🇬|CG|Congo (Brazzaville)|刚果(金)|🇨🇩|CD|Congo (Kinshasa)|科特迪瓦|🇨🇮|CI|Ivory Coast|吉布提|🇩🇯|DJ|Djibouti|埃及|🇪🇬|EG|Egypt|赤道几内亚|🇬🇶|GQ|Equatorial Guinea|厄立特里亚|🇪🇷|ER|Eritrea|埃塞俄比亚|🇪🇹|ET|Ethiopia|加蓬|🇬🇦|GA|Gabon|冈比亚|🇬🇲|GM|Gambia|加纳|🇬🇭|GH|Ghana|几内亚|🇬🇳|GN|Guinea|几内亚比绍|🇬🇼|GW|Guinea-Bissau|肯尼亚|🇰🇪|KE|Kenya|莱索托|🇱🇸|LS|Lesotho|利比里亚|🇱🇷|LR|Liberia|利比亚|🇱🇾|LY|Libya|马达加斯加|🇲🇬|MG|Madagascar|马拉维|🇲🇼|MW|Malawi|马里|🇲🇱|ML|Mali|毛里塔尼亚|🇲🇷|MR|Mauritania|毛里求斯|🇲🇺|MU|Mauritius|摩洛哥|🇲🇦|MA|Morocco|莫桑比克|🇲🇿|MZ|Mozambique|纳米比亚|🇳🇦|NA|Namibia|尼日尔|🇳🇪|NE|Niger|尼日利亚|🇳🇬|NG|Nigeria|卢旺达|🇷🇼|RW|Rwanda|圣多美和普林西比|🇸🇹|ST|São Tomé and Príncipe|塞内加尔|🇸🇳|SN|Senegal|塞舌尔|🇸🇨|SC|Seychelles|塞拉利昂|🇸🇱|SL|Sierra Leone|索马里|🇸🇴|SO|Somalia|南非|🇿🇦|ZA|South Africa|南苏丹|🇸🇸|SS|South Sudan|苏丹|🇸🇩|SD|Sudan|坦桑尼亚|🇹🇿|TZ|Tanzania|多哥|🇹🇬|TG|Togo|突尼斯|🇹🇳|TN|Tunisia|乌干达|🇺🇬|UG|Uganda|赞比亚|🇿🇲|ZM|Zambia|津巴布韦|🇿🇼|ZW|Zimbabwe"}
# 精选节点
best: &best {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|美国|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States|韩国|🇰🇷|KR|South Korea"}
# 其他地区
backup: &backup {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], exclude-filter: "(?i)港|🇭🇰|hk|hongkong|hong kong|台|🇹🇼|tw|taiwan|新|🇸🇬|sg|singapore|日本|🇯🇵|jp|japan|俄罗斯|🇷🇺|RU|Russia|美|纽约|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States|德国|🇩🇪|DE|Germany|荷兰|🇳🇱|NL|Netherlands|印度|🇮🇳|IN|India|英国|🇬🇧|United Kingdom|法国|都柏林|🇫🇷|FR|France|加拿大|🇨🇦|CA|Canada|韩国|🇰🇷|KR|South Korea"}
# 自动筛选最快节点
fly: &fly {type: url-test, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|美|us|unitedstates|united states|韩国|🇰🇷|KR|South Korea"}
@ -216,47 +198,25 @@ proxy-groups:
interval: 300
tolerance: 50
proxies:
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: 🌍️亚洲地区
type: select
proxies:
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🇷🇺 俄罗斯节点
- 🇨🇦 加拿大节点
- 🇮🇳 印度节点
<<: *Asia
- name: 🌍欧洲地区
type: select
proxies:
- 🇬🇧 英国节点
- 🇫🇷 法国节点
- 🇩🇪 德国节点
- 🇳🇱 荷兰节点
<<: *Europe
- name: 🌍非洲地区
type: select
<<: *Africa
- name: 🌍️北美洲地区
type: select
proxies:
- 🇺🇸 美国节点
- 🇨🇦 加拿大节点
<<: *America
- name: 🌍️南美洲地区
type: select
<<: *Oceania
- 📌 全部节点
- 🚀 其他地区
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: "🇭🇰 香港节点"
<<: *all
filter: "(?i)港|🇭🇰|hk|hongkong|hong kong"
@ -296,6 +256,9 @@ proxy-groups:
- name: "🇨🇦 加拿大节点"
<<: *all
filter: "(?i)加拿大|🇨🇦|CA|Canada"
- name: "🚀 其他地区"
type: select
<<: *backup
- name: "🎥 国际媒体"
type: select
proxies:
@ -306,8 +269,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
@ -323,13 +286,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: 📹 油管视频
type: select
@ -342,13 +300,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: "📺 网飞视频"
type: select
@ -361,13 +314,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: "🎬 迪士尼+"
type: select
@ -380,13 +328,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: "🤖 OpenAI"
type: select
@ -399,13 +342,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: "📡 电报服务"
type: select
@ -418,13 +356,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
- name: "🍎 苹果服务"
type: select
@ -437,13 +370,8 @@ proxy-groups:
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 📌 全部节点
- 🚀 其他地区
- name: "Ⓜ️ 微软服务"
type: select
proxies:
@ -469,7 +397,6 @@ proxy-groups:
proxies:
- 📽 国内媒体
- ⭕️ 直连
- name: "🌏 大陆网络"
type: select
proxies:
@ -479,7 +406,12 @@ proxy-groups:
type: select
proxies:
- 🌏 大陆网络
- 🌍️亚洲地区
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- name: "🆎 广告拦截"
type: select
proxies:
@ -499,12 +431,9 @@ proxy-groups:
interval: 300
proxies:
<<: *all
- name: "📌 精选节点"
- name: "📌 全部节点"
type: select
<<: *best
- name: "🚀 备用应急"
type: select
<<: *backup
<<: *all
- name: ♻️ 自动选择
<<: *fly
- name: 🔯 故障转移
@ -525,13 +454,20 @@ proxy-groups:
type: select
proxies:
- ✈️ 国际代理
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🇨🇦 加拿大节点
- 🇮🇳 印度节点
- 🇬🇧 英国节点
- 🇫🇷 法国节点
- 🇩🇪 德国节点
- 🇳🇱 荷兰节点
- 📌 全部节点
- 🚀 其他地区
- ⭕️ 直连
rule-providers:
# 直连和广告拦截

View File

@ -0,0 +1,992 @@
# 2024年09月13日 13:40 By:𝐓𝐮𝐚̂𝐧 𝐁𝐞́ UTC/GMT +8
redir-port: 7892
port: 7890
socks-port: 7891
mixed-port: 7893
mode: rule
log-level: info
allow-lan: true
unified-delay: true
external-controller: 0.0.0.0:9090
secret: Akun
bind-address: 0.0.0.0
external-ui: ui
tproxy-port: 7895
tcp-concurrent: true
enable-process: true
find-process-mode: always
ipv6: true
experimental:
ignore-resolve-fail: true
sniff-tls-sni: true
tracing: true
hosts:
"localhost": 127.0.0.1
profile:
store-selected: true
store-fake-ip: true
sniffer:
enable: true
sniff:
http: { ports: [1-442, 444-8442, 8444-65535], override-destination: true }
tls: { ports: [1-79, 81-8079, 8081-65535], override-destination: true }
force-domain:
- "+.v2ex.com"
- www.google.com
- google.com
skip-domain:
- Mijia Cloud
- dlg.io.mi.com
sniffing:
- tls
- http
port-whitelist:
- "80"
- "443"
tun:
enable: true
prefer-h3: true
listen: 0.0.0.0:53
stack: gvisor
dns-hijack:
- "any:53"
- "tcp://any:53"
auto-redir: true
auto-route: true
auto-detect-interface: true
dns:
enable: true
ipv6: true
default-nameserver:
- '1.1.1.1'
- '8.8.8.8'
enhanced-mode: fake-ip
fake-ip-range: 198.18.0.1/16
fake-ip-filter:
- 'stun.*.*'
- 'stun.*.*.*'
- '+.stun.*.*'
- '+.stun.*.*.*'
- '+.stun.*.*.*.*'
- '+.stun.*.*.*.*.*'
- '*.lan'
- '+.msftncsi.com'
- msftconnecttest.com
- 'time?.*.com'
- 'time.*.com'
- 'time.*.gov'
- 'time.*.apple.com'
- time-ios.apple.com
- 'time1.*.com'
- 'time2.*.com'
- 'time3.*.com'
- 'time4.*.com'
- 'time5.*.com'
- 'time6.*.com'
- 'time7.*.com'
- 'ntp?.*.com'
- 'ntp.*.com'
- 'ntp1.*.com'
- 'ntp2.*.com'
- 'ntp3.*.com'
- 'ntp4.*.com'
- 'ntp5.*.com'
- 'ntp6.*.com'
- 'ntp7.*.com'
- '+.pool.ntp.org'
- '+.ipv6.microsoft.com'
- speedtest.cros.wr.pvp.net
- network-test.debian.org
- detectportal.firefox.com
- cable.auth.com
- miwifi.com
- routerlogin.com
- routerlogin.net
- tendawifi.com
- tendawifi.net
- tplinklogin.net
- tplinkwifi.net
- '*.xiami.com'
- tplinkrepeater.net
- router.asus.com
- '*.*.*.srv.nintendo.net'
- '*.*.stun.playstation.net'
- '*.openwrt.pool.ntp.org'
- resolver1.opendns.com
- 'GC._msDCS.*.*'
- 'DC._msDCS.*.*'
- 'PDC._msDCS.*.*'
use-hosts: true
nameserver:
- '8.8.4.4'
- '1.0.0.1'
- "https://1.0.0.1/dns-query"
- "https://8.8.4.4/dns-query"
###开始建立锚点
# 所有节点
all: &all {type: select, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8]}
filtered_lines: &filtered_lines # 处理重复节点
- *all
final_lines: *filtered_lines
# 备用应急
backup: &backup {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], filter: "(?i)津巴布韦|🇿🇼|ZW|Zimbabwe|越南|🇻🇳|VNVietnam|乌克兰|🇺🇦|UA|Ukraine|土耳其|🇹🇷|Turkey|法国|都柏林|🇫🇷|FR|France|阿根廷|🇦🇷|AR|Argentina|印度|🇮🇳|IN|India|加拿大|🇨🇦|CA|Canada|马来西亚|🇲🇾|MY|Malaysia|德国|🇩🇪|DE|Germany|荷兰|🇳🇱|NL|Netherlands|泰国|🇹🇭|TH|Thailand|澳大利亚|🇦🇺|AU|Australia|西班牙|🇪🇸|ES|Spain|爱沙尼亚|🇪🇪|EE|Estonia|英国|🇬🇧|United Kingdom|巴西|🇧🇷|BR|Brazil|印度|🇮🇳|IN|India|阿联酋迪拜|🇦🇪|AE|United Arab Emirates|南非|🇿🇦|ZA|South Africa|奥地利|🇦🇹|AT|Austria|哈萨克斯坦|🇰🇿|KZ|Kazakhstan|立陶宛|🇱🇹|LT|Lithuania|瑞士|🇨🇭|CH|Switzerland|瑞典|🇸🇪|SE|Sweden"}
# 亚洲地区
Asia: &Asia {type: selectk, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8], filter: "(?i)阿富汗|🇦🇫|AF|Afghanistan|亚美尼亚|🇦🇲|AM|Armenia|阿塞拜疆|🇦🇿|AZ|Azerbaijan|孟加拉国|🇧🇩|BD|Bangladesh|不丹|🇧🇹|BT|Bhutan|文莱|🇧🇳|BN|Brunei|柬埔寨|🇰🇭|KH|Cambodia|中国|🇨🇳|CN|China|塞浦路斯|🇨🇾|CY|Cyprus|东帝汶|🇹🇱|TL|Timor-Leste|格鲁吉亚|🇬🇪|GE|Georgia|印度尼西亚|🇮🇩|ID|Indonesia|伊朗|🇮🇷|IR|Iran|伊拉克|🇮🇶|IQ|Iraq|以色列|🇮🇱|IL|Israel|约旦|🇯🇴|JO|Jordan|哈萨克斯坦|🇰🇿|KZ|Kazakhstan|科威特|🇰🇼|KW|Kuwait|吉尔吉斯斯坦|🇰🇬|KG|Kyrgyzstan|老挝|🇱🇦|LA|Laos|黎巴嫩|🇱🇧|LB|Lebanon|马来西亚|🇲🇾|MY|Malaysia|马尔代夫|🇲🇻|MV|Maldives|蒙古|🇲🇳|MN|Mongolia|缅甸|🇲🇲|MM|Myanmar|尼泊尔|🇳🇵|NP|Nepal|朝鲜|🇰🇵|KP|North Korea|阿曼|🇴🇲|OM|Oman|巴基斯坦|🇵🇰|PK|Pakistan|巴勒斯坦|🇵🇸|PS|Palestine|菲律宾|🇵🇭|PH|Philippines|卡塔尔|🇶🇦|QA|Qatar|沙特阿拉伯|🇸🇦|SA|Saudi Arabia|斯里兰卡|🇱🇰|LK|Sri Lanka|叙利亚|🇸🇾|SY|Syria|塔吉克斯坦|🇹🇯|TJ|Tajikistan|泰国|🇹🇭|TH|Thailand|土库曼斯坦|🇹🇲|TM|Turkmenistan|阿联酋|🇦🇪|AE|United Arab Emirates|乌兹别克斯坦|🇺🇿|UY|Uzbekistan|也门|🇾🇪|YE|Yemen|越南|🇻🇳|VNVietnam"}
# 欧洲地区
Europe: &Europe {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿尔巴尼亚|🇦🇱|AL|Albania|安道尔|🇦🇩|AD|Andorra|亚美尼亚|🇦🇲|AM|Armenia|奥地利|🇦🇹|AT|Austria|阿塞拜疆|🇦🇿|AZ|Azerbaijan|白俄罗斯|🇧🇾|BY|Belarus|比利时|🇧🇪|BE|Belgium|波黑|🇧🇦|BA|Bosnia and Herzegovina|保加利亚|🇧🇬|BG|Bulgaria|克罗地亚|🇭🇷|HR|Croatia|塞浦路斯|🇨🇾|CY|Cyprus|捷克|🇨🇿|CZ|Czech Republic|丹麦|🇩🇰|DK|Denmark|爱沙尼亚|🇪🇪|EE|Estonia|芬兰|🇫🇮|FI|Finland|格鲁吉亚|🇬🇪|GE|Georgia|希腊|🇬🇷|GR|Greece|匈牙利|🇭🇺|HU|Hungary|冰岛|🇮🇸|IS|Iceland|爱尔兰|🇮🇪|IE|Ireland|意大利|🇮🇹|IT|Italy|拉脱维亚|🇱🇻|LV|Latvia|列支敦士登|🇱🇮|LI|Liechtenstein|立陶宛|🇱🇹|LT|Lithuania|卢森堡|🇱🇺|LU|Luxembourg|马其顿|🇲🇰|MK|Macedonia|马耳他|🇲🇹|MT|Malta|摩尔多瓦|🇲🇩|MD|Moldova|摩纳哥|🇲🇨|MC|Monaco|黑山|🇲🇪|ME|Montenegro|挪威|🇳🇴|NO|Norway|波兰|🇵🇱|PL|Poland|葡萄牙|🇵🇹|PT|Portugal|罗马尼亚|🇷🇴|RO|Romania|圣马力诺|🇸🇲|SM|San Marino|塞尔维亚|🇷🇸|RS|Serbia|斯洛伐克|🇸🇰|SK|Slovakia|斯洛文尼亚|🇸🇮|SI|Slovenia|西班牙|🇪🇸|ES|Spain|瑞典|🇸🇪|SE|Sweden|瑞士|🇨🇭|CH|Switzerland|土耳其|🇹🇷|TR|Turkey|乌克兰|🇺🇦|UA|Ukraine|梵蒂冈|🇻🇦|VA|Vatican City"}
# 北美洲地区
America: &America {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)安提瓜和巴布达|🇦🇬|AG|Antigua and Barbuda|巴哈马|🇧🇸|BS|Bahamas|巴巴多斯|🇧🇧|BB|Barbados|伯利兹|🇧🇿|BZ|Belize|哥斯达黎加|🇨🇷|CR|Costa Rica|古巴|🇨🇺|CU|Cuba|多米尼克|🇩🇲|DM|Dominica|多米尼加|🇩🇴|DO|Dominican Republic|萨尔瓦多|🇸🇻|SV|El Salvador|格林纳达|🇬🇩|GD|Grenada|危地马拉|🇬🇹|GT|Guatemala|海地|🇭🇹|HT|Haiti|洪都拉斯|🇭🇳|HN|Honduras|牙买加|🇯🇲|JM|Jamaica|墨西哥|🇲🇽|MX|Mexico|尼加拉瓜|🇳🇮|NI|Nicaragua|巴拿马|🇵🇦|PA|Panama|圣基茨和尼维斯|🇰🇳|KN|Saint Kitts and Nevis|圣卢西亚|🇱🇨|LC|Saint Lucia|圣文森特和格林纳丁斯|🇻🇨|VC|Saint Vincent and the Grenadines|特立尼达和多巴哥|🇹🇹|TT|Trinidad and Tobago"}
# 南美洲地区
Oceania: &Oceania {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿根廷|🇦🇷|AR|Argentina|玻利维亚|🇧🇴|BO|Bolivia|巴西|🇧🇷|BR|Brazil|智利|🇨🇱|CL|Chile|哥伦比亚|🇨🇴|CO|Colombia|厄瓜多尔|🇪🇨|EC|Ecuador|圭亚那|🇬🇾|GY|Guyana|巴拉圭|🇵🇾|PY|Paraguay|秘鲁|🇵🇪|PE|Peru|苏里南|🇸🇷|SR|Suriname|特立尼达和多巴哥|🇹🇹|TT|Trinidad and Tobago|乌拉圭|🇺🇾|UY|Uruguay|委内瑞拉|🇻🇪|VE|Venezuela"}
# 非洲地区
Africa: &Africa {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)阿尔及利亚|🇩🇿|DZ|Algeria|安哥拉|🇦🇴|AO|Angola|贝宁|🇧🇯|BJ|Benin|博茨瓦纳|🇧🇼|BW|Botswana|布基纳法索|🇧🇫|BF|Burkina Faso|布隆迪|🇧🇮|BI|Burundi|佛得角|🇨🇻|CV|Cape Verde|喀麦隆|🇨🇲|CM|Cameroon|中非共和国|🇨🇫|CF|Central African Republic|乍得|🇹🇩|TD|Chad|科摩罗|🇰🇲|KM|Comoros|刚果(布)|🇨🇬|CG|Congo (Brazzaville)|刚果(金)|🇨🇩|CD|Congo (Kinshasa)|科特迪瓦|🇨🇮|CI|Ivory Coast|吉布提|🇩🇯|DJ|Djibouti|埃及|🇪🇬|EG|Egypt|赤道几内亚|🇬🇶|GQ|Equatorial Guinea|厄立特里亚|🇪🇷|ER|Eritrea|埃塞俄比亚|🇪🇹|ET|Ethiopia|加蓬|🇬🇦|GA|Gabon|冈比亚|🇬🇲|GM|Gambia|加纳|🇬🇭|GH|Ghana|几内亚|🇬🇳|GN|Guinea|几内亚比绍|🇬🇼|GW|Guinea-Bissau|肯尼亚|🇰🇪|KE|Kenya|莱索托|🇱🇸|LS|Lesotho|利比里亚|🇱🇷|LR|Liberia|利比亚|🇱🇾|LY|Libya|马达加斯加|🇲🇬|MG|Madagascar|马拉维|🇲🇼|MW|Malawi|马里|🇲🇱|ML|Mali|毛里塔尼亚|🇲🇷|MR|Mauritania|毛里求斯|🇲🇺|MU|Mauritius|摩洛哥|🇲🇦|MA|Morocco|莫桑比克|🇲🇿|MZ|Mozambique|纳米比亚|🇳🇦|NA|Namibia|尼日尔|🇳🇪|NE|Niger|尼日利亚|🇳🇬|NG|Nigeria|卢旺达|🇷🇼|RW|Rwanda|圣多美和普林西比|🇸🇹|ST|São Tomé and Príncipe|塞内加尔|🇸🇳|SN|Senegal|塞舌尔|🇸🇨|SC|Seychelles|塞拉利昂|🇸🇱|SL|Sierra Leone|索马里|🇸🇴|SO|Somalia|南非|🇿🇦|ZA|South Africa|南苏丹|🇸🇸|SS|South Sudan|苏丹|🇸🇩|SD|Sudan|坦桑尼亚|🇹🇿|TZ|Tanzania|多哥|🇹🇬|TG|Togo|突尼斯|🇹🇳|TN|Tunisia|乌干达|🇺🇬|UG|Uganda|赞比亚|🇿🇲|ZM|Zambia|津巴布韦|🇿🇼|ZW|Zimbabwe"}
# 精选节点
best: &best {type: select, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|美国|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States|韩国|🇰🇷|KR|South Korea"}
# 自动筛选最快节点
fly: &fly {type: url-test, url: "http://www.google.com/generate_204", interval: 300, tolerance: 50, lazy: true, use: [订阅 1, 订阅 2, 订阅 3, 订阅 4, 订阅 5, 订阅 6, 订阅 7, 订阅 8],filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|美|us|unitedstates|united states|韩国|🇰🇷|KR|South Korea"}
# 订阅更新和延迟测试相关
p: &p {type: http, interval: 21600, health-check: {enable: true, url: "http://www.google.com/generate_204", interval: 1800, filter: "(?i)^(?!unavailable).*$"}}
# 订阅节点关键字过滤
exclude-filter-list: &exclude-filter "剩余流量|距离下次重置剩余|套餐到期|跳转域名{请勿连接}|邀请好友|关注频道|收费就说明被骗了"
###结束建立锚点
proxy-providers: # Meta支持机场通用订阅 直接替换 url 后方链接使用
订阅 1:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_1.yaml
exclude-filter: *exclude-filter
订阅 2:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_2.yaml
exclude-filter: *exclude-filter
订阅 3:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_3.yaml
exclude-filter: *exclude-filter
订阅 4:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_4.yaml
exclude-filter: *exclude-filter
订阅 5: #
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_5.yaml
exclude-filter: *exclude-filter
订阅 6:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_6.yaml
exclude-filter: *exclude-filter
订阅 7:
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_7.yaml
exclude-filter: *exclude-filter
订阅 8: # 手动添加节点使用
<<: *p
url: "机场订阅"
path: ./proxy_provider/subscription_8.json
exclude-filter: *exclude-filter
proxy-groups:
- name: "✈️ 国际代理"
type: select
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
proxies:
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: 🌍️亚洲地区
type: select
proxies:
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇮🇳 印度节点
<<: *Asia
- name: 🌍欧洲地区
type: select
proxies:
- 🇬🇧 英国节点
- 🇫🇷 法国节点
- 🇩🇪 德国节点
- 🇳🇱 荷兰节点
<<: *Europe
- name: 🌍非洲地区
type: select
<<: *Africa
- name: 🌍️北美洲地区
type: select
proxies:
- 🇺🇸 美国节点
- 🇨🇦 加拿大节点
<<: *America
- name: 🌍️南美洲地区
type: select
<<: *Oceania
- name: "🇭🇰 香港节点"
<<: *all
filter: "(?i)港|🇭🇰|hk|hongkong|hong kong"
- name: "🇹🇼 台湾节点"
<<: *all
filter: "(?i)台|🇹🇼|tw|taiwan"
- name: "🇸🇬 新加坡节点"
<<: *all
filter: "(?i)新|🇸🇬|sg|singapore"
- name: "🇯🇵 日本节点"
<<: *all
filter: "(?i)日本|🇯🇵|jp|japan"
- name: "🇷🇺 俄罗斯节点"
<<: *all
filter: "(?i)俄罗斯|🇷🇺|RU|Russia"
- name: "🇰🇷 韩国节点"
<<: *all
filter: "(?i)韩国|🇰🇷|KR|South Korea"
- name: "🇺🇸 美国节点"
<<: *all
filter: "(?i)美|纽约|🇺🇲|UM|U.S. Outlying Islands|🇺🇳|UN|United Nations|洛杉矶|芝加哥|达拉斯|🇺🇸|US|United States"
- name: "🇩🇪 德国节点"
<<: *all
filter: "(?i)德国|🇩🇪|DE|Germany"
- name: "🇳🇱 荷兰节点"
<<: *all
filter: "(?i)荷兰|🇳🇱|NL|Netherlands"
- name: "🇮🇳 印度节点"
<<: *all
filter: "(?i)印度|🇮🇳|IN|India"
- name: "🇬🇧 英国节点"
<<: *all
filter: "(?i)英国|🇬🇧|United Kingdom"
- name: "🇫🇷 法国节点"
<<: *all
filter: "(?i)法国|都柏林|🇫🇷|FR|France"
- name: "🇨🇦 加拿大节点"
<<: *all
filter: "(?i)加拿大|🇨🇦|CA|Canada"
- name: "🎥 国际媒体"
type: select
proxies:
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 📌 精选节点
- 🚀 备用应急
- ♻️ 自动选择
- 🔯 故障转移
- 🔮 负载均衡
- ⭕️ 直连
- name: "🎶 国际抖音"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: 📹 油管视频
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: "📺 网飞视频"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: "🎬 迪士尼+"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: "🤖 OpenAI"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: "📡 电报服务"
type: select
proxies:
- 🎥 国际媒体
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
- name: "🍎 苹果服务"
type: select
proxies:
- ⭕️ 直连
- ✈️ 国际代理
- 🇭🇰 香港节点
- 🇹🇼 台湾节点
- 🇸🇬 新加坡节点
- 🇯🇵 日本节点
- 🇰🇷 韩国节点
- 🇺🇸 美国节点
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- name: "Ⓜ️ 微软服务"
type: select
proxies:
- ⭕️ 直连
- ✈️ 国际代理
- name: "🎮 游戏平台"
type: select
proxies:
- ✈️ 国际代理
- ⭕️ 直连
- name: "🎧 声田音乐"
type: select
proxies:
- 🎥 国际媒体
- ⭕️ 直连
- name: "💳 贝宝服务"
type: select
proxies:
- ✈️ 国际代理
- ⭕️ 直连
- name: "🎵 网易云音乐"
type: select
proxies:
- 📽 国内媒体
- ⭕️ 直连
- name: "🌏 大陆网络"
type: select
proxies:
- ⭕️ 直连
- ✈️ 国际代理
- name: "📽 国内媒体"
type: select
proxies:
- 🌏 大陆网络
- 🌍️亚洲地区
- name: "🆎 广告拦截"
type: select
proxies:
- ❌ 拦截
- ⭕️ 直连
- name: "⭕️ 直连"
type: select
proxies:
- DIRECT
- name: "❌ 拦截"
type: select
proxies:
- REJECT
- name: "⏳ 网速测试"
type: select
url: http://www.google.com/generate_204
interval: 300
proxies:
<<: *all
- name: "📌 精选节点"
type: select
<<: *best
- name: "🚀 备用应急"
type: select
<<: *backup
- name: ♻️ 自动选择
<<: *fly
- name: 🔯 故障转移
type: fallback
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
<<: *all
- name: 🔮 负载均衡
type: load-balance
strategy: consistent-hashing
url: http://www.gstatic.com/generate_204
interval: 300
tolerance: 50
<<: *all
filter: "(?i)港|hk|hongkong|hong kong|台|tw|taiwan|日本|jp|japan|新|sg|singapore|美|us|unitedstates|united states|韩国|🇰🇷|KR|South Korea"
- name: "🐟 漏网之鱼"
type: select
proxies:
- ✈️ 国际代理
- 🌍️亚洲地区
- 🌍欧洲地区
- 🌍非洲地区
- 🌍️南美洲地区
- 🌍️北美洲地区
- 📌 精选节点
- 🚀 备用应急
- ⭕️ 直连
rule-providers:
# 直连和广告拦截
Special:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Special.yaml
path: ./rule_provider/Special.yaml
interval: 86400
Reject:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Reject.yaml
path: ./rule_provider/Reject.yaml
interval: 86400
AD:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/AD.yaml"
path: ./rule_provider/AD.yaml
interval: 86400
EasyList:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/EasyList.yaml"
path: ./rule_provider/EasyList.yaml
interval: 86400
EasyListChina:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/EasyListChina.yaml"
path: ./rule_provider/EasyListChina.yaml
interval: 86400
EasyPrivacy:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/EasyPrivacy.yaml"
path: ./rule_provider/EasyPrivacy.yaml
interval: 86400
ProgramAD:
type: http
behavior: domain
url: "https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/ProgramAD.yaml"
path: ./rule_provider/ProgramAD.yaml
interval: 86400
# 国内媒体分组
Bilibili:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Bilibili.yaml
path: ./rule_provider/Bilibili.yaml
interval: 86400
IQ:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/IQ.yaml
path: ./rule_provider/IQI.yaml
interval: 86400
IQIYI:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/IQIYI.yaml
path: ./rule_provider/IQYI.yaml
interval: 86400
Letv:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Letv.yaml
path: ./rule_provider/Letv.yaml
interval: 86400
Netease Music:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Netease%20Music.yaml
path: ./rule_provider/Netease_Music.yaml
interval: 86400
Tencent Video:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Tencent%20Video.yaml
path: ./rule_provider/Tencent_Video.yaml
interval: 86400
Youku:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Youku.yaml
path: ./rule_provider/Youku.yaml
interval: 86400
WeTV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/WeTV.yaml
path: ./rule_provider/WeTV.yaml
interval: 86400
# 国际媒体分组
ABC:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/ABC.yaml
path: ./rule_provider/ABC.yaml
interval: 86400
Abema TV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Abema%20TV.yaml
path: ./rule_provider/Abema_TV.yaml
interval: 86400
Amazon:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Amazon.yaml
path: ./rule_provider/Amazon.yaml
interval: 86400
Apple Music:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Apple%20Music.yaml
path: ./rule_provider/Apple_Music.yaml
interval: 86400
Apple News:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Apple%20News.yaml
path: ./rule_provider/Apple_News.yaml
interval: 86400
Apple TV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Apple%20TV.yaml
path: ./rule_provider/Apple_TV.yaml
interval: 86400
Bahamut:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Bahamut.yaml
path: ./rule_provider/Bahamut.yaml
interval: 86400
BBC iPlayer:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/BBC%20iPlayer.yaml
path: ./rule_provider/BBC_iPlayer.yaml
interval: 86400
DAZN:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/DAZN.yaml
path: ./rule_provider/DAZN.yaml
interval: 86400
Discovery Plus:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Discovery%20Plus.yaml
path: ./rule_provider/Discovery_Plus.yaml
interval: 86400
Disney Plus:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Disney%20Plus.yaml
path: ./rule_provider/Disney_Plus.yaml
interval: 86400
encoreTVB:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/encoreTVB.yaml
path: ./rule_provider/encoreTVB.yaml
interval: 86400
F1 TV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/F1%20TV.yaml
path: ./rule_provider/F1_TV.yaml
interval: 86400
Fox Now:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Fox%20Now.yaml
path: ./rule_provider/Fox_Now.yaml
interval: 86400
Fox+:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Fox%2B.yaml
path: ./rule_provider/Fox+.yaml
interval: 86400
HBO Go:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/HBO%20Go.yaml
path: ./rule_provider/HBO_Go.yaml
interval: 86400
HBO Max:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/HBO%20Max.yaml
path: ./rule_provider/HBO_Max.yaml
interval: 86400
Hulu Japan:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Hulu%20Japan.yaml
path: ./rule_provider/Hulu_Japan.yaml
interval: 86400
Hulu:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Hulu.yaml
path: ./rule_provider/Hulu.yaml
interval: 86400
Japonx:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Japonx.yaml
path: ./rule_provider/Japonx.yaml
interval: 86400
JOOX:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/JOOX.yaml
path: ./rule_provider/JOOX.yaml
interval: 86400
KKBOX:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/KKBOX.yaml
path: ./rule_provider/KKBOX.yaml
interval: 86400
KKTV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/KKTV.yaml
path: ./rule_provider/KKTV.yaml
interval: 86400
Line TV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Line%20TV.yaml
path: ./rule_provider/Line_TV.yaml
interval: 86400
myTV SUPER:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/myTV%20SUPER.yaml
path: ./rule_provider/myTV_SUPER.yaml
interval: 86400
Netflix:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Netflix.yaml
path: ./rule_provider/Netflix.yaml
interval: 86400
Pandora:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Pandora.yaml
path: ./rule_provider/Pandora.yaml
interval: 86400
PBS:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/PBS.yaml
path: ./rule_provider/PBS.yaml
interval: 86400
Pornhub:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Pornhub.yaml
path: ./rule_provider/Pornhub.yaml
interval: 86400
Soundcloud:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Soundcloud.yaml
path: ./rule_provider/Soundcloud.yaml
interval: 86400
Spotify:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/Spotify.yaml
path: ./rule_provider/Spotify.yaml
interval: 86400
ViuTV:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/ViuTV.yaml
path: ./rule_provider/ViuTV.yaml
interval: 86400
YouTube:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/YouTube.yaml
path: ./rule_provider/YouTube.yaml
interval: 86400
YouTube Music:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Media/YouTube%20Music.yaml
path: ./rule_provider/YouTube_Music.yaml
interval: 86400
# 苹果服务规则列表
Apple:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Apple.yaml
path: ./rule_provider/Apple.yaml
interval: 86400
# 电报、微软、OpenAI、Steam、PayPal 及 TikTok 可选规则列表
Telegram:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Telegram.yaml
path: ./rule_provider/Telegram.yaml
interval: 86400
Microsoft:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Microsoft.yaml
path: ./rule_provider/Microsoft.yaml
interval: 86400
OpenAI:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/OpenAI.yaml
path: ./rule_provider/OpenAI.yaml
interval: 86400
Steam:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Steam.yaml
path: ./rule_provider/Steam.yaml
interval: 86400
PayPal:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/PayPal.yaml
path: ./rule_provider/PayPal.yaml
interval: 86400
TikTok:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/ios_rule_script/master/rule/Clash/TikTok/TikTok.yaml
path: ./rule_provider/TikTok.yaml
interval: 86400
# 必须规则列表
Speedtest:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Speedtest.yaml
path: ./rule_provider/Speedtest.yaml
interval: 86400
Proxy:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Proxy.yaml
path: ./rule_provider/Proxy.yaml
interval: 86400
Domestic:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/Domestic.yaml
path: ./rule_provider/Domestic.yaml
interval: 86400
LAN:
type: http
behavior: classical
url: https://raw.githubusercontent.com/Thaolga/Rules/main/Clash/Provider/LAN.yaml
path: ./rule_provider/LAN.yaml
interval: 86400
rules:
- IP-CIDR,10.0.0.0/8,DIRECT
- IP-CIDR,100.64.0.0/10,DIRECT
- IP-CIDR,127.0.0.0/8,DIRECT
- IP-CIDR,169.254.0.0/8,DIRECT
- IP-CIDR,172.16.0.0/12,DIRECT
- IP-CIDR,192.168.0.0/16,DIRECT
- IP-CIDR,224.0.0.0/3,DIRECT
- IP-CIDR6,::1/128,DIRECT
- IP-CIDR6,fc00::/7,DIRECT
- IP-CIDR6,fe80::/10,DIRECT
- IP-CIDR6,fd00::/8,DIRECT
# 直连和广告拦截
- RULE-SET,AD,REJECT
- RULE-SET,EasyList,REJECT
- RULE-SET,EasyListChina,REJECT
- RULE-SET,EasyPrivacy,REJECT
- RULE-SET,ProgramAD,REJECT
- RULE-SET,Special,DIRECT
- RULE-SET,Reject,🆎 广告拦截
# 国内媒体分组
- RULE-SET,Bilibili,📽 国内媒体
- RULE-SET,IQ,📽 国内媒体
- RULE-SET,IQIYI,📽 国内媒体
- RULE-SET,Letv,📽 国内媒体
- RULE-SET,Netease Music,📽 国内媒体 #🎵 网易云音乐
- RULE-SET,Tencent Video,📽 国内媒体
- RULE-SET,Youku,📽 国内媒体
- RULE-SET,WeTV,📽 国内媒体
# 国际媒体分组
- RULE-SET,Netflix,🎥 国际媒体 #📺 网飞视频
- RULE-SET,Disney Plus,🎥 国际媒体 #🎬 迪士尼+
- RULE-SET,Spotify,🎥 国际媒体 #🎧 声田音乐
- RULE-SET,YouTube Music,🎥 国际媒体
- RULE-SET,ABC,🎥 国际媒体
- RULE-SET,Abema TV,🎥 国际媒体
- RULE-SET,Amazon,🎥 国际媒体
- RULE-SET,Apple News,🎥 国际媒体
- RULE-SET,Apple TV,🎥 国际媒体
- RULE-SET,Bahamut,🎥 国际媒体
- RULE-SET,BBC iPlayer,🎥 国际媒体
- RULE-SET,DAZN,🎥 国际媒体
- RULE-SET,Discovery Plus,🎥 国际媒体
- RULE-SET,encoreTVB,🎥 国际媒体
- RULE-SET,F1 TV,🎥 国际媒体
- RULE-SET,Fox Now,🎥 国际媒体
- RULE-SET,Fox+,🎥 国际媒体
- RULE-SET,HBO Go,🎥 国际媒体
- RULE-SET,HBO Max,🎥 国际媒体
- RULE-SET,Hulu Japan,🎥 国际媒体
- RULE-SET,Hulu,🎥 国际媒体
- RULE-SET,Japonx,🎥 国际媒体
- RULE-SET,JOOX,🎥 国际媒体
- RULE-SET,KKBOX,🎥 国际媒体
- RULE-SET,KKTV,🎥 国际媒体
- RULE-SET,Line TV,🎥 国际媒体
- RULE-SET,myTV SUPER,🎥 国际媒体
- RULE-SET,Pandora,🎥 国际媒体
- RULE-SET,PBS,🎥 国际媒体
- RULE-SET,Pornhub,🎥 国际媒体
- RULE-SET,Soundcloud,🎥 国际媒体
- RULE-SET,ViuTV,🎥 国际媒体
# 苹果服务
- RULE-SET,Apple,🍎 苹果服务
# 电报、微软、贝宝及 Steam 可选规则,如需为某个规则列表单独设置策略,请直接修改策略名称与上方策略组名称保持一致
- RULE-SET,Microsoft,🌏 大陆网络 #Ⓜ️ 微软服务
- RULE-SET,OpenAI,✈️ 国际代理 #🤖 OpenAI
- RULE-SET,YouTube,📹 油管视频
- RULE-SET,Telegram,📡 电报服务
- RULE-SET,PayPal,✈️ 国际代理 #💳 贝宝服务
- RULE-SET,Steam,🎮 游戏平台
- RULE-SET,TikTok,🎶 国际抖音
# 必须规则
- RULE-SET,Speedtest,⏳ 网速测试
- RULE-SET,Proxy,✈️ 国际代理
- RULE-SET,Domestic,🌏 大陆网络
- RULE-SET,LAN,DIRECT
# 最终规则
- GEOIP,CN,🌏 大陆网络
- MATCH,🐟 漏网之鱼

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{d as t,bw as r}from"./index-CWCcHU9x.js";const o=({children:e})=>t(r,{get children(){return[e," - MetaCubeXD"]}});export{o as D};

View File

@ -0,0 +1,6 @@
import{N as o}from"./index-CWCcHU9x.js";/**
* @license @tabler/icons-solidjs v3.19.0 - MIT
*
* This source code is licensed under the MIT license.
* See the LICENSE file in the root directory of this source tree.
*/var e=o("outline","reload","IconReload",[["path",{d:"M19.933 13.041a8 8 0 1 1 -9.925 -8.788c3.899 -1 7.935 1.007 9.425 4.747"}],["path",{d:"M20 4v5h-5"}]]);export{e as I};

View File

@ -0,0 +1 @@
import{u as O,d as e,ab as V,i as t,ac as I,ad as q,F as x,ae as H,af as Q,ag as d,ah as X,ai as Z,g as C,aj as W,ak as J,al as K,Q as U,t as h,b as Y,y as ee,A as z,am as te,T as re,$ as F,D as ae,B as j,a3 as le,a1 as A,a4 as se,a0 as G,a8 as ne,aa as ie,m as oe}from"./index-CWCcHU9x.js";import{c as ce,g as de,a as ue,e as ge,I as he,f as ve,h as P,i as me,j as fe,r as be}from"./index-D_x55i5g.js";import{D as pe}from"./DocumentTitle-D8u3UFYZ.js";var $e=h('<div class="flex flex-col gap-4"><div><select class="select select-bordered w-full"></select></div><div><select class="select select-bordered w-full"></select></div><div><select class="select select-bordered w-full">'),k=h("<option>");const _e=v=>{const[l]=O();return e(U,{ref:n=>{var o;return(o=v.ref)==null?void 0:o.call(v,n)},get icon(){return e(V,{size:24})},get title(){return l("logsSettings")},get children(){var n=$e(),o=n.firstChild,c=o.firstChild,$=o.nextSibling,f=$.firstChild,w=$.nextSibling,b=w.firstChild;return t(o,e(I,{withDivider:!0,get children(){return l("tableSize")}}),c),c.addEventListener("change",r=>q(r.target.value)),t(c,e(x,{get each(){return Object.values(H)},children:r=>(()=>{var s=k();return s.value=r,t(s,()=>l(r)),s})()})),t($,e(I,{withDivider:!0,get children(){return l("logLevel")}}),f),f.addEventListener("change",r=>Q(r.target.value)),t(f,e(x,{get each(){return[d.Info,d.Error,d.Warning,d.Debug,d.Silent]},children:r=>(()=>{var s=k();return s.value=r,t(s,()=>l(r)),s})()})),t(w,e(I,{withDivider:!0,get children(){return l("logMaxRows")}}),b),b.addEventListener("change",r=>X(parseInt(r.target.value))),t(b,e(x,{each:Z,children:r=>(()=>{var s=k();return s.value=r,t(s,r),s})()})),C(()=>c.value=W()),C(()=>f.value=J()),C(()=>b.value=K()),n}})};var Se=h("<span>"),xe=h('<div class="flex h-full flex-col gap-2"><div class="join w-full"><input type=search class="input input-sm join-item input-primary flex-1 flex-shrink-0"></div><div class="overflow-x-auto whitespace-nowrap rounded-md bg-base-300"><table><thead class="sticky top-0 z-10"></thead><tbody>'),Ce=h("<tr>"),we=h('<th class=bg-base-200><div class="flex items-center"><div>'),ye=h('<tr class="hover:!bg-primary hover:text-primary-content">'),Le=h("<td class=py-2>");const N=(v,l,n,o)=>{const c=be(v.getValue(l),n);return o({itemRank:c}),c.passed},Me=()=>{const v=Y();if(!ee())return v("/setup",{replace:!0}),null;let l;const[n]=O(),[o,c]=z(""),{logs:$,paused:f,setPaused:w}=te(),[b,r]=re(z([]),{name:"logsTableSorting",storage:localStorage}),s=[{header:n("sequence"),accessorFn:i=>i.seq},{header:n("type"),accessorFn:i=>i.type,cell:({row:i})=>{const p=i.original.type;let u="";switch(p){case d.Error:u="text-error";break;case d.Warning:u="text-warning";break;case d.Info:u="text-info";break;case d.Debug:u="text-success";break}return(()=>{var _=Se();return F(_,u),t(_,()=>`[${i.original.type}]`),_})()}},{header:n("payload"),accessorFn:i=>i.payload}],M=ce({filterFns:{fuzzy:N},state:{get globalFilter(){return o()},get sorting(){return b()}},get data(){return $()},sortDescFirst:!0,columns:s,onGlobalFilterChange:c,onSortingChange:r,globalFilterFn:N,getFilteredRowModel:de(),getSortedRowModel:ue(),getCoreRowModel:ge()});return[e(pe,{get children(){return n("logs")}}),(()=>{var i=xe(),p=i.firstChild,u=p.firstChild,_=p.nextSibling,D=_.firstChild,R=D.firstChild,B=R.nextSibling;return u.$$input=a=>c(a.target.value),t(p,e(j,{class:"btn-primary join-item btn-sm",onClick:()=>w(a=>!a),get icon(){return ae(()=>!!f())()?e(he,{}):e(ve,{})}}),null),t(p,e(j,{class:"btn-primary join-item btn-sm",onClick:()=>l==null?void 0:l.showModal(),get icon(){return e(le,{})}}),null),t(R,e(A,{get each(){return M.getHeaderGroups()},children:a=>{const m=a();return(()=>{var g=Ce();return t(g,e(A,{get each(){return m.headers},children:y=>{const S=y();return(()=>{var E=we(),T=E.firstChild,L=T.firstChild;return se(L,"click",S.column.getToggleSortingHandler(),!0),t(L,()=>P(S.column.columnDef.header,S.getContext())),t(T,()=>({asc:e(me,{}),desc:e(fe,{})})[S.column.getIsSorted()]??null,null),C(()=>F(L,G(S.column.getCanSort()&&"cursor-pointer select-none","flex-1"))),E})()}})),g})()}})),t(B,e(x,{get each(){return M.getRowModel().rows},children:a=>(()=>{var m=ye();return t(m,e(x,{get each(){return a.getVisibleCells()},children:g=>(()=>{var y=Le();return t(y,()=>P(g.column.columnDef.cell,g.getContext())),y})()})),m})()})),t(i,e(_e,{ref:a=>l=a}),null),C(a=>{var m=n("search"),g=G(ne(W()),"table relative rounded-none");return m!==a.e&&ie(u,"placeholder",a.e=m),g!==a.t&&F(D,a.t=g),a},{e:void 0,t:void 0}),i})()]};oe(["input","click"]);export{Me as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{u as T,a as q,b as z,c as H,v as M,o as N,e as h,d,f as X,i as o,g as G,S as J,B as U,I as K,F as O,t as y,z as b,h as C,s as w,j as Q,k as W,l as E,m as Y,n as Z}from"./index-CWCcHU9x.js";import{D as tt}from"./DocumentTitle-D8u3UFYZ.js";var a=[];for(var x=0;x<256;++x)a.push((x+256).toString(16).slice(1));function et(t,n=0){return(a[t[n+0]]+a[t[n+1]]+a[t[n+2]]+a[t[n+3]]+"-"+a[t[n+4]]+a[t[n+5]]+"-"+a[t[n+6]]+a[t[n+7]]+"-"+a[t[n+8]]+a[t[n+9]]+"-"+a[t[n+10]]+a[t[n+11]]+a[t[n+12]]+a[t[n+13]]+a[t[n+14]]+a[t[n+15]]).toLowerCase()}var g,nt=new Uint8Array(16);function st(){if(!g&&(g=typeof crypto<"u"&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto),!g))throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return g(nt)}var at=typeof crypto<"u"&&crypto.randomUUID&&crypto.randomUUID.bind(crypto);const R={randomUUID:at};function lt(t,n,$){if(R.randomUUID&&!n&&!t)return R.randomUUID();t=t||{};var i=t.random||(t.rng||st)();return i[6]=i[6]&15|64,i[8]=i[8]&63|128,et(i)}var rt=y("<option>"),it=y('<div class="mx-auto flex max-w-screen-sm flex-col items-center gap-4 py-10"><form class=contents><div class="flex w-full flex-col gap-4"><div class=flex-1><label class=label><span class=label-text></span></label><input name=url type=url class="input input-bordered w-full"placeholder=http(s)://{hostname}:{port} list=defaultEndpoints><datalist id=defaultEndpoints><option value=http://127.0.0.1:9090></option></datalist></div><div class=flex-1><label class=label><span class=label-text></span></label><input name=secret type=password class="input input-bordered w-full"placeholder=secret></div></div></form><div class="grid w-full grid-cols-2 gap-4">'),ot=y('<div class="badge badge-info flex w-full cursor-pointer items-center justify-between gap-4 py-4"><span class=truncate>');const ct=b.object({url:b.string().min(1),secret:b.string()}),pt=()=>{const[t]=T(),n=q(),$=z(),i=s=>{E(s),$("/overview",{replace:!0})},I=async s=>{const e=h().find(l=>l.id===s);e&&await C(e.url,e.secret)&&i(s)},f=async({url:s,secret:e})=>{const l=Z(s);if(!await C(l,e))return;const r=lt(),c=h().slice(),u=c.find(v=>v.url===l);if(!u){w([{id:r,url:l,secret:e},...c]),i(r);return}u.secret=e,u.id=r,w(c),i(r)},L=s=>{const{message:e}=s;Q.error(e)},{form:_}=H({extend:M({schema:ct}),onSubmit:f,onError:L}),D=s=>{W()===s&&E(""),w(h().filter(e=>e.id!==s))};return N(async()=>{var l,r;const s=n.search||window.location.search||((r=(l=n.hash.match(/\?.*$/))==null?void 0:l[0])==null?void 0:r.replace("?",""));if(!s)return;const e=new URLSearchParams(s);e.has("hostname")?await f({url:`${e.get("http")?"http:":e.get("https")?"https:":window.location.protocol}//${e.get("hostname")}${e.get("port")?`:${e.get("port")}`:""}`,secret:e.get("secret")??""}):h().length===0&&await f({url:"http://127.0.0.1:9090",secret:""})}),[d(tt,{get children(){return t("setup")}}),(()=>{var s=it(),e=s.firstChild,l=e.firstChild,r=l.firstChild,c=r.firstChild,u=c.firstChild,v=c.nextSibling,S=v.nextSibling;S.firstChild;var k=r.nextSibling,j=k.firstChild,V=j.firstChild,F=e.nextSibling;return X(_,e,()=>_),o(u,()=>t("endpointURL")),o(S,d(J,{get when(){return window.location.origin!=="http://127.0.0.1:9090"},get children(){var p=rt();return G(()=>p.value=window.location.origin),p}}),null),o(V,()=>t("secret")),o(l,d(U,{type:"submit",class:"btn-primary uppercase",get children(){return t("add")}}),null),o(F,d(O,{get each(){return h()},children:({id:p,url:P})=>(()=>{var m=ot(),A=m.firstChild;return m.$$click=()=>I(p),o(A,P),o(m,d(U,{class:"btn-circle btn-ghost btn-xs text-white",onClick:B=>{B.stopPropagation(),D(p)},get children(){return d(K,{})}}),null),m})()})),s})()]};Y(["click"]);export{pt as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
import{W as a,a_ as m}from"./index-CWCcHU9x.js";const s=o=>a(o).locale(m()).fromNow();export{s as f};

View File

@ -9,7 +9,7 @@
<meta name="theme-color" content="#000000" />
<link rel="icon" type="image/svg+xml" href="./favicon.svg" />
<link rel="apple-touch-icon" href="./pwa-192x192.png" />
<script type="module" crossorigin src="./assets/index-CvtbhWKk.js"></script>
<script type="module" crossorigin src="./assets/index-CWCcHU9x.js"></script>
<link rel="stylesheet" crossorigin href="./assets/index-CPl7-mwU.css">
<link rel="manifest" href="./manifest.webmanifest"><script id="vite-plugin-pwa:register-sw" src="./registerSW.js"></script></head>

View File

@ -1 +1 @@
if(!self.define){let s,e={};const i=(i,n)=>(i=new URL(i+".js",n).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didnt register its module`);return s})));self.define=(n,r)=>{const l=s||("document"in self?document.currentScript.src:"")||location.href;if(e[l])return;let o={};const t=s=>i(s,l),u={module:{uri:l},exports:o,require:t};e[l]=Promise.all(n.map((s=>u[s]||t(s)))).then((s=>(r(...s),o)))}}define(["./workbox-e1498109"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Config-C1hqbj9X.js",revision:null},{url:"assets/Connections-DAjikPhc.js",revision:null},{url:"assets/DocumentTitle-CAyQkV9I.js",revision:null},{url:"assets/IconReload-deI6hza4.js",revision:null},{url:"assets/index-C3VLFrec.js",revision:null},{url:"assets/index-CPl7-mwU.css",revision:null},{url:"assets/index-CvtbhWKk.js",revision:null},{url:"assets/Logs-6pO-Z_w1.js",revision:null},{url:"assets/Overview-BcgsZ230.js",revision:null},{url:"assets/Proxies-CfPCQr0I.js",revision:null},{url:"assets/Rules-kumLxpDs.js",revision:null},{url:"assets/Setup-ePvEdAGg.js",revision:null},{url:"assets/time-BcQrJBX1.js",revision:null},{url:"index.html",revision:"0a4c45df1c6f3055f0d8f7e8f77239be"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"favicon.svg",revision:"f5b3372f312fbbe60a6ed8c03741ff80"},{url:"pwa-192x192.png",revision:"c45f48fc59b5bf47e6cbf1626aff51fc"},{url:"pwa-512x512.png",revision:"a311504ae6a46bd29b5678a410aaafc6"},{url:"manifest.webmanifest",revision:"f0952d333375ba4273b4372ffa349b8b"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));
if(!self.define){let s,e={};const i=(i,n)=>(i=new URL(i+".js",n).href,e[i]||new Promise((e=>{if("document"in self){const s=document.createElement("script");s.src=i,s.onload=e,document.head.appendChild(s)}else s=i,importScripts(i),e()})).then((()=>{let s=e[i];if(!s)throw new Error(`Module ${i} didnt register its module`);return s})));self.define=(n,l)=>{const r=s||("document"in self?document.currentScript.src:"")||location.href;if(e[r])return;let o={};const t=s=>i(s,r),u={module:{uri:r},exports:o,require:t};e[r]=Promise.all(n.map((s=>u[s]||t(s)))).then((s=>(l(...s),o)))}}define(["./workbox-e1498109"],(function(s){"use strict";self.skipWaiting(),s.clientsClaim(),s.precacheAndRoute([{url:"assets/Config-Bm4SqUAU.js",revision:null},{url:"assets/Connections-Cem71f_b.js",revision:null},{url:"assets/DocumentTitle-D8u3UFYZ.js",revision:null},{url:"assets/IconReload-CSirtLSr.js",revision:null},{url:"assets/index-CPl7-mwU.css",revision:null},{url:"assets/index-CWCcHU9x.js",revision:null},{url:"assets/index-D_x55i5g.js",revision:null},{url:"assets/Logs-Bdq4pE2l.js",revision:null},{url:"assets/Overview-BXvNHx8b.js",revision:null},{url:"assets/Proxies-B_m7hYmD.js",revision:null},{url:"assets/Rules-D5T2RkF5.js",revision:null},{url:"assets/Setup-CWTXf_9_.js",revision:null},{url:"assets/time-FFjAmWit.js",revision:null},{url:"index.html",revision:"8fa12e37d5842058990437d3db37c2a8"},{url:"registerSW.js",revision:"402b66900e731ca748771b6fc5e7a068"},{url:"favicon.svg",revision:"f5b3372f312fbbe60a6ed8c03741ff80"},{url:"pwa-192x192.png",revision:"c45f48fc59b5bf47e6cbf1626aff51fc"},{url:"pwa-512x512.png",revision:"a311504ae6a46bd29b5678a410aaafc6"},{url:"manifest.webmanifest",revision:"f0952d333375ba4273b4372ffa349b8b"}],{}),s.cleanupOutdatedCaches(),s.registerRoute(new s.NavigationRoute(s.createHandlerBoundToURL("index.html")))}));

View File

@ -1 +1 @@
v1.168.0
v1.169.0

View File

@ -11,13 +11,13 @@ LUCI_DEPENDS:=+curl +opkg +luci-base +tar +libuci-lua +mount-utils +luci-lib-tas
LUCI_EXTRA_DEPENDS:=luci-lib-taskd (>=1.0.19)
LUCI_PKGARCH:=all
PKG_VERSION:=0.1.26-2
PKG_VERSION:=0.1.26-3
# PKG_RELEASE MUST be empty for luci.mk
PKG_RELEASE:=
ISTORE_UI_VERSION:=0.1.16
ISTORE_UI_RELEASE:=1
PKG_HASH:=993c6c1fd59bf48f9583be4c91898b355a5fe79dc7274bd3d795a8828d59ec1d
ISTORE_UI_VERSION:=0.1.26
ISTORE_UI_RELEASE:=2
PKG_HASH:=01eb10649514c4ea0a86e848db1129b642f0ad5b5d371021821c2488454463fc
PKG_SOURCE_URL_FILE:=v$(ISTORE_UI_VERSION)-$(ISTORE_UI_RELEASE).tar.gz
PKG_SOURCE:=istore-ui-$(PKG_SOURCE_URL_FILE)