Compare commits

...

56 Commits

Author SHA1 Message Date
juewuy
28e3cf3d63 ~自动打包内核优化,并增加premium内核 2023-04-15 19:52:28 +08:00
Bot
b8cc2377f8 更新Meta.Alpha内核至alpha-c2d1f71 2023-04-14 20:04:08 +00:00
juewuy
fb11f42d1b Merge pull request #372 from RikudouPatrickstar/pr
适配 meta 内核的两行版本信息
2023-04-14 21:38:27 +08:00
RikusouPatrickstar
d6eb83ac30 适配 meta 内核的两行版本信息 2023-04-14 21:15:15 +08:00
juewuy
f24e796dcc Merge branch 'master' of https://github.com/juewuy/ShellClash into master 2023-04-14 16:45:40 +08:00
juewuy
46fd3ffb85 ~修复目录空间大小检测失败的bug 2023-04-14 16:45:31 +08:00
Bot
c64aef6145 更新Meta.Alpha内核至alpha-99dee00 2023-04-12 16:31:51 +00:00
juewuy
3ddb69e44e Merge branch 'master' of https://github.com/juewuy/ShellClash into master 2023-04-13 00:29:02 +08:00
juewuy
055cfbffa1 增加meta测试版内核的自动打包流程 2023-04-13 00:28:52 +08:00
Bot
5816d112ad 更新Meta.Alpha内核至alpha-99dee00 2023-04-12 16:03:36 +00:00
juewuy
56bc372d18 增加meta测试版内核的自动打包流程 2023-04-13 00:01:05 +08:00
juewuy
63e40f68bb 增加meta测试版内核的自动打包流程 2023-04-12 23:52:15 +08:00
juewuy
9fe84b8352 增加meta测试版内核的自动打包流程 2023-04-12 23:41:57 +08:00
juewuy
6f75a8219a 增加meta测试版内核的自动打包流程 2023-04-12 23:38:45 +08:00
juewuy
ca2da3f8fd v1.7.4e
~增加了启动时对自定义配置文件的校验功能
~日志推送功能增加自定义设备名称
~修复新手引导的一个导致redir模式无法正常运行的bug
2023-04-12 21:03:18 +08:00
juewuy
86d7f46bf2 优化了一下安装检测提示 2023-04-12 17:19:44 +08:00
juewuy
3c7bcf901b v1.7.4e
~尝试修复部分虚拟机环境下Tun或者Tproxy模式无法使用的问题
~修复nft模式运行后出现报错的问题
~尝试修复部分设备无法保存在线节点选择的问题
2023-04-11 14:25:09 +08:00
juewuy
28b6686a74 ~修复人工智能相关规则排序不正确的问题
~人工智能节电默认使用美国节电
~全分组规则中将日韩节电分割独立
~高级节点筛选增加AC节点
2023-04-11 14:18:45 +08:00
juewuy
00d01cc718 ~修复人工智能相关规则排序不正确的问题
~人工智能节电默认使用美国节电
~全分组规则中将日韩节电分割独立
2023-04-11 14:11:01 +08:00
Bot
5f4fae6e3d 自动更新最新Dashboard、地址库、根证书 2023-04-08 18:06:25 +00:00
juewuy
fe38ac2c85 v1.7.4d
~修复tun模块采用了适配性更广泛的写法
~修复本机代理nftables增强模式在未启用nft模式时无效的bug
~修复部分设备出现的访问本机端口报错的问题
2023-04-04 20:45:35 +08:00
juewuy
a74c3bf0dc v1.7.4c
~修复小米万兆无法正常开启启动的bug
~修复导入包含&符号的订阅链接时无法生成配置的问题
~尝试支持红米AX6000的tun模块修复
~小米设备软固化功能不再依赖clash服务启动
~本地安装脚本适配小米万兆设备
~屏蔽ntp同步服务的报错提示
2023-04-04 12:15:02 +08:00
juewuy
9efa56e05a v1.7.4c
~修复小米万兆无法正常开启启动的bug
~修复导入包含&符号的订阅链接时无法生成配置的问题
~尝试支持红米AX6000的tun模块修复
~小米设备软固化功能不再依赖clash服务启动
~本地安装脚本适配小米万兆设备
~屏蔽ntp同步服务的报错提示
2023-04-04 12:14:25 +08:00
juewuy
cf560be341 v1.7.4c
~修复小米万兆无法正常开启启动的bug
~小米设备软固化功能不再依赖clash服务启动
~本地安装脚本适配小米万兆设备
~屏蔽ntp同步服务的报错提示
2023-04-04 10:23:19 +08:00
juewuy
e4546476aa v1.7.4b
~新手引导部分优化
~修复在线生成配置文件相关bug
~修复节点绕过功能相关bug
~修复公网访问功能相关bug
2023-04-03 21:46:24 +08:00
juewuy
3379e8ed8a v1.7.4
~修改自动update内置ubuntu版本为最新release版本
~适配小米万兆路由,增加安装时目录选项
2023-04-02 20:23:00 +08:00
juewuy
c8f7e352c6 v1.7.4
~重写iptables/ip6tables,优化各种模式下网段获取,防止回环,防止内网数据暴露
~优化nftables,防止内网数据暴露
~适配小米万兆路由,增加安装时目录选项
~本地安装内核优化,支持clash.meta文件名
~修复部分linux设备无法设置systemd启动的bug
2023-04-02 19:46:08 +08:00
juewuy
cac9d8534c v1.7.4
~修改自动update内置ubuntu版本为最新release版本
~适配小米万兆路由,增加安装时目录选项
2023-04-02 19:39:53 +08:00
Bot
6fdd506bcb 自动更新最新Dashboard、地址库、根证书 2023-04-01 09:01:56 +00:00
juewuy
5fa83d73bf 添加部分在线规则 2023-03-29 15:54:40 +08:00
juewuy
5d6396f13d 添加部分在线规则 2023-03-28 18:19:50 +08:00
Bot
db69eaba1f 自动更新最新Dashboard、地址库、根证书 2023-03-25 09:03:56 +00:00
juewuy
83708a7bdb 增加人工智能(openai&newbing)规则 2023-03-23 21:59:41 +08:00
juewuy
6a54b16a40 增加人工智能(openai&newbing)规则 2023-03-23 19:33:31 +08:00
juewuy
6a97329e94 v1.7.3b
~在线生成配置文件优化
~修复禁用跳过证书功能无法生效的bug
2023-03-23 19:22:27 +08:00
juewuy
afb78f16ed 增加人工智能(openai&newbing)规则 2023-03-23 19:21:20 +08:00
juewuy
f4cf0052a7 已修改 README_CN.md 2023-03-19 09:44:54 +08:00
juewuy
0d8c403752 v1.7.3b
~修复部分设备因iptables版本过低导致ipv6dns劫持失效的问题
~修复安装脚本始终解压失败的bug
2023-03-19 09:42:45 +08:00
juewuy
d0918f170c Merge branch 'master' of https://github.com/juewuy/ShellClash into master
# Conflicts:
#	bin/version
2023-03-18 19:26:27 +08:00
Bot
1666e4b7a4 自动更新最新Dashboard、地址库、根证书 2023-03-18 09:01:57 +00:00
juewuy
7613aa7ba5 v1.7.3
~工具菜单新增AX6S等设备的tun模块修复功能
~小闪存模式增加自定义目录功能
~优化重写本机代理菜单
~将172.16/12网段默认加入透明路由
~将10.0/8默认路由网段改为10.0/12
~优化一键设置加密DNS功能,修改根证书安装更新时的描述
~修复部分网络环境下在线生成配置文件反复失败的问题
~修复部分场景下tar解压失败的问题
~修复部分情况下修改默认端口失败的问题
~修复因Tun模块修复功能导致的WiFi信号减弱的问题
~修复"cannot find device utun"报错问题
~修复ntp服务在前台同步时导致clash无法正常启动的问题
2023-03-17 23:32:30 +08:00
Bot
4b9d802748 自动更新最新Dashboard、地址库、根证书 2023-03-11 09:01:46 +00:00
juewuy
3642c6ae8f Merge pull request #327 from RikudouPatrickstar/new_release
新增版本发布打包工作流
2023-03-05 22:33:41 +08:00
Bot
186af4e2bc 自动更新最新Dashboard、地址库、根证书 2023-03-04 09:01:57 +00:00
RikudouPatrickstar
978a81f532 工作流支持内测版打包;增加制品包上传 2023-03-03 20:52:26 +08:00
juewuy
da4258dd34 v1.7.2
~增加AX6S的tun模块修复功能
2023-03-01 14:06:53 +08:00
juewuy
89f0336f7f v1.7.1
~更新Meta内核至v1.14.2
~新手引导内容优化
~代理常用端口功能说明优化
~内置加密DNS设置相关bug修复
~屏蔽Meta内核进程嗅探
2023-02-28 19:48:01 +08:00
juewuy
dfa4ba557e v1.7.1
~更新Meta内核至v1.14.2
~新手引导内容优化
~代理常用端口功能说明优化
~内置加密DNS设置相关bug修复
~屏蔽Meta内核进程嗅探
2023-02-28 19:45:06 +08:00
Bot
21c92117e0 更新Meta内核至v1.14.2 2023-02-28 10:48:39 +00:00
Bot
53b4b3e8fe 自动更新最新Dashboard、地址库、根证书 2023-02-25 09:01:54 +00:00
RikudouPatrickstar
d02c6dadb6 取消 push 指定分支 2023-02-24 23:44:32 +08:00
RikudouPatrickstar
d9f6c66b55 新增版本发布打包工作流 2023-02-24 22:47:18 +08:00
juewuy
4fb47be400 Merge branch 'master' of https://github.com/juewuy/ShellClash into master 2023-02-23 20:12:38 +08:00
juewuy
b28b1b3b04 修改描述 2023-02-23 20:12:28 +08:00
Bot
890715d2eb 自动更新最新Dashboard、地址库、根证书 2023-02-18 09:01:47 +00:00
Bot
7ab66bf9a0 自动更新最新Dashboard、地址库、根证书 2023-02-11 09:01:43 +00:00
43 changed files with 29766 additions and 27055 deletions

View File

@@ -9,14 +9,14 @@ on:
# branches:
# - master
schedule:
- cron: 0 9 * * 6
- cron: 0 18 * * 6
# watch:
# types: [started]
workflow_dispatch:
jobs:
update:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
steps:

View File

@@ -0,0 +1,74 @@
name: Release New Version
on:
workflow_dispatch:
inputs:
release_version:
description: 'new version of ShellClash, such as 1.7.0f'
required: true
type: string
release_type:
required: true
type: choice
options:
- '内测版'
- '公测版'
- '正式版'
env:
new_version: ${{ github.event.inputs.release_version }}
new_type: ${{ github.event.inputs.release_type }}
jobs:
Update:
runs-on: ubuntu-latest
steps:
- name: Clone Repository
uses: actions/checkout@main
- name: Update Version Number
if: ${{ github.event.inputs.release_type != '内测版' }}
run: |
if [[ "${new_type}" == "正式版" ]]; then
sed -i "1i ${new_version}" ./bin/release_version
elif [[ "${new_type}" == "公测版" ]]; then
sed -i "s/versionsh=.*/versionsh=${new_version}/" ./bin/version
sed -i "s/version=.*/version=${new_version}/" ./scripts/init.sh
fi
- name: Package
if: ${{ github.event.inputs.release_type != '正式版' }}
run: |
cd ./bin
# 打包 clashfm.tar.gz
rm ./clashfm.tar.gz
mkdir clashfm && pushd clashfm
cp ../../scripts/* ./
chmod +x *
tar zcvf ../clashfm.tar.gz *
popd && rm -fr clashfm
# 打包 ShellClash.tar.gz
rm ./ShellClash.tar.gz
mkdir ShellClash && pushd ShellClash
cp ../../scripts/* ./
chmod +x *
cp ../Country.mmdb ./
tar zcvf ../ShellClash.tar.gz *
popd && rm -fr ./ShellClash
- name: Commit and push
if: ${{ github.event.inputs.release_type != '内测版' }}
run: |
git config --global user.email "juewuy@gmail.com" && git config --global user.name "Bot"
git add . && git commit -m "${new_type} ${new_version} 打包" || exit 0
git push
if [[ "${new_type}" == "正式版" ]]; then
git tag ${new_version}
git push origin ${new_version}
fi
- name: Package Artifact
id: package_artifact
run: |
mkdir artifacts
cp ./bin/clashfm.tar.gz ./artifacts/
cp ./bin/ShellClash.tar.gz ./artifacts/
echo "artifact_name=${new_type}_${new_version}_$(date +%Y%m%d%H%M%S)" >> $GITHUB_OUTPUT
- name: Upload Test Artifact
uses: actions/upload-artifact@main
with:
name: ${{ steps.package_artifact.outputs.artifact_name }}
path: ./artifacts/*

View File

@@ -0,0 +1,56 @@
name: Update Meta Alpha Core
on:
schedule:
- cron: "0 20 * * 1,3,5,6"
workflow_dispatch:
env:
download_tag: Prerelease-Alpha
download_version: ''
download_url: https://github.com/MetaCubeX/Clash.Meta/releases/download
jobs:
Update:
runs-on: ubuntu-latest
steps:
- name: Clone Repository
uses: actions/checkout@main
- name: Init Dependencies
run: |
wget https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz
wget https://github.com/upx/upx/releases/download/v3.93/upx-3.93-amd64_linux.tar.xz
tar xf upx-3.96-amd64_linux.tar.xz
tar xf upx-3.93-amd64_linux.tar.xz
- name: Download Core
run: |
if [ "${download_tag}" = "Prerelease-Alpha" ] || [ "${download_tag}" = "Prerelease-Beta" ];then
download_version=$(curl -sL https://api.github.com/repos/MetaCubeX/Clash.Meta/releases/tags/${download_tag} | grep linux-arm64 | head -n 1 | sed 's_.gz.*__;s_.*arm64-__')
else
download_version=${download_tag}
fi
echo "download_version=${download_version}" >> ${GITHUB_ENV}
archs=(amd64-compatible armv5 armv7 arm64 mips-softfloat mipsle-hardfloat mipsle-softfloat)
new_name=(amd64 armv5 armv7 armv8 mips-softfloat mipsle-hardfloat mipsle-softfloat)
mkdir tmp
for((i=0;i<7;i++));do
wget "${download_url}/${download_tag}/Clash.Meta-linux-${archs[i]}-${download_version}.gz" -O - | gunzip -c > ./tmp/clash-linux-${new_name[i]}
chmod +x ./tmp/clash-linux-${new_name[i]}
if [ "${archs[i]}" != "armv5" ];then
if [[ ${archs[i]} = mips* ]];then
./upx-3.93-amd64_linux/upx ./tmp/clash-linux-${new_name[i]}
else
./upx-3.96-amd64_linux/upx ./tmp/clash-linux-${new_name[i]}
fi
fi
done
rm -fr upx*
- name: Create Release and Upload Release Asset
uses: softprops/action-gh-release@v1
with:
tag_name: clash.meta.alpha
name: clash.meta.alpha
body: "The alpha version of clash.meta core \n这是clash.meta的Alpha版本内核文件\nhttps://github.com/MetaCubeX/Clash.Meta/releases/tag/Prerelease-Alpha \nZip by upx\n使用了upx进行压缩\nOnly support for ShellClash\n仅限于ShellClash项目使用"
draft: false
prerelease: true
files: |
./tmp/*

View File

@@ -50,7 +50,7 @@ jobs:
rm -fr ./bin/clash.meta/*
cp ./tmp/* ./bin/clash.meta/
rm -fr ./tmp
sed -i "s/meta_v=.*/meta_v=$(./bin/clash.meta/clash-linux-amd64 -v 2>/dev/null | sed 's/ linux.*//;s/.* //')/" bin/version
sed -i "s/meta_v=.*/meta_v=$(./bin/clash.meta/clash-linux-amd64 -v 2>/dev/null | head -n 1 | sed 's/ linux.*//;s/.* //')/" bin/version
- name: Commit and push
run: |
git config --global user.email "juewuy@gmail.com" && git config --global user.name "Bot"

View File

@@ -0,0 +1,49 @@
name: Update Premium latest Core
on:
schedule:
- cron: "0 20 * * 1,3,5,6"
workflow_dispatch:
env:
download_version: latest
download_url: https://release.dreamacro.workers.dev
jobs:
Update:
runs-on: ubuntu-latest
steps:
- name: Clone Repository
uses: actions/checkout@main
- name: Init Dependencies
run: |
wget https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz
wget https://github.com/upx/upx/releases/download/v3.93/upx-3.93-amd64_linux.tar.xz
tar xf upx-3.96-amd64_linux.tar.xz
tar xf upx-3.93-amd64_linux.tar.xz
- name: Download Core
run: |
archs="386 amd64 armv5 armv7 arm64 mips-softfloat mipsle-hardfloat mipsle-softfloat"
mkdir tmp
for arch in ${archs};do
wget "${download_url}/${download_version}/clash-linux-${arch}-${download_version}.gz" -O - | gunzip -c > ./tmp/clash-linux-${arch}
chmod +x ./tmp/clash-linux-${arch}
if [ "${arch}" != "armv5" ];then
if [[ ${arch} == mips* ]];then
./upx-3.93-amd64_linux/upx ./tmp/clash-linux-${arch}
else
./upx-3.96-amd64_linux/upx ./tmp/clash-linux-${arch}
fi
fi
done
mv -f ./tmp/clash-linux-arm64 ./tmp/clash-linux-armv8
rm -fr upx*
- name: Create Release and Upload Release Asset
uses: softprops/action-gh-release@v1
with:
tag_name: clash.premium.latest
name: clash.premium.latest
body: "The latest version of clash.premium core \n这是clash.premium的最新版本内核文件\nhttps://github.com/Dreamacro/clash/releases/tag/premium \nZip by upx\n使用了upx进行压缩\nOnly support for ShellClash\n仅限于ShellClash项目使用"
draft: false
prerelease: true
files: |
./tmp/*

View File

@@ -51,11 +51,13 @@
```shell
sudo -i #切换到root用户如果需要密码请输入密码
bash #如已处于bash环境可跳过
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && bash /tmp/install.sh && source /etc/profile &> /dev/null
```
或者
```shell
sudo -i #切换到root用户如果需要密码请输入密码
bash #如已处于bash环境可跳过
export url='https://gh.jwsc.eu.org/master' && bash -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
```
@@ -149,5 +151,5 @@ ubus/iproute-doc 极低 缺少时无法正常获取本机host地址
机场推荐:
--
#### [大米-群友力荐,流媒体解锁,月付推荐](https://bigme.pro/auth/register?code=tdXp)<br>
#### [大米-群友力荐,流媒体解锁,月付推荐](https://www.bigme.pro/user#/register?code=2PuWY9I7)<br>
#### [Dler-老牌稳定,流媒体解锁,年付推荐](https://dler.best/auth/register?affid=89698)<br>

Binary file not shown.

View File

@@ -1,48 +0,0 @@
vod-akc-eu-south-1.media.dssott.com
vod-vzc-eu-south-1.media.dssott.com
vod-l3c-na-central-1.media.dssott.com
vod-akc-na-central-1.media.dssott.com
vod-ftc-na-central-1.media.dssott.com
vod-vzc-na-central-1.media.dssott.com
vod-l3c-na-east-1.media.dssott.com
vod-bgc-na-east-1.media.dssott.com
vod-akc-na-east-1.media.dssott.com
vod-ftc-na-east-1.media.dssott.com
vod-vzc-na-east-1.media.dssott.com
vod-bgc-oc-east-1.media.dssott.com
vod-l3c-na-west-1.media.dssott.com
vod-akc-na-west-1.media.dssott.com
vod-ftc-na-west-1.media.dssott.com
vod-vzc-na-west-1.media.dssott.com
vod-l3c-eu-south-2.media.dssott.com
vod-ftc-eu-south-2.media.dssott.com
vod-l3c-na-east-2.media.dssott.com
vod-akc-na-east-2.media.dssott.com
vod-ftc-na-east-2.media.dssott.com
vod-vzc-na-east-2.media.dssott.com
vod-l3c-oc-east-2.media.dssott.com
vod-akc-oc-east-2.media.dssott.com
vod-ftc-oc-east-2.media.dssott.com
vod-vzc-oc-east-2.media.dssott.com
vod-l3c-na-west-2.media.dssott.com
vod-akc-na-west-2.media.dssott.com
vod-llc-na-west-2.media.dssott.com
vod-cmc-na-west-2.media.dssott.com
vod-ftc-na-west-2.media.dssott.com
vod-vzc-na-west-2.media.dssott.com
cdn.registerdisney.go.com
qa.cdn.registerdisney.go.com
stg.cdn.registerdisney.go.com
val.cdn.registerdisney.go.com
prod-ripcut-delivery.disney-plus.net
appconfigs.disney-plus.net
prod-static.disney-plus.net
global.edge.bamgrid.com
bam-sdk-configs.bamgrid.com
playback-certs.bamgrid.com
search-api-disney.bamgrid.com
content.global.edge.bamgrid.com
disney.playback.edge.bamgrid.com
disney.api.edge.bamgrid.com
disney.content.edge.bamgrid.com
disney.connections.edge.bamgrid.com

View File

@@ -1,555 +0,0 @@
ipv4-c001-hkg001-hgc-isp.1.oca.nflxvideo.net
ipv4-c003-hkg001-hgc-isp.1.oca.nflxvideo.net
ipv4-c004-hkg001-hgc-isp.1.oca.nflxvideo.net
ipv4-c001-hkg002-hgc-isp.1.oca.nflxvideo.net
ipv4-c002-hkg002-hgc-isp.1.oca.nflxvideo.net
ipv4-c001-hkg001-cmhk-isp.1.oca.nflxvideo.net
ipv4-c002-hkg001-cmhk-isp.1.oca.nflxvideo.net
ipv4-c002-hkg001-hkbn-isp.1.oca.nflxvideo.net
ipv4-c003-hkg001-hkbn-isp.1.oca.nflxvideo.net
ipv4-c004-hkg001-hkbn-isp.1.oca.nflxvideo.net
ipv4-c005-hkg001-hkbn-isp.1.oca.nflxvideo.net
ipv4-c001-hkg002-hkbn-isp.1.oca.nflxvideo.net
ipv4-c002-hkg002-hkbn-isp.1.oca.nflxvideo.net
ipv4-c003-hkg002-hkbn-isp.1.oca.nflxvideo.net
ipv4-c004-hkg002-hkbn-isp.1.oca.nflxvideo.net
ipv4-c001-hkg001-pccw-isp.1.oca.nflxvideo.net
ipv4-c003-hkg001-pccw-isp.1.oca.nflxvideo.net
ipv4-c004-hkg001-pccw-isp.1.oca.nflxvideo.net
ipv4-c002-hkg002-pccw-isp.1.oca.nflxvideo.net
ipv4-c003-hkg002-pccw-isp.1.oca.nflxvideo.net
ipv4-c004-hkg002-pccw-isp.1.oca.nflxvideo.net
ipv4-c005-hkg002-pccw-isp.1.oca.nflxvideo.net
ipv4-c001-hkg003-pccw-isp.1.oca.nflxvideo.net
ipv4-c002-hkg003-pccw-isp.1.oca.nflxvideo.net
ipv4-c003-hkg003-pccw-isp.1.oca.nflxvideo.net
ipv4-c004-hkg003-pccw-isp.1.oca.nflxvideo.net
ipv4-c010-hkg001-ix.1.oca.nflxvideo.net
ipv6-c010-hkg001-ix.1.oca.nflxvideo.net
ipv4-c020-hkg001-ix.1.oca.nflxvideo.net
ipv6-c020-hkg001-ix.1.oca.nflxvideo.net
ipv4-c030-hkg001-ix.1.oca.nflxvideo.net
ipv6-c030-hkg001-ix.1.oca.nflxvideo.net
ipv4-c040-hkg001-ix.1.oca.nflxvideo.net
ipv6-c040-hkg001-ix.1.oca.nflxvideo.net
ipv4-c050-hkg001-ix.1.oca.nflxvideo.net
ipv4-c060-hkg001-ix.1.oca.nflxvideo.net
ipv6-c001-hkg001-ix.1.oca.nflxvideo.net
ipv4-c011-hkg001-ix.1.oca.nflxvideo.net
ipv6-c011-hkg001-ix.1.oca.nflxvideo.net
ipv4-c021-hkg001-ix.1.oca.nflxvideo.net
ipv6-c021-hkg001-ix.1.oca.nflxvideo.net
ipv4-c031-hkg001-ix.1.oca.nflxvideo.net
ipv6-c031-hkg001-ix.1.oca.nflxvideo.net
ipv4-c041-hkg001-ix.1.oca.nflxvideo.net
ipv6-c041-hkg001-ix.1.oca.nflxvideo.net
ipv4-c051-hkg001-ix.1.oca.nflxvideo.net
ipv4-c061-hkg001-ix.1.oca.nflxvideo.net
ipv4-c002-hkg001-ix.1.oca.nflxvideo.net
ipv6-c002-hkg001-ix.1.oca.nflxvideo.net
ipv4-c012-hkg001-ix.1.oca.nflxvideo.net
ipv4-c022-hkg001-ix.1.oca.nflxvideo.net
ipv6-c022-hkg001-ix.1.oca.nflxvideo.net
ipv4-c032-hkg001-ix.1.oca.nflxvideo.net
ipv6-c032-hkg001-ix.1.oca.nflxvideo.net
ipv4-c042-hkg001-ix.1.oca.nflxvideo.net
ipv6-c042-hkg001-ix.1.oca.nflxvideo.net
ipv4-c052-hkg001-ix.1.oca.nflxvideo.net
ipv4-c062-hkg001-ix.1.oca.nflxvideo.net
ipv4-c003-hkg001-ix.1.oca.nflxvideo.net
ipv6-c003-hkg001-ix.1.oca.nflxvideo.net
ipv4-c013-hkg001-ix.1.oca.nflxvideo.net
ipv6-c013-hkg001-ix.1.oca.nflxvideo.net
ipv4-c023-hkg001-ix.1.oca.nflxvideo.net
ipv6-c023-hkg001-ix.1.oca.nflxvideo.net
ipv4-c033-hkg001-ix.1.oca.nflxvideo.net
ipv6-c033-hkg001-ix.1.oca.nflxvideo.net
ipv4-c043-hkg001-ix.1.oca.nflxvideo.net
ipv6-c043-hkg001-ix.1.oca.nflxvideo.net
ipv4-c053-hkg001-ix.1.oca.nflxvideo.net
ipv4-c004-hkg001-ix.1.oca.nflxvideo.net
ipv6-c004-hkg001-ix.1.oca.nflxvideo.net
ipv4-c014-hkg001-ix.1.oca.nflxvideo.net
ipv6-c014-hkg001-ix.1.oca.nflxvideo.net
ipv4-c024-hkg001-ix.1.oca.nflxvideo.net
ipv6-c024-hkg001-ix.1.oca.nflxvideo.net
ipv4-c034-hkg001-ix.1.oca.nflxvideo.net
ipv6-c034-hkg001-ix.1.oca.nflxvideo.net
ipv4-c044-hkg001-ix.1.oca.nflxvideo.net
ipv6-c044-hkg001-ix.1.oca.nflxvideo.net
ipv4-c054-hkg001-ix.1.oca.nflxvideo.net
ipv4-c005-hkg001-ix.1.oca.nflxvideo.net
ipv6-c005-hkg001-ix.1.oca.nflxvideo.net
ipv4-c015-hkg001-ix.1.oca.nflxvideo.net
ipv6-c015-hkg001-ix.1.oca.nflxvideo.net
ipv4-c025-hkg001-ix.1.oca.nflxvideo.net
ipv6-c025-hkg001-ix.1.oca.nflxvideo.net
ipv4-c035-hkg001-ix.1.oca.nflxvideo.net
ipv6-c035-hkg001-ix.1.oca.nflxvideo.net
ipv4-c045-hkg001-ix.1.oca.nflxvideo.net
ipv4-c055-hkg001-ix.1.oca.nflxvideo.net
ipv4-c006-hkg001-ix.1.oca.nflxvideo.net
ipv6-c006-hkg001-ix.1.oca.nflxvideo.net
ipv4-c016-hkg001-ix.1.oca.nflxvideo.net
ipv6-c016-hkg001-ix.1.oca.nflxvideo.net
ipv4-c026-hkg001-ix.1.oca.nflxvideo.net
ipv6-c026-hkg001-ix.1.oca.nflxvideo.net
ipv4-c036-hkg001-ix.1.oca.nflxvideo.net
ipv6-c036-hkg001-ix.1.oca.nflxvideo.net
ipv4-c046-hkg001-ix.1.oca.nflxvideo.net
ipv4-c056-hkg001-ix.1.oca.nflxvideo.net
ipv4-c007-hkg001-ix.1.oca.nflxvideo.net
ipv6-c007-hkg001-ix.1.oca.nflxvideo.net
ipv4-c017-hkg001-ix.1.oca.nflxvideo.net
ipv6-c017-hkg001-ix.1.oca.nflxvideo.net
ipv4-c027-hkg001-ix.1.oca.nflxvideo.net
ipv6-c027-hkg001-ix.1.oca.nflxvideo.net
ipv4-c037-hkg001-ix.1.oca.nflxvideo.net
ipv6-c037-hkg001-ix.1.oca.nflxvideo.net
ipv4-c047-hkg001-ix.1.oca.nflxvideo.net
ipv4-c057-hkg001-ix.1.oca.nflxvideo.net
ipv4-c008-hkg001-ix.1.oca.nflxvideo.net
ipv6-c008-hkg001-ix.1.oca.nflxvideo.net
ipv4-c018-hkg001-ix.1.oca.nflxvideo.net
ipv6-c018-hkg001-ix.1.oca.nflxvideo.net
ipv4-c028-hkg001-ix.1.oca.nflxvideo.net
ipv6-c028-hkg001-ix.1.oca.nflxvideo.net
ipv4-c038-hkg001-ix.1.oca.nflxvideo.net
ipv6-c038-hkg001-ix.1.oca.nflxvideo.net
ipv4-c048-hkg001-ix.1.oca.nflxvideo.net
ipv4-c058-hkg001-ix.1.oca.nflxvideo.net
ipv4-c009-hkg001-ix.1.oca.nflxvideo.net
ipv6-c009-hkg001-ix.1.oca.nflxvideo.net
ipv6-c019-hkg001-ix.1.oca.nflxvideo.net
ipv4-c029-hkg001-ix.1.oca.nflxvideo.net
ipv6-c029-hkg001-ix.1.oca.nflxvideo.net
ipv4-c039-hkg001-ix.1.oca.nflxvideo.net
ipv6-c039-hkg001-ix.1.oca.nflxvideo.net
ipv4-c049-hkg001-ix.1.oca.nflxvideo.net
ipv4-c059-hkg001-ix.1.oca.nflxvideo.net
ipv4-c001-hkg001-ix.1.oca.nflxvideo.net
ipv4-c019-hkg001-ix.1.oca.nflxvideo.net
ipv4-c001-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c001-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c002-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c002-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c003-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c003-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c004-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c004-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c005-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c005-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c006-sin001-starhub-isp.1.oca.nflxvideo.net
ipv4-c010-sin001-ix.1.oca.nflxvideo.net
ipv6-c010-sin001-ix.1.oca.nflxvideo.net
ipv4-c020-sin001-ix.1.oca.nflxvideo.net
ipv4-c030-sin001-ix.1.oca.nflxvideo.net
ipv6-c030-sin001-ix.1.oca.nflxvideo.net
ipv4-c040-sin001-ix.1.oca.nflxvideo.net
ipv6-c040-sin001-ix.1.oca.nflxvideo.net
ipv4-c050-sin001-ix.1.oca.nflxvideo.net
ipv4-c060-sin001-ix.1.oca.nflxvideo.net
ipv4-c001-sin001-ix.1.oca.nflxvideo.net
ipv4-c011-sin001-ix.1.oca.nflxvideo.net
ipv6-c011-sin001-ix.1.oca.nflxvideo.net
ipv4-c021-sin001-ix.1.oca.nflxvideo.net
ipv4-c031-sin001-ix.1.oca.nflxvideo.net
ipv6-c031-sin001-ix.1.oca.nflxvideo.net
ipv4-c041-sin001-ix.1.oca.nflxvideo.net
ipv6-c041-sin001-ix.1.oca.nflxvideo.net
ipv4-c051-sin001-ix.1.oca.nflxvideo.net
ipv4-c061-sin001-ix.1.oca.nflxvideo.net
ipv4-c002-sin001-ix.1.oca.nflxvideo.net
ipv6-c002-sin001-ix.1.oca.nflxvideo.net
ipv4-c012-sin001-ix.1.oca.nflxvideo.net
ipv6-c012-sin001-ix.1.oca.nflxvideo.net
ipv4-c032-sin001-ix.1.oca.nflxvideo.net
ipv6-c032-sin001-ix.1.oca.nflxvideo.net
ipv4-c042-sin001-ix.1.oca.nflxvideo.net
ipv6-c042-sin001-ix.1.oca.nflxvideo.net
ipv4-c052-sin001-ix.1.oca.nflxvideo.net
ipv4-c062-sin001-ix.1.oca.nflxvideo.net
ipv4-c003-sin001-ix.1.oca.nflxvideo.net
ipv4-c013-sin001-ix.1.oca.nflxvideo.net
ipv6-c013-sin001-ix.1.oca.nflxvideo.net
ipv4-c033-sin001-ix.1.oca.nflxvideo.net
ipv4-c043-sin001-ix.1.oca.nflxvideo.net
ipv6-c043-sin001-ix.1.oca.nflxvideo.net
ipv4-c053-sin001-ix.1.oca.nflxvideo.net
ipv6-c053-sin001-ix.1.oca.nflxvideo.net
ipv4-c063-sin001-ix.1.oca.nflxvideo.net
ipv4-c004-sin001-ix.1.oca.nflxvideo.net
ipv6-c004-sin001-ix.1.oca.nflxvideo.net
ipv4-c014-sin001-ix.1.oca.nflxvideo.net
ipv6-c014-sin001-ix.1.oca.nflxvideo.net
ipv4-c034-sin001-ix.1.oca.nflxvideo.net
ipv6-c034-sin001-ix.1.oca.nflxvideo.net
ipv4-c044-sin001-ix.1.oca.nflxvideo.net
ipv6-c044-sin001-ix.1.oca.nflxvideo.net
ipv4-c054-sin001-ix.1.oca.nflxvideo.net
ipv4-c005-sin001-ix.1.oca.nflxvideo.net
ipv6-c005-sin001-ix.1.oca.nflxvideo.net
ipv4-c015-sin001-ix.1.oca.nflxvideo.net
ipv6-c015-sin001-ix.1.oca.nflxvideo.net
ipv4-c025-sin001-ix.1.oca.nflxvideo.net
ipv6-c025-sin001-ix.1.oca.nflxvideo.net
ipv4-c035-sin001-ix.1.oca.nflxvideo.net
ipv6-c035-sin001-ix.1.oca.nflxvideo.net
ipv4-c045-sin001-ix.1.oca.nflxvideo.net
ipv6-c045-sin001-ix.1.oca.nflxvideo.net
ipv4-c055-sin001-ix.1.oca.nflxvideo.net
ipv4-c006-sin001-ix.1.oca.nflxvideo.net
ipv4-c016-sin001-ix.1.oca.nflxvideo.net
ipv4-c026-sin001-ix.1.oca.nflxvideo.net
ipv4-c036-sin001-ix.1.oca.nflxvideo.net
ipv6-c036-sin001-ix.1.oca.nflxvideo.net
ipv4-c046-sin001-ix.1.oca.nflxvideo.net
ipv6-c046-sin001-ix.1.oca.nflxvideo.net
ipv4-c056-sin001-ix.1.oca.nflxvideo.net
ipv4-c007-sin001-ix.1.oca.nflxvideo.net
ipv6-c007-sin001-ix.1.oca.nflxvideo.net
ipv4-c017-sin001-ix.1.oca.nflxvideo.net
ipv6-c017-sin001-ix.1.oca.nflxvideo.net
ipv4-c027-sin001-ix.1.oca.nflxvideo.net
ipv6-c027-sin001-ix.1.oca.nflxvideo.net
ipv4-c037-sin001-ix.1.oca.nflxvideo.net
ipv6-c037-sin001-ix.1.oca.nflxvideo.net
ipv4-c047-sin001-ix.1.oca.nflxvideo.net
ipv6-c047-sin001-ix.1.oca.nflxvideo.net
ipv4-c057-sin001-ix.1.oca.nflxvideo.net
ipv4-c008-sin001-ix.1.oca.nflxvideo.net
ipv6-c008-sin001-ix.1.oca.nflxvideo.net
ipv4-c018-sin001-ix.1.oca.nflxvideo.net
ipv4-c028-sin001-ix.1.oca.nflxvideo.net
ipv6-c028-sin001-ix.1.oca.nflxvideo.net
ipv4-c038-sin001-ix.1.oca.nflxvideo.net
ipv6-c038-sin001-ix.1.oca.nflxvideo.net
ipv4-c048-sin001-ix.1.oca.nflxvideo.net
ipv6-c048-sin001-ix.1.oca.nflxvideo.net
ipv4-c058-sin001-ix.1.oca.nflxvideo.net
ipv4-c009-sin001-ix.1.oca.nflxvideo.net
ipv6-c009-sin001-ix.1.oca.nflxvideo.net
ipv4-c019-sin001-ix.1.oca.nflxvideo.net
ipv6-c019-sin001-ix.1.oca.nflxvideo.net
ipv6-c029-sin001-ix.1.oca.nflxvideo.net
ipv4-c039-sin001-ix.1.oca.nflxvideo.net
ipv6-c039-sin001-ix.1.oca.nflxvideo.net
ipv4-c049-sin001-ix.1.oca.nflxvideo.net
ipv6-c049-sin001-ix.1.oca.nflxvideo.net
ipv4-c059-sin001-ix.1.oca.nflxvideo.net
ipv6-c050-sin001-ix.1.oca.nflxvideo.net
ipv4-c029-sin001-ix.1.oca.nflxvideo.net
ipv4-c001-xsp001-m1-isp.1.oca.nflxvideo.net
ipv4-c002-xsp001-m1-isp.1.oca.nflxvideo.net
ipv4-c003-xsp001-m1-isp.1.oca.nflxvideo.net
ipv4-c001-xsp002-m1-isp.1.oca.nflxvideo.net
ipv4-c002-xsp002-m1-isp.1.oca.nflxvideo.net
ipv4-c003-xsp002-m1-isp.1.oca.nflxvideo.net
ipv4-c001-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv6-c001-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c003-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv6-c003-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c004-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv6-c004-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c005-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv6-c005-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c006-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv6-c006-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c007-xsp002-starhub-isp.1.oca.nflxvideo.net
ipv4-c002-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv6-c002-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c004-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv6-c004-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c005-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c006-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv6-c006-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c007-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c008-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv6-c008-xsp003-starhub-isp.1.oca.nflxvideo.net
ipv4-c100-fra002-ix.1.oca.nflxvideo.net
ipv4-c010-fra002-ix.1.oca.nflxvideo.net
ipv4-c110-fra002-ix.1.oca.nflxvideo.net
ipv4-c020-fra002-ix.1.oca.nflxvideo.net
ipv4-c120-fra002-ix.1.oca.nflxvideo.net
ipv4-c030-fra002-ix.1.oca.nflxvideo.net
ipv4-c130-fra002-ix.1.oca.nflxvideo.net
ipv4-c040-fra002-ix.1.oca.nflxvideo.net
ipv4-c140-fra002-ix.1.oca.nflxvideo.net
ipv4-c050-fra002-ix.1.oca.nflxvideo.net
ipv4-c150-fra002-ix.1.oca.nflxvideo.net
ipv4-c060-fra002-ix.1.oca.nflxvideo.net
ipv4-c070-fra002-ix.1.oca.nflxvideo.net
ipv4-c080-fra002-ix.1.oca.nflxvideo.net
ipv4-c090-fra002-ix.1.oca.nflxvideo.net
ipv4-c001-fra002-ix.1.oca.nflxvideo.net
ipv4-c101-fra002-ix.1.oca.nflxvideo.net
ipv4-c011-fra002-ix.1.oca.nflxvideo.net
ipv4-c111-fra002-ix.1.oca.nflxvideo.net
ipv4-c021-fra002-ix.1.oca.nflxvideo.net
ipv4-c121-fra002-ix.1.oca.nflxvideo.net
ipv4-c031-fra002-ix.1.oca.nflxvideo.net
ipv4-c131-fra002-ix.1.oca.nflxvideo.net
ipv4-c041-fra002-ix.1.oca.nflxvideo.net
ipv4-c141-fra002-ix.1.oca.nflxvideo.net
ipv4-c051-fra002-ix.1.oca.nflxvideo.net
ipv4-c061-fra002-ix.1.oca.nflxvideo.net
ipv4-c071-fra002-ix.1.oca.nflxvideo.net
ipv4-c081-fra002-ix.1.oca.nflxvideo.net
ipv4-c091-fra002-ix.1.oca.nflxvideo.net
ipv4-c002-fra002-ix.1.oca.nflxvideo.net
ipv4-c102-fra002-ix.1.oca.nflxvideo.net
ipv4-c012-fra002-ix.1.oca.nflxvideo.net
ipv4-c112-fra002-ix.1.oca.nflxvideo.net
ipv4-c022-fra002-ix.1.oca.nflxvideo.net
ipv4-c122-fra002-ix.1.oca.nflxvideo.net
ipv4-c132-fra002-ix.1.oca.nflxvideo.net
ipv4-c042-fra002-ix.1.oca.nflxvideo.net
ipv4-c062-fra002-ix.1.oca.nflxvideo.net
ipv4-c072-fra002-ix.1.oca.nflxvideo.net
ipv4-c082-fra002-ix.1.oca.nflxvideo.net
ipv4-c092-fra002-ix.1.oca.nflxvideo.net
ipv4-c003-fra002-ix.1.oca.nflxvideo.net
ipv4-c103-fra002-ix.1.oca.nflxvideo.net
ipv4-c013-fra002-ix.1.oca.nflxvideo.net
ipv4-c113-fra002-ix.1.oca.nflxvideo.net
ipv4-c023-fra002-ix.1.oca.nflxvideo.net
ipv4-c123-fra002-ix.1.oca.nflxvideo.net
ipv4-c033-fra002-ix.1.oca.nflxvideo.net
ipv4-c133-fra002-ix.1.oca.nflxvideo.net
ipv4-c043-fra002-ix.1.oca.nflxvideo.net
ipv4-c153-fra002-ix.1.oca.nflxvideo.net
ipv4-c063-fra002-ix.1.oca.nflxvideo.net
ipv4-c073-fra002-ix.1.oca.nflxvideo.net
ipv4-c083-fra002-ix.1.oca.nflxvideo.net
ipv4-c093-fra002-ix.1.oca.nflxvideo.net
ipv4-c004-fra002-ix.1.oca.nflxvideo.net
ipv4-c104-fra002-ix.1.oca.nflxvideo.net
ipv4-c014-fra002-ix.1.oca.nflxvideo.net
ipv4-c114-fra002-ix.1.oca.nflxvideo.net
ipv4-c024-fra002-ix.1.oca.nflxvideo.net
ipv4-c124-fra002-ix.1.oca.nflxvideo.net
ipv4-c034-fra002-ix.1.oca.nflxvideo.net
ipv4-c134-fra002-ix.1.oca.nflxvideo.net
ipv4-c044-fra002-ix.1.oca.nflxvideo.net
ipv4-c154-fra002-ix.1.oca.nflxvideo.net
ipv4-c064-fra002-ix.1.oca.nflxvideo.net
ipv4-c074-fra002-ix.1.oca.nflxvideo.net
ipv4-c084-fra002-ix.1.oca.nflxvideo.net
ipv4-c094-fra002-ix.1.oca.nflxvideo.net
ipv4-c005-fra002-ix.1.oca.nflxvideo.net
ipv4-c105-fra002-ix.1.oca.nflxvideo.net
ipv4-c015-fra002-ix.1.oca.nflxvideo.net
ipv4-c115-fra002-ix.1.oca.nflxvideo.net
ipv4-c025-fra002-ix.1.oca.nflxvideo.net
ipv4-c125-fra002-ix.1.oca.nflxvideo.net
ipv4-c035-fra002-ix.1.oca.nflxvideo.net
ipv4-c135-fra002-ix.1.oca.nflxvideo.net
ipv4-c045-fra002-ix.1.oca.nflxvideo.net
ipv4-c145-fra002-ix.1.oca.nflxvideo.net
ipv4-c065-fra002-ix.1.oca.nflxvideo.net
ipv4-c075-fra002-ix.1.oca.nflxvideo.net
ipv4-c085-fra002-ix.1.oca.nflxvideo.net
ipv4-c095-fra002-ix.1.oca.nflxvideo.net
ipv4-c006-fra002-ix.1.oca.nflxvideo.net
ipv4-c106-fra002-ix.1.oca.nflxvideo.net
ipv4-c016-fra002-ix.1.oca.nflxvideo.net
ipv4-c116-fra002-ix.1.oca.nflxvideo.net
ipv4-c026-fra002-ix.1.oca.nflxvideo.net
ipv4-c126-fra002-ix.1.oca.nflxvideo.net
ipv4-c036-fra002-ix.1.oca.nflxvideo.net
ipv4-c136-fra002-ix.1.oca.nflxvideo.net
ipv4-c046-fra002-ix.1.oca.nflxvideo.net
ipv4-c146-fra002-ix.1.oca.nflxvideo.net
ipv4-c056-fra002-ix.1.oca.nflxvideo.net
ipv4-c156-fra002-ix.1.oca.nflxvideo.net
ipv4-c066-fra002-ix.1.oca.nflxvideo.net
ipv4-c076-fra002-ix.1.oca.nflxvideo.net
ipv4-c086-fra002-ix.1.oca.nflxvideo.net
ipv4-c096-fra002-ix.1.oca.nflxvideo.net
ipv4-c007-fra002-ix.1.oca.nflxvideo.net
ipv4-c107-fra002-ix.1.oca.nflxvideo.net
ipv4-c017-fra002-ix.1.oca.nflxvideo.net
ipv4-c117-fra002-ix.1.oca.nflxvideo.net
ipv4-c027-fra002-ix.1.oca.nflxvideo.net
ipv4-c127-fra002-ix.1.oca.nflxvideo.net
ipv4-c037-fra002-ix.1.oca.nflxvideo.net
ipv4-c137-fra002-ix.1.oca.nflxvideo.net
ipv4-c047-fra002-ix.1.oca.nflxvideo.net
ipv4-c057-fra002-ix.1.oca.nflxvideo.net
ipv4-c067-fra002-ix.1.oca.nflxvideo.net
ipv4-c077-fra002-ix.1.oca.nflxvideo.net
ipv4-c087-fra002-ix.1.oca.nflxvideo.net
ipv4-c097-fra002-ix.1.oca.nflxvideo.net
ipv4-c008-fra002-ix.1.oca.nflxvideo.net
ipv4-c108-fra002-ix.1.oca.nflxvideo.net
ipv4-c018-fra002-ix.1.oca.nflxvideo.net
ipv4-c028-fra002-ix.1.oca.nflxvideo.net
ipv4-c128-fra002-ix.1.oca.nflxvideo.net
ipv4-c038-fra002-ix.1.oca.nflxvideo.net
ipv4-c138-fra002-ix.1.oca.nflxvideo.net
ipv4-c048-fra002-ix.1.oca.nflxvideo.net
ipv4-c148-fra002-ix.1.oca.nflxvideo.net
ipv4-c058-fra002-ix.1.oca.nflxvideo.net
ipv4-c158-fra002-ix.1.oca.nflxvideo.net
ipv4-c068-fra002-ix.1.oca.nflxvideo.net
ipv4-c078-fra002-ix.1.oca.nflxvideo.net
ipv4-c088-fra002-ix.1.oca.nflxvideo.net
ipv4-c098-fra002-ix.1.oca.nflxvideo.net
ipv4-c009-fra002-ix.1.oca.nflxvideo.net
ipv4-c109-fra002-ix.1.oca.nflxvideo.net
ipv4-c019-fra002-ix.1.oca.nflxvideo.net
ipv4-c119-fra002-ix.1.oca.nflxvideo.net
ipv4-c029-fra002-ix.1.oca.nflxvideo.net
ipv4-c129-fra002-ix.1.oca.nflxvideo.net
ipv4-c039-fra002-ix.1.oca.nflxvideo.net
ipv4-c139-fra002-ix.1.oca.nflxvideo.net
ipv4-c049-fra002-ix.1.oca.nflxvideo.net
ipv4-c149-fra002-ix.1.oca.nflxvideo.net
ipv4-c059-fra002-ix.1.oca.nflxvideo.net
ipv4-c069-fra002-ix.1.oca.nflxvideo.net
ipv4-c079-fra002-ix.1.oca.nflxvideo.net
ipv4-c089-fra002-ix.1.oca.nflxvideo.net
ipv4-c099-fra002-ix.1.oca.nflxvideo.net
ipv4-c010-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c001-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c011-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c002-fra002-dev-ix.1.oca.nflxvideo.net
ipv6-c002-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c012-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c003-fra002-dev-ix.1.oca.nflxvideo.net
ipv6-c003-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c004-fra002-dev-ix.1.oca.nflxvideo.net
ipv6-c004-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c005-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c006-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c007-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c008-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c009-fra002-dev-ix.1.oca.nflxvideo.net
ipv4-c151-fra002-ix.1.oca.nflxvideo.net
ipv4-c032-fra002-ix.1.oca.nflxvideo.net
ipv4-c142-fra002-ix.1.oca.nflxvideo.net
ipv4-c152-fra002-ix.1.oca.nflxvideo.net
ipv4-c143-fra002-ix.1.oca.nflxvideo.net
ipv4-c144-fra002-ix.1.oca.nflxvideo.net
ipv4-c155-fra002-ix.1.oca.nflxvideo.net
ipv4-c147-fra002-ix.1.oca.nflxvideo.net
ipv4-c157-fra002-ix.1.oca.nflxvideo.net
ipv4-c118-fra002-ix.1.oca.nflxvideo.net
ipv4-c003-mfm001-ctm-isp.1.oca.nflxvideo.net
ipv4-c001-tsa001-chieftelecom-isp.1.oca.nflxvideo.net
ipv4-c001-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c002-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c003-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c004-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c005-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c006-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c007-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c008-tsa001-cht-isp.1.oca.nflxvideo.net
ipv4-c002-cjj001-lguplus-isp.1.oca.nflxvideo.net
ipv4-c006-cjj001-lguplus-isp.1.oca.nflxvideo.net
ipv4-c001-hlp001-im2-isp.1.oca.nflxvideo.net
ipv4-c001-hlp001-myrepublicid-isp.1.oca.nflxvideo.net
ipv4-c002-hlp001-myrepublicid-isp.1.oca.nflxvideo.net
ipv4-c001-hlp001-cbn-isp.1.oca.nflxvideo.net
ipv4-c002-hlp001-cbn-isp.1.oca.nflxvideo.net
ipv4-c001-hlp002-linknet-isp.1.oca.nflxvideo.net
ipv4-c002-hlp002-linknet-isp.1.oca.nflxvideo.net
ipv4-c001-hlp003-linknet-isp.1.oca.nflxvideo.net
ipv4-c002-hlp003-linknet-isp.1.oca.nflxvideo.net
ipv4-c001-hlp001-mncplay-isp.1.oca.nflxvideo.net
ipv4-c002-hlp001-mncplay-isp.1.oca.nflxvideo.net
ipv4-c001-bdo001-starnetid-isp.1.oca.nflxvideo.net
ipv4-c002-bdo001-starnetid-isp.1.oca.nflxvideo.net
ipv4-c002-cgk001-moratel-isp.1.oca.nflxvideo.net
ipv4-c001-cgk001-linknet-isp.1.oca.nflxvideo.net
ipv4-c002-cgk001-linknet-isp.1.oca.nflxvideo.net
ipv4-c003-cgk001-linknet-isp.1.oca.nflxvideo.net
ipv4-c001-cgk002-linknet-isp.1.oca.nflxvideo.net
ipv4-c002-cgk002-linknet-isp.1.oca.nflxvideo.net
ipv4-c003-cgk002-linknet-isp.1.oca.nflxvideo.net
ipv4-c003-cgk002-biznet-isp.1.oca.nflxvideo.net
ipv4-c004-cgk002-biznet-isp.1.oca.nflxvideo.net
ipv4-c001-cxp001-biznet-isp.1.oca.nflxvideo.net
ipv4-c001-sub001-biznet-isp.1.oca.nflxvideo.net
ipv4-c016-jnb001-ix.1.oca.nflxvideo.net
ipv4-c010-jnb001-ix.1.oca.nflxvideo.net
ipv4-c025-jnb001-ix.1.oca.nflxvideo.net
ipv4-c027-jnb001-ix.1.oca.nflxvideo.net
ipv6-c001-sin001-ix.1.oca.nflxvideo.net
ipv4-c002-jnb001-ix.1.oca.nflxvideo.net
ipv4-c008-jnb001-ix.1.oca.nflxvideo.net
ipv4-c004-jnb001-ix.1.oca.nflxvideo.net
ipv6-c063-sin001-ix.1.oca.nflxvideo.net
ipv6-c117-fra002-ix.1.oca.nflxvideo.net
ipv4-c037-jnb001-ix.1.oca.nflxvideo.net
ipv4-c026-jnb001-ix.1.oca.nflxvideo.net
ipv6-c124-fra002-ix.1.oca.nflxvideo.net
ipv6-c062-hkg001-ix.1.oca.nflxvideo.net
ipv6-c058-hkg001-ix.1.oca.nflxvideo.net
ipv6-c057-sin001-ix.1.oca.nflxvideo.net
ipv6-c051-hkg001-ix.1.oca.nflxvideo.net
ipv6-c108-fra002-ix.1.oca.nflxvideo.net
ipv4-c024-jnb001-ix.1.oca.nflxvideo.net
ipv4-c030-jnb001-ix.1.oca.nflxvideo.net
ipv4-c010-osa001-ix.1.oca.nflxvideo.net
ipv4-c020-osa001-ix.1.oca.nflxvideo.net
ipv4-c001-osa001-ix.1.oca.nflxvideo.net
ipv4-c011-osa001-ix.1.oca.nflxvideo.net
ipv4-c021-osa001-ix.1.oca.nflxvideo.net
ipv4-c002-osa001-ix.1.oca.nflxvideo.net
ipv4-c012-osa001-ix.1.oca.nflxvideo.net
ipv4-c022-osa001-ix.1.oca.nflxvideo.net
ipv4-c003-osa001-ix.1.oca.nflxvideo.net
ipv4-c013-osa001-ix.1.oca.nflxvideo.net
ipv4-c004-osa001-ix.1.oca.nflxvideo.net
ipv4-c014-osa001-ix.1.oca.nflxvideo.net
ipv4-c005-osa001-ix.1.oca.nflxvideo.net
ipv4-c015-osa001-ix.1.oca.nflxvideo.net
ipv4-c006-osa001-ix.1.oca.nflxvideo.net
ipv4-c016-osa001-ix.1.oca.nflxvideo.net
ipv4-c007-osa001-ix.1.oca.nflxvideo.net
ipv4-c017-osa001-ix.1.oca.nflxvideo.net
ipv4-c008-osa001-ix.1.oca.nflxvideo.net
ipv4-c018-osa001-ix.1.oca.nflxvideo.net
ipv4-c009-osa001-ix.1.oca.nflxvideo.net
ipv4-c019-osa001-ix.1.oca.nflxvideo.net
ipv4-c020-jnb001-ix.1.oca.nflxvideo.net
ipv4-c001-jnb001-ix.1.oca.nflxvideo.net
ipv4-c011-jnb001-ix.1.oca.nflxvideo.net
ipv4-c021-jnb001-ix.1.oca.nflxvideo.net
ipv4-c031-jnb001-ix.1.oca.nflxvideo.net
ipv4-c012-jnb001-ix.1.oca.nflxvideo.net
ipv4-c022-jnb001-ix.1.oca.nflxvideo.net
ipv4-c032-jnb001-ix.1.oca.nflxvideo.net
ipv4-c003-jnb001-ix.1.oca.nflxvideo.net
ipv4-c023-jnb001-ix.1.oca.nflxvideo.net
ipv4-c033-jnb001-ix.1.oca.nflxvideo.net
ipv4-c014-jnb001-ix.1.oca.nflxvideo.net
ipv4-c034-jnb001-ix.1.oca.nflxvideo.net
ipv4-c005-jnb001-ix.1.oca.nflxvideo.net
ipv4-c015-jnb001-ix.1.oca.nflxvideo.net
ipv4-c006-jnb001-ix.1.oca.nflxvideo.net
ipv4-c036-jnb001-ix.1.oca.nflxvideo.net
ipv4-c007-jnb001-ix.1.oca.nflxvideo.net
ipv4-c017-jnb001-ix.1.oca.nflxvideo.net
ipv4-c018-jnb001-ix.1.oca.nflxvideo.net
ipv4-c028-jnb001-ix.1.oca.nflxvideo.net
ipv4-c038-jnb001-ix.1.oca.nflxvideo.net
ipv4-c009-jnb001-ix.1.oca.nflxvideo.net
ipv4-c019-jnb001-ix.1.oca.nflxvideo.net
ipv4-c029-jnb001-ix.1.oca.nflxvideo.net
ipv4-c013-jnb001-ix.1.oca.nflxvideo.net
ipv4-c035-jnb001-ix.1.oca.nflxvideo.net
dualstack.apiproxy-nrdp-prod-nlb-4-9fae3883a092e5c6.elb.us-west-2.amazonaws.com
dualstack.apiproxy-nrdp-prod-nlb-2-42101415231301e4.elb.us-west-2.amazonaws.com
dualstack.apiproxy-nrdp-prod-nlb-1-4659b24f746a127b.elb.us-west-2.amazonaws.com
dualstack.apiproxy-nrdp-prod-nlb-3-80d1f4b305f7c0e4.elb.us-west-2.amazonaws.com
ipv4-c002-hkg001-pccw-isp.1.oca.nflxvideo.net
ipv6-c012-hkg001-ix.1.oca.nflxvideo.net
ipv6-c006-sin001-starhub-isp.1.oca.nflxvideo.net
ipv6-c026-sin001-ix.1.oca.nflxvideo.net
ipv4-c001-cgk001-moratel-isp.1.oca.nflxvideo.net
ipv4-c221-sjc002-ix.1.oca.nflxvideo.net
ipv4-c204-sjc002-dev-ix.1.oca.nflxvideo.net
ipv4-c070-lax009-ix.1.oca.nflxvideo.net
ipv4-c024-lax009-ix.1.oca.nflxvideo.net

Binary file not shown.

View File

@@ -3,6 +3,8 @@
2001:256:100::/48
2001:678:d3c::/48
2001:67c:aec::/48
2001:67c:c28::/48
2001:67c:2964::/48
2001:7fa:5::/48
2001:cc0::/32
2001:da8::/32
@@ -12,17 +14,15 @@
2001:dd9::/48
2001:df0:2e00::/48
2001:df0:59c0::/48
2001:df1:4580::/48
2001:df1:5fc0::/48
2001:df1:6b80::/48
2001:df1:a100::/48
2001:df1:bd80::/48
2001:df3:3a80::/48
2001:df3:8b80::/48
2001:df3:b380::/48
2001:df5:7800::/48
2001:df6:f400::/48
2001:df7:1480::/48
2049:8e02:f000::/36
2400:1160::/32
2400:3200::/32
2400:5280:f803::/48
@@ -147,11 +147,14 @@
2401:de00::/32
2401:ec00::/32
2401:fa00:40::/43
2402:840:d000::/46
2402:840:e000::/48
2402:840:d000::/47
2402:840:d002::/48
2402:840:e001::/48
2402:840:f000::/38
2402:1440::/32
2402:2000::/32
2402:2b40:8000::/36
2402:3180:8000::/33
2402:3c00::/32
2402:3f80:1400::/40
2402:4440::/32
@@ -193,12 +196,10 @@
2403:1b80::/48
2403:1ec0:1200::/48
2403:1ec0:1400::/48
2403:1ec0:1600::/48
2403:1ec0:1610::/48
2403:2040::/32
2403:27c0:1000::/48
2403:27c0:5000::/48
2403:2940:1::/48
2403:2b40::/32
2403:3140::/32
2403:4240::/32
@@ -207,7 +208,6 @@
2403:4c80::/48
2403:5c80::/48
2403:6380:14::/47
2403:6380:20::/43
2403:6380:40::/48
2403:6380:42::/47
2403:6a00::/32
@@ -226,7 +226,6 @@
2403:d400::/32
2403:e7c0:1::/48
2403:f4c0::/48
2403:fec0::/32
2403:ffc0:1100::/40
2403:ffc0:1200::/39
2404:bc0:1::/48
@@ -240,14 +239,19 @@
2404:2280:106::/47
2404:2280:10d::/48
2404:2280:112::/47
2404:2280:123::/48
2404:2280:124::/47
2404:2280:134::/48
2404:2280:136::/47
2404:2280:13b::/48
2404:2280:13c::/47
2404:2280:147::/48
2404:2280:19d::/48
2404:2280:1bd::/48
2404:2280:1be::/48
2404:2280:1c1::/48
2404:2280:1c2::/47
2404:2280:1c4::/47
2404:2280:1c7::/48
2404:2280:1c8::/48
2404:2280:1cb::/48
2404:2280:1cc::/48
@@ -278,6 +282,8 @@
2404:7600::/32
2404:7940::/32
2404:7ac0:660::/44
2404:8d02:28c8::/48
2404:8d02:4881::/48
2404:c2c0::/40
2404:c2c0:240::/44
2404:c2c0:280::/44
@@ -300,48 +306,10 @@
2404:ea80:700:695::/64
2404:ea80:700:696::/63
2404:ea80:700:696a::/64
2404:f4c0:6660::/48
2404:f4c0:6666::/48
2404:f4c0:7000::/36
2404:f4c0:f000::/44
2404:f4c0:f200::/48
2404:f4c0:f202::/47
2404:f4c0:f402::/47
2404:f4c0:f404::/48
2404:f4c0:f408::/48
2404:f4c0:f4c0::/48
2404:f4c0:f4cd::/48
2404:f4c0:f4cf::/48
2404:f4c0:f54e::/48
2404:f4c0:f5c0::/44
2404:f4c0:f700::/47
2404:f4c0:f703::/48
2404:f4c0:f708::/47
2404:f4c0:f70b::/48
2404:f4c0:f70f::/48
2404:f4c0:f720::/48
2404:f4c0:f723::/48
2404:f4c0:f72f::/48
2404:f4c0:f810::/44
2404:f4c0:f940::/44
2404:f4c0:fa00::/48
2404:f4c0:fa02::/47
2404:f4c0:fa09::/48
2404:f4c0:fa0a::/47
2404:f4c0:fac0::/48
2404:f4c0:facf::/48
2404:f4c0:fb00::/48
2404:f4c0:fc80::/44
2404:f4c0:fd00::/48
2404:f4c0:fd03::/48
2404:f4c0:fd04::/47
2404:f4c0:fd06::/48
2404:f4c0:fe20::/48
2404:f4c0:feff::/48
2404:f4c0:ff06::/47
2404:f4c0:ff0f::/48
2404:f4c0:ff1f::/48
2404:f4c0:fff0::/48
2404:f4c0::/32
2405:6c0:1::/48
2405:6c0:2::/48
2405:6c0:4::/48
2405:1480:1000::/48
2405:1480:2000::/48
2405:1fc0:720::/48
@@ -356,15 +324,17 @@
2405:6940::/48
2405:6f00::/32
2405:7040:6000::/47
2405:78c0:6e0e::/48
2405:78c0:6e1e::/48
2405:84c0:6c00::/44
2405:84c0:8100::/44
2405:84c0:8d00::/40
2405:84c0:9000::/44
2405:84c0:9727::/48
2405:84c0:9890::/44
2405:84c0:9e00::/40
2405:84c0:fa00::/40
2405:84c0:fbbb::/48
2405:84c0:fdfc::/46
2405:84c0:ff10::/47
2405:84c0:ff11::/48
2405:84c0:ff13::/48
2405:84c0:ff1f::/48
2405:84c0:ff30::/48
@@ -379,19 +349,21 @@
2406:840:10::/45
2406:840:20::/48
2406:840:44::/47
2406:840:78::/48
2406:840:80::/47
2406:840:90::/48
2406:840:100::/47
2406:840:301::/48
2406:840:111::/48
2406:840:1c0::/48
2406:840:380::/48
2406:840:3c0::/48
2406:840:580::/48
2406:840:6a0::/48
2406:840:800::/42
2406:840:840::/47
2406:840:860::/48
2406:840:880::/48
2406:840:c00::/48
2406:840:c10::/48
2406:840:1110::/48
2406:840:c10::/47
2406:840:1860::/48
2406:840:4100::/47
2406:840:4380::/47
@@ -404,9 +376,10 @@
2406:840:9000::/47
2406:840:9002::/48
2406:840:9200::/40
2406:840:9680::/44
2406:840:9700::/40
2406:840:9840::/44
2406:840:9960::/44
2406:840:9980::/48
2406:840:9ef0::/44
2406:840:ac10::/44
2406:840:c0a8::/48
@@ -422,9 +395,7 @@
2406:840:e180::/44
2406:840:e20f::/48
2406:840:e247::/48
2406:840:e280::/44
2406:840:e300::/44
2406:840:e340::/44
2406:840:e360::/48
2406:840:e36f::/48
2406:840:e500::/47
@@ -434,13 +405,8 @@
2406:840:e80f::/48
2406:840:e841::/48
2406:840:eabf::/48
2406:840:eb00::/48
2406:840:eb02::/47
2406:840:eb04::/48
2406:840:eb07::/48
2406:840:eb08::/47
2406:840:eb0f::/48
2406:840:eb80::/42
2406:840:f000::/44
2406:840:f100::/47
2406:840:f200::/44
2406:840:f230::/44
@@ -449,15 +415,18 @@
2406:840:f440::/47
2406:840:f44f::/48
2406:840:f48f::/48
2406:840:f4cf::/48
2406:840:f62f::/48
2406:840:f660::/44
2406:840:f90b::/48
2406:840:f90a::/47
2406:840:f90c::/47
2406:840:f990::/44
2406:840:fa00::/47
2406:840:fcc0::/44
2406:840:fd00::/46
2406:840:fd04::/48
2406:840:fd05::/48
2406:840:fd06::/48
2406:840:fd08::/48
2406:840:fe72::/48
2406:840:fed1::/48
2406:840:fed2::/48
2406:840:fed4::/48
@@ -479,9 +448,7 @@
2406:52c0::/32
2406:5340:6666::/48
2406:5340:8888::/48
2406:5ac0::/32
2406:94c0::/48
2406:b640::/40
2406:b640:100::/48
2406:b640:4100::/48
2406:cf00::/48
@@ -495,8 +462,10 @@
2407:2440:2::/47
2407:2440:4::/46
2407:2440:8::/45
2407:2440:10::/48
2407:2440:10::/47
2407:2440:12::/48
2407:2440:16::/47
2407:2440:18::/48
2407:2440:1e::/48
2407:2840::/48
2407:37c0::/32
@@ -506,6 +475,7 @@
2407:6c40:1210::/48
2407:6c40:1810::/48
2407:9f00::/32
2407:a640::/32
2407:ad80::/32
2407:ae80::/32
2407:b080::/48
@@ -516,6 +486,8 @@
2407:c080::/35
2407:c080:4000::/37
2407:c080:5000::/37
2407:d340:7921::/48
2407:d340:8900::/44
2408:4000::/22
2408:8000::/48
2408:8000:2::/47
@@ -572,6 +544,7 @@
2408:815f:e000::/35
2408:81a2:2000::/35
2408:81a2:4000::/35
2408:81a3:6000::/35
2408:81a3:c800::/48
2408:81a3:ca66::/48
2408:8206::/31
@@ -1019,9 +992,6 @@
2408:8a26:c000::/34
2408:8a27:4000::/35
2409:2000:1000::/37
2409:2200::/23
2409:2400:1800::/37
2409:2500:8::/48
2409:6100::/44
2409:8000::/20
240a:2000::/29
@@ -1071,13 +1041,11 @@
240d:c000:1000::/36
240d:c000:2000::/35
240d:c010::/47
240d:c010:12::/48
240d:c010:14::/48
240d:c010:16::/48
240d:c010:1f::/48
240d:c010:20::/44
240d:c010:30::/47
240d:c010:57::/48
240d:c010:58::/48
240d:c010:5b::/48
240d:c010:5c::/48
@@ -1086,11 +1054,17 @@
240d:c010:6c::/48
240d:c040::/44
240e::/20
2602:faac::/40
2602:fab0:10::/48
2602:2a3::/40
2602:2a4:fe::/47
2602:fab0:10::/47
2602:fafd:f10::/48
2602:fb26:700::/43
2602:fb26:720::/48
2602:fb26:777::/48
2602:fb26:7ff::/48
2602:fbda:600::/48
2602:fbda:666::/48
2602:fbda:730::/44
2602:fc1d::/47
2602:fc52:311::/48
2602:fc52:312::/48
@@ -1106,7 +1080,12 @@
2602:feda:182::/47
2602:feda:1bf::/48
2602:feda:1d1::/48
2602:feda:2a0::/44
2602:feda:1d2::/48
2602:feda:2a0::/46
2602:feda:2a4::/47
2602:feda:2a6::/48
2602:feda:2aa::/48
2602:feda:2af::/48
2602:feda:2d0::/47
2602:feda:2f0::/48
2602:feda:3c5::/48
@@ -1136,8 +1115,8 @@
2605:9d80:9071::/48
2605:9d80:9092::/48
2605:f440:cafe::/48
2606:fdc0:ff::/48
2804:1e48::/32
2a03:5840:f3::/48
2a03:5840:291::/48
2a03:5840:310::/48
2a04:3e00:1002::/48
@@ -1173,81 +1152,57 @@
2a05:1085::/32
2a05:1086:f000::/47
2a05:1087::/32
2a05:dfc7:6420::/48
2a05:dfc7:6430::/48
2a05:dfc7:6440::/47
2a06:1287:300::/40
2a06:a001:a0c4::/48
2a06:a005:5::/48
2a06:a005:f0::/44
2a06:a005:260::/43
2a06:a005:280::/42
2a06:a005:486::/48
2a06:a005:510::/44
2a06:a005:560::/48
2a06:a005:562::/47
2a06:a005:580::/44
2a06:a005:5bb::/48
2a06:a005:5f4::/48
2a06:a005:910::/44
2a06:a005:8d0::/47
2a06:a005:8da::/48
2a06:a005:91f::/48
2a06:a005:9c0::/48
2a06:a005:a13::/48
2a06:a005:b60::/48
2a06:a005:b69::/48
2a06:a005:c2e::/47
2a06:a005:c30::/44
2a06:a005:c50::/44
2a06:a005:d00::/44
2a06:a005:d26::/48
2a06:a005:d45::/48
2a06:a005:d46::/47
2a06:a005:d48::/47
2a06:a005:d4b::/48
2a06:a005:d70::/44
2a06:a005:dc0::/44
2a06:a005:e50::/44
2a06:a005:e61::/48
2a06:a005:e70::/44
2a06:a005:d49::/48
2a06:a005:e8a::/47
2a06:a005:eb0::/44
2a06:a005:ec0::/44
2a06:a005:f80::/44
2a06:a005:fd1::/48
2a06:a005:fe1::/48
2a06:a005:ff1::/48
2a06:a005:11f0::/44
2a06:a005:1200::/42
2a06:a005:1240::/44
2a06:a005:1200::/44
2a06:a005:1230::/44
2a06:a005:13b0::/44
2a06:a005:13c0::/43
2a06:a005:13e0::/47
2a06:a005:13e8::/48
2a06:a005:13eb::/48
2a06:a005:13ec::/47
2a06:a005:13ed::/48
2a06:a005:1520::/44
2a06:a005:15da::/48
2a06:a005:1700::/44
2a06:a005:1800::/48
2a06:a005:1880::/43
2a06:a005:1b60::/44
2a06:a005:2040::/44
2a06:a005:2100::/44
2a06:a005:2490::/44
2a06:a005:2500::/44
2a06:a005:2200::/44
2a06:a005:2510::/48
2a06:a005:25b0::/44
2a06:a005:26d0::/44
2a06:a005:28f1::/48
2a06:a005:28f2::/47
2a06:a005:28f4::/47
2a06:a005:2910::/44
2a06:a005:2921::/48
2a06:a005:2922::/47
2a06:a005:2924::/48
2a06:a005:2924::/47
2a06:a005:2926::/48
2a06:a005:2930::/44
2a06:a005:2940::/43
2a06:a005:2960::/48
2a06:a005:2970::/44
2a06:a005:2980::/44
2a06:a005:29d1::/48
2a06:a005:2a00::/42
2a06:a005:2a80::/43
2a06:a005:2af0::/44
2a06:a005:29d0::/47
2a06:e881:119::/48
2a06:e881:2509::/48
2a06:e881:5501::/48
@@ -1259,11 +1214,13 @@
2a09:4c2:2e::/48
2a09:b280::/48
2a09:b280:ff80::/46
2a09:b280:ff84::/47
2a09:b280:ffb0::/47
2a09:b280:ffb2::/48
2a09:b280:ffbb::/48
2a09:b280:ffbc::/47
2a09:b280:ffbe::/48
2a0a:280:1501::/48
2a0a:2840:20::/43
2a0a:2842:100::/48
2a0a:2842:416::/48
@@ -1275,58 +1232,67 @@
2a0a:6040:1b00::/40
2a0a:6040:2211::/48
2a0a:6040:2222::/48
2a0a:6040:2228::/48
2a0a:6040:2233::/48
2a0a:6040:2235::/48
2a0a:6040:2255::/48
2a0a:6040:2277::/48
2a0a:6040:2282::/48
2a0a:6040:2299::/48
2a0a:6040:2d00::/44
2a0a:6040:3410::/48
2a0a:6040:3420::/48
2a0a:6040:3430::/48
2a0a:6040:34ff::/48
2a0a:6040:5555::/48
2a0a:6040:6c40::/44
2a0a:6040:a430::/48
2a0a:6040:a435::/48
2a0a:6040:a450::/47
2a0a:6040:a720::/48
2a0a:6040:a900::/47
2a0a:6040:a902::/48
2a0a:6040:c601::/48
2a0a:6040:c700::/42
2a0a:6040:c740::/44
2a0a:6040:c740::/47
2a0a:6040:c742::/48
2a0a:6040:c760::/47
2a0a:6040:c770::/44
2a0a:6040:ce00::/40
2a0a:6040:d0ff::/48
2a0a:6040:d300::/48
2a0a:6040:d320::/48
2a0a:6040:d400::/48
2a0a:6040:d400::/47
2a0a:6040:d600::/44
2a0a:6040:d710::/44
2a0a:6040:d720::/44
2a0a:6040:d740::/48
2a0a:6040:d820::/48
2a0a:6040:e100::/40
2a0a:6040:e405::/48
2a0a:6040:e541::/48
2a0a:6040:e543::/48
2a0a:6040:e544::/48
2a0a:6040:e546::/48
2a0a:6040:e54b::/48
2a0a:6040:e54c::/48
2a0a:6040:e900::/40
2a0a:6040:ec00::/40
2a0b:b86:ffe0::/48
2a0b:b87:ffb5::/48
2a0b:2542::/48
2a0b:2542:300::/40
2a0b:2542:400::/40
2a0b:4340:6::/48
2a0b:4340:22::/48
2a0b:4340:30::/44
2a0b:4340:60::/44
2a0b:4340:70::/48
2a0b:4340:90::/48
2a0b:4340:93::/48
2a0b:4340:95::/48
2a0b:4340:97::/48
2a0b:4340:99::/48
2a0b:4340:9e::/48
2a0b:4340:a0::/44
2a0b:4340:c0::/44
2a0b:4340:d8::/48
2a0b:4340:400::/46
2a0b:4340:404::/47
2a0b:4340:406::/48
2a0b:4340:434::/48
2a0b:4340:530::/44
2a0b:4340:540::/44
2a0b:4340:1304::/48
@@ -1346,27 +1312,7 @@
2a0d:2581:fffc::/48
2a0d:2581:fffe::/47
2a0d:2586::/48
2a0d:2587::/35
2a0d:2587:2000::/36
2a0d:2587:3000::/38
2a0d:2587:3400::/40
2a0d:2587:3500::/45
2a0d:2587:3508::/46
2a0d:2587:350c::/48
2a0d:2587:350e::/48
2a0d:2587:3510::/46
2a0d:2587:3514::/48
2a0d:2587:3516::/47
2a0d:2587:3518::/46
2a0d:2587:3600::/40
2a0d:2587:3800::/37
2a0d:2587:4000::/34
2a0d:2587:8300::/40
2a0d:2587:8500::/45
2a0d:2587:c200::/48
2a0d:2587:c240::/44
2a0d:2687::/32
2a0d:2902:caf0::/44
2a0d:2904::/44
2a0d:c7c7::/32
2a0e:800:6666::/48
@@ -1376,9 +1322,11 @@
2a0e:800:ff40::/42
2a0e:7581::/32
2a0e:8f02:f006::/48
2a0e:8f02:f058::/48
2a0e:97c0:220::/44
2a0e:97c0:550::/44
2a0e:97c0:5ef::/48
2a0e:97c0:68e::/47
2a0e:97c0:68f::/48
2a0e:97c0:804::/46
2a0e:97c0:b90::/44
2a0e:97c7:aa0::/48
@@ -1398,16 +1346,17 @@
2a0e:aa07:e039::/48
2a0e:aa07:e042::/47
2a0e:aa07:e044::/48
2a0e:aa07:e046::/48
2a0e:aa07:e049::/48
2a0e:aa07:e050::/44
2a0e:aa07:e060::/48
2a0e:aa07:e070::/46
2a0e:aa07:e074::/47
2a0e:aa07:e200::/44
2a0e:aa07:f000::/48
2a0e:aa07:f004::/48
2a0e:aa07:f009::/48
2a0e:aa07:f041::/48
2a0e:aa07:f042::/48
2a0e:aa07:f097::/48
2a0e:aa07:f09b::/48
2a0e:aa07:f0d0::/47
2a0e:aa07:f0d2::/48
2a0e:aa07:f0d4::/48
@@ -1416,47 +1365,46 @@
2a0e:b107:30::/48
2a0e:b107:32::/47
2a0e:b107:a0::/44
2a0e:b107:1c1::/48
2a0e:b107:272::/48
2a0e:b107:510::/48
2a0e:b107:512::/48
2a0e:b107:515::/48
2a0e:b107:517::/48
2a0e:b107:580::/44
2a0e:b107:710::/48
2a0e:b107:790::/44
2a0e:b107:bd0::/48
2a0e:b107:c10::/48
2a0e:b107:da0::/44
2a0e:b107:dce::/48
2a0e:b107:ea2::/48
2a0e:b107:f08::/45
2a0e:b107:12c0::/44
2a0e:b107:1470::/44
2a0e:b107:14a0::/44
2a0e:b107:1573::/48
2a0e:b107:1572::/47
2a0e:b107:1574::/48
2a0e:b107:16b0::/44
2a0e:b107:178c::/47
2a0e:b107:178e::/48
2a0e:b107:1980::/47
2a0e:b107:1a40::/44
2a0e:b107:1a40::/45
2a0e:b107:1b60::/48
2a0e:b107:1b6f::/48
2a0e:b107:1d20::/47
2a0e:b107:1d25::/48
2a0e:b107:2030::/45
2a0f:5707:ac01::/48
2a0f:5707:fff4::/47
2a0f:7980::/44
2a0f:85c1:30::/47
2a0f:9400:6400::/40
2a0f:9400:7340::/47
2a0f:9400:7342::/48
2a0f:9400:7391::/48
2a0f:9400:6800::/40
2a0f:9400:6907::/48
2a0f:9400:6a00::/40
2a0f:9400:6c00::/40
2a0f:9400:6f00::/40
2a0f:9400:7393::/48
2a0f:9400:7398::/48
2a0f:9400:7700::/48
2a0f:9400:770a::/48
2a0f:e401:131::/48
2a0f:e401:132::/47
2a0f:e401:132::/48
2a0f:e401:134::/48
2a10:2f00:12a::/48
2a10:2f00:13a::/48
2a10:2f00:15a::/48
2a10:2f00:186::/48
@@ -1475,123 +1423,139 @@
2a12:3fc2:ab50::/48
2a12:3fc2:e100::/44
2a12:3fc2:e400::/44
2a12:3fc2:e500::/48
2a12:3fc2:e510::/48
2a12:3fc2:e520::/47
2a12:3fc2:e5aa::/48
2a12:3fc2:e5e5::/48
2a12:3fc2:e600::/43
2a12:3fc2:e620::/45
2a12:3fc2:e628::/46
2a12:3fc2:e640::/42
2a12:3fc2:e6e1::/48
2a12:3fc2:e6e4::/48
2a12:3fc2:e6f0::/44
2a12:3fc2:e710::/44
2a12:3fc2:e500::/40
2a12:3fc2:e600::/40
2a12:3fc2:e72c::/47
2a12:3fc2:e7fc::/46
2a12:3fc2:e7fd::/48
2a12:3fc2:e800::/46
2a12:3fc2:e804::/48
2a12:3fc2:e808::/46
2a12:3fc2:e810::/45
2a12:3fc2:e818::/46
2a12:3fc2:e820::/46
2a12:3fc2:e828::/45
2a12:3fc2:e830::/46
2a12:3fc2:e810::/44
2a12:3fc2:e820::/44
2a12:3fc7::/48
2a12:3fc7:8000::/48
2a12:dd47:6112::/48
2a12:dd47:613f::/48
2a12:dd47:6159::/48
2a12:dd47:615d::/48
2a12:dd47:619a::/48
2a12:dd47:6e02::/48
2a12:dd47:6e07::/48
2a12:dd47:6e20::/47
2a12:dd47:6ea5::/48
2a12:dd47:6f29::/48
2a12:dd47:6f5d::/48
2a12:dd47:6fa1::/48
2a12:dd47:6fe1::/48
2a12:dd47:6ff5::/48
2a12:dd47:7b17::/48
2a12:dd47:7b1a::/48
2a12:dd47:7b21::/48
2a12:dd47:7b79::/48
2a12:dd47:7bc1::/48
2a12:dd47:7d33::/48
2a12:dd47:7d3c::/48
2a12:dd47:7d4d::/48
2a12:dd47:7d5e::/48
2a12:dd47:7df6::/48
2a12:dd47:7e04::/48
2a12:dd47:7e1c::/48
2a12:dd47:7e5d::/48
2a12:dd47:7e72::/48
2a12:dd47:7ea0::/48
2a12:dd47:7f0c::/48
2a12:dd47:7fa4::/48
2a12:dd47:7fbb::/48
2a12:dd47:7fc7::/48
2a12:dd47:7fce::/48
2a12:dd47:80d0::/44
2a12:dd47:814e::/47
2a12:dd47:c94f::/48
2a12:dd47:c972::/48
2a12:dd47:c9ad::/48
2a12:dd47:c9e2::/48
2a12:dd47:c9fc::/48
2a12:dd47:ca1b::/48
2a12:dd47:ca86::/48
2a12:dd47:4100::/48
2a12:dd47:415c::/48
2a12:dd47:4164::/48
2a12:dd47:4309::/48
2a12:dd47:43ae::/48
2a12:dd47:43cd::/48
2a12:dd47:43da::/48
2a12:dd47:43e7::/48
2a12:dd47:4423::/48
2a12:dd47:4430::/48
2a12:dd47:4442::/48
2a12:dd47:447f::/48
2a12:dd47:44aa::/48
2a12:dd47:4561::/48
2a12:dd47:45d6::/48
2a12:dd47:45da::/48
2a12:dd47:45e9::/48
2a12:dd47:45fb::/48
2a12:dd47:466a::/48
2a12:dd47:4684::/48
2a12:dd47:468a::/48
2a12:dd47:469f::/48
2a12:dd47:46eb::/48
2a12:dd47:5c00::/40
2a12:dd47:6207::/48
2a12:dd47:6227::/48
2a12:dd47:6230::/48
2a12:dd47:6245::/48
2a12:dd47:62aa::/48
2a12:dd47:6811::/48
2a12:dd47:68b2::/48
2a12:dd47:6cb4::/48
2a12:dd47:6cbc::/48
2a12:dd47:6ccc::/48
2a12:dd47:6ceb::/48
2a12:dd47:6cf7::/48
2a12:dd47:6d5b::/48
2a12:dd47:6d8a::/48
2a12:dd47:6d95::/48
2a12:dd47:6d9e::/48
2a12:dd47:6ddb::/48
2a12:dd47:6ee9::/48
2a12:dd47:7256::/48
2a12:dd47:7270::/48
2a12:dd47:727f::/48
2a12:dd47:7281::/48
2a12:dd47:72a0::/48
2a12:dd47:730c::/48
2a12:dd47:7321::/48
2a12:dd47:737d::/48
2a12:dd47:73ac::/48
2a12:dd47:73f0::/48
2a12:dd47:743d::/48
2a12:dd47:7452::/48
2a12:dd47:74d1::/48
2a12:dd47:7724::/48
2a12:dd47:779a::/48
2a12:dd47:7e2c::/48
2a12:dd47:7e8b::/48
2a12:dd47:7ea3::/48
2a12:dd47:7ee2::/47
2a12:dd47:7f0b::/48
2a12:dd47:7f6b::/48
2a12:dd47:7f71::/48
2a12:dd47:7f75::/48
2a12:dd47:7fbc::/48
2a12:dd47:8140::/44
2a12:dd47:c38a::/48
2a12:dd47:c3cc::/48
2a12:dd47:c70f::/48
2a12:dd47:c7dc::/48
2a12:dd47:ca5c::/48
2a12:dd47:ca8c::/48
2a12:dd47:cab5::/48
2a12:dd47:caca::/48
2a12:dd47:cb25::/48
2a12:dd47:cb33::/48
2a12:dd47:cb67::/48
2a12:dd47:cb81::/48
2a12:dd47:cbb7::/48
2a12:dd47:cc54::/48
2a12:dd47:ccb2::/48
2a12:dd47:ccd2::/47
2a12:dd47:ccee::/48
2a12:dd47:cd00::/48
2a12:dd47:cd23::/48
2a12:dd47:cd2d::/48
2a12:dd47:cd31::/48
2a12:dd47:cd39::/48
2a12:dd47:cd8c::/48
2a12:dd47:cd90::/48
2a12:dd47:cd99::/48
2a12:dd47:ce1c::/48
2a12:dd47:ce21::/48
2a12:dd47:ce37::/48
2a12:dd47:cecf::/48
2a12:dd47:cee5::/48
2a12:dd47:cf26::/48
2a12:dd47:cf2d::/48
2a12:dd47:cf8f::/48
2a12:dd47:cfae::/48
2a12:dd47:cfff::/48
2a12:dd47:ed1a::/48
2a12:dd47:ed53::/48
2a12:dd47:edb7::/48
2a12:dd47:edd2::/48
2a12:dd47:eddb::/48
2a12:dd47:ee0b::/48
2a12:dd47:ee2a::/48
2a12:dd47:ee4a::/48
2a12:dd47:ee90::/48
2a12:dd47:ee99::/48
2a12:dd47:ef2a::/47
2a12:dd47:ef9d::/48
2a12:dd47:efa6::/48
2a12:dd47:efb6::/48
2a12:dd47:cab8::/48
2a12:dd47:cac7::/48
2a12:dd47:caf3::/48
2a12:dd47:cb96::/48
2a12:dd47:cbae::/48
2a12:dd47:cbda::/48
2a12:dd47:cbe0::/48
2a12:dd47:cbf3::/48
2a12:dd47:cc13::/48
2a12:dd47:cca1::/48
2a12:dd47:cca2::/48
2a12:dd47:ccd7::/48
2a12:dd47:ccde::/48
2a12:dd47:e24d::/48
2a12:dd47:e252::/48
2a12:dd47:e2aa::/48
2a12:dd47:e2ea::/48
2a12:dd47:e2f3::/48
2a12:dd47:e761::/48
2a12:dd47:e7e6::/48
2a12:dd47:e813::/48
2a12:dd47:e81b::/48
2a12:dd47:e85d::/48
2a12:dd47:e8bf::/48
2a12:dd47:e8ea::/48
2a12:dd47:e93e::/48
2a12:dd47:e9b2::/48
2a12:dd47:e9bc::/48
2a12:dd47:ed00::/47
2a12:dd47:ed04::/48
2a12:dd47:ed0b::/48
2a12:dd47:ed1e::/48
2a12:dd47:ee0e::/48
2a12:dd47:ee16::/48
2a12:dd47:ee6f::/48
2a12:dd47:ee70::/48
2a12:dd47:ee73::/48
2a12:dd47:ef0d::/48
2a12:dd47:ef1e::/48
2a12:dd47:ef35::/48
2a12:dd47:ef54::/48
2a12:dd47:efba::/48
2a12:f8c0::/48
2a12:f8c1::/48
2a12:f8c3::/36
2a13:1800:10::/48
2a13:1800:80::/44
2a13:b487:1200::/44
2a13:b487:1b01::/48
2a13:b487:1b02::/48
2a13:b487:1f00::/47
2c0f:f7a8:8011::/48
2c0f:f7a8:8050::/48
2c0f:f7a8:805f::/48

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 115 KiB

3232
bin/fix/ca-certificates.crt Normal file

File diff suppressed because it is too large Load Diff

BIN
bin/fix/tun.ko Normal file

Binary file not shown.

File diff suppressed because one or more lines are too long

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
clashnet_v=v1.7.6
clashpre_v=2022.11.25
clash_v=v1.7.1
meta_v=v1.13.2
versionsh=1.7.0f
GeoIP_v=20230204
meta_v=v1.14.2
GeoIP_v=20230408
versionsh=1.7.4f

Binary file not shown.

View File

@@ -11,7 +11,7 @@ echo "** by Juewuy **"
echo "***********************************************"
#内置工具
dir_avail(){
df -h $1 |awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' |grep Ava |awk '{print $2}'
df $2 $1 |awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' |grep Ava |awk '{print $2}'
}
setconfig(){
configpath=$clashdir/mark
@@ -55,14 +55,14 @@ gettar(){
echo -----------------------------------------------
echo 开始解压文件!
mkdir -p $clashdir > /dev/null
tar -zxvf '/tmp/ShellClash.tar.gz' -C $clashdir/
if [ $? -ne 0 ];then
tar -zxf '/tmp/ShellClash.tar.gz' -C $clashdir/ || tar -zxf --no-same-owner '/tmp/ShellClash.tar.gz' -C $clashdir/
if [ -f $clashdir/init.sh ];then
source $clashdir/init.sh >/dev/null
else
rm -rf /tmp/ShellClash.tar.gz
$echo "\033[33m文件解压失败\033[0m"
error_down
exit 1
else
source $clashdir/init.sh >/dev/null
fi
fi
}
@@ -77,14 +77,26 @@ setdir(){
set_usb_dir
fi
}
set_cust_dir(){
echo -----------------------------------------------
echo '可用路径 剩余空间:'
df -h | awk '{print $6,$4}'| sed 1d
echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!'
read -p "请输入自定义路径 > " dir
if [ "$(dir_avail $dir)" = 0 ];then
$echo "\033[31m路径错误请重新设置\033[0m"
set_cust_dir
fi
}
echo -----------------------------------------------
$echo "\033[33m注意安装ShellClash至少需要预留约1MB的磁盘空间\033[0m"
if [ -n "$systype" ];then
[ "$systype" = "Padavan" ] && dir=/etc/storage
[ "$systype" = "mi_snapshot" ] && {
$echo "\033[33m检测到当前设备为小米官方系统请选择安装位置\033[0m"
$echo " 1 安装到/data目录(推荐,支持软固化功能)"
$echo " 2 安装到USB设备(支持软固化功能)"
[ "$(dir_avail /etc)" != 0 ] && $echo " 3 安装到/etc目录(不推荐)"
[ "$(dir_avail /data)" -gt 256 ] && $echo " 1 安装到 /data 目录(推荐,支持软固化功能)"
[ "$(dir_avail /userdisk)" -gt 256 ] && $echo " 2 安装到 /userdisk 目录(推荐,支持软固化功能)"
$echo " 3 安装到自定义目录(不推荐,不明勿用!)"
$echo " 0 退出安装"
echo -----------------------------------------------
read -p "请输入相应数字 > " num
@@ -93,15 +105,10 @@ if [ -n "$systype" ];then
dir=/data
;;
2)
set_usb_dir ;;
dir=/userdisk
;;
3)
if [ "$(dir_avail /etc)" != 0 ];then
dir=/etc
systype=""
else
$echo "\033[31m你的设备不支持安装到/etc目录已改为安装到/data\033[0m"
dir=data
fi
set_cust_dir
;;
*)
exit 1 ;;
@@ -128,8 +135,7 @@ if [ -n "$systype" ];then
exit 1 ;;
esac
}
else
$echo "\033[33m安装ShellClash至少需要预留约1MB的磁盘空间\033[0m"
else
$echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)"
$echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)"
$echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)"
@@ -152,15 +158,7 @@ else
elif [ "$num" = "4" ];then
set_usb_dir
elif [ "$num" = "5" ];then
echo -----------------------------------------------
echo '可用路径 剩余空间:'
df -h | awk '{print $6,$4}'| sed 1d
echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!'
read -p "请输入自定义路径 > " dir
if [ -z "$dir" ];then
$echo "\033[31m路径错误请重新设置\033[0m"
setdir
fi
set_cust_dir
else
echo 安装已取消!!!
exit 1;
@@ -170,7 +168,7 @@ fi
if [ ! -w $dir ];then
$echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir
else
$echo "目标目录\033[32m$dir\033[0m空间剩余$(dir_avail $dir)"
$echo "目标目录\033[32m$dir\033[0m空间剩余$(dir_avail $dir -h)"
read -p "确认安装?(1/0) > " res
[ "$res" = "1" ] && clashdir=$dir/clash || setdir
fi

View File

@@ -7,6 +7,7 @@ ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/mast
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Global-Services/Netflix.list
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
@@ -26,13 +27,14 @@ custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🤖 人工智能`select`[]🇺🇲 美国节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎥 流媒体解锁`select`(NF|原生|奈飞|解锁|流媒|迪士尼|N.*D|Netflix|NETFLIX|Media|Disn|Unlock)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc|AC)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`url-test`(港|HK|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日韩节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`url-test`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States)`http://www.gstatic.com/generate_204`300,,150

View File

@@ -10,6 +10,7 @@ ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/mast
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Global-Services/Netflix.list
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
@@ -31,13 +32,14 @@ custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🤖 人工智能`select`[]🇺🇲 美国节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎥 流媒体解锁`select`(NF|原生|奈飞|解锁|流媒|迪士尼|N.*D|Netflix|NETFLIX|Media|Disn|Unlock)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc|AC)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`url-test`(港|HK|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日韩节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`url-test`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States)`http://www.gstatic.com/generate_204`300,,150

View File

@@ -10,6 +10,7 @@ ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/G
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🎥 YouTube,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list
ruleset=📺 哔哩海外,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/BilibiliHMT.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
@@ -26,32 +27,34 @@ ruleset=🎯 全球直连,[]GEOIP,CN
ruleset=🐟 漏网之鱼,[]FINAL
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 手动切换`select`.*
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🛑 广告拦截`select`[]DIRECT`[]REJECT
custom_proxy_group=🍃 应用净化`select`[]DIRECT`[]REJECT
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=📺 哔哩海外`select`[]🎯 全球直连`[]🇨🇳 台湾节点`[]🇭🇰 香港节点
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🤖 人工智能`select`[]🇺🇲 美国节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=📺 巴哈姆特`select`[]🇨🇳 台湾节点`[]🚀 节点选择`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🎶 网易音乐`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择`(网易|音乐|解锁|Music|NetEase)
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎮 游戏节点`select`(游戏|Game|game|加速)`
custom_proxy_group=🎥 流媒体解锁`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc|AC)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`url-test`(港|HK|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇰🇷 韩国节点`url-test`(KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`url-test`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States)`http://www.gstatic.com/generate_204`300,,150
custom_proxy_group=🇨🇳 台湾节点`url-test`(台|新北|彰化|TW|Taiwan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇸🇬 新加坡节点`url-test`(新加坡|坡|狮城|SG|Singapore)`http://www.gstatic.com/generate_204`300,,50

View File

@@ -13,6 +13,7 @@ ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/G
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🎥 YouTube,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list
ruleset=📺 哔哩海外,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/BilibiliHMT.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
@@ -28,33 +29,35 @@ ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/mast
ruleset=🎯 全球直连,[]GEOIP,CN
ruleset=🐟 漏网之鱼,[]FINAL
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 手动切换`select`.*
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🛑 广告拦截`select`[]REJECT`[]DIRECT
custom_proxy_group=🍃 应用净化`select`[]REJECT`[]DIRECT
custom_proxy_group=🆎 增强拦截`select`[]DIRECT`[]REJECT
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=📺 哔哩海外`select`[]🎯 全球直连`[]🇨🇳 台湾节点`[]🇭🇰 香港节点
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🚀 手动切换
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🤖 人工智能`select`[]🇺🇲 美国节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🚀 手动切换
custom_proxy_group=📺 巴哈姆特`select`[]🇨🇳 台湾节点`[]🚀 节点选择`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🎶 网易音乐`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择`(网易|音乐|解锁|Music|NetEase)
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日本节点`[]🇰🇷 韩国节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎮 游戏节点`select`(游戏|Game|game|加速)`
custom_proxy_group=🎥 流媒体解锁`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc|AC)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`url-test`(港|HK|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日节点`url-test`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇰🇷 韩国节点`url-test`(KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`url-test`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States)`http://www.gstatic.com/generate_204`300,,150
custom_proxy_group=🇨🇳 台湾节点`url-test`(台|新北|彰化|TW|Taiwan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇸🇬 新加坡节点`url-test`(新加坡|坡|狮城|SG|Singapore)`http://www.gstatic.com/generate_204`300,,50

View File

@@ -0,0 +1,62 @@
[custom]
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list
ruleset=🍃 应用净化,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list
ruleset=📢 谷歌FCM,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleFCM.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/GoogleCN.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Global-Services/Netflix.list
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🎥 YouTube,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list
ruleset=📺 哔哩海外,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/BilibiliHMT.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
ruleset=🎮 外服游戏,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Game.list
ruleset=🌍 国外媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.list
ruleset=🌏 国内媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaMedia.list
ruleset=🎶 网易音乐,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/NetEaseMusic.list
ruleset=📺 巴哈姆特,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Bahamut.list
ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyLite.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Download.list
ruleset=🎯 全球直连,[]GEOIP,CN
ruleset=🐟 漏网之鱼,[]FINAL
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 手动切换`select`.*
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🛑 广告拦截`select`[]DIRECT`[]REJECT
custom_proxy_group=🍃 应用净化`select`[]DIRECT`[]REJECT
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=📺 哔哩海外`select`[]🎯 全球直连`[]🇨🇳 台湾节点`[]🇭🇰 香港节点
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🤖 人工智能`select`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=📺 巴哈姆特`select`[]🇨🇳 台湾节点`[]🚀 节点选择`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🎶 网易音乐`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择`(网易|音乐|解锁|Music|NetEase)
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎮 游戏节点`select`(游戏|Game|game|加速)`
custom_proxy_group=🎥 流媒体解锁`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`fallback`(港|HK|🇭🇰|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日韩节点`fallback`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|🇯🇵|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`fallback`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States|🇺🇲)`http://www.gstatic.com/generate_204`300,,150
custom_proxy_group=🇨🇳 台湾节点`fallback`(台|新北|彰化|TW|Taiwan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇸🇬 新加坡节点`fallback`(新加坡|坡|狮城|广新|SG|Singapore|🇸🇬)`http://www.gstatic.com/generate_204`300,,50
enable_rule_generator=true
overwrite_original_rules=true

View File

@@ -0,0 +1,62 @@
[custom]
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/UnBan.list
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list
ruleset=🍃 应用净化,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list
ruleset=📢 谷歌FCM,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/GoogleFCM.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/GoogleCN.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list
ruleset=🎥 NETFLIX,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Global-Services/Netflix.list
ruleset=🎥 DisneyP,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🎥 YouTube,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/YouTube.list
ruleset=📺 哔哩海外,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/BilibiliHMT.list
ruleset=🤖 人工智能,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=Ⓜ️ 微软服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Microsoft.list
ruleset=🍎 苹果服务,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Apple.list
ruleset=📲 电报消息,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Telegram.list
ruleset=🎮 外服游戏,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Game.list
ruleset=🌍 国外媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.list
ruleset=🌏 国内媒体,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaMedia.list
ruleset=🎶 网易音乐,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/NetEaseMusic.list
ruleset=📺 巴哈姆特,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Bahamut.list
ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyLite.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Download.list
ruleset=🎯 全球直连,[]GEOIP,CN
ruleset=🐟 漏网之鱼,[]FINAL
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🚀 手动切换`select`.*
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🛑 广告拦截`select`[]DIRECT`[]REJECT
custom_proxy_group=🍃 应用净化`select`[]DIRECT`[]REJECT
custom_proxy_group=🎮 外服游戏`select`[]🎯 全球直连`[]🎮 游戏节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=📢 谷歌FCM`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🎥 NETFLIX`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 DisneyP`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=🎥 YouTube`select`[]📺 省流节点`[]👍 高级节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 节点选择
custom_proxy_group=📺 哔哩海外`select`[]🎯 全球直连`[]🇨🇳 台湾节点`[]🇭🇰 香港节点
custom_proxy_group=🌍 国外媒体`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🤖 人工智能`select`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=Ⓜ️ 微软服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=🍎 苹果服务`select`[]DIRECT`[]🚀 节点选择`[]🇺🇲 美国节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
custom_proxy_group=📺 巴哈姆特`select`[]🇨🇳 台湾节点`[]🚀 节点选择`[]🚀 手动切换`[]DIRECT
custom_proxy_group=🎶 网易音乐`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择`(网易|音乐|解锁|Music|NetEase)
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT`[]📺 省流节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换
custom_proxy_group=🎮 游戏节点`select`(游戏|Game|game|加速)`
custom_proxy_group=🎥 流媒体解锁`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇭🇰 香港节点`load-balance`(港|HK|🇭🇰|Hong Kong)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇯🇵 日韩节点`load-balance`(日本|川日|东京|大阪|泉日|埼玉|沪日|深日|[^-]日|JP|Japan|🇯🇵|KR|Korea|KOR|首尔|韩|韓)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇺🇲 美国节点`load-balance`(美|波特兰|达拉斯|俄勒冈|凤凰城|费利蒙|硅谷|拉斯维加斯|洛杉矶|圣何塞|圣克拉拉|西雅图|芝加哥|US|United States|🇺🇲)`http://www.gstatic.com/generate_204`300,,150
custom_proxy_group=🇨🇳 台湾节点`load-balance`(台|新北|彰化|TW|Taiwan)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=🇸🇬 新加坡节点`load-balance`(新加坡|坡|狮城|广新|SG|Singapore|🇸🇬)`http://www.gstatic.com/generate_204`300,,50
enable_rule_generator=true
overwrite_original_rules=true

View File

@@ -7,6 +7,7 @@ ruleset=🎥 奈飞解锁,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/mast
ruleset=🎥 奈飞解锁,https://raw.githubusercontent.com/LM-Firefly/Rules/master/Global-Services/Netflix.list
ruleset=🎥 奈飞解锁,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/DisneyPlus.list
ruleset=🚀 节点选择,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ProxyLite.list
ruleset=🚀 节点选择,https://raw.githubusercontent.com/juewuy/ShellClash/master/rules/ai.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list
ruleset=🎯 全球直连,[]GEOIP,CN
@@ -22,7 +23,7 @@ custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻
custom_proxy_group=🐟 漏网之鱼`select`[]🔯 故障转移`[]🚀 节点选择`[]📺 省流节点`[]♻️ 自动选择`[]DIRECT
custom_proxy_group=🎥 流媒体解锁`select`(NF|奈飞|解锁|Netflix|NETFLIX|Media)
custom_proxy_group=📺 省流节点`url-test`(0\.[0-5]|低倍率|省流|大流量)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc)`http://www.gstatic.com/generate_204`300,,50
custom_proxy_group=👍 高级节点`url-test`(专线|专用|高级|直连|急速|高倍率|IEPL|IPLC|AIA|CTM|CC|iepl|iplc|aia|ctm|cc|AC)`http://www.gstatic.com/generate_204`300,,50
enable_rule_generator=true
overwrite_original_rules=true

3
rules/added.list Normal file
View File

@@ -0,0 +1,3 @@
DOMAIN-SUFFIX,922proxy.com
DOMAIN-SUFFIX,proxys5.net
DOMAIN-SUFFIX,adspower.net

8
rules/ai.list Normal file
View File

@@ -0,0 +1,8 @@
DOMAIN-SUFFIX,openai.com
DOMAIN-SUFFIX,openai.nooc.ink
DOMAIN-SUFFIX,AI.com
DOMAIN-SUFFIX,cdn.auth0.com
DOMAIN-SUFFIX,openaiapi-site.azureedge.net
DOMAIN-SUFFIX,opendns.com
DOMAIN-SUFFIX,bing.com

View File

@@ -98,7 +98,7 @@ ckstatus(){
#检查执行权限
[ ! -x $clashdir/start.sh ] && chmod +x $clashdir/start.sh
#检查/tmp内核文件
for file in `ls -F /tmp | grep -v [/\$] | grep -v '\ ' | grep -iE '^clash$|^clash-linux*'` ; do
for file in `ls -F /tmp | grep -v [/\$] | grep -v '\ ' | grep -iE '^clash$|^clash-linux*|^clash.meta*'` ; do
file=/tmp/$file
chmod +x $file
tmp_version=$($file -v 2>/dev/null)
@@ -193,12 +193,14 @@ log_pusher(){
[ -n "$push_Deer" ] && stat_Deer=32m已启用 || stat_Deer=33m未启用
[ -n "$push_bark" ] && stat_bark=32m已启用 || stat_bark=33m未启用
[ -n "$push_Po" ] && stat_Po=32m已启用 || stat_Po=33m未启用
[ -n "$device_name" ] && device_s=32m$device_name || device_s=33m未设置
echo -----------------------------------------------
echo -e " 1 查看\033[36m运行日志\033[0m"
echo -e " 2 Telegram推送 ——\033[$stat_TG\033[0m"
echo -e " 3 PushDeer推送 ——\033[$stat_Deer\033[0m"
echo -e " 4 Bark推送-IOS ——\033[$stat_bark\033[0m"
echo -e " 5 Passover推送 ——\033[$stat_Po\033[0m"
echo -e " 9 设置设备名称 ——\033[$device_s\033[0m"
echo -----------------------------------------------
read -p "请输入对应数字 > " num
case $num in
@@ -342,6 +344,12 @@ log_pusher(){
sleep 1
log_pusher
;;
9)
read -p "请输入本设备自定义推送名称 > " device_name
setconfig device_name $device_name
sleep 1
log_pusher
;;
*) errornum ;;
esac
}
@@ -359,7 +367,7 @@ setport(){
elif [ -n "$(echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep "|$portx|")" ]; then
echo -e "\033[31m输入错误请不要输入重复的端口\033[0m"
inputport
elif [ -n "$(netstat -ntul |grep :$portx)" ];then
elif [ -n "$(netstat -ntul |grep ":$portx ")" ];then
echo -e "\033[31m当前端口已被其他进程占用请重新输入\033[0m"
inputport
else
@@ -376,7 +384,7 @@ setport(){
echo -e " 5 修改面板访问端口: \033[36m$db_port\033[0m"
echo -e " 6 设置面板访问密码: \033[36m$secret\033[0m"
echo -e " 7 修改默认端口过滤: \033[36m$multiport\033[0m"
echo -e " 8 指定本机host地址 \033[36m$host\033[0m"
echo -e " 8 自定义本机host地址 \033[36m$host\033[0m"
echo -e " 0 返回上级菜单"
read -p "请输入对应数字 > " num
if [ -z "$num" ]; then
@@ -445,8 +453,8 @@ setport(){
setport
elif [ "$num" = 8 ]; then
echo -----------------------------------------------
echo -e "\033[33m此处可以更改脚本内置的局域网设备IP地址\033[0m"
echo -e "\033[31m设置后如本机host地址有变动请务必手动修改!\033[0m"
echo -e "\033[33m如果你的局域网网段不是192.168.x或127.16.x或10.x开头请务必修改\033[0m"
echo -e "\033[31m设置后如本机host地址有变动请务必重新修改!\033[0m"
echo -----------------------------------------------
read -p "请输入自定义host地址(输入0移除自定义host) > " host
if [ "$host" = "0" ];then
@@ -516,25 +524,18 @@ setdns(){
setdns
elif [ "$num" = 4 ]; then
$clashdir/start.sh webget /tmp/ssl_test https://www.baidu.com echooff rediron skipceroff
if [ "$" = "1" ];then
echo -----------------------------------------------
if openssl version >/dev/null 2>&1;then
echo -e "\033[31m当前设备缺少本地根证书请先安装证书\033[0m"
source $clashdir/getdate.sh
setcrt
else
echo -e "\033[31m当前设备未安装OpenSSL无法启用加密DNSLinux系统请自行搜索安装方式\033[0m"
fi
else
echo -----------------------------------------------
if openssl version >/dev/null 2>&1;then
dns_nameserver='https://223.5.5.5/dns-query, https://doh.pub/dns-query, tls://dns.rubyfish.cn:853'
dns_fallback='tls://1.0.0.1:853, tls://8.8.4.4:853, https://doh.opendns.com/dns-query'
setconfig dns_nameserver \'"$dns_nameserver"\'
setconfig dns_fallback \'"$dns_fallback"\'
echo -e "\033[32m设置成功!!\033[0m"
echo -e "\033[32m设置加密DNS如出现DNS解析问题请尝试重置DNS配置\033[0m"
else
echo -e "\033[31m当前设备未安装OpenSSL无法启用加密DNSLinux系统请自行搜索安装方式\033[0m"
fi
rm -rf /tmp/ssl_test
sleep 1
sleep 2
setdns
elif [ "$num" = 5 ]; then
@@ -790,89 +791,45 @@ macfilter(){
fi
}
localproxy(){
[ -z "$local_proxy" ] && local_proxy='未开启'
[ -z "$local_type" ] && local_type='环境变量'
[ "$local_proxy" = "已开启" ] && proxy_set='禁用' || proxy_set='启用'
[ -w /etc/systemd/system/clash.service -o -w /usr/lib/systemd/system/clash.service -o -x /bin/su ] && local_enh=1
[ -f /etc/rc.common -a -w /etc/passwd ] && local_enh=1
echo -----------------------------------------------
echo -e "\033[33m当前本机代理配置方式为\033[32m$local_type\033[0m"
echo -----------------------------------------------
echo -e " 1 \033[36m$proxy_set本机代理\033[0m"
echo -e " 2 使用\033[32m环境变量\033[0m方式配置(部分应用可能无法使用)"
[ -n "$(lsmod | grep ^xt_owner)" ] && echo -e " 3 使用\033[32miptables增强模式\033[0m配置(支持docker)"
ckcmd nft && echo -e " 4 使用\033[32mnftables增强模式\033[0m配置(支持docker)"
[ -n "$local_enh" ] && {
[ -n "$(lsmod | grep ^xt_owner)" ] && echo -e " 1 使用\033[32miptables增强模式\033[0m配置(支持docker,推荐!)"
ckcmd nft && echo -e " 2 使用\033[32mnftables增强模式\033[0m配置(支持docker,推荐!)"
}
echo -e " 3 使用\033[33m环境变量\033[0m方式配置(部分应用可能无法使用,不推荐!)"
echo -e " 0 返回上级菜单"
echo -----------------------------------------------
read -p "请输入对应数字 > " num
if [ -z "$num" ]; then
errornum
elif [ "$num" = 0 ]; then
i=
elif [ "$num" = 1 ]; then
echo -----------------------------------------------
if [ "$local_proxy" = "未开启" ]; then
if [ -n "$authentication" ] && [ "$authentication" != "未设置" ] ;then
echo -e "\033[32m检测到您已经设置了Http/Sock5代理密码请先取消密码\033[0m"
sleep 1
setport
localproxy
else
local_proxy=已开启
setconfig local_proxy $local_proxy
setconfig local_type $local_type
echo -e "\033[32m已经成功使用$local_type方式配置本机代理~\033[0m"
if [ "$local_type" = "环境变量" ];then
$clashdir/start.sh set_proxy $mix_port $db_port
echo -e "\033[36m如未生效请重新启动终端或重新连接SSH\033[0m"
else
echo -e "\033[36m请重新启动clash服务\033[0m"
fi
sleep 1
fi
else
local_proxy=未开启
setconfig local_proxy $local_proxy
setconfig local_type
sed -i '/user shellclash/d' /etc/init.d/clash 2>/dev/null
$clashdir/start.sh stop
echo -e "\033[33m已经停用本机代理规则并停止clash服务\033[0m"
[ "$local_type" = "环境变量" ] && echo -e "\033[36m如未生效请重新启动终端或重新连接SSH\033[0m" && sleep 1
fi
elif [ "$num" = 2 ]; then
local_type="环境变量"
local_proxy=已开启
setconfig local_proxy $local_proxy
setconfig local_type $local_type
localproxy
elif [ "$num" = 3 ]; then
if [ -n "$local_enh" ];then
read -p "请选择本机代理方式 > " num
case "$num" in
1)
local_type="iptables增强模式"
local_proxy=已开启
setconfig local_proxy $local_proxy
setconfig local_type $local_type
else
echo -e "\033[31m当前设备无法使用iptables增强模式\033[0m"
fi
sleep 1
localproxy
elif [ "$num" = 4 ]; then
if [ -n "$local_enh" ];then
;;
2)
local_type="nftables增强模式"
local_proxy=已开启
setconfig local_proxy $local_proxy
setconfig local_type $local_type
else
echo -e "\033[31m当前设备无法使用nftables增强模式\033[0m"
fi
sleep 1
localproxy
else
errornum
fi
;;
3)
if [ -z "$authentication" -o "$authentication" = "未设置" ];then
local_type="环境变量"
echo -e "\033[33m注意请重启clash后手动输入以下命令使配置生效\033[0m"
echo -e "【\033[32m source /etc/profile > /dev/null \033[0m】"
local_proxy=已开启
else
echo -e "\033[32m检测到您已经设置了Http/Sock5代理密码请先取消密码\033[0m"
setport
localproxy
fi
sleep 1
;;
*)
errornum
;;
esac
setconfig local_proxy $local_proxy
setconfig local_type $local_type
}
setboot(){
[ -z "$start_old" ] && start_old=未开启
@@ -888,7 +845,7 @@ setboot(){
echo -e " 4 启用小闪存模式: \033[36m$mini_clash\033[0m ————用于闪存空间不足的设备"
[ "$bindir" != "$clashdir" ] && echo -e " 5 设置小闪存目录: \033[36m$bindir\033[0m"
echo -----------------------------------------------
echo -e " 0 \033[0m退出脚本\033[0m"
echo -e " 0 \033[0m返回上级菜单\033[0m"
read -p "请输入对应数字 > " num
echo -----------------------------------------------
case "$num" in
@@ -975,29 +932,41 @@ setboot(){
5)
echo -e "\033[33m如设置到内存则每次开机后都自动重新下载相关文件\033[0m"
echo -e "\033[33m请确保安装源可用裸连否则会导致启动失败\033[0m"
echo " 1 使用内存"
echo " 1 使用内存(/tmp)"
echo " 2 选择U盘目录"
echo " 3 自定义目录"
read -p "请输入相应数字 > " num
case "$num" in
1)
bindir="/tmp/clash_$USER" ;;
2)
set_usb_dir(){
$echo "请选择安装目录"
echo "请选择安装目录"
du -hL /mnt | awk '{print " "NR" "$2" "$1}'
read -p "请输入相应数字 > " num
bindir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p)
if [ -z "$bindir" ];then
$echo "\033[31m输入错误请重新设置\033[0m"
echo "\033[31m输入错误请重新设置\033[0m"
set_usb_dir
fi
}
set_usb_dir
;;
3)
input_dir(){
read -p "请输入自定义目录 > " bindir
if [ ! -d "$bindir" ];then
echo "\033[31m输入错误请重新设置\033[0m"
input_dir
fi
}
input_dir
;;
*)
errornum
;;
esac
setconfig bindir $bindir
setboot
;;
*)
@@ -1024,7 +993,7 @@ clashcfg(){
echo -e "\033[36m已设为 $redir_mod \033[0m"
}
[ -n "$(iptables -j TPROXY 2>&1 | grep 'on-port')" ] && sup_tp=1
#[ -n "$(lsmod | grep '^tun')" ] || ip tuntap &>/dev/null && sup_tun=1
[ -n "$(lsmod | grep '^tun')" ] || ip tuntap &>/dev/null && sup_tun=1
ckcmd nft && sup_nft=1
#[ -n "$(lsmod | grep 'nft_tproxy')" ] && sup_nft=2
echo -----------------------------------------------
@@ -1034,7 +1003,7 @@ clashcfg(){
echo -e " 1 \033[32mRedir模式\033[0m Redir转发TCP不转发UDP"
echo -e " 2 \033[36m混合模式\033[0m Redir转发TCPTun转发UDP"
[ -n "$sup_tp" ] && echo -e " 3 \033[32mTproxy混合\033[0m Redir转发TCPTproxy转发UDP"
echo -e " 4 \033[33mTun模式\033[0m 使用Tun转发TCP&UDP(占用高)"
[ -n "$sup_tun" ] && echo -e " 4 \033[33mTun模式\033[0m 使用Tun转发TCP&UDP(占用高)"
[ -n "$sup_tp" ] && echo -e " 5 \033[32mTproxy模式\033[0m 使用Tproxy转发TCP&UDP"
[ -n "$sup_nft" ] && echo -e " 6 \033[36mNft基础\033[0m 使用nftables转发TCP不转发UDP"
[ -n "$sup_nft" ] && echo -e " 7 \033[32mNft混合\033[0m 使用nft_tproxy转发TCP&UDP"
@@ -1051,8 +1020,8 @@ clashcfg(){
set_redir_config
elif [ "$num" = 2 ]; then
modprobe tun &>/dev/null || {
echo -e "\033[32m设备未检测到Tun模块可能无法代理UDP流量\033[0m"
[ -n "$sup_tun" ] || {
echo -e "\033[32m设备未检测到Tun内核模块可能无法代理UDP流量\033[0m"
sleep 1
}
redir_mod=混合模式
@@ -1063,12 +1032,7 @@ clashcfg(){
set_redir_config
elif [ "$num" = 4 ]; then
if modprobe tun &>/dev/null;then
redir_mod=Tun模式
else
read -p "未检测到Tun模块是否强制开启可能导致无法联网(1/0)" res
[ "$res" = '1' ] && redir_mod=Tun模式
fi
redir_mod=Tun模式
set_redir_config
elif [ "$num" = 5 ]; then
@@ -1077,7 +1041,7 @@ clashcfg(){
elif [ "$num" = 6 ]; then
if ckcmd opkg && [ -z "$(opkg list-installed | grep firewall4)" ];then
read -p "检测到缺少firewall4依赖是否自动安装(1/0)" res
read -p "检测到缺少firewall4依赖是否自动安装(1/0) > " res
[ "$res" = '1' ] && opkg install firewall4 && redir_mod=Nft基础
else
redir_mod=Nft基础
@@ -1086,7 +1050,7 @@ clashcfg(){
elif [ "$num" = 7 ]; then
if ckcmd opkg && [ -z "$(opkg list-installed | grep kmod-nft-tproxy)" ];then
read -p "检测到缺少kmod-nft-tproxy依赖是否自动安装(1/0)" res
read -p "检测到缺少kmod-nft-tproxy依赖是否自动安装(1/0) > " res
[ "$res" = '1' ] && opkg install kmod-nft-tproxy && redir_mod=Nft混合
else
redir_mod=Nft混合
@@ -1181,6 +1145,7 @@ clashcfg(){
[ -z "$dns_mod" ] && dns_mod=redir_host
[ -z "$dns_over" ] && dns_over=已开启
[ -z "$cn_ip_route" ] && cn_ip_route=未开启
[ -z "$local_proxy" ] && local_proxy=未开启
[ -z "$quic_rj" ] && quic_rj=未开启
[ -z "$(cat $clashdir/mac)" ] && mac_return=未开启 || mac_return=已启用
#
@@ -1232,15 +1197,23 @@ clashcfg(){
clashcfg
elif [ "$num" = 4 ]; then
echo -----------------------------------------------
if [ "$common_ports" = "未开启" ]; then
echo -e "\033[33m已设为仅代理【$multiport】等常用端口!!\033[0m"
common_ports=已开启
set_common_ports(){
if [ "$common_ports" = "未开启" ]; then
echo -e "\033[33m已设为仅代理【$multiport】等常用端口!!\033[0m"
common_ports=已开启
else
echo -e "\033[33m已设为代理全部端口\033[0m"
common_ports=未开启
fi
setconfig common_ports $common_ports
}
echo -----------------------------------------------
if [ -n "$(pidof clash)" ];then
read -p "切换时将停止clash服务是否继续(1/0) > " res
[ "$res" = 1 ] && $clashdir/start.sh stop && set_common_ports
else
echo -e "\033[33m已设为代理全部端口\033[0m"
common_ports=未开启
set_common_ports
fi
setconfig common_ports $common_ports
clashcfg
elif [ "$num" = 5 ]; then
@@ -1248,7 +1221,15 @@ clashcfg(){
clashcfg
elif [ "$num" = 6 ]; then
localproxy
if [ "$local_proxy" = "未开启" ]; then
localproxy
else
local_proxy=未开启
setconfig local_proxy $local_proxy
setconfig local_type
sed -i '/user shellclash/d' /etc/init.d/clash 2>/dev/null
echo -e "\033[33m已经停用本机代理规则,请尽快重启clash服务\033[0m"
fi
sleep 1
clashcfg
@@ -1555,6 +1536,7 @@ tools(){
#获取设置默认显示
[ -n "$(cat /etc/crontabs/root 2>&1| grep otapredownload)" ] && mi_update=禁用 || mi_update=启用
[ "$mi_autoSSH" = "已启用" ] && mi_autoSSH_type=32m已启用 || mi_autoSSH_type=31m未启用
[ -f $clashdir/tun.ko ] && mi_tunfix=32m已启用 || mi_tunfix=31m未启用
#
echo -----------------------------------------------
echo -e "\033[30;47m欢迎使用其他工具菜单\033[0m"
@@ -1569,6 +1551,7 @@ tools(){
[ -x /usr/sbin/otapredownload ] && echo -e " 5 \033[33m$mi_update\033[0m小米系统自动更新"
[ -f /data/clash/misnap_init.sh ] && echo -e " 6 小米设备软固化SSH ———— \033[$mi_autoSSH_type \033[0m"
[ -f /etc/config/ddns -a -d "/etc/ddns" ] && echo -e " 7 配置\033[32mDDNS服务\033[0m(需下载相关脚本)"
[ -f /data/clash/misnap_init.sh ] && echo -e " 8 小米设备Tun模块修复 ———— \033[$mi_tunfix \033[0m"
echo -----------------------------------------------
echo -e " 0 返回上级菜单"
echo -----------------------------------------------
@@ -1624,7 +1607,6 @@ tools(){
if [ "$systype" = "mi_snapshot" ];then
echo -----------------------------------------------
echo -e "\033[33m本功能使用软件命令进行固化不保证100%成功!\033[0m"
echo -e "本功能需依赖clash服务请确保clash为开机启动状态"
echo -e "\033[33m如有问题请加群反馈\033[36;4mhttps://t.me/ShellClash\033[0m"
read -p "请输入需要还原的SSH密码(不影响当前密码,回车可跳过) > " mi_autoSSH_pwd
mi_autoSSH=已启用
@@ -1639,6 +1621,35 @@ tools(){
setconfig mi_autoSSH $mi_autoSSH
setconfig mi_autoSSH_pwd $mi_autoSSH_pwd
tools
elif [ "$num" = 8 ]; then
if [ -f $clashdir/tun.ko ];then
read -p "是否禁用此功能并移除相关补丁?(1/0) > " res
[ "$res" = 1 ] && {
rm -rf $clashdir/tun.ko
echo -e "\033[33m补丁文件已移除请立即重启设备以防止出错\033[0m"
}
elif [ -z "$(modinfo tun)" ];then
echo -e "\033[33m本功能需要修改系统文件可能导致未知的不稳定情况产生\033[0m"
echo -e "\033[33m本功能采集的Tun模块不一定适用于你的设备\033[0m"
read -p "是否继续?(1/0) > " res
if [ "$res" = 1 ];then
tunfixlink="${update_url}/bin/fix/tun.ko"
echo -----------------------------------------------
echo 正在连接服务器获取Tun模块补丁文件…………
$clashdir/start.sh webget /tmp/tun.ko $tunfixlink
if [ "$?" = "0" ];then
mv -f /tmp/tun.ko $clashdir && \
$clashdir/misnap_init.sh tunfix && \
echo -e "\033[32m设置成功请重启clash服务\033[0m"
else
echo -e "\033[31m文件下载失败请重试\033[0m"
fi
fi
else
echo -e "\033[31m当前设备无需设置请勿尝试\033[0m"
sleep 1
fi
tools
else
errornum
fi

View File

@@ -133,12 +133,13 @@ getlink(){
echo -e " 0 \033[31m撤销输入并返回上级菜单\033[0m"
echo -----------------------------------------------
read -p "请直接输入第${i}个链接或对应数字选项 > " link
link=$(echo $link | sed 's/\&/%26/g') #处理分隔符
test=$(echo $link | grep "://")
link=`echo ${link/\#*/''}` #删除链接附带的注释内容
link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容
link=`echo ${link/*\&url\=/""}` #将clash完整链接还原成单一链接
link=`echo ${link/\&config\=*/""}` #将clash完整链接还原成单一链接
link=`echo ${link//\&/\%26}` #将分隔符 & 替换成urlcode%26
if [ -n "$test" ];then
if [ -z "$Url_link" ];then
Url_link="$link"
@@ -208,6 +209,7 @@ getlink2(){
#将用户链接写入mark
sed -i '/Url=*/'d $ccfg
setconfig Https \'$link\'
setconfig Url
#获取在线yaml文件
getyaml
else
@@ -672,7 +674,7 @@ setdb(){
}
getcrt(){
crtlink="${update_url}/bin/ca-certificates.crt"
crtlink="${update_url}/bin/fix/ca-certificates.crt"
echo -----------------------------------------------
echo 正在连接服务器获取安装文件…………
$clashdir/start.sh webget /tmp/ca-certificates.crt $crtlink
@@ -703,8 +705,8 @@ setcrt(){
echo -e "\033[33m用于解决证书校验错误x509报错等问题\033[0m"
echo -e "\033[31m无上述问题的设备请勿使用\033[0m"
echo -----------------------------------------------
[ -f "$crtdir" ] && echo -e "\033[33m检测到系统已经安装根证书文件了!\033[0m\n-----------------------------------------------"
read -p "确认安装(1/0) > " res
[ -f "$crtdir" ] && echo -e "\033[33m检测到系统已经存在根证书文件($crtdir)了!\033[0m\n-----------------------------------------------"
read -p "是否覆盖更新(1/0) > " res
if [ -z "$res" ];then
errornum
@@ -841,7 +843,7 @@ update(){
[ "$clashcore" = "clashpre" ] && clash_n=$clashpre_v
[ "$clashcore" = "clash.net" ] && clash_n=$clashnet_v
[ "$clashcore" = "clash.meta" ] && clash_n=$meta_v
clash_v=$($bindir/clash -v 2>/dev/null | sed 's/ linux.*//;s/.* //')
clash_v=$($bindir/clash -v 2>/dev/null | head -n 1 | sed 's/ linux.*//;s/.* //')
[ -z "$clash_v" ] && clash_v=$clashv
echo -e "\033[30;47m欢迎使用更新功能\033[0m"
echo -----------------------------------------------
@@ -939,11 +941,10 @@ userguide(){
errornum
forwhat
elif [ "$num" = 1 ];then
if ckcmd nft;then
setconfig redir_mod "Nft模式"
else
setconfig redir_mod "Redir模式"
fi
redir_mod="Redir模式"
ckcmd nft && redir_mod="Nft基础"
modprobe nft_tproxy &> /dev/null && redir_mod="Nft混合"
setconfig redir_mod "$redir_mod"
#设置开机启动
[ -f /etc/rc.common ] && /etc/init.d/clash enable
ckcmd systemctl && systemctl enable clash.service > /dev/null 2>&1
@@ -963,23 +964,7 @@ userguide(){
setconfig common_ports "未开启"
echo -----------------------------------------------
echo -e "\033[36m请选择设置本机代理的方式\033[0m"
echo -e " 1 使用\033[32m环境变量\033[0m方式配置(不支持部分应用)"
echo -e " 2 使用\033[32miptables增强模式\033[0m配置"
echo -e " 3 使用\033[32mnftables增强模式\033[0m配置"
echo -e " 0 稍后设置"
read -p "请输入对应数字 > " num
if [ "$num" = 1 ]; then
local_proxy=已开启
local_type=环境变量
elif [ "$num" = 2 ]; then
local_proxy=已开启
local_type=iptables增强模式
elif [ "$num" = 3 ]; then
local_proxy=已开启
local_type=nftables增强模式
fi
setconfig local_proxy $local_proxy
setconfig local_type $local_type
localproxy
elif [ "$num" = 3 ];then
mv -f $ccfg.bak $ccfg
echo -e "\033[32m脚本设置已还原\033[0m"
@@ -1000,11 +985,11 @@ userguide(){
[ "$res" = 1 ] && setconfig bindir "/tmp/clash_$USER"
fi
#下载本地面板
echo -----------------------------------------------
echo -e "\033[33m安装本地Dashboard面板可以更快捷的管理clash内置规则\033[0m"
echo -----------------------------------------------
read -p "需要安装本地Dashboard面板吗(1/0) > " res
[ "$res" = 1 ] && checkupdate && setdb
# echo -----------------------------------------------
# echo -e "\033[33m安装本地Dashboard面板可以更快捷的管理clash内置规则\033[0m"
# echo -----------------------------------------------
# read -p "需要安装本地Dashboard面板吗(1/0) > " res
# [ "$res" = 1 ] && checkupdate && setdb
#检测及下载根证书
if [ -d /etc/ssl/certs -a ! -f '/etc/ssl/certs/ca-certificates.crt' ];then
echo -----------------------------------------------
@@ -1014,7 +999,7 @@ userguide(){
[ "$res" = 1 ] && checkupdate && getcrt
fi
#设置加密DNS
$clashdir/start.sh webget /tmp/ssl_test https://doh.pub echooff rediron skipceroff
$clashdir/start.sh webget /tmp/ssl_test https://doh.pub echooff rediron
if [ "$?" = "0" ];then
dns_nameserver='https://223.5.5.5/dns-query, https://doh.pub/dns-query, tls://dns.rubyfish.cn:853'
dns_fallback='https://1.0.0.1/dns-query, https://8.8.4.4/dns-query, https://doh.opendns.com/dns-query'
@@ -1031,7 +1016,7 @@ userguide(){
sethost
fi
}
if ckcmd systemd;then
if ckcmd systemctl;then
echo -----------------------------------------------
echo -e "\033[32m是否开启公网访问Dashboard面板及socks服务\033[0m"
echo -e "注意当前设备必须有公网IP才能从公网正常访问"
@@ -1058,7 +1043,8 @@ userguide(){
#小米设备软固化
if [ "$systype" = "mi_snapshot" ];then
echo -----------------------------------------------
read -p "是否启用软固化SSH(1/0) > " res
echo -e "\033[33m检测到为小米路由设备启用软固化可防止路由升级后丢失SSH\033[0m"
read -p "是否启用软固化功能?(1/0) > " res
[ "$res" = 1 ] && setconfig mi_autoSSH 已启用
fi
#提示导入订阅或者配置文件
@@ -1080,14 +1066,14 @@ userguide(){
testcommand(){
echo -----------------------------------------------
echo -e "\033[30;47m这里是测试命令菜单\033[0m"
echo -e "\033[33m如遇问题尽量运行相应命令后截图发群\033[0m"
echo -e "\033[33m如遇问题尽量运行相应命令后截图提交issue或TG讨论组\033[0m"
echo -----------------------------------------------
echo " 1 查看Clash运行时的报错信息(会停止clash服务)"
echo " 2 查看系统DNS端口(:53)占用 "
echo " 3 测试ssl加密(aes-128-gcm)跑分"
echo " 4 查看clash相关路由规则"
echo " 5 查看config.yaml前30行"
echo " 6 测试代理服务器连通性google.tw)"
echo " 5 查看config.yaml前40行"
echo " 6 测试代理服务器连通性(google.tw)"
echo -----------------------------------------------
echo " 0 返回上级目录!"
read -p "请输入对应数字 > " num
@@ -1120,30 +1106,35 @@ testcommand(){
nft list table inet shellclash
else
echo -------------------Redir---------------------
iptables -t nat -L PREROUTING --line-numbers
iptables -t nat -L clash_dns --line-numbers
iptables -t nat -L clash --line-numbers
[ -n "$(echo $redir_mod | grep 'Tproxy')" ] && {
iptables -t nat -L PREROUTING --line-numbers
iptables -t nat -L clash_dns --line-numbers
iptables -t nat -L clash --line-numbers
[ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" ] && {
echo ----------------Tun/Tproxy-------------------
iptables -t mangle -L PREROUTING --line-numbers
iptables -t mangle -L clash --line-numbers
iptables -t mangle -L PREROUTING --line-numbers
iptables -t mangle -L clash --line-numbers
}
[ -n "$(echo $redir_mod | grep 'Tproxy')" -a "$ipv6_redir" = "已开启" ] && {
[ "$local_proxy" = "已开启" ] && [ "$local_type" = "iptables增强模式" ] && {
echo ----------------OUTPUT-------------------
iptables -t nat -L OUTPUT --line-numbers
iptables -t nat -L clash_out --line-numbers
}
[ -n "$(echo $redir_mod | grep -E 'Tproxy模式|混合模式|Tun模式')" -a "$ipv6_redir" = "已开启" ] && {
echo ----------------Tun/Tproxy-------------------
ip6tables -t mangle -L PREROUTING --line-numbers
ip6tables -t mangle -L clashv6 --line-numbers
ip6tables -t mangle -L PREROUTING --line-numbers
ip6tables -t mangle -L clashv6 --line-numbers
[ -n "$(lsmod | grep 'ip6table_nat')" ] && {
echo -------------------Redir---------------------
ip6tables -t nat -L PREROUTING --line-numbers
ip6tables -t nat -L clashv6_dns --line-numbers
ip6tables -t nat -L clashv6 --line-numbers
ip6tables -t nat -L PREROUTING --line-numbers
ip6tables -t nat -L clashv6_dns --line-numbers
ip6tables -t nat -L clashv6 --line-numbers
}
}
fi
exit;
elif [ "$num" = 5 ]; then
echo -----------------------------------------------
sed -n '1,30p' $yaml
sed -n '1,40p' $clashdir/config.yaml
echo -----------------------------------------------
exit;
elif [ "$num" = 6 ]; then

View File

@@ -1,11 +1,11 @@
#!/bin/sh
# Copyright (C) Juewuy
version=1.7.0f
version=1.7.4f
setdir(){
dir_avail(){
df -h $1 |awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' |grep Ava |awk '{print $2}'
df $2 $1 |awk '{ for(i=1;i<=NF;i++){ if(NR==1){ arr[i]=$i; }else{ arr[i]=arr[i]" "$i; } } } END{ for(i=1;i<=NF;i++){ print arr[i]; } }' |grep Ava |awk '{print $2}'
}
set_usb_dir(){
echo -e "请选择安装目录"
@@ -17,15 +17,26 @@ setdir(){
set_usb_dir
fi
}
set_cust_dir(){
echo -----------------------------------------------
echo '可用路径 剩余空间:'
df -h | awk '{print $6,$4}'| sed 1d
echo '路径是必须带 / 的格式,注意写入虚拟内存(/tmp,/opt,/sys...)的文件会在重启后消失!!!'
read -p "请输入自定义路径 > " dir
if [ "$(dir_avail $dir)" = 0 ];then
echo "\033[31m路径错误请重新设置\033[0m"
set_cust_dir
fi
}
echo -----------------------------------------------
if [ -n "$systype" ];then
[ "$systype" = "Padavan" ] && dir=/etc/storage
[ "$systype" = "mi_snapshot" ] && {
echo -e "\033[33m检测到当前设备为小米官方系统请选择安装位置\033[0m"
echo -e " 1 安装到/data目录(推荐,支持软固化功能)"
echo -e " 2 安装到USB设备(支持软固化功能)"
[ "$(dir_avail /etc)" != 0 ] && echo -e " 3 安装到/etc目录(不推荐)"
echo -e " 0 退出安装"
[ "$(dir_avail /data)" -gt 256 ] && echo " 1 安装到 /data 目录(推荐,支持软固化功能)"
[ "$(dir_avail /userdisk)" -gt 256 ] && echo " 2 安装到 /userdisk 目录(推荐,支持软固化功能)"
echo " 3 安装自定义目录(不推荐,不明勿用!)"
echo " 0 退出安装"
echo -----------------------------------------------
read -p "请输入相应数字 > " num
case "$num" in
@@ -33,15 +44,10 @@ if [ -n "$systype" ];then
dir=/data
;;
2)
set_usb_dir ;;
dir=/userdisk
;;
3)
if [ "$(dir_avail /etc)" != 0 ];then
dir=/etc
systype=""
else
echo -e "\033[31m你的设备不支持安装到/etc目录已改为安装到/data\033[0m"
dir=data
fi
set_cust_dir
;;
*)
exit 1 ;;
@@ -110,7 +116,7 @@ fi
if [ ! -w $dir ];then
echo -e "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir
else
echo -e "目标目录\033[32m$dir\033[0m空间剩余$(dir_avail $dir)"
echo -e "目标目录\033[32m$dir\033[0m空间剩余$(dir_avail $dir -h)"
read -p "确认安装?(1/0) > " res
[ "$res" = "1" ] && clashdir=$dir/clash || setdir
fi
@@ -145,7 +151,7 @@ mv -f /tmp/SC_tmp/* $clashdir 2>/dev/null
#初始化
[ -f "$clashdir/mark" ] || echo '#ShellClash配置文件不明勿动' > $clashdir/mark
#本地安装跳过新手引导
[ -z "$url" ] && setconfig userguide 1
#[ -z "$url" ] && setconfig userguide 1
#判断系统类型写入不同的启动文件
if [ -f /etc/rc.common ];then
#设为init.d方式启动
@@ -154,7 +160,7 @@ if [ -f /etc/rc.common ];then
else
[ -w /etc/systemd/system ] && sysdir=/etc/systemd/system
[ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system
if [ -n "$sysdir" ];then
if [ -n "$sysdir" -a -z "$WSL_DISTRO_NAME" ];then #wsl环境不使用systemd
#设为systemd方式启动
mv -f $clashdir/clash.service $sysdir/clash.service 2>/dev/null
sed -i "s%/etc/clash%$clashdir%g" $sysdir/clash.service
@@ -181,7 +187,7 @@ if [ -n "$profile" ];then
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> $profile #设置快捷命令环境变量
sed -i '/export clashdir=*/'d $profile
echo "export clashdir=\"$clashdir\"" >> $profile #设置clash路径环境变量
source $profile &>/dev/null
source $profile &>/dev/null || echo 运行错误请使用bash而不是dash运行安装命令
#适配zsh环境变量
[ -n "$(ls -l /bin/sh|grep -oE 'zsh')" ] && [ -z "$(cat ~/.zshrc 2>/dev/null|grep clashdir)" ] && {
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> ~/.zshrc
@@ -205,7 +211,7 @@ if [ "$systype" = "mi_snapshot" ];then
chmod 755 $clashdir/misnap_init.sh
uci set firewall.ShellClash=include
uci set firewall.ShellClash.type='script'
uci set firewall.ShellClash.path='/data/clash/misnap_init.sh'
uci set firewall.ShellClash.path="$clashdir/misnap_init.sh"
uci set firewall.ShellClash.enabled='1'
uci commit firewall
setconfig systype $systype

View File

@@ -1,30 +1,72 @@
#!/bin/sh
# Copyright (C) Juewuy
clashdir=/data/clash
clashdir="$(uci get firewall.ShellClash.path | sed 's/\/misnap_init.sh//')"
profile=/etc/profile
#检查clash运行状态
if [ -z $(pidof clash) ]; then
autoSSH(){
#自动开启SSH
[ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 && nvram commit
[ "`uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL`" != 'stable' ] && {
uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable'
uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version
}
[ -z "$(pidof dropbear)" -o -z "$(netstat -ntul | grep :22)" ] && {
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
mi_autoSSH_pwd=$(grep 'mi_autoSSH_pwd=' $clashdir/mark | awk -F "=" '{print $2}')
[ -n "$mi_autoSSH_pwd" ] && echo -e "$mi_autoSSH_pwd\n$mi_autoSSH_pwd" | passwd root
}
#备份还原SSH秘钥
[ -f $clashdir/dropbear_rsa_host_key ] && ln -sf $clashdir/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key
[ -f $clashdir/authorized_keys ] && ln -sf $clashdir/authorized_keys /etc/dropbear/authorized_keys
}
tunfix(){
ko_dir=$(modinfo ip_tables | grep -Eo '/lib/modules.*/ip_tables.ko' | sed 's|/ip_tables.ko||' )
#在/tmp创建并挂载overlay
mkdir -p /tmp/overlay
mkdir -p /tmp/overlay/upper
mkdir -p /tmp/overlay/work
mount -o noatime,lowerdir=${ko_dir},upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work -t overlay "overlay_mods_only" ${ko_dir}
#将tun.ko链接到lib
ln -s $clashdir/tun.ko ${ko_dir}/tun.ko
}
init(){
#初始化环境变量
sed -i "/alias clash/d" $profile
sed -i "/export clashdir/d" $profile
echo "alias clash=\"$clashdir/clash.sh\"" >>$profile
echo "export clashdir=\"$clashdir\"" >>$profile
#设置init.d服务并启动clash服务
#软固化功能
[ "$(grep 'mi_autoSSH=' $clashdir/mark | awk -F "=" '{print $2}')" = "已启用" ] && autoSSH
#设置init.d服务
cp -f $clashdir/clashservice /etc/init.d/clash
chmod 755 /etc/init.d/clash
#启动服务
if [ ! -f $clashdir/.dis_startup ]; then
log_file=$(uci get system.@system[0].log_file)
while [ "$i" -lt 10 ]; do
sleep 5
[ -n "$(grep 'init complete' $log_file)" ] && i=10 || i=$((i + 1))
done
#AX6S/AX6000修复tun功能
[ -f $clashdir/tun.ko -a ! -f /lib/modules/4.4.198/tun.ko ] && tunfix && sleep 10
#
/etc/init.d/clash start
/etc/init.d/clash enable
fi
else
sleep 10
$clashdir/start.sh restart
fi
}
case "$1" in
tunfix) tunfix ;;
init) init ;;
*)
if [ -z $(pidof clash) ];then
init
else
sleep 10
$clashdir/start.sh restart
fi
;;
esac

View File

@@ -49,13 +49,14 @@ compare(){
fi
}
logger(){
#$1文字描述$2显示颜色$3是否推送
#$1日志内容$2显示颜色$3是否推送
[ -n "$2" ] && echo -e "\033[$2m$1\033[0m"
log_text="$(date "+%G-%m-%d_%H:%M:%S")~$1"
echo $log_text >> /tmp/ShellClash_log
[ "$(wc -l /tmp/ShellClash_log | awk '{print $1}')" -gt 99 ] && sed -i '1,5d' /tmp/ShellClash_log
[ -z "$3" ] && {
getconfig
[ -n "$device_name" ] && log_text="$log_text($device_name)"
[ -n "$(pidof clash)" ] && {
[ -n "$authentication" ] && auth="$authentication@"
export https_proxy="http://${auth}127.0.0.1:$mix_port"
@@ -100,7 +101,7 @@ croncmd(){
[ ! -w "$crondir" ] && crondir="/etc/storage/cron/crontabs"
[ ! -w "$crondir" ] && crondir="/var/spool/cron/crontabs"
[ ! -w "$crondir" ] && crondir="/var/spool/cron"
[ ! -w "$crondir" ] && echo "你的设备不支持定时任务配置,脚本大量功能无法启用,请前往 https://t.me/clashfm 申请适配"
[ ! -w "$crondir" ] && echo "你的设备不支持定时任务配置,脚本大量功能无法启用,请尝试使用搜索引擎查找安装方式"
[ "$1" = "-l" ] && cat $crondir/$USER 2>/dev/null
[ -f "$1" ] && cat $1 > $crondir/$USER
fi
@@ -125,24 +126,18 @@ put_save(){
mark_time(){
echo `date +%s` > /tmp/clash_start_time
}
autoSSH(){
#自动开启SSH
[ "$(nvram get ssh_en)" = 0 ] && nvram set ssh_en=1 && nvram commit
[ "`uci -c /usr/share/xiaoqiang get xiaoqiang_version.version.CHANNEL`" != 'stable' ] && {
uci -c /usr/share/xiaoqiang set xiaoqiang_version.version.CHANNEL='stable'
uci -c /usr/share/xiaoqiang commit xiaoqiang_version.version
}
[ -z "$(pidof dropbear)" -o -z "$(netstat -ntul | grep :22)" ] && {
sed -i 's/channel=.*/channel="debug"/g' /etc/init.d/dropbear
/etc/init.d/dropbear restart
[ -n "$mi_autoSSH_pwd" ] && echo -e "$mi_autoSSH_pwd\n$mi_autoSSH_pwd" | passwd root
}
#备份还原SSH秘钥
[ -f $clashdir/dropbear_rsa_host_key ] && ln -sf $clashdir/dropbear_rsa_host_key /etc/dropbear/dropbear_rsa_host_key
[ -f $clashdir/authorized_keys ] && ln -sf $clashdir/authorized_keys /etc/dropbear/authorized_keys
}
host_lan(){
[ -n "$(echo $host | grep -oE "([0-9]{1,3}[\.]){3}[0-9]{1,3}" )" ] && host_lan="$(echo $host | grep -oE "([0-9]{1,3}[\.]){3}")0/24"
getlanip(){
host_ipv4=$(ip a 2>&1 | grep -w 'inet' | grep 'global' | grep 'br' | grep -v 'iot' | grep -E ' 1(92|0|72)\.' | sed 's/.*inet.//g' | sed 's/br.*$//g' ) #ipv4局域网网段
host_ipv6=$(ip a 2>&1 | grep -w 'inet6' | grep -E 'global' | sed 's/.*inet6.//g' | sed 's/scope.*$//g' ) #ipv6公网地址段
#缺省配置
[ -z "$host_ipv4" ] && host_ipv4='192.168.0.0/16 10.0.0.0/12 172.16.0.0/12'
[ -z "$host_ipv6" ] && host_ipv6='fe80::/10 fd00::/8'
#获取本机出口IP地址
local_ipv4=$(ip route 2>&1 | grep 'src' | grep -Ev 'utun|iot'| grep -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3} $' | sed 's/.*src //g' )
[ -z "$local_ipv4" ] && local_ipv4=$(ip route 2>&1 | grep -Eo 'src.*' | grep -Eo '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | sort -u )
#保留地址
reserve_ipv4="0.0.0.0/8 10.0.0.0/8 127.0.0.0/8 100.64.0.0/10 169.254.0.0/16 172.16.0.0/12 192.168.0.0/16 224.0.0.0/4 240.0.0.0/4"
reserve_ipv6="::/128 ::1/128 ::ffff:0:0/96 64:ff9b::/96 100::/64 2001::/32 2001:20::/28 2001:db8::/32 2002::/16 fc00::/7 fe80::/10 ff00::/8"
}
#配置文件相关
getyaml(){
@@ -176,11 +171,10 @@ https://github.com/juewuy/ShellClash/raw/master/rules/ACL4SSR_Online_Games.ini
https://github.com/juewuy/ShellClash/raw/master/rules/ACL4SSR_Online_Mini_Games.ini
https://github.com/juewuy/ShellClash/raw/master/rules/ACL4SSR_Online_Full_Games.ini
EOF`
Https=$(echo ${Https//\%26/\&}) #将%26替换回&
#如果传来的是Url链接则合成Https链接否则直接使用Https链接
if [ -z "$Https" -a -z "$retry" ];then
[ -n "$(echo $Url | grep -oE 'vless:')" ] && Server='https://api.v1.mk'
[ -n "$(echo $Url | grep -oE 'hysteria:')" ] && Server='https://sub.jwsc.eu.org'
if [ -z "$Https" ];then
[ -n "$(echo $Url | grep -oE 'vless:')" -a -z "$retry" ] && Server='https://api.v1.mk'
[ -n "$(echo $Url | grep -oE 'hysteria:')" -a -z "$retry" ] && Server='https://sub.jwsc.eu.org'
Https="$Server/sub?target=clash&insert=true&new_name=true&scv=true&udp=true&exclude=$exclude&include=$include&url=$Url&config=$Config"
url_type=true
fi
@@ -202,16 +196,16 @@ EOF`
echo -----------------------------------------------
exit 1
else
if [ "$retry" -ge 4 ];then
if [ "$retry" = 4 ];then
logger "无法获取配置文件,请检查链接格式以及网络连接状态!" 31
echo -e "\033[32m你也可以尝试使用浏览器下载配置文件后使用WinSCP手动上传到/tmp目录\033[0m"
exit 1
elif [ "$retry" = 3 ];then
retry=4
logger "配置文件获取失败!最后尝试使用http备用服务器获取" 31
echo -e "\033[32m如担心安全请在5s内使用【ctrl+c】退出\033[0m"
logger "配置文件获取失败!尝试使用http协议备用服务器获取!" 31
echo -e "\033[32m如担心数据安全请在5s内使用【ctrl+c】退出\033[0m"
sleep 5
server_link=6
setconfig server_link 6
Https=""
getyaml
else
@@ -259,7 +253,7 @@ EOF`
fi
#检测并去除无效节点组
[ -n "$url_type" ] && ckcmd xargs && {
cat $yamlnew | grep -A 8 "\- name:" | xargs | sed 's/- name: /\n/g' | sed 's/ type: .*proxies: /#/g' | sed 's/ rules:.*//g' | sed 's/- //g' | grep -E '#DIRECT $' | awk -F '#' '{print $1}' > /tmp/clash_proxies_$USER
cat $yamlnew | sed '/^rules:/,$d' | grep -A 15 "\- name:" | xargs | sed 's/- name: /\n/g' | sed 's/ type: .*proxies: /#/g' | sed 's/- //g' | grep -E '#DIRECT $|#DIRECT$' | awk -F '#' '{print $1}' > /tmp/clash_proxies_$USER
while read line ;do
sed -i "/- $line/d" $yamlnew
sed -i "/- name: $line/,/- DIRECT/d" $yamlnew
@@ -306,6 +300,10 @@ modify_yaml(){
tun='tun: {enable: false}'
fi
exper='experimental: {ignore-resolve-fail: true, interface-name: en0}'
#Meta内核专属配置
[ "$clashcore" = 'clash.meta' ] && {
find_process='find-process-mode: "off"'
}
#dns配置
[ -z "$(cat $clashdir/user.yaml 2>/dev/null | grep '^dns:')" ] && {
[ "$clashcore" = 'clash.meta' ] && dns_default_meta=', https://1.0.0.1/dns-query, https://223.5.5.5/dns-query'
@@ -344,12 +342,13 @@ modify_yaml(){
sed -n "${yaml_r}p" $yaml >> $tmpdir/proxy.yaml #将rule字段附在末尾
fi
#跳过本地tls证书验证
[ "$skip_cert" = "已开启" ] && sed -i 's/skip-cert-verify: false/skip-cert-verify: true/' $tmpdir/proxy.yaml
[ "$skip_cert" = "已开启" ] && sed -i 's/skip-cert-verify: false/skip-cert-verify: true/' $tmpdir/proxy.yaml || \
sed -i 's/skip-cert-verify: true/skip-cert-verify: false/' $tmpdir/proxy.yaml
#节点绕过功能支持
sed -i "/#节点绕过/d" $tmpdir/rule.yaml
[ "$proxies_bypass" = "已启用" ] && {
cat /tmp/clash_$USER/proxy.yaml | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '!a[$0]++' | sed 's/^/\ -\ IP-CIDR,/g' | sed 's|$|/32,DIRECT #节点绕过|g' >> $tmpdir/proxies_bypass
cat /tmp/clash_$USER/proxy.yaml | grep -vE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -oE '[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?'| awk '!a[$0]++' | sed 's/^/\ -\ DOMAIN,/g' | sed 's/$/,DIRECT #节点绕过/g' >> $tmpdir/proxies_bypass
cat /tmp/clash_$USER/proxy.yaml | sed '/^proxy-/,$d' | sed '/^rule-/,$d' | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | awk '!a[$0]++' | sed 's/^/\ -\ IP-CIDR,/g' | sed 's|$|/32,DIRECT #节点绕过|g' >> $tmpdir/proxies_bypass
cat /tmp/clash_$USER/proxy.yaml | sed '/^proxy-/,$d' | sed '/^rule-/,$d' | grep -vE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -oE '[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?'| awk '!a[$0]++' | sed 's/^/\ -\ DOMAIN,/g' | sed 's/$/,DIRECT #节点绕过/g' >> $tmpdir/proxies_bypass
cat $tmpdir/rule.yaml >> $tmpdir/proxies_bypass
mv -f $tmpdir/proxies_bypass $tmpdir/rule.yaml
}
@@ -379,6 +378,7 @@ $exper
$dns
$sniffer_set
store-selected: $restore
$find_process
EOF
###################################
#读取本机hosts并生成配置文件
@@ -404,8 +404,13 @@ EOF
[ -f $tmpdir/proxy.yaml ] && yaml_proxy=$tmpdir/proxy.yaml
[ -f $tmpdir/rule.yaml ] && yaml_rule=$tmpdir/rule.yaml
cut -c 1- $tmpdir/set.yaml $yaml_hosts $yaml_user $yaml_proxy $yaml_rule > $tmpdir/config.yaml
#测试自定义配置文件
$bindir/clash -t -d $bindir -f $tmpdir/config.yaml >/dev/null
if [ "$?" != 0 ];then
logger "$($bindir/clash -t -d $bindir -f $tmpdir/config.yaml | grep -Eo 'error=.*')" 31
logger "自定义配置文件校验失败!将使用基础配置文件启动!" 33
sed -i "/#自定义/d" $tmpdir/config.yaml
fi
#插入自定义代理
sed -i "/#自定义代理/d" $tmpdir/config.yaml
space=$(sed -n '/^proxies:/{n;p}' $tmpdir/config.yaml | grep -oE '^ *') #获取空格数
@@ -485,62 +490,55 @@ cn_ipv6_route(){
}
start_redir(){
#获取局域网host地址
host_lan
#流量过滤规则
getlanip
#流量过滤
iptables -t nat -N clash
iptables -t nat -A clash -d 0.0.0.0/8 -j RETURN
iptables -t nat -A clash -d 10.0.0.0/8 -j RETURN
iptables -t nat -A clash -d 127.0.0.0/8 -j RETURN
iptables -t nat -A clash -d 100.64.0.0/10 -j RETURN
iptables -t nat -A clash -d 169.254.0.0/16 -j RETURN
iptables -t nat -A clash -d 172.16.0.0/12 -j RETURN
iptables -t nat -A clash -d 192.168.0.0/16 -j RETURN
iptables -t nat -A clash -d 224.0.0.0/4 -j RETURN
iptables -t nat -A clash -d 240.0.0.0/4 -j RETURN
[ -n "$host_lan" ] && iptables -t nat -A clash -d $host_lan -j RETURN
for ip in $host_ipv4 $reserve_ipv4;do #跳过目标保留地址及目标本机网段
iptables -t nat -A clash -d $ip -j RETURN
done
#绕过CN_IP
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && iptables -t nat -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
[ "$dns_mod" = "fake-ip" ] && iptables -t nat -A clash -s 198.18.0.0/16 -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && \
iptables -t nat -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
#局域网设备过滤
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac白名单
iptables -t nat -A clash -p tcp -m mac --mac-source $mac -j REDIRECT --to-ports $redir_port
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac黑名单
iptables -t nat -A clash -m mac --mac-source $mac -j RETURN
done
iptables -t nat -A clash -p tcp -s 192.168.0.0/16 -j REDIRECT --to-ports $redir_port
iptables -t nat -A clash -p tcp -s 10.0.0.0/8 -j REDIRECT --to-ports $redir_port
[ -n "$host_lan" ] && iptables -t nat -A clash -p tcp -s $host_lan -j REDIRECT --to-ports $redir_port
#仅代理本机局域网网段流量
for ip in $host_ipv4;do
iptables -t nat -A clash -p tcp -s $ip -j REDIRECT --to-ports $redir_port
done
fi
#将PREROUTING链指向clash链
iptables -t nat -A PREROUTING -p tcp $ports -j clash
#设置ipv6转发
if [ "$ipv6_redir" = "已开启" -a -n "$(lsmod | grep 'ip6table_nat')" ];then
ip6tables -t nat -N clashv6
ip6tables -t nat -A clashv6 -d ::1/128 -j RETURN
ip6tables -t nat -A clashv6 -d fc00::/7 -j RETURN
ip6tables -t nat -A clashv6 -d fe80::/10 -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && ip6tables -t nat -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
for ip in $reserve_ipv6 $host_ipv6;do #跳过目标保留地址及目标本机网段
ip6tables -t nat -A clashv6 -d $ip -j RETURN
done
#绕过CN_IPV6
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && \
ip6tables -t nat -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
#局域网设备过滤
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
ip6tables -t nat -A clashv6 -p tcp $ports -m mac --mac-source $mac -j REDIRECT --to-ports $redir_port
for mac in $(cat $clashdir/mac); do #mac白名单
ip6tables -t nat -A clashv6 -p tcp -m mac --mac-source $mac -j REDIRECT --to-ports $redir_port
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac黑名单
ip6tables -t nat -A clashv6 -m mac --mac-source $mac -j RETURN
done
for ip in $ipv6_wan ;do
ip6tables -t nat -A clashv6 -p tcp -s $ip -j RETURN #屏蔽本机ipv6地址
#仅代理本机局域网网段流量
for ip in $host_ipv6;do
ip6tables -t nat -A clashv6 -p tcp -s $ip -j REDIRECT --to-ports $redir_port
done
ip6tables -t nat -A clashv6 -p tcp $ports -j REDIRECT --to-ports $redir_port
fi
ip6tables -t nat -A PREROUTING -p tcp -j clashv6
ip6tables -t nat -A PREROUTING -p tcp $ports -j clashv6
fi
return 0
}
@@ -553,29 +551,25 @@ start_ipt_dns(){
#设置dns转发
iptables -t nat -N clash_dns
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac白名单
iptables -t nat -A clash_dns -p udp -m mac --mac-source $mac -j REDIRECT --to $dns_port
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac黑名单
iptables -t nat -A clash_dns -m mac --mac-source $mac -j RETURN
done
iptables -t nat -A clash_dns -p udp -j REDIRECT --to $dns_port
fi
iptables -t nat -I PREROUTING -p udp --dport 53 -j clash_dns
#ipv6DNS
if [ -n "$(lsmod | grep 'ip6table_nat')" ];then
if [ -n "$(lsmod | grep 'ip6table_nat')" -a -n "$(lsmod | grep 'xt_nat')" ];then
ip6tables -t nat -N clashv6_dns > /dev/null 2>&1
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac白名单
ip6tables -t nat -A clashv6_dns -p udp -m mac --mac-source $mac -j REDIRECT --to $dns_port
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
for mac in $(cat $clashdir/mac); do #mac黑名单
ip6tables -t nat -A clashv6_dns -m mac --mac-source $mac -j RETURN
done
ip6tables -t nat -A clashv6_dns -p udp -j REDIRECT --to $dns_port
@@ -588,214 +582,205 @@ start_ipt_dns(){
}
start_tproxy(){
modprobe xt_TPROXY &>/dev/null && {
#获取局域网host地址
host_lan
ip rule add fwmark 1 table 100
ip route add local default dev lo table 100
iptables -t mangle -N clash
iptables -t mangle -A clash -p udp --dport 53 -j RETURN
iptables -t mangle -A clash -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 100.64.0.0/10 -j RETURN
iptables -t mangle -A clash -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A clash -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A clash -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A clash -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A clash -d 240.0.0.0/4 -j RETURN
[ -n "$host_lan" ] && iptables -t mangle -A clash -d $host_lan -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && iptables -t mangle -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
[ "$dns_mod" = "fake-ip" ] && iptables -t mangle -A clash -s 198.18.0.0/16 -j RETURN
tproxy_set(){
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
iptables -t mangle -A clash -p $1 -m mac --mac-source $mac -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
iptables -t mangle -A clash -m mac --mac-source $mac -j RETURN
done
iptables -t mangle -A clash -p $1 -s 192.168.0.0/16 -j TPROXY --on-port $tproxy_port --tproxy-mark 1
iptables -t mangle -A clash -p $1 -s 10.0.0.0/8 -j TPROXY --on-port $tproxy_port --tproxy-mark 1
[ -n "$host_lan" ] && iptables -t mangle -A clash -p $1 -s $host_lan -j TPROXY --on-port $tproxy_port --tproxy-mark 1
fi
iptables -t mangle -A PREROUTING -p $1 $ports -j clash
#获取局域网host地址
getlanip
ip rule add fwmark 1 table 100
ip route add local default dev lo table 100
iptables -t mangle -N clash
iptables -t mangle -A clash -p udp --dport 53 -j RETURN
for ip in $host_ipv4 $reserve_ipv4;do #跳过目标保留地址及目标本机网段
iptables -t mangle -A clash -d $ip -j RETURN
done
#绕过CN_IP
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && \
iptables -t mangle -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
#tcp&udp分别进代理链
tproxy_set(){
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
for mac in $(cat $clashdir/mac); do #mac白名单
iptables -t mangle -A clash -p $1 -m mac --mac-source $mac -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
else
for mac in $(cat $clashdir/mac); do #mac黑名单
iptables -t mangle -A clash -m mac --mac-source $mac -j RETURN
done
#仅代理本机局域网网段流量
for ip in $host_ipv4;do
iptables -t mangle -A clash -p $1 -s $ip -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
fi
iptables -t mangle -A PREROUTING -p $1 $ports -j clash
}
[ "$1" = "all" ] && tproxy_set tcp
tproxy_set udp
#屏蔽QUIC
[ "$quic_rj" = 已启用 ] && {
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && set_cn_ip='-m set ! --match-set cn_ip dst'
iptables -I INPUT -p udp --dport 443 -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip -j REJECT >/dev/null 2>&1
}
#设置ipv6转发
[ "$ipv6_redir" = "已开启" ] && {
ip -6 rule add fwmark 1 table 101
ip -6 route add local ::/0 dev lo table 101
ip6tables -t mangle -N clashv6
ip6tables -t mangle -A clashv6 -p udp --dport 53 -j RETURN
for ip in $host_ipv6 $reserve_ipv6;do #跳过目标保留地址及目标本机网段
ip6tables -t mangle -A clashv6 -d $ip -j RETURN
done
#绕过CN_IPV6
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && \
ip6tables -t mangle -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
#tcp&udp分别进代理链
tproxy_set6(){
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -p $1 -m mac --mac-source $mac -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j RETURN
done
#仅代理本机局域网网段流量
for ip in $host_ipv6;do
ip6tables -t mangle -A clashv6 -p $1 -s $ip -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
fi
ip6tables -t mangle -A PREROUTING -p $1 $ports -j clashv6
}
[ "$1" = "all" ] && tproxy_set tcp
tproxy_set udp
[ "$1" = "all" ] && tproxy_set6 tcp
tproxy_set6 udp
#屏蔽QUIC
[ "$quic_rj" = 已启用 ] && {
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && set_cn_ip='-m set ! --match-set cn_ip dst'
iptables -I INPUT -p udp --dport 443 -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip -j REJECT >/dev/null 2>&1
}
#设置ipv6转发
[ "$ipv6_redir" = "已开启" ] && {
ip -6 rule add fwmark 1 table 101
ip -6 route add local ::/0 dev lo table 101
ip6tables -t mangle -N clashv6
ip6tables -t mangle -A clashv6 -p udp --dport 53 -j RETURN
ip6tables -t mangle -A clashv6 -d ::1/128 -j RETURN
ip6tables -t mangle -A clashv6 -d fc00::/7 -j RETURN
ip6tables -t mangle -A clashv6 -d fe80::/10 -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && ip6tables -t mangle -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
tproxy_set6(){
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -p $1 -m mac --mac-source $mac -j TPROXY --on-port $tproxy_port --tproxy-mark 1
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j RETURN
done
for ip in $ipv6_wan ;do
ip6tables -t mangle -A clashv6 -p $1 -s $ip -j RETURN #屏蔽本机ipv6地址
done
ip6tables -t mangle -A clashv6 -p $1 -j TPROXY --on-port $tproxy_port --tproxy-mark 1
fi
ip6tables -t mangle -A PREROUTING -p $1 $ports -j clashv6
}
[ "$1" = "all" ] && tproxy_set6 tcp
tproxy_set6 udp
[ "$quic_rj" = 已启用 ] && {
ip6tables -I INPUT -p udp --dport 443 -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip -j REJECT 2>/dev/null
}
}
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && set_cn_ip6='-m set ! --match-set cn_ip6 dst'
ip6tables -I INPUT -p udp --dport 443 -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip6 -j REJECT 2>/dev/null
}
}
}
start_output(){
#获取局域网host地址
getlanip
#流量过滤
iptables -t nat -N clash_out
iptables -t nat -A clash_out -m owner --gid-owner 7890 -j RETURN
iptables -t nat -A clash_out -d 0.0.0.0/8 -j RETURN
iptables -t nat -A clash_out -d 10.0.0.0/8 -j RETURN
iptables -t nat -A clash_out -d 100.64.0.0/10 -j RETURN
iptables -t nat -A clash_out -d 127.0.0.0/8 -j RETURN
iptables -t nat -A clash_out -d 169.254.0.0/16 -j RETURN
iptables -t nat -A clash_out -d 192.168.0.0/16 -j RETURN
iptables -t nat -A clash_out -d 224.0.0.0/4 -j RETURN
iptables -t nat -A clash_out -d 240.0.0.0/4 -j RETURN
for ip in $local_ipv4 $reserve_ipv4;do #跳过目标保留地址及目标本机网段
iptables -t nat -A clash_out -d $ip -j RETURN
done
#绕过CN_IP
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && \
iptables -t nat -A clash_out -m set --match-set cn_ip dst -j RETURN >/dev/null 2>&1 #绕过大陆IP
iptables -t nat -A clash_out -p tcp -j REDIRECT --to-ports $redir_port
#
iptables -t nat -A OUTPUT -p tcp -j clash_out
iptables -t nat -A clash_out -m set --match-set cn_ip dst -j RETURN >/dev/null 2>&1
#仅允许本机流量
for ip in 127.0.0.0/8 $local_ipv4;do
iptables -t nat -A clash_out -p tcp -s $ip -j REDIRECT --to-ports $redir_port
done
iptables -t nat -A OUTPUT -p tcp $ports -j clash_out
#设置dns转发
[ "$dns_no" != "已禁用" ] && {
iptables -t nat -N clash_dns_out
iptables -t nat -A clash_dns_out -m owner --gid-owner 7890 -j RETURN
iptables -t nat -A clash_dns_out -p udp -j REDIRECT --to $dns_port
iptables -t nat -A clash_dns_out -p udp -s 127.0.0.0/8 -j REDIRECT --to $dns_port
iptables -t nat -A OUTPUT -p udp --dport 53 -j clash_dns_out
}
#Docker转发
ckcmd docker && {
iptables -t nat -N clash_docker
iptables -t nat -A clash_docker -d 10.0.0.0/8 -j RETURN
iptables -t nat -A clash_docker -d 127.0.0.0/8 -j RETURN
iptables -t nat -A clash_docker -d 172.16.0.0/12 -j RETURN
iptables -t nat -A clash_docker -d 192.168.0.0/16 -j RETURN
for ip in $host_ipv4 $reserve_ipv4;do #跳过目标保留地址及目标本机网段
iptables -t nat -A clash_docker -d $ip -j RETURN
done
iptables -t nat -A clash_docker -p tcp -j REDIRECT --to-ports $redir_port
iptables -t nat -A PREROUTING -p tcp -s 172.16.0.0/12 -j clash_docker
[ "$dns_no" != "已禁用" ] && iptables -t nat -A PREROUTING -p udp --dport 53 -s 172.16.0.0/12 -j REDIRECT --to $dns_port
}
}
start_tun(){
modprobe tun &> /dev/null && {
#允许流量
iptables -I FORWARD -o utun -j ACCEPT
iptables -I FORWARD -s 198.18.0.0/16 -o utun -j RETURN
#ip6tables -I FORWARD -o utun -j ACCEPT > /dev/null 2>&1
#屏蔽QUIC
if [ "$quic_rj" = 已启用 ];then
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && set_cn_ip='-m set ! --match-set cn_ip dst'
iptables -I FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip -j REJECT >/dev/null 2>&1
#ip6tables -I FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" -j REJECT >/dev/null 2>&1
fi
modprobe xt_mark &> /dev/null && {
i=1
while [ -z "$(ip route list |grep utun)" -a "$i" -le 9 ];do
sleep 1
i=$((i+1))
#允许流量
iptables -I FORWARD -o utun -j ACCEPT
iptables -I FORWARD -s 198.18.0.0/16 -o utun -j RETURN
ip6tables -I FORWARD -o utun -j ACCEPT > /dev/null 2>&1
#屏蔽QUIC
if [ "$quic_rj" = 已启用 ];then
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && set_cn_ip='-m set ! --match-set cn_ip dst'
iptables -I FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip -j REJECT >/dev/null 2>&1
#ip6tables -I FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" -j REJECT >/dev/null 2>&1
fi
modprobe xt_mark &> /dev/null && {
i=1
while [ -z "$(ip route list |grep utun)" -a "$i" -le 29 ];do
sleep 1
i=$((i+1))
done
ip route add default dev utun table 100
ip rule add fwmark 1 table 100
#获取局域网host地址
getlanip
iptables -t mangle -N clash
iptables -t mangle -A clash -p udp --dport 53 -j RETURN
for ip in $host_ipv4 $reserve_ipv4;do #跳过目标保留地址及目标本机网段
iptables -t mangle -A clash -d $ip -j RETURN
done
#绕过CN_IP
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && \
iptables -t mangle -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
#局域网设备过滤
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
for mac in $(cat $clashdir/mac); do #mac白名单
iptables -t mangle -A clash -m mac --mac-source $mac -j MARK --set-mark 1
done
ip route add default dev utun table 100
ip rule add fwmark 1 table 100
#获取局域网host地址
host_lan
iptables -t mangle -N clash
iptables -t mangle -F clash
iptables -t mangle -A clash -p udp --dport 53 -j RETURN
iptables -t mangle -A clash -d 0.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 10.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 127.0.0.0/8 -j RETURN
iptables -t mangle -A clash -d 100.64.0.0/10 -j RETURN
iptables -t mangle -A clash -d 169.254.0.0/16 -j RETURN
iptables -t mangle -A clash -d 172.16.0.0/12 -j RETURN
iptables -t mangle -A clash -d 192.168.0.0/16 -j RETURN
iptables -t mangle -A clash -d 224.0.0.0/4 -j RETURN
iptables -t mangle -A clash -d 240.0.0.0/4 -j RETURN
iptables -t mangle -A clash -s 198.18.0.0/16 -j RETURN
[ -n "$host_lan" ] && iptables -t mangle -A clash -d $host_lan -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" ] && iptables -t mangle -A clash -m set --match-set cn_ip dst -j RETURN 2>/dev/null
else
for mac in $(cat $clashdir/mac); do #mac黑名单
iptables -t mangle -A clash -m mac --mac-source $mac -j RETURN
done
#仅代理本机局域网网段流量
for ip in $host_ipv4;do
iptables -t mangle -A clash -s $ip -j MARK --set-mark 1
done
fi
iptables -t mangle -A PREROUTING -p udp $ports -j clash
[ "$1" = "all" ] && iptables -t mangle -A PREROUTING -p tcp $ports -j clash
#设置ipv6转发
[ "$ipv6_redir" = "已开启" -a "$clashcore" = "clash.meta" ] && {
ip -6 route add default dev utun table 101
ip -6 rule add fwmark 1 table 101
ip6tables -t mangle -N clashv6
ip6tables -t mangle -A clashv6 -p udp --dport 53 -j RETURN
for ip in $host_ipv6 $reserve_ipv6;do #跳过目标保留地址及目标本机网段
ip6tables -t mangle -A clashv6 -d $ip -j RETURN
done
#绕过CN_IPV6
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && \
ip6tables -t mangle -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
#局域网设备过滤
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
iptables -t mangle -A clash -m mac --mac-source $mac -j MARK --set-mark 1
for mac in $(cat $clashdir/mac); do #mac白名单
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j MARK --set-mark 1
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
iptables -t mangle -A clash -m mac --mac-source $mac -j RETURN
for mac in $(cat $clashdir/mac); do #mac黑名单
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j RETURN
done
iptables -t mangle -A clash -s 192.168.0.0/16 -j MARK --set-mark 1
iptables -t mangle -A clash -s 10.0.0.0/8 -j MARK --set-mark 1
[ -n "$host_lan" ] && iptables -t mangle -A clash -s $host_lan -j MARK --set-mark 1
fi
iptables -t mangle -A PREROUTING -p udp $ports -j clash
[ "$1" = "all" ] && iptables -t mangle -A PREROUTING -p tcp $ports -j clash
#设置ipv6转发
[ "$ipv6_redir" = "已开启" -a "$clashcore" = "clash.meta" ] && {
ip -6 route add default dev utun table 101
ip -6 rule add fwmark 1 table 101
ip6tables -t mangle -N clashv6
ip6tables -t mangle -A clashv6 -p udp --dport 53 -j RETURN
ip6tables -t mangle -A clashv6 -d ::1/128 -j RETURN
ip6tables -t mangle -A clashv6 -d fc00::/7 -j RETURN
ip6tables -t mangle -A clashv6 -d fe80::/10 -j RETURN
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && ip6tables -t mangle -A clashv6 -m set --match-set cn_ip6 dst -j RETURN 2>/dev/null
if [ "$macfilter_type" = "白名单" -a -n "$(cat $clashdir/mac)" ];then
#mac白名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j MARK --set-mark 1
done
else
#mac黑名单
for mac in $(cat $clashdir/mac); do
ip6tables -t mangle -A clashv6 -m mac --mac-source $mac -j RETURN
done
for ip in $ipv6_wan ;do
ip6tables -t mangle -A clashv6 -s $ip -j RETURN #屏蔽本机ipv6地址
done
ip6tables -t mangle -A clashv6 -j MARK --set-mark 1
fi
ip6tables -t mangle -A PREROUTING -p udp $ports -j clashv6
[ "$1" = "all" ] && ip6tables -t mangle -A PREROUTING -p tcp $ports -j clashv6
}
} &
}
#仅代理本机局域网网段流量
for ip in $host_ipv6;do
ip6tables -t mangle -A clashv6 -s $ip -j MARK --set-mark 1
done
fi
ip6tables -t mangle -A PREROUTING -p udp $ports -j clashv6
[ "$1" = "all" ] && ip6tables -t mangle -A PREROUTING -p tcp $ports -j clashv6
}
} &
}
start_nft(){
#获取局域网host地址
getlanip
[ "$common_ports" = "已开启" ] && PORTS=$(echo $multiport | sed 's/,/, /g')
RESERVED_IP="{0.0.0.0/8, 10.0.0.0/8, 127.0.0.0/8, 100.64.0.0/10, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/16, 224.0.0.0/4, 240.0.0.0/4}"
RESERVED_IP="$(echo $reserve_ipv4 | sed 's/ /, /g')"
HOST_IP="$(echo $host_ipv4 | sed 's/ /, /g')"
#设置策略路由
ip rule add fwmark 1 table 100 2> /dev/null
ip route add local default dev lo table 100 2> /dev/null
ip rule add fwmark 1 table 100
ip route add local default dev lo table 100
[ "$redir_mod" = "Nft基础" ] && \
nft add chain inet shellclash prerouting { type nat hook prerouting priority -100 \; }
[ "$redir_mod" = "Nft混合" ] && {
@@ -807,31 +792,34 @@ start_nft(){
[ -n "$(cat $clashdir/mac)" ] && {
MAC=$(awk '{printf "%s, ",$1}' $clashdir/mac)
[ "$macfilter_type" = "黑名单" ] && \
nft add rule inet shellclash prerouting ether saddr {${MAC}} return || \
nft add rule inet shellclash prerouting ether saddr != {${MAC}} return
nft add rule inet shellclash prerouting ether saddr {$MAC} return || \
nft add rule inet shellclash prerouting ether saddr != {$MAC} return
}
#过滤保留地址
nft add rule inet shellclash prerouting ip daddr {${RESERVED_IP}} return
#过滤CN-IP
nft add rule inet shellclash prerouting ip daddr {$RESERVED_IP} return
#仅代理本机局域网网段流量
nft add rule inet shellclash prerouting ip saddr != {$HOST_IP} return
#绕过CN-IP
[ "$dns_mod" = "redir_host" -a "$cn_ip_route" = "已开启" -a -f $bindir/cn_ip.txt ] && {
CN_IP=$(awk '{printf "%s, ",$1}' $bindir/cn_ip.txt)
[ -n "$CN_IP" ] && nft add rule inet shellclash prerouting ip daddr {${CN_IP}} return
[ -n "$CN_IP" ] && nft add rule inet shellclash prerouting ip daddr {$CN_IP} return
}
#过滤常用端口
[ -n "$PORTS" ] && nft add rule inet shellclash prerouting tcp dport != {${PORTS}} return
[ -n "$PORTS" ] && nft add rule inet shellclash prerouting tcp dport != {$PORTS} return
#ipv6支持
if [ "$ipv6_redir" = "已开启" ];then
RESERVED_IP6="{::1/128, fc00::/7, fe80::/10}"
RESERVED_IP6="$(echo "$reserve_ipv6 $host_ipv6" | sed 's/ /, /g')"
HOST_IP6="$(echo $host_ipv6 | sed 's/ /, /g')"
ip -6 rule add fwmark 1 table 101 2> /dev/null
ip -6 route add local ::/0 dev lo table 101 2> /dev/null
nft add rule inet shellclash prerouting ip6 daddr {${RESERVED_IP6}} return
#过滤保留地址及本机地址
nft add rule inet shellclash prerouting ip6 daddr {$RESERVED_IP6} return
#仅代理本机局域网网段流量
nft add rule inet shellclash prerouting ip6 saddr != {$HOST_IP6} return
#绕过CN_IPV6
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" -a -f $bindir/cn_ipv6.txt ] && {
CN_IP6=$(awk '{printf "%s, ",$1}' $bindir/cn_ipv6.txt)
[ -n "$CN_IP6" ] && nft add rule inet shellclash prerouting ip6 daddr {${CN_IP6}} return
}
[ -n "$ipv6_wan" ] && {
LOCAL_IP6="{$(echo $ipv6_wan | sed s/\ /\,\ /g)}"
nft add rule inet shellclash prerouting ip6 daddr {${LOCAL_IP6}} return #屏蔽本机ipv6地址
[ -n "$CN_IP6" ] && nft add rule inet shellclash prerouting ip6 daddr {$CN_IP6} return
}
else
nft add rule inet shellclash prerouting meta nfproto ipv6 return
@@ -843,8 +831,8 @@ start_nft(){
#屏蔽QUIC
[ "$quic_rj" = 已启用 ] && {
nft add chain inet shellclash input { type filter hook input priority 0 \; }
[ -n "$CN_IP" ] && nft add rule inet shellclash input ip daddr {${CN_IP}} return
[ -n "$CN_IP6" ] && nft add rule inet shellclash input ip6 daddr {${CN_IP6}} return
[ -n "$CN_IP" ] && nft add rule inet shellclash input ip daddr {$CN_IP} return
[ -n "$CN_IP6" ] && nft add rule inet shellclash input ip6 daddr {$CN_IP6} return
nft add rule inet shellclash input udp dport 443 reject comment 'ShellClash-QUIC-REJECT'
}
#代理本机(仅TCP)
@@ -856,8 +844,8 @@ start_nft(){
#output
nft add chain inet shellclash output { type nat hook output priority -100 \; }
nft add rule inet shellclash output meta skgid 7890 return && {
[ -n "$PORTS" ] && nft add rule inet shellclash output tcp dport != {${PORTS}} return
nft add rule inet shellclash output ip daddr {${RESERVED_IP}} return
[ -n "$PORTS" ] && nft add rule inet shellclash output tcp dport != {$PORTS} return
nft add rule inet shellclash output ip daddr {$RESERVED_IP} return
nft add rule inet shellclash output meta l4proto tcp mark set 1 redirect to ${redir_port}
}
#Docker
@@ -873,31 +861,43 @@ start_nft_dns(){
[ -n "$(cat $clashdir/mac)" ] && {
MAC=$(awk '{printf "%s, ",$1}' $clashdir/mac)
[ "$macfilter_type" = "黑名单" ] && \
nft add rule inet shellclash dns ether saddr {${MAC}} return || \
nft add rule inet shellclash dns ether saddr != {${MAC}} return
nft add rule inet shellclash dns ether saddr {$MAC} return || \
nft add rule inet shellclash dns ether saddr != {$MAC} return
}
nft add rule inet shellclash dns udp dport 53 redirect to ${dns_port}
nft add rule inet shellclash dns tcp dport 53 redirect to ${dns_port}
}
start_wan(){
#获取局域网host地址
getlanip
[ "$mix_port" = "7890" -o -z "$authentication" ] && {
iptables -A INPUT -p tcp -s 10.0.0.0/8 --dport $mix_port -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.0/8 --dport $mix_port -j ACCEPT
iptables -A INPUT -p tcp -s 192.168.0.0/16 --dport $mix_port -j ACCEPT
iptables -A INPUT -p tcp -s 172.16.0.0/12 --dport $mix_port -j ACCEPT
iptables -A INPUT -p tcp --dport $mix_port -j REJECT
ckcmd ip6tables && ip6tables -A INPUT -p tcp --dport $mix_port -j REJECT 2> /dev/null
#仅允许局域网设备访问混合端口
for ip in $host_ipv4 $local_ipv4;do
iptables -A INPUT -p tcp -s $ip --dport $mix_port -j ACCEPT
done
iptables -A INPUT -p tcp --dport $mix_port -j REJECT
ckcmd ip6tables && ip6tables -A INPUT -p tcp --dport $mix_port -j REJECT
}
if [ "$public_support" = "已开启" ];then
[ "$mix_port" != "7890" -a -n "$authentication" ] && {
iptables -I INPUT -p tcp --dport $mix_port -j ACCEPT
ckcmd ip6tables && ip6tables -I INPUT -p tcp --dport $mix_port -j ACCEPT 2> /dev/null
iptables -I INPUT -p tcp --dport $mix_port -j ACCEPT
ckcmd ip6tables && ip6tables -I INPUT -p tcp --dport $mix_port -j ACCEPT
}
iptables -I INPUT -p tcp --dport $db_port -j ACCEPT
ckcmd ip6tables && ip6tables -I INPUT -p tcp --dport $db_port -j ACCEPT 2> /dev/null
ckcmd ip6tables && ip6tables -I INPUT -p tcp --dport $db_port -j ACCEPT
else
#仅允许局域网设备访问面板
for ip in $host_ipv4 $local_ipv4;do
iptables -A INPUT -p tcp -s $ip --dport $db_port -j ACCEPT
done
iptables -A INPUT -p tcp --dport $db_port -j REJECT
ckcmd ip6tables && ip6tables -A INPUT -p tcp --dport $db_port -j REJECT
fi
iptables -I INPUT -p tcp -d 127.0.0.1 -j ACCEPT #本机请求全放行
}
stop_firewall(){
#获取局域网host地址
getlanip
#重置iptables相关规则
ckcmd iptables && {
#redir
@@ -933,18 +933,20 @@ stop_firewall(){
iptables -t mangle -F clash 2> /dev/null
iptables -t mangle -X clash 2> /dev/null
#公网访问
iptables -D INPUT -p tcp -s 10.0.0.0/8 --dport $mix_port -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp -s 127.0.0.0/8 --dport $mix_port -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp -s 172.16.0.0/12 --dport $mix_port -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp -s 192.168.0.0/16 --dport $mix_port -j ACCEPT 2> /dev/null
for ip in $host_ipv4 $local_ipv4;do
iptables -D INPUT -p tcp -s $ip --dport $mix_port -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp -s $ip --dport $db_port -j ACCEPT 2> /dev/null
done
iptables -D INPUT -p tcp -d 127.0.0.1 -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp --dport $mix_port -j REJECT 2> /dev/null
iptables -D INPUT -p tcp --dport $mix_port -j ACCEPT 2> /dev/null
iptables -D INPUT -p tcp --dport $db_port -j REJECT 2> /dev/null
iptables -D INPUT -p tcp --dport $db_port -j ACCEPT 2> /dev/null
}
#重置ipv6规则
ckcmd ip6tables && {
#redir
ip6tables -t nat -D PREROUTING -p tcp -j clashv6 2> /dev/null
ip6tables -t nat -D PREROUTING -p tcp $ports -j clashv6 2> /dev/null
ip6tables -D INPUT -p udp --dport 53 -m comment --comment "ShellClash-IPV6_DNS-REJECT" -j REJECT 2> /dev/null
ip6tables -t nat -F clashv6 2> /dev/null
ip6tables -t nat -X clashv6 2> /dev/null
@@ -954,7 +956,7 @@ stop_firewall(){
ip6tables -t nat -X clashv6_dns 2> /dev/null
#tun
ip6tables -D FORWARD -o utun -j ACCEPT 2> /dev/null
ip6tables -I FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" -j REJECT >/dev/null 2>&1
ip6tables -D FORWARD -p udp --dport 443 -o utun -m comment --comment "ShellClash-QUIC-REJECT" -j REJECT >/dev/null 2>&1
#屏蔽QUIC
[ "$dns_mod" = "redir_host" -a "$cn_ipv6_route" = "已开启" ] && set_cn_ip6='-m set ! --match-set cn_ip6 dst'
iptables -D INPUT -p udp --dport 443 -m comment --comment "ShellClash-QUIC-REJECT" $set_cn_ip6 -j REJECT 2> /dev/null
@@ -962,6 +964,7 @@ stop_firewall(){
#公网访问
ip6tables -D INPUT -p tcp --dport $mix_port -j REJECT 2> /dev/null
ip6tables -D INPUT -p tcp --dport $mix_port -j ACCEPT 2> /dev/null
ip6tables -D INPUT -p tcp --dport $db_port -j REJECT 2> /dev/null
ip6tables -D INPUT -p tcp --dport $db_port -j ACCEPT 2> /dev/null
#tproxy&tun
ip6tables -t mangle -D PREROUTING -p tcp $ports -j clashv6 2> /dev/null
@@ -1003,7 +1006,7 @@ web_save(){
fi
}
#使用get_save获取面板节点设置
get_save http://localhost:${db_port}/proxies | awk -F "{" '{for(i=1;i<=NF;i++) print $i}' | grep -E '^"all".*"Selector"' > /tmp/clash_web_check_$USER
get_save http://127.0.0.1:${db_port}/proxies | awk -F "{" '{for(i=1;i<=NF;i++) print $i}' | grep -E '^"all".*"Selector"' > /tmp/clash_web_check_$USER
while read line ;do
def=$(echo $line | awk -F "[[,]" '{print $2}')
now=$(echo $line | grep -oE '"now".*",' | sed 's/"now"://g' | sed 's/"type":.*//g' | sed 's/,//g')
@@ -1023,9 +1026,9 @@ web_restore(){
while [ -z "$test" -a "$i" -lt 60 ];do
sleep 1
if curl --version > /dev/null 2>&1;then
test=$(curl -s http://localhost:${db_port})
test=$(curl -s http://127.0.0.1:${db_port})
else
test=$(wget -q -O - http://localhost:${db_port})
test=$(wget -q -O - http://127.0.0.1:${db_port})
fi
i=$((i+1))
done
@@ -1035,7 +1038,7 @@ web_restore(){
while [ "$i" -le "$num" ];do
group_name=$(awk -F ',' 'NR=="'${i}'" {print $1}' $clashdir/web_save | sed 's/ /%20/g')
now_name=$(awk -F ',' 'NR=="'${i}'" {print $2}' $clashdir/web_save)
put_save http://localhost:${db_port}/proxies/${group_name} "{\"name\":\"${now_name}\"}"
put_save http://127.0.0.1:${db_port}/proxies/${group_name} "{\"name\":\"${now_name}\"}"
i=$((i+1))
done
}
@@ -1116,7 +1119,7 @@ bfstart(){
$0 webget $bindir/clash "$update_url/bin/$clashcore/clash-linux-$cpucore"
#校验内核
chmod +x $bindir/clash 2>/dev/null
clashv=$($bindir/clash -v 2>/dev/null | sed 's/ linux.*//;s/.* //')
clashv=$($bindir/clash -v 2>/dev/null | head -n 1 | sed 's/ linux.*//;s/.* //')
if [ -z "$clashv" ];then
rm -rf $bindir/clash
logger "核心下载失败,请重新运行或更换安装源!" 31
@@ -1214,27 +1217,29 @@ afstart(){
/etc/init.d/dnsmasq restart >/dev/null 2>&1
fi
fi
return 0
}
#设置路由规则
[ "$ipv6_redir" = "已开启" ] && ipv6_wan=$(ip addr show|grep -A1 'inet6 [^f:]'|grep -oE 'inet6 ([a-f0-9:]+)/'|sed s#inet6\ ##g|sed s#/##g)
#[ "$ipv6_redir" = "已开启" ] && ipv6_wan=$(ip addr show|grep -A1 'inet6 [^f:]'|grep -oE 'inet6 ([a-f0-9:]+)/'|sed s#inet6\ ##g|sed s#/##g)
[ "$redir_mod" = "Redir模式" ] && start_dns && start_redir
[ "$redir_mod" = "混合模式" ] && start_dns && start_redir && start_tun udp
[ "$redir_mod" = "Tproxy混合" ] && start_dns && start_redir && start_tproxy udp
[ "$redir_mod" = "Tun模式" ] && start_dns && start_tun all
[ "$redir_mod" = "Tproxy模式" ] && start_dns && start_tproxy all
[ -n "$(echo $redir_mod|grep Nft)" ] && {
nft add table inet shellclash 2> /dev/null #初始化nftables
nft flush table inet shellclash 2> /dev/null
start_dns
start_nft
[ -n "$(echo $redir_mod|grep Nft)" -o "$local_type" = "nftables增强模式" ] && {
nft add table inet shellclash #初始化nftables
nft flush table inet shellclash
}
[ -n "$(echo $redir_mod|grep Nft)" ] && start_dns && start_nft
#设置本机代理
[ "$local_proxy" = "已开启" ] && [ "$local_type" = "环境变量" ] && $0 set_proxy $mix_port $db_port
[ "$local_proxy" = "已开启" ] && [ "$local_type" = "iptables增强模式" ] && start_output
[ "$local_proxy" = "已开启" ] && [ "$local_type" = "nftables增强模式" ] && [ "$redir_mod" = "纯净模式" ] && start_nft
[ "$local_proxy" = "已开启" ] && {
[ "$local_type" = "环境变量" ] && $0 set_proxy $mix_port $db_port
[ "$local_type" = "iptables增强模式" ] && start_output
[ "$local_type" = "nftables增强模式" ] && [ "$redir_mod" = "纯净模式" ] && start_nft
}
ckcmd iptables && start_wan
#同步本机时间
ckcmd ntpd && ntpd -n -q -p 203.107.6.88
ckcmd ntpd && ntpd -n -q -p 203.107.6.88 &>/dev/null &
#标记启动时间
mark_time
#加载定时任务
@@ -1242,13 +1247,11 @@ afstart(){
#启用面板配置自动保存
cronset '#每10分钟保存节点配置' "*/10 * * * * test -n \"\$(pidof clash)\" && $clashdir/start.sh web_save #每10分钟保存节点配置"
[ -f $clashdir/web_save ] && web_restore & #后台还原面板配置
#自动开启SSH
[ "$mi_autoSSH" = "已启用" ] && autoSSH 2>/dev/null &
#推送日志
{ sleep 30;logger Clash服务已启动;} &
else
logger "Clash服务启动失败请查看报错信息" 31
$bindir/clash -t -d $bindir
echo "$($bindir/clash -t -d $bindir)" >> $clashdir/log
logger "Clash服务启动失败请查看报错信息" 33
logger "$($bindir/clash -t -d $bindir | grep -Eo 'error=.*')" 31
$0 stop
exit 1
fi
@@ -1350,7 +1353,7 @@ updateyaml)
getconfig
getyaml && \
modify_yaml && \
put_save http://localhost:${db_port}/configs "{\"path\":\"${clashdir}/config.yaml\"}" && \
put_save http://127.0.0.1:${db_port}/configs "{\"path\":\"${clashdir}/config.yaml\"}" && \
logger ShellClash配置文件更新成功
;;
logger)
@@ -1424,6 +1427,9 @@ unset_proxy)
sed -i '/all_proxy/'d $profile
sed -i '/ALL_PROXY/'d $profile
;;
*)
$1 $2 $3 $4 $5 $6 $7
;;
esac