Compare commits
56 Commits
1.7.0
...
clash.prem
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
28e3cf3d63 | ||
|
|
b8cc2377f8 | ||
|
|
fb11f42d1b | ||
|
|
d6eb83ac30 | ||
|
|
f24e796dcc | ||
|
|
46fd3ffb85 | ||
|
|
c64aef6145 | ||
|
|
3ddb69e44e | ||
|
|
055cfbffa1 | ||
|
|
5816d112ad | ||
|
|
56bc372d18 | ||
|
|
63e40f68bb | ||
|
|
9fe84b8352 | ||
|
|
6f75a8219a | ||
|
|
ca2da3f8fd | ||
|
|
86d7f46bf2 | ||
|
|
3c7bcf901b | ||
|
|
28b6686a74 | ||
|
|
00d01cc718 | ||
|
|
5f4fae6e3d | ||
|
|
fe38ac2c85 | ||
|
|
a74c3bf0dc | ||
|
|
9efa56e05a | ||
|
|
cf560be341 | ||
|
|
e4546476aa | ||
|
|
3379e8ed8a | ||
|
|
c8f7e352c6 | ||
|
|
cac9d8534c | ||
|
|
6fdd506bcb | ||
|
|
5fa83d73bf | ||
|
|
5d6396f13d | ||
|
|
db69eaba1f | ||
|
|
83708a7bdb | ||
|
|
6a54b16a40 | ||
|
|
6a97329e94 | ||
|
|
afb78f16ed | ||
|
|
f4cf0052a7 | ||
|
|
0d8c403752 | ||
|
|
d0918f170c | ||
|
|
1666e4b7a4 | ||
|
|
7613aa7ba5 | ||
|
|
4b9d802748 | ||
|
|
3642c6ae8f | ||
|
|
186af4e2bc | ||
|
|
978a81f532 | ||
|
|
da4258dd34 | ||
|
|
89f0336f7f | ||
|
|
dfa4ba557e | ||
|
|
21c92117e0 | ||
|
|
53b4b3e8fe | ||
|
|
d02c6dadb6 | ||
|
|
d9f6c66b55 | ||
|
|
4fb47be400 | ||
|
|
b28b1b3b04 | ||
|
|
890715d2eb | ||
|
|
7ab66bf9a0 |
4
.github/workflows/bin_update.yml
vendored
4
.github/workflows/bin_update.yml
vendored
@@ -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:
|
||||
|
||||
|
||||
74
.github/workflows/release_new_version.yaml
vendored
Normal file
74
.github/workflows/release_new_version.yaml
vendored
Normal 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/*
|
||||
56
.github/workflows/update_meta.alpha_core.yaml
vendored
Normal file
56
.github/workflows/update_meta.alpha_core.yaml
vendored
Normal 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/*
|
||||
|
||||
2
.github/workflows/update_meta_core.yaml
vendored
2
.github/workflows/update_meta_core.yaml
vendored
@@ -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"
|
||||
|
||||
49
.github/workflows/update_premium.latest_core.yaml
vendored
Normal file
49
.github/workflows/update_premium.latest_core.yaml
vendored
Normal 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/*
|
||||
|
||||
@@ -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>
|
||||
|
||||
BIN
bin/Country.mmdb
BIN
bin/Country.mmdb
Binary file not shown.
@@ -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
|
||||
@@ -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.
@@ -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.
Binary file not shown.
Binary file not shown.
BIN
bin/cn_mini.mmdb
BIN
bin/cn_mini.mmdb
Binary file not shown.
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 115 KiB |
3232
bin/fix/ca-certificates.crt
Normal file
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
BIN
bin/fix/tun.ko
Normal file
Binary file not shown.
50949
bin/geosite.dat
50949
bin/geosite.dat
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
@@ -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
|
||||
|
||||
BIN
bin/yacd.tar.gz
BIN
bin/yacd.tar.gz
Binary file not shown.
54
install.sh
54
install.sh
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
62
rules/ShellClash_Full_FB.ini
Normal file
62
rules/ShellClash_Full_FB.ini
Normal 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
|
||||
62
rules/ShellClash_Full_LB.ini
Normal file
62
rules/ShellClash_Full_LB.ini
Normal 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
|
||||
@@ -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
3
rules/added.list
Normal file
@@ -0,0 +1,3 @@
|
||||
DOMAIN-SUFFIX,922proxy.com
|
||||
DOMAIN-SUFFIX,proxys5.net
|
||||
DOMAIN-SUFFIX,adspower.net
|
||||
8
rules/ai.list
Normal file
8
rules/ai.list
Normal 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
|
||||
|
||||
245
scripts/clash.sh
245
scripts/clash.sh
@@ -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,无法启用加密DNS,Linux系统请自行搜索安装方式!\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,无法启用加密DNS,Linux系统请自行搜索安装方式!\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转发TCP,Tun转发UDP"
|
||||
[ -n "$sup_tp" ] && echo -e " 3 \033[32mTproxy混合\033[0m: Redir转发TCP,Tproxy转发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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
618
scripts/start.sh
618
scripts/start.sh
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user