Compare commits
405 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6f90c818f | ||
|
|
18d13f2105 | ||
|
|
80837ace36 | ||
|
|
7c07c51993 | ||
|
|
ef1fd70a32 | ||
|
|
70290746b4 | ||
|
|
e98a113b2f | ||
|
|
c9227d9c36 | ||
|
|
7fd3d79669 | ||
|
|
ac0e024787 | ||
|
|
3f2485dbe4 | ||
|
|
6794271c5e | ||
|
|
4447244b61 | ||
|
|
72c9061cff | ||
|
|
7772e82631 | ||
|
|
bcf7b347b2 | ||
|
|
dc539cb51d | ||
|
|
6b9b83be35 | ||
|
|
daf765f7ee | ||
|
|
fd57de5861 | ||
|
|
a64f00c6bf | ||
|
|
1662b9b31a | ||
|
|
69ca9ae4c2 | ||
|
|
d2ad04b1c7 | ||
|
|
c5f7030ff9 | ||
|
|
95af248016 | ||
|
|
4124a2e458 | ||
|
|
15461b3fdd | ||
|
|
aa0393f456 | ||
|
|
a8be67520a | ||
|
|
8524d7a7fb | ||
|
|
4874e3fbe1 | ||
|
|
bf5bb983c1 | ||
|
|
77908af189 | ||
|
|
f27a195bd9 | ||
|
|
732cee1e59 | ||
|
|
3ac3fe267f | ||
|
|
e179241dc2 | ||
|
|
b4069661b3 | ||
|
|
2b2c18ac99 | ||
|
|
22361515cf | ||
|
|
28dc17cd7e | ||
|
|
d9df06b0d9 | ||
|
|
69969841d8 | ||
|
|
b73de1a9aa | ||
|
|
d27ebdb0a8 | ||
|
|
28d9fe48c3 | ||
|
|
21a5186940 | ||
|
|
3376b24394 | ||
|
|
8e56a7443c | ||
|
|
aae2f0ac18 | ||
|
|
207dbdf8d1 | ||
|
|
9fb79b6c32 | ||
|
|
08cc386e19 | ||
|
|
39c93ef417 | ||
|
|
862af13667 | ||
|
|
31873d25bf | ||
|
|
863f37eb99 | ||
|
|
1eb9734e86 | ||
|
|
5e703692ee | ||
|
|
9f5ab57e75 | ||
|
|
6a6bf0e499 | ||
|
|
9aec51a267 | ||
|
|
5f1b1bc3cc | ||
|
|
c4a6909feb | ||
|
|
5ad7785eae | ||
|
|
3f0475973c | ||
|
|
b0ae77bdf6 | ||
|
|
3c9e6d9255 | ||
|
|
a6f60e64a8 | ||
|
|
cc38eeeb47 | ||
|
|
42946a19fc | ||
|
|
cdbf02eb9b | ||
|
|
86c52081cc | ||
|
|
886843cca6 | ||
|
|
4f80fd66f2 | ||
|
|
0ef13778d4 | ||
|
|
527127f539 | ||
|
|
234daf87b3 | ||
|
|
d5157eb68b | ||
|
|
1d2744ab3e | ||
|
|
4527c9deed | ||
|
|
c6d17d5742 | ||
|
|
0e0ba55f0b | ||
|
|
cc422abb1e | ||
|
|
addccfcb12 | ||
|
|
9da78cb31d | ||
|
|
a58820ec76 | ||
|
|
7b38bf2fc5 | ||
|
|
a5bc88db23 | ||
|
|
ca40f6bbba | ||
|
|
70f3256576 | ||
|
|
17e84428a4 | ||
|
|
18bb5069ce | ||
|
|
155fb8c970 | ||
|
|
85d13e2483 | ||
|
|
1991ef3489 | ||
|
|
c5d7c8d8b1 | ||
|
|
a9a0a41448 | ||
|
|
d17ca606dd | ||
|
|
301565f8f5 | ||
|
|
b863bb6bc4 | ||
|
|
725c052b7c | ||
|
|
df153c9be0 | ||
|
|
13fbc6923f | ||
|
|
7bd23131a3 | ||
|
|
3b37c04cb6 | ||
|
|
b36f324637 | ||
|
|
66d230f748 | ||
|
|
d48402a101 | ||
|
|
e434b00703 | ||
|
|
949c927a8d | ||
|
|
a246e41079 | ||
|
|
ce06dc9d45 | ||
|
|
7b08547f16 | ||
|
|
3c6a40dae5 | ||
|
|
258ffc85e0 | ||
|
|
bfa25f97e1 | ||
|
|
99b738da18 | ||
|
|
6ab2f27fc6 | ||
|
|
cede36be16 | ||
|
|
dead1a2d84 | ||
|
|
3b09e06c2c | ||
|
|
4aaa809aad | ||
|
|
52d2d7f25e | ||
|
|
f683608cf3 | ||
|
|
e0a7f79e80 | ||
|
|
b357d312f7 | ||
|
|
27e6563d2c | ||
|
|
7fef15b4a8 | ||
|
|
eee0f06faf | ||
|
|
0c659083dc | ||
|
|
d0d8cd57eb | ||
|
|
599fd0ccc9 | ||
|
|
e711ad117f | ||
|
|
63307cf67c | ||
|
|
b33d7daaa1 | ||
|
|
e2691a522b | ||
|
|
651f21c7b6 | ||
|
|
392b8f6877 | ||
|
|
f3ccaeb429 | ||
|
|
c8205cabde | ||
|
|
699068edd5 | ||
|
|
963af05d75 | ||
|
|
822cd6b8a2 | ||
|
|
59afb42f6e | ||
|
|
a20b3284d1 | ||
|
|
4a4526fc09 | ||
|
|
9514cb56ff | ||
|
|
85ca15eb76 | ||
|
|
8ff716488b | ||
|
|
303df9a757 | ||
|
|
89a251dfad | ||
|
|
87628ff36b | ||
|
|
677de581f6 | ||
|
|
191be63049 | ||
|
|
9f643170d1 | ||
|
|
d4549ba582 | ||
|
|
651dec0914 | ||
|
|
ce1b4cb926 | ||
|
|
8f6a41cbed | ||
|
|
9b8d364b46 | ||
|
|
ee424a89b3 | ||
|
|
cd899da0ad | ||
|
|
2f31cc3e19 | ||
|
|
38cddcf261 | ||
|
|
5243b6e252 | ||
|
|
3dadd091e0 | ||
|
|
5def983a05 | ||
|
|
0cdc2cfc46 | ||
|
|
22e2de3934 | ||
|
|
4c2879ab28 | ||
|
|
0d8ab4c5e9 | ||
|
|
fc07257fb2 | ||
|
|
172ecd770d | ||
|
|
2031b9c83d | ||
|
|
96f1582ce2 | ||
|
|
6d8962cfcf | ||
|
|
f3eb5c16c8 | ||
|
|
ed19fdf63d | ||
|
|
c26291ef32 | ||
|
|
97f4fa1a12 | ||
|
|
a14362e639 | ||
|
|
5d7f8ed630 | ||
|
|
9229fa1e7a | ||
|
|
eb60d04bac | ||
|
|
e68e70d9df | ||
|
|
6b643aad7e | ||
|
|
26241e9608 | ||
|
|
a56f99ae2a | ||
|
|
12b25cacf8 | ||
|
|
57368d1311 | ||
|
|
77bbfda47d | ||
|
|
97950d39c3 | ||
|
|
82de941017 | ||
|
|
8cff44a685 | ||
|
|
56152a87ab | ||
|
|
703b87afc7 | ||
|
|
93707edb0c | ||
|
|
ca02fd1970 | ||
|
|
1b07f810b8 | ||
|
|
7a646ded0c | ||
|
|
e080e6acf8 | ||
|
|
5be3fad5f6 | ||
|
|
249bccaad0 | ||
|
|
4e6aa31f9e | ||
|
|
a2a245bbd0 | ||
|
|
1078ad156f | ||
|
|
e07fa3b14f | ||
|
|
23d04efc51 | ||
|
|
b301548c8c | ||
|
|
5138c347ee | ||
|
|
1f0b7bf585 | ||
|
|
bb137d0172 | ||
|
|
3923331908 | ||
|
|
d41e091799 | ||
|
|
56405a59a3 | ||
|
|
755f1ea7a0 | ||
|
|
71c3687cf7 | ||
|
|
27914bb5eb | ||
|
|
9ac7ada37e | ||
|
|
99d81d3677 | ||
|
|
35cd1c0943 | ||
|
|
c466124c43 | ||
|
|
7cb93ebe88 | ||
|
|
07356e8c24 | ||
|
|
e0c28cb6e3 | ||
|
|
96138f75c6 | ||
|
|
96578960b0 | ||
|
|
a23e1a5967 | ||
|
|
6390a6cdba | ||
|
|
5411e32504 | ||
|
|
316c9deaea | ||
|
|
ca11585757 | ||
|
|
0f6c6c31c6 | ||
|
|
aa3a9b21c9 | ||
|
|
c221e76db7 | ||
|
|
1cb3ef90ea | ||
|
|
9d8fb3433c | ||
|
|
37c179b57c | ||
|
|
d7fc639ddd | ||
|
|
2f9a4bc2f0 | ||
|
|
064811e22a | ||
|
|
f19861c0b1 | ||
|
|
cc52ef55ef | ||
|
|
da538c366e | ||
|
|
9b429c3fb0 | ||
|
|
497bdfed3c | ||
|
|
1e3ae67b2c | ||
|
|
5c15cc4404 | ||
|
|
b2255bd788 | ||
|
|
bda8c32adc | ||
|
|
98388d4374 | ||
|
|
53ad194475 | ||
|
|
f718be6451 | ||
|
|
5b89062f35 | ||
|
|
c811031108 | ||
|
|
a44e53aad7 | ||
|
|
065ff2732d | ||
|
|
f19b9c5ba0 | ||
|
|
e4d3d51ade | ||
|
|
6deb65ad76 | ||
|
|
a629cf1001 | ||
|
|
c2cf43e025 | ||
|
|
a24aa1e49d | ||
|
|
5b0d2aeb45 | ||
|
|
cdbeb2cf7d | ||
|
|
b15a13e6a5 | ||
|
|
2a599466e9 | ||
|
|
0a771c4850 | ||
|
|
2a21e1a941 | ||
|
|
5053c9d259 | ||
|
|
9e5d33f3b4 | ||
|
|
24091320cf | ||
|
|
594a136857 | ||
|
|
58aba81a5c | ||
|
|
9467fe9ca5 | ||
|
|
50a7de95ed | ||
|
|
37a19a1472 | ||
|
|
d7fbe953ce | ||
|
|
cb847a934f | ||
|
|
14b50a3cd6 | ||
|
|
ce65617563 | ||
|
|
89c2678a42 | ||
|
|
523528b700 | ||
|
|
716ee61799 | ||
|
|
c58972ed4e | ||
|
|
aef107e27b | ||
|
|
e2aa3e2534 | ||
|
|
c2fa6d4750 | ||
|
|
9c1f4d2d5e | ||
|
|
ea434b8767 | ||
|
|
950ceb4b15 | ||
|
|
2d2afef7f3 | ||
|
|
82a13e31bd | ||
|
|
2649d6dcc6 | ||
|
|
244fcda9b9 | ||
|
|
563bc235d6 | ||
|
|
3ee6aebe62 | ||
|
|
56d1eb3a32 | ||
|
|
4dc4607ea3 | ||
|
|
c9daea0979 | ||
|
|
e434263bb6 | ||
|
|
c8aab808a0 | ||
|
|
0a7140dbf5 | ||
|
|
76a24bee7a | ||
|
|
e7237a58ba | ||
|
|
3c54dea48f | ||
|
|
7d853f5316 | ||
|
|
98620688c2 | ||
|
|
6e4b4e14a6 | ||
|
|
271865ef76 | ||
|
|
fe9784517a | ||
|
|
0f3573c304 | ||
|
|
1b784375f6 | ||
|
|
16f9b314e8 | ||
|
|
b796da40b1 | ||
|
|
089188ea82 | ||
|
|
0de3a68c60 | ||
|
|
72321edca5 | ||
|
|
deaeea0ed0 | ||
|
|
91a9ead256 | ||
|
|
f26f0fe854 | ||
|
|
24c4d9307c | ||
|
|
a1c95c2d82 | ||
|
|
9d6938fd34 | ||
|
|
5c3f529619 | ||
|
|
015b8a10b2 | ||
|
|
a09ed54d99 | ||
|
|
48ea78f7cf | ||
|
|
9295af8f89 | ||
|
|
7646c783a8 | ||
|
|
9873d09a76 | ||
|
|
a12cdaf5b2 | ||
|
|
4030037f3a | ||
|
|
c49ea34b93 | ||
|
|
3072d37387 | ||
|
|
4be6c79fe9 | ||
|
|
9381d803fb | ||
|
|
4be10c9091 | ||
|
|
502ac9e579 | ||
|
|
f30b59cfbc | ||
|
|
9ee90187d1 | ||
|
|
251a5614fb | ||
|
|
8cbc6e64f8 | ||
|
|
b3fa32e789 | ||
|
|
4f90ca2af0 | ||
|
|
aa1bb1fbd3 | ||
|
|
c28b2fafdc | ||
|
|
4195500d5f | ||
|
|
d0d8458d6a | ||
|
|
6186730bbf | ||
|
|
d2ac69c946 | ||
|
|
b590a7625c | ||
|
|
c5f19962bf | ||
|
|
ddabecd112 | ||
|
|
2208bb3e5c | ||
|
|
7a0c336e7d | ||
|
|
0a29c1b553 | ||
|
|
988751d9cd | ||
|
|
81df5db2f5 | ||
|
|
2c7c8a70c0 | ||
|
|
f9518d063c | ||
|
|
2fc57559ee | ||
|
|
329b458a29 | ||
|
|
4b9a385a31 | ||
|
|
08c5a54cdc | ||
|
|
d8bcdc697f | ||
|
|
8fed757b7b | ||
|
|
5d3c996fac | ||
|
|
9e53658493 | ||
|
|
a01f85f88b | ||
|
|
c4b93ddadd | ||
|
|
42bc60c5c6 | ||
|
|
752eb4cf6c | ||
|
|
83a902df03 | ||
|
|
1969c8cb8c | ||
|
|
8dcaa7908f | ||
|
|
1341e90f72 | ||
|
|
600305c39b | ||
|
|
cbef3d139c | ||
|
|
b4bddc4f0e | ||
|
|
b315dee718 | ||
|
|
8b241be6c1 | ||
|
|
732679cac9 | ||
|
|
e312d5e8cd | ||
|
|
4a59e858e9 | ||
|
|
4bc922dee6 | ||
|
|
2c59be20f3 | ||
|
|
b3a153e684 | ||
|
|
4767a9dc3a | ||
|
|
5159886b64 | ||
|
|
47437a1826 | ||
|
|
d49b36fe2f | ||
|
|
16ce0c997c | ||
|
|
cd801e120c | ||
|
|
b97bcc14ab | ||
|
|
f539fe74da | ||
|
|
96d508cd63 | ||
|
|
565c39892a | ||
|
|
8f5df3e1f2 | ||
|
|
5e85716538 | ||
|
|
e9b7a1b595 | ||
|
|
b6068a50e4 | ||
|
|
a1213e148e |
32
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
32
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: Feature report
|
||||
description: Suggest an idea for this project
|
||||
title: "[Feature] "
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: ensure
|
||||
attributes:
|
||||
label: Verify steps
|
||||
description: "
|
||||
在提交之前,请确认
|
||||
Please verify that you've followed these steps
|
||||
"
|
||||
options:
|
||||
- label: "
|
||||
我已经在 [Issue Tracker](……/) 中找过我要提出的问题
|
||||
I have searched on the [issue tracker](……/) for a related issue.
|
||||
"
|
||||
required: true
|
||||
- label: "
|
||||
我已经使用公测版本测试过,问题依旧存在
|
||||
I have tested using the test mod, and the issue still exists.
|
||||
"
|
||||
required: true
|
||||
- label: "
|
||||
我已经仔细看过 [常见问题](https://juewuy.github.io/chang-jian-wen-ti/) 并无法自行解决问题
|
||||
"
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
validations:
|
||||
required: true
|
||||
33
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
33
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
name: Bug report
|
||||
description: Create a report to help us improve
|
||||
title: "[Bug] "
|
||||
body:
|
||||
- type: checkboxes
|
||||
id: ensure
|
||||
attributes:
|
||||
label: Verify steps
|
||||
description: "
|
||||
在提交之前,请确认
|
||||
Please verify that you've followed these steps
|
||||
"
|
||||
options:
|
||||
- label: "
|
||||
我已经在 [Issue Tracker](……/) 中找过我要提出的问题
|
||||
I have searched on the [issue tracker](……/) for a related issue.
|
||||
"
|
||||
required: true
|
||||
- label: "
|
||||
我已经使用公测版本测试过,问题依旧存在
|
||||
I have tested using the test mod, and the issue still exists.
|
||||
"
|
||||
required: true
|
||||
- label: "
|
||||
我已经仔细看过 [常见问题](https://juewuy.github.io/chang-jian-wen-ti/) 并无法自行解决问题
|
||||
"
|
||||
required: true
|
||||
- type: textarea
|
||||
attributes:
|
||||
label: Description
|
||||
description: 请详细、清晰地表达你要提出的论述,例如这个问题如何影响到你?你想实现什么功能?目前ShellClash的行为是什么?
|
||||
validations:
|
||||
required: true
|
||||
108
.github/workflows/bin_update.yml
vendored
Normal file
108
.github/workflows/bin_update.yml
vendored
Normal file
@@ -0,0 +1,108 @@
|
||||
name: bin_update
|
||||
|
||||
on:
|
||||
# release:
|
||||
# types: [published]
|
||||
# push:
|
||||
# tags:
|
||||
# - 'v*'
|
||||
# branches:
|
||||
# - master
|
||||
schedule:
|
||||
- cron: 0 9 * * 6
|
||||
# watch:
|
||||
# types: [started]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
update:
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
|
||||
- name: Checkout
|
||||
uses: actions/checkout@master
|
||||
|
||||
- name: Apt Update
|
||||
env:
|
||||
DEBIAN_FRONTEND: noninteractive
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get -y install unzip curl git tar
|
||||
|
||||
- name: Update Dashboard
|
||||
run: |
|
||||
cd \bin
|
||||
echo 下载官方面板
|
||||
curl -kfSL -o clashdb.zip https://github.com/Dreamacro/clash-dashboard/archive/gh-pages.zip
|
||||
echo 下载Meta面板
|
||||
curl -kfSL -o meta_db.zip https://github.com/MetaCubeX/Razord-meta/archive/gh-pages.zip
|
||||
echo 下载yacd面板
|
||||
curl -kfSL -o yacd.zip https://github.com/haishanh/yacd/archive/gh-pages.zip
|
||||
echo 下载meta魔改yacd面板
|
||||
curl -kfSL -o meta_yacd.zip https://github.com/MetaCubeX/Yacd-meta/archive/gh-pages.zip
|
||||
echo 解压缩
|
||||
unzip -o clashdb.zip > /dev/null
|
||||
unzip -o yacd.zip > /dev/null
|
||||
cd \clash-dashboard-gh-pages
|
||||
tar -zcvf clashdb.tar.gz * > /dev/null
|
||||
mv -f clashdb.tar.gz ../
|
||||
cd ..
|
||||
cd \yacd-gh-pages
|
||||
echo yacd特殊处理
|
||||
find -name '*.map' | xargs rm -rf
|
||||
rm -rf report.html
|
||||
tar -zcvf yacd.tar.gz * > /dev/null
|
||||
mv -f yacd.tar.gz ../
|
||||
cd ..
|
||||
|
||||
echo 解压缩
|
||||
unzip -o meta_db.zip > /dev/null
|
||||
unzip -o meta_yacd.zip > /dev/null
|
||||
cd \Razord-meta-gh-pages
|
||||
tar -zcvf meta_db.tar.gz * > /dev/null
|
||||
mv -f meta_db.tar.gz ../
|
||||
cd ..
|
||||
cd \Yacd-meta-gh-pages
|
||||
echo yacd特殊处理
|
||||
find -name '*.map' | xargs rm -rf
|
||||
rm -rf report.html
|
||||
tar -zcvf meta_yacd.tar.gz * > /dev/null
|
||||
mv -f meta_yacd.tar.gz ../
|
||||
cd ..
|
||||
|
||||
rm -rf clashdb.zip
|
||||
rm -rf yacd.zip
|
||||
rm -rf meta_db.zip
|
||||
rm -rf meta_yacd.zip
|
||||
rm -rf \clash-dashboard-gh-pages
|
||||
rm -rf \yacd-gh-pages
|
||||
rm -rf \Razord-meta-gh-pages
|
||||
rm -rf \Yacd-meta-gh-pages
|
||||
echo 面板更新完成!
|
||||
|
||||
- name: Update GeoIP
|
||||
run: |
|
||||
cd \bin
|
||||
source version
|
||||
curl -kfSL -O https://raw.githubusercontent.com/alecthw/mmdb_china_ip_list/release/Country.mmdb
|
||||
curl -kfSL -o cn_mini.mmdb https://raw.githubusercontent.com/Hackl0us/GeoIP2-CN/release/Country.mmdb
|
||||
curl -kfSL -o china_ip_list.txt https://raw.githubusercontent.com/17mon/china_ip_list/master/china_ip_list.txt
|
||||
curl -kfSL -o china_ipv6_list.txt https://raw.githubusercontent.com/ChanthMiao/China-IPv6-List/release/cn6.txt
|
||||
curl -kfSL -O https://raw.githubusercontent.com/P3TERX/ca-certificates.crt/download/ca-certificates.crt
|
||||
curl -kfSL -O https://raw.githubusercontent.com/Loyalsoldier/v2ray-rules-dat/release/geosite.dat
|
||||
sed -i '/GeoIP_v*/'d version
|
||||
echo GeoIP_v=`date '+%Y%m%d'` >> version
|
||||
echo IP数据库及根证书文件更新完成!
|
||||
|
||||
- name: Commit and push
|
||||
run: |
|
||||
git config --global user.email "juewuy@gmail.com" && git config --global user.name "Bot"
|
||||
git add . && git commit -m "自动更新最新Dashboard、地址库、根证书" || exit 0
|
||||
git push
|
||||
|
||||
- name: Cleanup Workflow
|
||||
uses: Mattraks/delete-workflow-runs@main
|
||||
with:
|
||||
retain_days: 1
|
||||
keep_minimum_runs: 3
|
||||
51
.github/workflows/update_clash_core.yaml
vendored
Normal file
51
.github/workflows/update_clash_core.yaml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
name: Update Clash Core
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'version of Clash, such as v1.10.6'
|
||||
required: true
|
||||
type: string
|
||||
env:
|
||||
download_version: ${{ github.event.inputs.version }}
|
||||
download_url: https://github.com/Dreamacro/clash/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: |
|
||||
archs="386 amd64 armv5 armv7 armv8 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
|
||||
rm -fr upx*
|
||||
- name: Update
|
||||
run: |
|
||||
rm -fr ./bin/clash/*
|
||||
cp ./tmp/* ./bin/clash/
|
||||
rm -fr ./tmp
|
||||
sed -i "s/clash_v=.*/clash_v=$(./bin/clash/clash-linux-amd64 -v 2>/dev/null | 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"
|
||||
git add . && git commit -m "更新Clash内核至${download_version}" || exit 0
|
||||
git push
|
||||
|
||||
51
.github/workflows/update_dotnet_core.yaml
vendored
Normal file
51
.github/workflows/update_dotnet_core.yaml
vendored
Normal file
@@ -0,0 +1,51 @@
|
||||
name: Update DotNet Core
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'version of Clash DotNet, such as v1.7.6'
|
||||
required: true
|
||||
type: string
|
||||
env:
|
||||
download_version: ${{ github.event.inputs.version }}
|
||||
download_url: https://github.com/ClashDotNetFramework/experimental-clash/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: |
|
||||
archs="386 amd64 armv5 armv7 armv8 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
|
||||
rm -fr upx*
|
||||
- name: Update
|
||||
run: |
|
||||
rm -fr ./bin/clash.net/*
|
||||
cp ./tmp/* ./bin/clash.net/
|
||||
rm -fr ./tmp
|
||||
sed -i "s/clashnet_v=.*/clashnet_v=$(./bin/clash.net/clash-linux-amd64 -v 2>/dev/null | 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"
|
||||
git add . && git commit -m "更新DotNet内核至${download_version}" || exit 0
|
||||
git push
|
||||
|
||||
59
.github/workflows/update_meta_core.yaml
vendored
Normal file
59
.github/workflows/update_meta_core.yaml
vendored
Normal file
@@ -0,0 +1,59 @@
|
||||
name: Update Meta Core
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
tag:
|
||||
description: 'tag of Clash Meta, such as Prerelease-Alpha, Prerelease-Beta, v1.11.1'
|
||||
required: true
|
||||
type: string
|
||||
env:
|
||||
download_tag: ${{ github.event.inputs.tag }}
|
||||
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: Update
|
||||
run: |
|
||||
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
|
||||
- name: Commit and push
|
||||
run: |
|
||||
git config --global user.email "juewuy@gmail.com" && git config --global user.name "Bot"
|
||||
git add . && git commit -m "更新Meta内核至${download_version}" || exit 0
|
||||
git push
|
||||
|
||||
52
.github/workflows/update_premium_core.yaml
vendored
Normal file
52
.github/workflows/update_premium_core.yaml
vendored
Normal file
@@ -0,0 +1,52 @@
|
||||
name: Update Premium Core
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'version of Clash Premium, such as 2022.05.18'
|
||||
required: true
|
||||
type: string
|
||||
env:
|
||||
download_version: ${{ github.event.inputs.version }}
|
||||
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: Update
|
||||
run: |
|
||||
rm -fr ./bin/clashpre/*
|
||||
cp ./tmp/* ./bin/clashpre/
|
||||
rm -fr ./tmp
|
||||
sed -i "s/clashpre_v=.*/clashpre_v=$(./bin/clashpre/clash-linux-amd64 -v 2>/dev/null | 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"
|
||||
git add . && git commit -m "更新Premium内核至${download_version}" || exit 0
|
||||
git push
|
||||
|
||||
98
README.md
98
README.md
@@ -17,107 +17,11 @@
|
||||
|
||||
## Function introduction:
|
||||
|
||||
~Convenient use in Shell environment through management script [Clash](https://github.com/Dreamacro/clash)<br>~Support management of [Clash functions](https://lancellc.gitbook.io/clash)<br>~Support online import [Clash](https://github.com/Dreamacro/clash) supports sharing, subscription and configuration links<br>~Support configuration timing tasks, support configuration file timing updates<br>~Support online installation and Use local web panel to manage built-in rules<br>~Support routing mode, native mode and other mode switching<br>~Support GNOME, KDE desktop automatic configuration native mode<br>~Support online update<br>
|
||||
~Convenient use in Shell environment through management script [Clash](https://github.com/Dreamacro/clash)<br>~Support management of [Clash functions](https://lancellc.gitbook.io/clash)<br>~Support online import [Clash](https://github.com/Dreamacro/clash) supports sharing, subscription and configuration links<br>~Support configuration timing tasks, support configuration file timing updates<br>~Support online installation and Use local web panel to manage built-in rules<br>~Support routing mode, native mode and other mode switching<br>~Support online update<br>
|
||||
|
||||
## Equipment support:
|
||||
|
||||
~Support various router devices based on OpenWrt or secondary custom development using OpenWrt<br>~Support various devices running standard Linux systems (such as Debian/CenOS/Armbian, etc.)<br>~Compatible with Padavan firmware (conservative mode), Pandora firmware<br>~Compatible with various types of devices customized and developed using the Linux kernel<br>——————————<br>~For more device support, please submit an issue or go to the TG group for feedback (the device name and the device core information returned by running uname -a must be provided)<br>
|
||||
|
||||
How to use:
|
||||
--
|
||||
|
||||
~Confirm that the router device has enabled SSH and obtained root privileges (Linux devices with GUI desktops can be installed using their own terminal)<br>~Use SSH connection tools (such as putty, JuiceSSH, system built-in terminal, etc.) router or Linux device SSH management interface or terminal interface, and switch to the root user<br>~Confirm that the curl or wget download tool has been installed on the device. If not installed, please [refer to here](https://www.howtoforge.com/install-curl-in-linux) for LInux devices to install curl. For devices based on OpenWrt (Xiaomi official system, Pandora, Gaoke, etc.), please Use the following command to install curl:<br>
|
||||
|
||||
```sh
|
||||
opkg update && opkg install curl
|
||||
```
|
||||
|
||||
~ Then execute the following installation commands on the SSH interface, and follow the subsequent prompts to complete the installation<br>
|
||||
|
||||
##### ~Use curl:<br>
|
||||
|
||||
```Shell
|
||||
#By github
|
||||
export url='https://raw.githubusercontent.com/juewuy/ShellClash/master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
#By jsdelivrCDN
|
||||
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
##### ~Use wget:<br>
|
||||
|
||||
```sh
|
||||
#By jsdelivrCDN
|
||||
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~**Use a low version of wget (prompt not to support https) local installation**:<br> First clone the project to the local under the window (or [click to download the project source code zip package](https://github.com/juewuy/ShellClash/archive/refs/heads/master.zip) to the local and decompress it)
|
||||
|
||||
```sh
|
||||
sh git clone https://github.com/juewuy/ShellClash.git
|
||||
```
|
||||
|
||||
Then open /project address/ShellClash/bin/hfs/hfs.exe Click menu-add directory from disk-{find the directory where ShellClash source code is located}-add as real directory Click on the menu-IP address-{choose the actual IP address of your LAN} Click ShellClash-click to copy to clipboard Then use the following command to install in SSH
|
||||
|
||||
```sh
|
||||
sh export url='Paste the copied address here' && wget -q -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
Later, when updating the version, you need to update the local version library and open the hfs service, and then update in the SSH menu, and then you can build a local server through hfs to realize the function of uploading and updating the yaml configuration file
|
||||
|
||||
~**After installation by non-root users**, please execute the following additional commands to read environment variables:<br>
|
||||
|
||||
```shell
|
||||
source ~/.bashrc &> /dev/null
|
||||
```
|
||||
|
||||
~After installing the management script, execute the following command to **run the management script**<br>
|
||||
|
||||
```Shell
|
||||
clash #normal mode
|
||||
clash -h #help
|
||||
clash -u #uninstall
|
||||
clash -t #test mode
|
||||
```
|
||||
|
||||
~**Additional dependencies at runtime**:<br>
|
||||
|
||||
```
|
||||
Most of the equipment/systems are pre-installed with most of the following dependencies, you can ignore them if there is no impact when you use them.
|
||||
```
|
||||
|
||||
```sh
|
||||
bash/ash necessary Cannot install and run scripts when all are missing
|
||||
curl/wget necessary When all are missing, it cannot be installed and updated online
|
||||
iptables important Only use pure mode when missing
|
||||
systemd/rc.common general Only use conservative mode when all are missing
|
||||
iptables-mod-nat general Cannot use redir mode, mixed mode when missing
|
||||
ip6tables-mod-nat lower Affects redir mode when missing, mixed mode support for ipv6
|
||||
crontab lower Cannot enable timing task function when missing
|
||||
net-tools minimal Cannot detect port occupancy normally when missing
|
||||
ubus/iproute-doc minimal The host address of the machine cannot be obtained normally when missing
|
||||
```
|
||||
|
||||
|
||||
|
||||
## Update log:
|
||||
|
||||
### [Click to view](https://github.com/juewuy/ShellClash/releases)
|
||||
|
||||
## Exchange feedback:
|
||||
|
||||
### [TG Discussion Group](https://t.me/clashfm)
|
||||
|
||||
## Related Q&A:
|
||||
|
||||
### [See blog for details](https://juewuy.github.io)
|
||||
|
||||
## Donate:
|
||||
|
||||
Alipay WeChat
|
||||
|
||||
##### <img src="http://juewuy.github.io/post-images/1604390977172.png" style="zoom:50%;" /><img src="http://juewuy.github.io/post-images/1604391042406.png" style="zoom:50%;" />
|
||||
|
||||
## Friendly promotion:
|
||||
|
||||
### [Top 8K Airport-Dler](https://dler.best/auth/register?affid=89698)
|
||||
|
||||
|
||||
132
README_CN.md
132
README_CN.md
@@ -32,67 +32,99 @@
|
||||
——————————<br>
|
||||
~更多设备支持,请提issue或前往TG群反馈(需提供设备名称及运行uname -a返回的设备核心信息)<br>
|
||||
|
||||
使用方式:
|
||||
--
|
||||
~确认路由器设备已经开启SSH并获取root权限(带GUI桌面的Linux设备可使用自带终端安装)<br>
|
||||
~使用SSH连接工具(如putty,JuiceSSH,系统自带终端等)路由器或Linux设备的SSH管理界面或终端界面,并切换到root用户<br>
|
||||
~确认设备已经安装curl或者wget下载工具。**如未安装**,LInux设备请[参考此处](https://www.howtoing.com/install-curl-in-linux)安装curl,基于OpenWrt(小米官方系统、潘多拉、高恪等)的设备请使用如下命令安装curl:<br>
|
||||
## 常见问题:
|
||||
|
||||
[ShellClash常见问题 | Juewuy's Blog](https://juewuy.github.io/chang-jian-wen-ti/)
|
||||
|
||||
## 使用方式:
|
||||
|
||||
~确认设备已经开启SSH并获取root权限(带GUI桌面的Linux设备可使用自带终端安装)<br>
|
||||
~使用SSH连接工具(如putty,JuiceSSH,系统自带终端等)路由器或Linux设备的SSH管理界面或终端界面
|
||||
|
||||
~之后在SSH界面执行目标设备对应的安装命令,并按照后续提示完成安装<br>
|
||||
|
||||
### 在线安装:<br>
|
||||
|
||||
(**如无法连接或出现SSL连接错误,请尝试更换各种不同的安装源!**)<br>
|
||||
|
||||
~**标准Linux设备安装:**<br>
|
||||
|
||||
```shell
|
||||
opkg update && opkg install curl #如已安装请忽略
|
||||
sudo -i #切换到root用户,如果需要密码,请输入密码
|
||||
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用户,如果需要密码,请输入密码
|
||||
export url='https://gh.jwsc.eu.org/master' && bash -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~之后在SSH界面执行如下安装命令,并按照后续提示完成安装<br>
|
||||
~**路由设备使用curl安装**:<br>
|
||||
|
||||
~**使用curl安装**:<br>
|
||||
|
||||
```Shell
|
||||
#github直连
|
||||
```shell
|
||||
#GitHub源(可能需要代理)
|
||||
export url='https://raw.githubusercontent.com/juewuy/ShellClash/master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
#jsdelivrCDN源
|
||||
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~**使用wget安装**:<br>
|
||||
|
||||
```sh
|
||||
#Release版本-jsdelivrCDN源
|
||||
export url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~**使用低版本wget(提示不支持https)安装**:<br>
|
||||
|
||||
```sh
|
||||
#Test版本-酱紫表私人http源
|
||||
export url='http://sc.qust.me/' && wget -q -O /tmp/install.sh $url/install_n.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~**非root用户安装后**请额外执行以下命令以读取环境变量:<br>
|
||||
|
||||
或者
|
||||
```shell
|
||||
source ~/.bashrc &> /dev/null
|
||||
#jsDelivrCDN源
|
||||
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
或者
|
||||
```shell
|
||||
#作者私人源
|
||||
export url='https://gh.jwsc.eu.org/master' && sh -c "$(curl -kfsSl $url/install.sh)" && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~安装完成管理脚本后,执行如下命令以**运行管理脚本**<br>
|
||||
~**路由设备使用wget安装**:<br>
|
||||
|
||||
```Shell
|
||||
clash #正常模式运行
|
||||
clash -h #脚本帮助及说明
|
||||
clash -u #卸载脚本
|
||||
clash -t #测试模式运行
|
||||
#GitHub源(可能需要代理)
|
||||
export url='https://raw.githubusercontent.com/juewuy/ShellClash/master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
或者
|
||||
```shell
|
||||
#jsDelivrCDN源
|
||||
export url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master' && wget -q --no-check-certificate -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
~**运行时的额外依赖**:<br>
|
||||
~**老旧设备使用低版本wge安装**:<br>
|
||||
|
||||
`大部分的设备/系统都已经预装了以下的大部分依赖,使用时如无影响可以无视之`
|
||||
```Shell
|
||||
#作者私人http内测源
|
||||
export url='http://t.jwsc.eu.org' && wget -q -O /tmp/install.sh $url/install.sh && sh /tmp/install.sh && source /etc/profile &> /dev/null
|
||||
```
|
||||
|
||||
```sh
|
||||
bash/ash 必须 全部缺少时无法安装及运行脚本
|
||||
~**DOCKER环境下安装:**<br>
|
||||
|
||||
请参考 [ShellClash_docker 一键脚本和镜像](https://github.com/echvoyager/shellclash_docker)
|
||||
|
||||
### **本地安装:**<br>
|
||||
|
||||
如使用在线安装出现问题,请参考:[本地安装ShellClash的教程 | Juewuy's Blog](https://juewuy.github.io/bdaz) 使用本地安装!<br>
|
||||
|
||||
### 使用脚本:<br>
|
||||
|
||||
安装完成管理脚本后,执行如下命令使用~
|
||||
|
||||
```Shell
|
||||
clash #进入对话脚本
|
||||
clash -h #脚本帮助及说明
|
||||
clash -u #卸载脚本
|
||||
clash -t #测试模式运行
|
||||
clash -s start #启动服务
|
||||
clash -s stop #停止服务
|
||||
```
|
||||
|
||||
|
||||
|
||||
#### **运行时的额外依赖**:<br>
|
||||
|
||||
> 大部分的设备/系统都已经预装了以下的大部分依赖,使用时如无影响可以无视之
|
||||
|
||||
```shell
|
||||
curl/wget 必须 全部缺少时无法在线安装及更新,无法使用节点保存功能
|
||||
iptables 重要 缺少时只能使用纯净模式
|
||||
systemd/rc.common 一般 全部缺少时只能使用保守模式
|
||||
iptables-mod-nat 一般 缺少时无法使用redir模式,混合模式
|
||||
ip6tables-mod-nat 较低 缺少时影响redir模式,混合模式对ipv6的支持
|
||||
iptables/nftables 重要 缺少时只能使用纯净模式
|
||||
crontab 较低 缺少时无法启用定时任务功能
|
||||
net-tools 极低 缺少时无法正常检测端口占用
|
||||
ubus/iproute-doc 极低 缺少时无法正常获取本机host地址
|
||||
@@ -107,12 +139,7 @@ ubus/iproute-doc 极低 缺少时无法正常获取本机host地址
|
||||
|
||||
交流反馈:
|
||||
--
|
||||
### [TG讨论组](https://t.me/clashfm)
|
||||
|
||||
相关Q&A:
|
||||
--
|
||||
|
||||
### [详见博客](https://juewuy.github.io)
|
||||
### [TG讨论组](https://t.me/ShellClash)
|
||||
|
||||
## 请喝杯茶:
|
||||
|
||||
@@ -120,6 +147,7 @@ ubus/iproute-doc 极低 缺少时无法正常获取本机host地址
|
||||
|
||||
##### <img src="http://juewuy.github.io/post-images/1604390977172.png" style="zoom:50%;" /><img src="http://juewuy.github.io/post-images/1604391042406.png" style="zoom:50%;" />
|
||||
|
||||
友情推广:
|
||||
机场推荐:
|
||||
--
|
||||
### [顶级8K专线机场-墙洞](https://dler.best/auth/register?affid=89698)
|
||||
#### [大米-群友力荐,流媒体解锁,月付推荐](https://bigme.pro/auth/register?code=tdXp)<br>
|
||||
#### [Dler-老牌稳定,流媒体解锁,年付推荐](https://dler.best/auth/register?affid=89698)<br>
|
||||
|
||||
BIN
bin/Country.mmdb
BIN
bin/Country.mmdb
Binary file not shown.
48
bin/Disney_Plus_Domains.list
Normal file
48
bin/Disney_Plus_Domains.list
Normal file
@@ -0,0 +1,48 @@
|
||||
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
|
||||
555
bin/Netflix_Domains.list
Normal file
555
bin/Netflix_Domains.list
Normal file
@@ -0,0 +1,555 @@
|
||||
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
|
||||
BIN
bin/ShellClash.tar.gz
Normal file
BIN
bin/ShellClash.tar.gz
Normal file
Binary file not shown.
@@ -1,7 +1,7 @@
|
||||
##
|
||||
## Bundle of CA Root Certificates
|
||||
##
|
||||
## Certificate data from Mozilla as of: Sat Jun 12 22:07:57 2021 GMT
|
||||
## Certificate data from Mozilla as of: Thu Dec 9 22:21:11 2021 GMT
|
||||
##
|
||||
## This is a bundle of X.509 certificates of public Certificate Authorities
|
||||
## (CA). These were automatically extracted from Mozilla's root certificates
|
||||
@@ -14,7 +14,7 @@
|
||||
## Just configure this file as the SSLCACertificateFile.
|
||||
##
|
||||
## Conversion done with mk-ca-bundle.pl version 1.28.
|
||||
## SHA256: e292bd4e2d500c86df45b830d89417be5c42ee670408f1d2c454c63d8a782865
|
||||
## SHA256: bb36818a81feaa4cca61101e6d6276cd09e972efcb08112dfed846918ca41d7f
|
||||
##
|
||||
|
||||
|
||||
@@ -156,38 +156,6 @@ Rt0vxuBqw8M0Ayx9lt1awg6nCpnBBYurDC/zXDrPbDdVCYfeU0BsWO/8tqtlbgT2G9w84FoVxp7Z
|
||||
12yxow+ev+to51byrvLjKzg6CYG1a4XXvi3tPxq3smPi9WIsgtRqAEFQ8TmDn5XpNpaYbg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
QuoVadis Root CA
|
||||
================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIF0DCCBLigAwIBAgIEOrZQizANBgkqhkiG9w0BAQUFADB/MQswCQYDVQQGEwJCTTEZMBcGA1UE
|
||||
ChMQUXVvVmFkaXMgTGltaXRlZDElMCMGA1UECxMcUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0
|
||||
eTEuMCwGA1UEAxMlUXVvVmFkaXMgUm9vdCBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw0wMTAz
|
||||
MTkxODMzMzNaFw0yMTAzMTcxODMzMzNaMH8xCzAJBgNVBAYTAkJNMRkwFwYDVQQKExBRdW9WYWRp
|
||||
cyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MS4wLAYDVQQD
|
||||
EyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIIBIjANBgkqhkiG9w0BAQEF
|
||||
AAOCAQ8AMIIBCgKCAQEAv2G1lVO6V/z68mcLOhrfEYBklbTRvM16z/Ypli4kVEAkOPcahdxYTMuk
|
||||
J0KX0J+DisPkBgNbAKVRHnAEdOLB1Dqr1607BxgFjv2DrOpm2RgbaIr1VxqYuvXtdj182d6UajtL
|
||||
F8HVj71lODqV0D1VNk7feVcxKh7YWWVJWCCYfqtffp/p1k3sg3Spx2zY7ilKhSoGFPlU5tPaZQeL
|
||||
YzcS19Dsw3sgQUSj7cugF+FxZc4dZjH3dgEZyH0DWLaVSR2mEiboxgx24ONmy+pdpibu5cxfvWen
|
||||
AScOospUxbF6lR1xHkopigPcakXBpBlebzbNw6Kwt/5cOOJSvPhEQ+aQuwIDAQABo4ICUjCCAk4w
|
||||
PQYIKwYBBQUHAQEEMTAvMC0GCCsGAQUFBzABhiFodHRwczovL29jc3AucXVvdmFkaXNvZmZzaG9y
|
||||
ZS5jb20wDwYDVR0TAQH/BAUwAwEB/zCCARoGA1UdIASCAREwggENMIIBCQYJKwYBBAG+WAABMIH7
|
||||
MIHUBggrBgEFBQcCAjCBxxqBxFJlbGlhbmNlIG9uIHRoZSBRdW9WYWRpcyBSb290IENlcnRpZmlj
|
||||
YXRlIGJ5IGFueSBwYXJ0eSBhc3N1bWVzIGFjY2VwdGFuY2Ugb2YgdGhlIHRoZW4gYXBwbGljYWJs
|
||||
ZSBzdGFuZGFyZCB0ZXJtcyBhbmQgY29uZGl0aW9ucyBvZiB1c2UsIGNlcnRpZmljYXRpb24gcHJh
|
||||
Y3RpY2VzLCBhbmQgdGhlIFF1b1ZhZGlzIENlcnRpZmljYXRlIFBvbGljeS4wIgYIKwYBBQUHAgEW
|
||||
Fmh0dHA6Ly93d3cucXVvdmFkaXMuYm0wHQYDVR0OBBYEFItLbe3TKbkGGew5Oanwl4Rqy+/fMIGu
|
||||
BgNVHSMEgaYwgaOAFItLbe3TKbkGGew5Oanwl4Rqy+/foYGEpIGBMH8xCzAJBgNVBAYTAkJNMRkw
|
||||
FwYDVQQKExBRdW9WYWRpcyBMaW1pdGVkMSUwIwYDVQQLExxSb290IENlcnRpZmljYXRpb24gQXV0
|
||||
aG9yaXR5MS4wLAYDVQQDEyVRdW9WYWRpcyBSb290IENlcnRpZmljYXRpb24gQXV0aG9yaXR5ggQ6
|
||||
tlCLMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQUFAAOCAQEAitQUtf70mpKnGdSkfnIYj9lo
|
||||
fFIk3WdvOXrEql494liwTXCYhGHoG+NpGA7O+0dQoE7/8CQfvbLO9Sf87C9TqnN7Az10buYWnuul
|
||||
LsS/VidQK2K6vkscPFVcQR0kvoIgR13VRH56FmjffU1RcHhXHTMe/QKZnAzNCgVPx7uOpHX6Sm2x
|
||||
gI4JVrmcGmD+XcHXetwReNDWXcG31a0ymQM6isxUJTkxgXsTIlG6Rmyhu576BGxJJnSP0nPrzDCi
|
||||
5upZIof4l/UO/erMkqQWxFIY6iHOsfHmhIHluqmGKPJDWl0Snawe2ajlCmqnf6CHKc/yiU3U7MXi
|
||||
5nrQNiOKSnQ2+Q==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
QuoVadis Root CA 2
|
||||
==================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -275,26 +243,6 @@ s58+OmJYxUmtYg5xpTKqL8aJdkNAExNnPaJUJRDL8Try2frbSVa7pv6nQTXD4IhhyYjH3zYQIphZ
|
||||
FL39vmwLAw==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Sonera Class 2 Root CA
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDIDCCAgigAwIBAgIBHTANBgkqhkiG9w0BAQUFADA5MQswCQYDVQQGEwJGSTEPMA0GA1UEChMG
|
||||
U29uZXJhMRkwFwYDVQQDExBTb25lcmEgQ2xhc3MyIENBMB4XDTAxMDQwNjA3Mjk0MFoXDTIxMDQw
|
||||
NjA3Mjk0MFowOTELMAkGA1UEBhMCRkkxDzANBgNVBAoTBlNvbmVyYTEZMBcGA1UEAxMQU29uZXJh
|
||||
IENsYXNzMiBDQTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAJAXSjWdyvANlsdE+hY3
|
||||
/Ei9vX+ALTU74W+oZ6m/AxxNjG8yR9VBaKQTBME1DJqEQ/xcHf+Js+gXGM2RX/uJ4+q/Tl18GybT
|
||||
dXnt5oTjV+WtKcT0OijnpXuENmmz/V52vaMtmdOQTiMofRhj8VQ7Jp12W5dCsv+u8E7s3TmVToMG
|
||||
f+dJQMjFAbJUWmYdPfz56TwKnoG4cPABi+QjVHzIrviQHgCWctRUz2EjvOr7nQKV0ba5cTppCD8P
|
||||
tOFCx4j1P5iop7oc4HFx71hXgVB6XGt0Rg6DA5jDjqhu8nYybieDwnPz3BjotJPqdURrBGAgcVeH
|
||||
nfO+oJAjPYok4doh28MCAwEAAaMzMDEwDwYDVR0TAQH/BAUwAwEB/zARBgNVHQ4ECgQISqCqWITT
|
||||
XjwwCwYDVR0PBAQDAgEGMA0GCSqGSIb3DQEBBQUAA4IBAQBazof5FnIVV0sd2ZvnoiYw7JNn39Yt
|
||||
0jSv9zilzqsWuasvfDXLrNAPtEwr/IDva4yRXzZ299uzGxnq9LIR/WFxRL8oszodv7ND6J+/3DEI
|
||||
cbCdjdY0RzKQxmUk96BKfARzjzlvF4xytb1LyHr4e4PDKE6cCepnP7JnBBvDFNr450kkkdAdavph
|
||||
Oe9r5yF1BgfYErQhIHBCcYHaPJo2vqZbDWpsmh+Re/n570K6Tk6ezAyNlNzZRZxe7EJQY670XcSx
|
||||
EtzKO6gunRRaBXW37Ndj4ro1tgQIkejanZz2ZrUYrAqmVCY0M9IbwdR/GjqOC6oybtv8TyWf2TLH
|
||||
llpwrN9M
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
XRamp Global CA Root
|
||||
====================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -433,26 +381,6 @@ mNEVX58Svnw2Yzi9RKR/5CYrCsSXaQ3pjOLAEFe4yHYSkVXySGnYvCoCWw9E1CAx2/S6cCZdkGCe
|
||||
vEsXCS+0yx5DaMkHJ8HSXPfqIbloEpw8nL+e/IBcm2PN7EeqJSdnoDfzAIJ9VNep+OkuE6N36B9K
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
DST Root CA X3
|
||||
==============
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDSjCCAjKgAwIBAgIQRK+wgNajJ7qJMDmGLvhAazANBgkqhkiG9w0BAQUFADA/MSQwIgYDVQQK
|
||||
ExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMTDkRTVCBSb290IENBIFgzMB4X
|
||||
DTAwMDkzMDIxMTIxOVoXDTIxMDkzMDE0MDExNVowPzEkMCIGA1UEChMbRGlnaXRhbCBTaWduYXR1
|
||||
cmUgVHJ1c3QgQ28uMRcwFQYDVQQDEw5EU1QgUm9vdCBDQSBYMzCCASIwDQYJKoZIhvcNAQEBBQAD
|
||||
ggEPADCCAQoCggEBAN+v6ZdQCINXtMxiZfaQguzH0yxrMMpb7NnDfcdAwRgUi+DoM3ZJKuM/IUmT
|
||||
rE4Orz5Iy2Xu/NMhD2XSKtkyj4zl93ewEnu1lcCJo6m67XMuegwGMoOifooUMM0RoOEqOLl5CjH9
|
||||
UL2AZd+3UWODyOKIYepLYYHsUmu5ouJLGiifSKOeDNoJjj4XLh7dIN9bxiqKqy69cK3FCxolkHRy
|
||||
xXtqqzTWMIn/5WgTe1QLyNau7Fqckh49ZLOMxt+/yUFw7BZy1SbsOFU5Q9D8/RhcQPGX69Wam40d
|
||||
utolucbY38EVAjqr2m7xPi71XAicPNaDaeQQmxkqtilX4+U9m5/wAl0CAwEAAaNCMEAwDwYDVR0T
|
||||
AQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFMSnsaR7LHH62+FLkHX/xBVghYkQ
|
||||
MA0GCSqGSIb3DQEBBQUAA4IBAQCjGiybFwBcqR7uKGY3Or+Dxz9LwwmglSBd49lZRNI+DT69ikug
|
||||
dB/OEIKcdBodfpga3csTS7MgROSR6cz8faXbauX+5v3gTt23ADq1cEmv8uXrAvHRAosZy5Q6XkjE
|
||||
GB5YGV8eAlrwDPGxrancWYaLbumR9YbK+rlmM6pZW87ipxZzR8srzJmwN0jP41ZL9c8PDHIyh8bw
|
||||
RLtTcm1D9SZImlJnt1ir/md2cXjbDaJWFBM5JDGFoqgCWjBH4d1QB7wCCZAA62RjYJsWvIjJEubS
|
||||
fZGL+T0yjWW06XyxV3bqxbYoOb8VZRzI9neWagqNdwvYkQsEjgfbKbYK7p2CNTUQ
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
SwissSign Gold CA - G2
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -1194,27 +1122,6 @@ OR/qnuOf0GZvBeyqdn6/axag67XH/JJULysRJyU3eExRarDzzFhdFPFqSBX/wge2sY0PjlxQRrM9
|
||||
vwGYT7JZVEc+NHt4bVaTLnPqZih4zR0Uv6CPLy64Lo7yFIrM6bV8+2ydDKXhlg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Trustis FPS Root CA
|
||||
===================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDZzCCAk+gAwIBAgIQGx+ttiD5JNM2a/fH8YygWTANBgkqhkiG9w0BAQUFADBFMQswCQYDVQQG
|
||||
EwJHQjEYMBYGA1UEChMPVHJ1c3RpcyBMaW1pdGVkMRwwGgYDVQQLExNUcnVzdGlzIEZQUyBSb290
|
||||
IENBMB4XDTAzMTIyMzEyMTQwNloXDTI0MDEyMTExMzY1NFowRTELMAkGA1UEBhMCR0IxGDAWBgNV
|
||||
BAoTD1RydXN0aXMgTGltaXRlZDEcMBoGA1UECxMTVHJ1c3RpcyBGUFMgUm9vdCBDQTCCASIwDQYJ
|
||||
KoZIhvcNAQEBBQADggEPADCCAQoCggEBAMVQe547NdDfxIzNjpvto8A2mfRC6qc+gIMPpqdZh8mQ
|
||||
RUN+AOqGeSoDvT03mYlmt+WKVoaTnGhLaASMk5MCPjDSNzoiYYkchU59j9WvezX2fihHiTHcDnlk
|
||||
H5nSW7r+f2C/revnPDgpai/lkQtV/+xvWNUtyd5MZnGPDNcE2gfmHhjjvSkCqPoc4Vu5g6hBSLwa
|
||||
cY3nYuUtsuvffM/bq1rKMfFMIvMFE/eC+XN5DL7XSxzA0RU8k0Fk0ea+IxciAIleH2ulrG6nS4zt
|
||||
o3Lmr2NNL4XSFDWaLk6M6jKYKIahkQlBOrTh4/L68MkKokHdqeMDx4gVOxzUGpTXn2RZEm0CAwEA
|
||||
AaNTMFEwDwYDVR0TAQH/BAUwAwEB/zAfBgNVHSMEGDAWgBS6+nEleYtXQSUhhgtx67JkDoshZzAd
|
||||
BgNVHQ4EFgQUuvpxJXmLV0ElIYYLceuyZA6LIWcwDQYJKoZIhvcNAQEFBQADggEBAH5Y//01GX2c
|
||||
GE+esCu8jowU/yyg2kdbw++BLa8F6nRIW/M+TgfHbcWzk88iNVy2P3UnXwmWzaD+vkAMXBJV+JOC
|
||||
yinpXj9WV4s4NvdFGkwozZ5BuO1WTISkQMi4sKUraXAEasP41BIy+Q7DsdwyhEQsb8tGD+pmQQ9P
|
||||
8Vilpg0ND2HepZ5dfWWhPBfnqFVO76DH7cZEf1T1o+CP8HxVIo8ptoGj4W1OLBuAZ+ytIJ8MYmHV
|
||||
l/9D7S3B2l0pKoU/rGXuhg8FjZBf3+6f9L/uHfuY5H+QK4R4EA5sSVPvFVtlRkpdr7r7OnIdzfYl
|
||||
iB6XzCGcKQENZetX2fNXlrtIzYE=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Buypass Class 2 Root CA
|
||||
=======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
@@ -3136,3 +3043,190 @@ gLWi5h+xEk8blTAKBggqhkjOPQQDAwNoADBlAjEA31SQ7Zvvi5QCkxeCmb6zniz2C5GMn0oUsfZk
|
||||
vLtoURMMA/cVi4RguYv/Uo7njLwcAjA8+RHUjE7AwWHCFUyqqx0LMV87HOIAl0Qx5v5zli/altP+
|
||||
CAezNIm8BZ/3Hobui3A=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
GLOBALTRUST 2020
|
||||
================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFgjCCA2qgAwIBAgILWku9WvtPilv6ZeUwDQYJKoZIhvcNAQELBQAwTTELMAkGA1UEBhMCQVQx
|
||||
IzAhBgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVT
|
||||
VCAyMDIwMB4XDTIwMDIxMDAwMDAwMFoXDTQwMDYxMDAwMDAwMFowTTELMAkGA1UEBhMCQVQxIzAh
|
||||
BgNVBAoTGmUtY29tbWVyY2UgbW9uaXRvcmluZyBHbWJIMRkwFwYDVQQDExBHTE9CQUxUUlVTVCAy
|
||||
MDIwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAri5WrRsc7/aVj6B3GyvTY4+ETUWi
|
||||
D59bRatZe1E0+eyLinjF3WuvvcTfk0Uev5E4C64OFudBc/jbu9G4UeDLgztzOG53ig9ZYybNpyrO
|
||||
VPu44sB8R85gfD+yc/LAGbaKkoc1DZAoouQVBGM+uq/ufF7MpotQsjj3QWPKzv9pj2gOlTblzLmM
|
||||
CcpL3TGQlsjMH/1WljTbjhzqLL6FLmPdqqmV0/0plRPwyJiT2S0WR5ARg6I6IqIoV6Lr/sCMKKCm
|
||||
fecqQjuCgGOlYx8ZzHyyZqjC0203b+J+BlHZRYQfEs4kUmSFC0iAToexIiIwquuuvuAC4EDosEKA
|
||||
A1GqtH6qRNdDYfOiaxaJSaSjpCuKAsR49GiKweR6NrFvG5Ybd0mN1MkGco/PU+PcF4UgStyYJ9OR
|
||||
JitHHmkHr96i5OTUawuzXnzUJIBHKWk7buis/UDr2O1xcSvy6Fgd60GXIsUf1DnQJ4+H4xj04KlG
|
||||
DfV0OoIu0G4skaMxXDtG6nsEEFZegB31pWXogvziB4xiRfUg3kZwhqG8k9MedKZssCz3AwyIDMvU
|
||||
clOGvGBG85hqwvG/Q/lwIHfKN0F5VVJjjVsSn8VoxIidrPIwq7ejMZdnrY8XD2zHc+0klGvIg5rQ
|
||||
mjdJBKuxFshsSUktq6HQjJLyQUp5ISXbY9e2nKd+Qmn7OmMCAwEAAaNjMGEwDwYDVR0TAQH/BAUw
|
||||
AwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFNwuH9FhN3nkq9XVsxJxaD1qaJwiMB8GA1Ud
|
||||
IwQYMBaAFNwuH9FhN3nkq9XVsxJxaD1qaJwiMA0GCSqGSIb3DQEBCwUAA4ICAQCR8EICaEDuw2jA
|
||||
VC/f7GLDw56KoDEoqoOOpFaWEhCGVrqXctJUMHytGdUdaG/7FELYjQ7ztdGl4wJCXtzoRlgHNQIw
|
||||
4Lx0SsFDKv/bGtCwr2zD/cuz9X9tAy5ZVp0tLTWMstZDFyySCstd6IwPS3BD0IL/qMy/pJTAvoe9
|
||||
iuOTe8aPmxadJ2W8esVCgmxcB9CpwYhgROmYhRZf+I/KARDOJcP5YBugxZfD0yyIMaK9MOzQ0MAS
|
||||
8cE54+X1+NZK3TTN+2/BT+MAi1bikvcoskJ3ciNnxz8RFbLEAwW+uxF7Cr+obuf/WEPPm2eggAe2
|
||||
HcqtbepBEX4tdJP7wry+UUTF72glJ4DjyKDUEuzZpTcdN3y0kcra1LGWge9oXHYQSa9+pTeAsRxS
|
||||
vTOBTI/53WXZFM2KJVj04sWDpQmQ1GwUY7VA3+vA/MRYfg0UFodUJ25W5HCEuGwyEn6CMUO+1918
|
||||
oa2u1qsgEu8KwxCMSZY13At1XrFP1U80DhEgB3VDRemjEdqso5nCtnkn4rnvyOL2NSl6dPrFf4IF
|
||||
YqYK6miyeUcGbvJXqBUzxvd4Sj1Ce2t+/vdG6tHrju+IaFvowdlxfv1k7/9nR4hYJS8+hge9+6jl
|
||||
gqispdNpQ80xiEmEU5LAsTkbOYMBMMTyqfrQA71yN2BWHzZ8vTmR9W0Nv3vXkg==
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
ANF Secure Server Root CA
|
||||
=========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Certum EC-384 CA
|
||||
================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICZTCCAeugAwIBAgIQeI8nXIESUiClBNAt3bpz9DAKBggqhkjOPQQDAzB0MQswCQYDVQQGEwJQ
|
||||
TDEhMB8GA1UEChMYQXNzZWNvIERhdGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2Vy
|
||||
dGlmaWNhdGlvbiBBdXRob3JpdHkxGTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwHhcNMTgwMzI2
|
||||
MDcyNDU0WhcNNDMwMzI2MDcyNDU0WjB0MQswCQYDVQQGEwJQTDEhMB8GA1UEChMYQXNzZWNvIERh
|
||||
dGEgU3lzdGVtcyBTLkEuMScwJQYDVQQLEx5DZXJ0dW0gQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkx
|
||||
GTAXBgNVBAMTEENlcnR1bSBFQy0zODQgQ0EwdjAQBgcqhkjOPQIBBgUrgQQAIgNiAATEKI6rGFtq
|
||||
vm5kN2PkzeyrOvfMobgOgknXhimfoZTy42B4mIF4Bk3y7JoOV2CDn7TmFy8as10CW4kjPMIRBSqn
|
||||
iBMY81CE1700LCeJVf/OTOffph8oxPBUw7l8t1Ot68KjQjBAMA8GA1UdEwEB/wQFMAMBAf8wHQYD
|
||||
VR0OBBYEFI0GZnQkdjrzife81r1HfS+8EF9LMA4GA1UdDwEB/wQEAwIBBjAKBggqhkjOPQQDAwNo
|
||||
ADBlAjADVS2m5hjEfO/JUG7BJw+ch69u1RsIGL2SKcHvlJF40jocVYli5RsJHrpka/F2tNQCMQC0
|
||||
QoSZ/6vnnvuRlydd3LBbMHHOXjgaatkl5+r3YZJW+OraNsKHZZYuciUvf9/DE8k=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
Certum Trusted Root CA
|
||||
======================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
TunTrust Root CA
|
||||
================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIFszCCA5ugAwIBAgIUEwLV4kBMkkaGFmddtLu7sms+/BMwDQYJKoZIhvcNAQELBQAwYTELMAkG
|
||||
A1UEBhMCVE4xNzA1BgNVBAoMLkFnZW5jZSBOYXRpb25hbGUgZGUgQ2VydGlmaWNhdGlvbiBFbGVj
|
||||
dHJvbmlxdWUxGTAXBgNVBAMMEFR1blRydXN0IFJvb3QgQ0EwHhcNMTkwNDI2MDg1NzU2WhcNNDQw
|
||||
NDI2MDg1NzU2WjBhMQswCQYDVQQGEwJUTjE3MDUGA1UECgwuQWdlbmNlIE5hdGlvbmFsZSBkZSBD
|
||||
ZXJ0aWZpY2F0aW9uIEVsZWN0cm9uaXF1ZTEZMBcGA1UEAwwQVHVuVHJ1c3QgUm9vdCBDQTCCAiIw
|
||||
DQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAMPN0/y9BFPdDCA61YguBUtB9YOCfvdZn56eY+hz
|
||||
2vYGqU8ftPkLHzmMmiDQfgbU7DTZhrx1W4eI8NLZ1KMKsmwb60ksPqxd2JQDoOw05TDENX37Jk0b
|
||||
bjBU2PWARZw5rZzJJQRNmpA+TkBuimvNKWfGzC3gdOgFVwpIUPp6Q9p+7FuaDmJ2/uqdHYVy7BG7
|
||||
NegfJ7/Boce7SBbdVtfMTqDhuazb1YMZGoXRlJfXyqNlC/M4+QKu3fZnz8k/9YosRxqZbwUN/dAd
|
||||
gjH8KcwAWJeRTIAAHDOFli/LQcKLEITDCSSJH7UP2dl3RxiSlGBcx5kDPP73lad9UKGAwqmDrViW
|
||||
VSHbhlnUr8a83YFuB9tgYv7sEG7aaAH0gxupPqJbI9dkxt/con3YS7qC0lH4Zr8GRuR5KiY2eY8f
|
||||
Tpkdso8MDhz/yV3A/ZAQprE38806JG60hZC/gLkMjNWb1sjxVj8agIl6qeIbMlEsPvLfe/ZdeikZ
|
||||
juXIvTZxi11Mwh0/rViizz1wTaZQmCXcI/m4WEEIcb9PuISgjwBUFfyRbVinljvrS5YnzWuioYas
|
||||
DXxU5mZMZl+QviGaAkYt5IPCgLnPSz7ofzwB7I9ezX/SKEIBlYrilz0QIX32nRzFNKHsLA4KUiwS
|
||||
VXAkPcvCFDVDXSdOvsC9qnyW5/yeYa1E0wCXAgMBAAGjYzBhMB0GA1UdDgQWBBQGmpsfU33x9aTI
|
||||
04Y+oXNZtPdEITAPBgNVHRMBAf8EBTADAQH/MB8GA1UdIwQYMBaAFAaamx9TffH1pMjThj6hc1m0
|
||||
90QhMA4GA1UdDwEB/wQEAwIBBjANBgkqhkiG9w0BAQsFAAOCAgEAqgVutt0Vyb+zxiD2BkewhpMl
|
||||
0425yAA/l/VSJ4hxyXT968pk21vvHl26v9Hr7lxpuhbI87mP0zYuQEkHDVneixCwSQXi/5E/S7fd
|
||||
Ao74gShczNxtr18UnH1YeA32gAm56Q6XKRm4t+v4FstVEuTGfbvE7Pi1HE4+Z7/FXxttbUcoqgRY
|
||||
YdZ2vyJ/0Adqp2RT8JeNnYA/u8EH22Wv5psymsNUk8QcCMNE+3tjEUPRahphanltkE8pjkcFwRJp
|
||||
adbGNjHh/PqAulxPxOu3Mqz4dWEX1xAZufHSCe96Qp1bWgvUxpVOKs7/B9dPfhgGiPEZtdmYu65x
|
||||
xBzndFlY7wyJz4sfdZMaBBSSSFCp61cpABbjNhzI+L/wM9VBD8TMPN3pM0MBkRArHtG5Xc0yGYuP
|
||||
jCB31yLEQtyEFpslbei0VXF/sHyz03FJuc9SpAQ/3D2gu68zngowYI7bnV2UqL1g52KAdoGDDIzM
|
||||
MEZJ4gzSqK/rYXHv5yJiqfdcZGyfFoxnNidF9Ql7v/YQCvGwjVRDjAS6oz/v4jXH+XTgbzRB0L9z
|
||||
ZVcg+ZtnemZoJE6AZb0QmQZZ8mWvuMZHu/2QeItBcy6vVR/cO5JyboTT0GFMDcx2V+IthSIVNg3r
|
||||
AZ3r2OvEhJn7wAzMMujjd9qDRIueVSjAi1jTkD5OGwDxFa2DK5o=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
HARICA TLS RSA Root CA 2021
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
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
|
||||
kf3/W9b3raYvAwtt41dU63ZTGI0RmLo=
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
HARICA TLS ECC Root CA 2021
|
||||
===========================
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIICVDCCAdugAwIBAgIQZ3SdjXfYO2rbIvT/WeK/zjAKBggqhkjOPQQDAzBsMQswCQYDVQQGEwJH
|
||||
UjE3MDUGA1UECgwuSGVsbGVuaWMgQWNhZGVtaWMgYW5kIFJlc2VhcmNoIEluc3RpdHV0aW9ucyBD
|
||||
QTEkMCIGA1UEAwwbSEFSSUNBIFRMUyBFQ0MgUm9vdCBDQSAyMDIxMB4XDTIxMDIxOTExMDExMFoX
|
||||
DTQ1MDIxMzExMDEwOVowbDELMAkGA1UEBhMCR1IxNzA1BgNVBAoMLkhlbGxlbmljIEFjYWRlbWlj
|
||||
IGFuZCBSZXNlYXJjaCBJbnN0aXR1dGlvbnMgQ0ExJDAiBgNVBAMMG0hBUklDQSBUTFMgRUNDIFJv
|
||||
b3QgQ0EgMjAyMTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDgI/rGgltJ6rK9JOtDA4MM7KKrxcm1l
|
||||
AEeIhPyaJmuqS7psBAqIXhfyVYf8MLA04jRYVxqEU+kw2anylnTDUR9YSTHMmE5gEYd103KUkE+b
|
||||
ECUqqHgtvpBBWJAVcqeht6NCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4EFgQUyRtTgRL+BNUW
|
||||
0aq8mm+3oJUZbsowDgYDVR0PAQH/BAQDAgGGMAoGCCqGSM49BAMDA2cAMGQCMBHervjcToiwqfAi
|
||||
rcJRQO9gcS3ujwLEXQNwSaSS6sUUiHCm0w2wqsosQJz76YJumgIwK0eaB8bRwoF8yguWGEEbo/Qw
|
||||
CZ61IygNnxS2PFOiTAZpffpskcYqSUXm7LcT4Tps
|
||||
-----END CERTIFICATE-----
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
1605
bin/china_ipv6_list.txt
Normal file
1605
bin/china_ipv6_list.txt
Normal file
File diff suppressed because it is too large
Load Diff
BIN
bin/clash.meta/clash-linux-amd64
Executable file
BIN
bin/clash.meta/clash-linux-amd64
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-armv5
Executable file
BIN
bin/clash.meta/clash-linux-armv5
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-armv7
Executable file
BIN
bin/clash.meta/clash-linux-armv7
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-armv8
Executable file
BIN
bin/clash.meta/clash-linux-armv8
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-mips-softfloat
Executable file
BIN
bin/clash.meta/clash-linux-mips-softfloat
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-mipsle-hardfloat
Executable file
BIN
bin/clash.meta/clash-linux-mipsle-hardfloat
Executable file
Binary file not shown.
BIN
bin/clash.meta/clash-linux-mipsle-softfloat
Executable file
BIN
bin/clash.meta/clash-linux-mipsle-softfloat
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-386
Executable file
BIN
bin/clash.net/clash-linux-386
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-amd64
Executable file
BIN
bin/clash.net/clash-linux-amd64
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-armv5
Executable file
BIN
bin/clash.net/clash-linux-armv5
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-armv7
Executable file
BIN
bin/clash.net/clash-linux-armv7
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-armv8
Executable file
BIN
bin/clash.net/clash-linux-armv8
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-mips-softfloat
Executable file
BIN
bin/clash.net/clash-linux-mips-softfloat
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-mipsle-hardfloat
Executable file
BIN
bin/clash.net/clash-linux-mipsle-hardfloat
Executable file
Binary file not shown.
BIN
bin/clash.net/clash-linux-mipsle-softfloat
Executable file
BIN
bin/clash.net/clash-linux-mipsle-softfloat
Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-386
Normal file → Executable file
BIN
bin/clash/clash-linux-386
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-amd64
Normal file → Executable file
BIN
bin/clash/clash-linux-amd64
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-armv5
Normal file → Executable file
BIN
bin/clash/clash-linux-armv5
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-armv7
Normal file → Executable file
BIN
bin/clash/clash-linux-armv7
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-armv8
Normal file → Executable file
BIN
bin/clash/clash-linux-armv8
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-mips-softfloat
Normal file → Executable file
BIN
bin/clash/clash-linux-mips-softfloat
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-mipsle-hardfloat
Normal file → Executable file
BIN
bin/clash/clash-linux-mipsle-hardfloat
Normal file → Executable file
Binary file not shown.
BIN
bin/clash/clash-linux-mipsle-softfloat
Normal file → Executable file
BIN
bin/clash/clash-linux-mipsle-softfloat
Normal file → Executable file
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
bin/clashpre/clash-linux-386
Normal file → Executable file
BIN
bin/clashpre/clash-linux-386
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-amd64
Normal file → Executable file
BIN
bin/clashpre/clash-linux-amd64
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-armv5
Normal file → Executable file
BIN
bin/clashpre/clash-linux-armv5
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-armv7
Normal file → Executable file
BIN
bin/clashpre/clash-linux-armv7
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-armv8
Normal file → Executable file
BIN
bin/clashpre/clash-linux-armv8
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-mips-softfloat
Normal file → Executable file
BIN
bin/clashpre/clash-linux-mips-softfloat
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-mipsle-hardfloat
Normal file → Executable file
BIN
bin/clashpre/clash-linux-mipsle-hardfloat
Normal file → Executable file
Binary file not shown.
BIN
bin/clashpre/clash-linux-mipsle-softfloat
Normal file → Executable file
BIN
bin/clashpre/clash-linux-mipsle-softfloat
Normal file → Executable file
Binary file not shown.
BIN
bin/cn_mini.mmdb
BIN
bin/cn_mini.mmdb
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB After Width: | Height: | Size: 115 KiB |
40259
bin/geosite.dat
Normal file
40259
bin/geosite.dat
Normal file
File diff suppressed because one or more lines are too long
BIN
bin/meta_db.tar.gz
Normal file
BIN
bin/meta_db.tar.gz
Normal file
Binary file not shown.
BIN
bin/meta_yacd.tar.gz
Normal file
BIN
bin/meta_yacd.tar.gz
Normal file
Binary file not shown.
@@ -1,8 +1,8 @@
|
||||
1.4.1
|
||||
1.7.0
|
||||
1.6.3
|
||||
1.5.1
|
||||
1.3.0
|
||||
1.2.0
|
||||
1.1.0
|
||||
1.0.0beta17
|
||||
1.0.0beta11
|
||||
1.0.0beta5
|
||||
0.9.7
|
||||
|
||||
10
bin/version
10
bin/version
@@ -1,4 +1,6 @@
|
||||
clash_v=1.6.0
|
||||
clashpre_v=2021.05.08
|
||||
GeoIP_v=20210623
|
||||
versionsh=1.4.1
|
||||
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
|
||||
|
||||
BIN
bin/yacd.tar.gz
BIN
bin/yacd.tar.gz
Binary file not shown.
288
install.sh
288
install.sh
@@ -1,25 +1,22 @@
|
||||
#! /bin/bash
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
type bash &>/dev/null && shtype=bash || shtype=sh
|
||||
echo='echo -e' && [ -n "$(echo -e|grep e)" ] && echo=echo
|
||||
#[ -z "$1" ] && test=0 || test=$1
|
||||
|
||||
echo "***********************************************"
|
||||
echo "** 欢迎使用 **"
|
||||
echo "** ShellClash **"
|
||||
echo "** by Juewuy **"
|
||||
echo "***********************************************"
|
||||
|
||||
[ -f "/etc/storage/started_script.sh" ] && systype=Padavan && initdir='/etc/storage/started_script.sh'
|
||||
[ -f "/jffs/.asusrouter" ] && systype=asusrouter && initdir='/jffs/.asusrouter'
|
||||
#检查root权限
|
||||
if [ "$USER" != "root" -a -z "$systype" ];then
|
||||
echo 当前用户:$USER
|
||||
$echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "仍要安装?可能会产生未知错误!(1/0) > " res
|
||||
[ "$res" != "1" ] && exit
|
||||
fi
|
||||
#内置工具
|
||||
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}'
|
||||
}
|
||||
setconfig(){
|
||||
configpath=$clashdir/mark
|
||||
[ -n "$(grep ${1} $configpath)" ] && sed -i "s#${1}=.*#${1}=${2}#g" $configpath || echo "${1}=${2}" >> $configpath
|
||||
}
|
||||
webget(){
|
||||
#参数【$1】代表下载目录,【$2】代表在线地址
|
||||
#参数【$3】代表输出显示,【$4】不启用重定向
|
||||
@@ -27,6 +24,7 @@ webget(){
|
||||
[ "$3" = "echooff" ] && progress='-s' || progress='-#'
|
||||
[ -z "$4" ] && redirect='-L' || redirect=''
|
||||
result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2)
|
||||
[ -n "$(echo $result | grep -e ^2)" ] && result="200"
|
||||
else
|
||||
if wget --version > /dev/null 2>&1;then
|
||||
[ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress'
|
||||
@@ -40,126 +38,110 @@ webget(){
|
||||
[ $? -eq 0 ] && result="200"
|
||||
fi
|
||||
}
|
||||
#检查更新
|
||||
[ -z "$url" ] && url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash"
|
||||
#选择版本
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m请选择想要安装的版本:\033[0m"
|
||||
$echo " 1 \033[32mShellclash正式版\033[0m"
|
||||
$echo " 2 \033[31mShellclash测试版\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消
|
||||
exit;
|
||||
elif [ "$num" = "1" ];then
|
||||
webget /tmp/clashrelease $url/bin/release_version echoon rediroff 2>/tmp/clashrelease
|
||||
if [ "$result" = "200" ];then
|
||||
release_new=$(cat /tmp/clashrelease | head -1)
|
||||
url2="https://cdn.jsdelivr.net/gh/juewuy/ShellClash@$release_new"
|
||||
else
|
||||
echo "无法切换版本,尝试安装测试版!"
|
||||
fi
|
||||
fi
|
||||
[ -z "$url2" ] && url2=$url
|
||||
webget /tmp/clashversion "$url2/bin/version" echooff
|
||||
[ "$result" = "200" ] && versionsh=$(cat /tmp/clashversion | grep "versionsh" | awk -F "=" '{print $2}')
|
||||
[ -z "$release_new" ] && release_new=$versionsh
|
||||
rm -rf /tmp/clashversion
|
||||
rm -rf /tmp/clashrelease
|
||||
tarurl=$url2/bin/clashfm.tar.gz
|
||||
|
||||
gettar(){
|
||||
webget /tmp/clashfm.tar.gz $tarurl
|
||||
[ "$result" != "200" ] && echo "文件下载失败!" && exit 1
|
||||
#解压
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf '/tmp/clashfm.tar.gz' -C $clashdir/
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf /tmp/clashfm.tar.gz && exit 1
|
||||
#初始化文件目录
|
||||
[ -f "$clashdir/mark" ] || echo '#标识clash运行状态的文件,不明勿动!' > $clashdir/mark
|
||||
#判断系统类型写入不同的启动文件
|
||||
if [ -f /etc/rc.common ];then
|
||||
#设为init.d方式启动
|
||||
mv $clashdir/clashservice /etc/init.d/clash
|
||||
chmod 777 /etc/init.d/clash
|
||||
else
|
||||
[ -w /etc/systemd/system ] && sysdir=/etc/systemd/system
|
||||
[ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system
|
||||
if [ -n "$sysdir" ];then
|
||||
#设为systemd方式启动
|
||||
mv $clashdir/clash.service $sysdir/clash.service
|
||||
sed -i "s%/etc/clash%$clashdir%g" $sysdir/clash.service
|
||||
systemctl daemon-reload
|
||||
else
|
||||
#设为保守模式启动
|
||||
sed -i '/start_old=*/'d $clashdir/mark
|
||||
echo start_old=已开启 >> $clashdir/mark
|
||||
fi
|
||||
fi
|
||||
#修饰文件及版本号
|
||||
shtype=sh && [ -n "$(ls -l /bin/sh|grep -o dash)" ] && shtype=bash
|
||||
sed -i "s|/bin/sh|/bin/$shtype|" $clashdir/start.sh
|
||||
chmod 777 $clashdir/start.sh
|
||||
sed -i '/versionsh_l=*/'d $clashdir/mark
|
||||
echo versionsh_l=$release_new >> $clashdir/mark
|
||||
#设置更新地址
|
||||
sed -i '/update_url=*/'d $clashdir/mark
|
||||
echo update_url=$url >> $clashdir/mark
|
||||
#设置环境变量
|
||||
[ -w /opt/etc/profile ] && profile=/opt/etc/profile
|
||||
[ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add
|
||||
[ -w ~/.bashrc ] && profile=~/.bashrc
|
||||
[ -w /etc/profile ] && profile=/etc/profile
|
||||
if [ -n "$profile" ];then
|
||||
sed -i '/alias clash=*/'d $profile
|
||||
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> $profile #设置快捷命令环境变量
|
||||
sed -i '/export clashdir=*/'d $profile
|
||||
echo "export clashdir=\"$clashdir\"" >> $profile #设置clash路径环境变量
|
||||
else
|
||||
echo 无法写入环境变量!请检查安装权限!
|
||||
exit 1
|
||||
fi
|
||||
#华硕/Padavan额外设置
|
||||
[ -n "$systype" ] && sed -i '/ShellClash初始化/'d $initdir && echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir
|
||||
#删除临时文件
|
||||
rm -rf /tmp/clashfm.tar.gz
|
||||
rm -rf $clashdir/clashservice
|
||||
rm -rf $clashdir/clash.service
|
||||
error_down(){
|
||||
$echo "请参考 \033[32mhttps://github.com/juewuy/ShellClash/blob/master/README_CN.md"
|
||||
$echo "\033[33m使用其他安装源重新安装!\033[0m"
|
||||
}
|
||||
#下载及安装
|
||||
install(){
|
||||
echo -----------------------------------------------
|
||||
echo 开始从服务器获取安装文件!
|
||||
echo -----------------------------------------------
|
||||
gettar
|
||||
echo -----------------------------------------------
|
||||
echo ShellClash 已经安装成功!
|
||||
[ "$profile" = "~/.bashrc" ] && echo "请执行【source ~/.bashrc &> /dev/null】命令以加载环境变量!"
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m输入\033[30;47m clash \033[0;33m命令即可管理!!!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
#安装及初始化
|
||||
gettar(){
|
||||
webget /tmp/ShellClash.tar.gz $tarurl
|
||||
if [ "$result" != "200" ];then
|
||||
$echo "\033[33m文件下载失败!\033[0m"
|
||||
error_down
|
||||
exit 1
|
||||
else
|
||||
$clashdir/start.sh stop 2>/dev/null
|
||||
#解压
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf '/tmp/ShellClash.tar.gz' -C $clashdir/
|
||||
if [ $? -ne 0 ];then
|
||||
rm -rf /tmp/ShellClash.tar.gz
|
||||
$echo "\033[33m文件解压失败!\033[0m"
|
||||
error_down
|
||||
exit 1
|
||||
else
|
||||
source $clashdir/init.sh >/dev/null
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setdir(){
|
||||
set_usb_dir(){
|
||||
$echo "请选择安装目录"
|
||||
du -hL /mnt | awk '{print " "NR" "$2" "$1}'
|
||||
read -p "请输入相应数字 > " num
|
||||
dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p)
|
||||
if [ -z "$dir" ];then
|
||||
$echo "\033[31m输入错误!请重新设置!\033[0m"
|
||||
set_usb_dir
|
||||
fi
|
||||
}
|
||||
echo -----------------------------------------------
|
||||
if [ -n "$systype" ];then
|
||||
[ "$systype" = "Padavan" ] && dir=/etc/storage
|
||||
[ "$systype" = "asusrouter" ] && dir=/jffs
|
||||
[ "$systype" = "mi_snapshot" ] && {
|
||||
$echo "\033[33m检测到当前设备为小米官方系统,请选择安装位置\033[0m"
|
||||
$echo " 1 安装到/data目录(推荐,支持软固化功能)"
|
||||
$echo " 2 安装到USB设备(支持软固化功能)"
|
||||
[ "$(dir_avail /etc)" != 0 ] && $echo " 3 安装到/etc目录(不推荐)"
|
||||
$echo " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
case "$num" in
|
||||
1)
|
||||
dir=/data
|
||||
;;
|
||||
2)
|
||||
set_usb_dir ;;
|
||||
3)
|
||||
if [ "$(dir_avail /etc)" != 0 ];then
|
||||
dir=/etc
|
||||
systype=""
|
||||
else
|
||||
$echo "\033[31m你的设备不支持安装到/etc目录,已改为安装到/data\033[0m"
|
||||
dir=data
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
exit 1 ;;
|
||||
esac
|
||||
}
|
||||
[ "$systype" = "asusrouter" ] && {
|
||||
$echo "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m"
|
||||
$echo " 1 基于USB设备安装(通用,须插入\033[31m任意\033[0mUSB设备)"
|
||||
$echo " 2 基于自启脚本安装(仅支持梅林及部分官改固件)"
|
||||
$echo " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
case "$num" in
|
||||
1)
|
||||
read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res
|
||||
[ "$res" = "1" ] && set_usb_dir || dir=/jffs
|
||||
usb_status=1
|
||||
;;
|
||||
2)
|
||||
$echo "如无法正常开机启动,请重新使用USB方式安装!"
|
||||
sleep 2
|
||||
dir=/jffs ;;
|
||||
*)
|
||||
exit 1 ;;
|
||||
esac
|
||||
}
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m安装ShellClash至少需要预留约1MB的磁盘空间\033[0m"
|
||||
$echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)"
|
||||
$echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux设备)"
|
||||
$echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)"
|
||||
$echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)"
|
||||
$echo " 4 手动设置安装目录"
|
||||
$echo " 4 在\033[32m外置存储\033[0m中安装"
|
||||
$echo " 5 手动设置安装目录"
|
||||
$echo " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
#设置目录
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消
|
||||
exit;
|
||||
exit 1;
|
||||
elif [ "$num" = "1" ];then
|
||||
dir=/etc
|
||||
elif [ "$num" = "2" ];then
|
||||
@@ -168,6 +150,8 @@ else
|
||||
dir=~/.local/share
|
||||
mkdir -p ~/.config/systemd/user
|
||||
elif [ "$num" = "4" ];then
|
||||
set_usb_dir
|
||||
elif [ "$num" = "5" ];then
|
||||
echo -----------------------------------------------
|
||||
echo '可用路径 剩余空间:'
|
||||
df -h | awk '{print $6,$4}'| sed 1d
|
||||
@@ -179,22 +163,84 @@ else
|
||||
fi
|
||||
else
|
||||
echo 安装已取消!!!
|
||||
exit;
|
||||
exit 1;
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -w $dir ];then
|
||||
$echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir
|
||||
else
|
||||
$echo "目标目录\033[32m$dir\033[0m空间剩余:$(df -h $dir | awk '{print $4}' | sed 1d )"
|
||||
$echo "目标目录\033[32m$dir\033[0m空间剩余:$(dir_avail $dir)"
|
||||
read -p "确认安装?(1/0) > " res
|
||||
[ "$res" = "1" ] && clashdir=$dir/clash || setdir
|
||||
fi
|
||||
}
|
||||
install(){
|
||||
echo -----------------------------------------------
|
||||
echo 开始从服务器获取安装文件!
|
||||
echo -----------------------------------------------
|
||||
gettar
|
||||
echo -----------------------------------------------
|
||||
echo ShellClash 已经安装成功!
|
||||
[ "$profile" = "~/.bashrc" ] && echo "请执行【source ~/.bashrc &> /dev/null】命令以加载环境变量!"
|
||||
[ -n "$(ls -l /bin/sh|grep -oE 'zsh')" ] && echo "请执行【source ~/.zshrc &> /dev/null】命令以加载环境变量!"
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m输入\033[30;47m clash \033[0;33m命令即可管理!!!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
}
|
||||
|
||||
#特殊固件识别及标记
|
||||
[ -f "/etc/storage/started_script.sh" ] && {
|
||||
systype=Padavan #老毛子固件
|
||||
initdir='/etc/storage/started_script.sh'
|
||||
}
|
||||
[ -d "/jffs" ] && {
|
||||
systype=asusrouter #华硕固件
|
||||
[ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter'
|
||||
[ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start'
|
||||
}
|
||||
[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备
|
||||
#检查root权限
|
||||
if [ "$USER" != "root" -a -z "$systype" ];then
|
||||
echo 当前用户:$USER
|
||||
$echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "仍要安装?可能会产生未知错误!(1/0) > " res
|
||||
[ "$res" != "1" ] && exit 1
|
||||
fi
|
||||
|
||||
#检查更新
|
||||
url_cdn="https://fastly.jsdelivr.net/gh/juewuy/ShellClash"
|
||||
[ -z "$url" ] && url=$url_cdn
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m请选择想要安装的版本:\033[0m"
|
||||
$echo " 1 \033[32mShellclash公测版\033[0m"
|
||||
$echo " 2 \033[36mShellclash稳定版\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消! && exit 1;
|
||||
elif [ "$num" = "2" ];then
|
||||
webget /tmp/clashrelease $url_cdn@master/bin/release_version echoon rediroff 2>/tmp/clashrelease
|
||||
if [ "$result" = "200" ];then
|
||||
release_new=$(cat /tmp/clashrelease | head -1)
|
||||
url_dl="$url_cdn@$release_new"
|
||||
else
|
||||
$echo "\033[33m无法获取稳定版安装地址,将尝试安装公测版!\033[0m"
|
||||
fi
|
||||
fi
|
||||
[ -z "$url_dl" ] && url_dl=$url
|
||||
webget /tmp/clashversion "$url_dl/bin/version" echooff
|
||||
[ "$result" = "200" ] && versionsh=$(cat /tmp/clashversion | grep "versionsh" | awk -F "=" '{print $2}')
|
||||
[ -z "$release_new" ] && release_new=$versionsh
|
||||
rm -rf /tmp/clashversion
|
||||
rm -rf /tmp/clashrelease
|
||||
tarurl=$url_dl/bin/ShellClash.tar.gz
|
||||
|
||||
#输出
|
||||
$echo "最新版本:\033[32m$release_new\033[0m"
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/ShellClash \033[0m"
|
||||
$echo "\033[37m支持各种基于openwrt的路由器设备"
|
||||
$echo "\033[33m支持Debian、Centos等标准Linux系统\033[0m"
|
||||
|
||||
@@ -217,7 +263,7 @@ if [ -n "$clashdir" ];then
|
||||
install
|
||||
else
|
||||
$echo "\033[31m输入错误!已取消安装!\033[0m"
|
||||
exit;
|
||||
exit 1;
|
||||
fi
|
||||
else
|
||||
setdir
|
||||
|
||||
225
install_n.sh
225
install_n.sh
@@ -1,225 +0,0 @@
|
||||
#! /bin/bash
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
echo='echo -e' && [ -n "$(echo -e|grep e)" ] && echo=echo
|
||||
#[ -z "$1" ] && test=0 || test=$1
|
||||
|
||||
echo "***********************************************"
|
||||
echo "** 欢迎使用 **"
|
||||
echo "** ShellClash **"
|
||||
echo "** by Juewuy **"
|
||||
echo "***********************************************"
|
||||
|
||||
[ -f "/etc/storage/started_script.sh" ] && systype=Padavan && initdir='/etc/storage/started_script.sh'
|
||||
[ -f "/jffs/.asusrouter" ] && systype=asusrouter && initdir='/jffs/.asusrouter'
|
||||
#检查root权限
|
||||
if [ "$USER" != "root" -a -z "$systype" ];then
|
||||
echo 当前用户:$USER
|
||||
$echo "\033[31m请尽量使用root用户(不要直接使用sudo命令!)执行安装!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "仍要安装?可能会产生未知错误!(1/0) > " res
|
||||
[ "$res" != "1" ] && exit
|
||||
fi
|
||||
webget(){
|
||||
#参数【$1】代表下载目录,【$2】代表在线地址
|
||||
#参数【$3】代表输出显示,【$4】不启用重定向
|
||||
if curl --version > /dev/null 2>&1;then
|
||||
[ "$3" = "echooff" ] && progress='-s' || progress='-#'
|
||||
[ -z "$4" ] && redirect='-L' || redirect=''
|
||||
result=$(curl -w %{http_code} --connect-timeout 5 $progress $redirect -ko $1 $2)
|
||||
else
|
||||
if wget --version > /dev/null 2>&1;then
|
||||
[ "$3" = "echooff" ] && progress='-q' || progress='-q --show-progress'
|
||||
[ "$4" = "rediroff" ] && redirect='--max-redirect=0' || redirect=''
|
||||
certificate='--no-check-certificate'
|
||||
timeout='--timeout=3'
|
||||
fi
|
||||
[ "$3" = "echoon" ] && progress=''
|
||||
[ "$3" = "echooff" ] && progress='-q'
|
||||
wget $progress $redirect $certificate $timeout -O $1 $2
|
||||
[ $? -eq 0 ] && result="200"
|
||||
fi
|
||||
}
|
||||
#检查更新
|
||||
[ -z "$url" ] && url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash"
|
||||
#选择版本
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m请选择想要安装的版本:\033[0m"
|
||||
$echo " 1 \033[32mShellclash正式版\033[0m"
|
||||
$echo " 2 \033[31mShellclash测试版\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消
|
||||
exit;
|
||||
elif [ "$num" = "1" ];then
|
||||
webget /tmp/clashrelease $url/bin/release_version echoon rediroff 2>/tmp/clashrelease
|
||||
if [ "$result" = "200" ];then
|
||||
release_new=$(cat /tmp/clashrelease | head -1)
|
||||
url2="https://cdn.jsdelivr.net/gh/juewuy/ShellClash@$release_new"
|
||||
else
|
||||
echo "无法切换版本,尝试安装测试版!"
|
||||
fi
|
||||
fi
|
||||
[ -z "$url2" ] && url2=$url
|
||||
webget /tmp/clashversion "$url2/bin/version" echooff
|
||||
[ "$result" = "200" ] && versionsh=$(cat /tmp/clashversion | grep "versionsh" | awk -F "=" '{print $2}')
|
||||
[ -z "$release_new" ] && release_new=$versionsh
|
||||
rm -rf /tmp/clashversion
|
||||
rm -rf /tmp/clashrelease
|
||||
tarurl=$url2/bin/clashfm.tar.gz
|
||||
|
||||
gettar(){
|
||||
webget /tmp/clashfm.tar.gz $tarurl
|
||||
[ "$result" != "200" ] && echo "文件下载失败!" && exit 1
|
||||
#解压
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf '/tmp/clashfm.tar.gz' -C $clashdir/
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf /tmp/clashfm.tar.gz && exit 1
|
||||
#初始化文件目录
|
||||
[ -f "$clashdir/mark" ] || echo '#标识clash运行状态的文件,不明勿动!' > $clashdir/mark
|
||||
#判断系统类型写入不同的启动文件
|
||||
if [ -f /etc/rc.common ];then
|
||||
#设为init.d方式启动
|
||||
mv $clashdir/clashservice /etc/init.d/clash
|
||||
chmod 777 /etc/init.d/clash
|
||||
else
|
||||
[ -w /etc/systemd/system ] && sysdir=/etc/systemd/system
|
||||
[ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system
|
||||
if [ -n "$sysdir" ];then
|
||||
#设为systemd方式启动
|
||||
mv $clashdir/clash.service $sysdir/clash.service
|
||||
sed -i "s%/etc/clash%$clashdir%g" $sysdir/clash.service
|
||||
systemctl daemon-reload
|
||||
else
|
||||
#设为保守模式启动
|
||||
sed -i '/start_old=*/'d $clashdir/mark
|
||||
echo start_old=已开启 >> $clashdir/mark
|
||||
fi
|
||||
fi
|
||||
#修饰文件及版本号
|
||||
shtype=sh && [ -n "$(ls -l /bin/sh|grep -o dash)" ] && shtype=bash
|
||||
sed -i "s|/bin/sh|/bin/$shtype|" $clashdir/start.sh
|
||||
chmod 777 $clashdir/start.sh
|
||||
sed -i '/versionsh_l=*/'d $clashdir/mark
|
||||
echo versionsh_l=$release_new >> $clashdir/mark
|
||||
#设置更新地址
|
||||
sed -i '/update_url=*/'d $clashdir/mark
|
||||
echo update_url=$url >> $clashdir/mark
|
||||
#设置环境变量
|
||||
[ -w /opt/etc/profile ] && profile=/opt/etc/profile
|
||||
[ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add
|
||||
[ -w ~/.bashrc ] && profile=~/.bashrc
|
||||
[ -w /etc/profile ] && profile=/etc/profile
|
||||
if [ -n "$profile" ];then
|
||||
sed -i '/alias clash=*/'d $profile
|
||||
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> $profile #设置快捷命令环境变量
|
||||
sed -i '/export clashdir=*/'d $profile
|
||||
echo "export clashdir=\"$clashdir\"" >> $profile #设置clash路径环境变量
|
||||
else
|
||||
echo 无法写入环境变量!请检查安装权限!
|
||||
exit 1
|
||||
fi
|
||||
#华硕/Padavan额外设置
|
||||
[ -n "$systype" ] && sed -i '/ShellClash初始化/'d $initdir && echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir
|
||||
#删除临时文件
|
||||
rm -rf /tmp/clashfm.tar.gz
|
||||
rm -rf $clashdir/clashservice
|
||||
rm -rf $clashdir/clash.service
|
||||
}
|
||||
#下载及安装
|
||||
install(){
|
||||
echo -----------------------------------------------
|
||||
echo 开始从服务器获取安装文件!
|
||||
echo -----------------------------------------------
|
||||
gettar
|
||||
echo -----------------------------------------------
|
||||
echo ShellClash 已经安装成功!
|
||||
[ "$profile" = "~/.bashrc" ] && echo "请执行【source ~/.bashrc &> /dev/null】命令以加载环境变量!"
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m输入\033[30;47m clash \033[0;33m命令即可管理!!!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
}
|
||||
setdir(){
|
||||
if [ -n "$systype" ];then
|
||||
[ "$systype" = "Padavan" ] && dir=/etc/storage
|
||||
[ "$systype" = "asusrouter" ] && dir=/jffs
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[33m安装ShellClash至少需要预留约1MB的磁盘空间\033[0m"
|
||||
$echo " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)"
|
||||
$echo " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux设备)"
|
||||
$echo " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)"
|
||||
$echo " 4 手动设置安装目录"
|
||||
$echo " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
#设置目录
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消
|
||||
exit;
|
||||
elif [ "$num" = "1" ];then
|
||||
dir=/etc
|
||||
elif [ "$num" = "2" ];then
|
||||
dir=/usr/share
|
||||
elif [ "$num" = "3" ];then
|
||||
dir=~/.local/share
|
||||
mkdir -p ~/.config/systemd/user
|
||||
elif [ "$num" = "4" ];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
|
||||
else
|
||||
echo 安装已取消!!!
|
||||
exit;
|
||||
fi
|
||||
fi
|
||||
if [ ! -w $dir ];then
|
||||
$echo "\033[31m没有$dir目录写入权限!请重新设置!\033[0m" && sleep 1 && setdir
|
||||
else
|
||||
$echo "目标目录\033[32m$dir\033[0m空间剩余:$(df -h $dir | awk '{print $4}' | sed 1d )"
|
||||
read -p "确认安装?(1/0) > " res
|
||||
[ "$res" = "1" ] && clashdir=$dir/clash || setdir
|
||||
fi
|
||||
}
|
||||
|
||||
#输出
|
||||
$echo "最新版本:\033[32m$release_new\033[0m"
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[44m如遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
$echo "\033[37m支持各种基于openwrt的路由器设备"
|
||||
$echo "\033[33m支持Debian、Centos等标准Linux系统\033[0m"
|
||||
|
||||
if [ -n "$clashdir" ];then
|
||||
echo -----------------------------------------------
|
||||
$echo "检测到旧的安装目录\033[36m$clashdir\033[0m,是否覆盖安装?"
|
||||
$echo "\033[32m覆盖安装时不会移除配置文件!\033[0m"
|
||||
read -p "覆盖安装/卸载旧版本?(1/0) > " res
|
||||
if [ "$res" = "1" ];then
|
||||
install
|
||||
elif [ "$res" = "0" ];then
|
||||
rm -rf $clashdir
|
||||
echo -----------------------------------------------
|
||||
$echo "\033[31m 旧版本文件已卸载!\033[0m"
|
||||
setdir
|
||||
install
|
||||
elif [ "$res" = "9" ];then
|
||||
echo 测试模式,变更安装位置
|
||||
setdir
|
||||
install
|
||||
else
|
||||
$echo "\033[31m输入错误!已取消安装!\033[0m"
|
||||
exit;
|
||||
fi
|
||||
else
|
||||
setdir
|
||||
install
|
||||
fi
|
||||
43
rules/ShellClash.ini
Normal file
43
rules/ShellClash.ini
Normal file
@@ -0,0 +1,43 @@
|
||||
[custom]
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.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=Ⓜ️ 微软服务,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/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.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=🎯 全球直连,[]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
|
||||
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`[]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`(港|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
|
||||
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
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
48
rules/ShellClash_Block.ini
Normal file
48
rules/ShellClash_Block.ini
Normal file
@@ -0,0 +1,48 @@
|
||||
[custom]
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
|
||||
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list
|
||||
ruleset=🍃 应用净化,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list
|
||||
ruleset=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyList.list
|
||||
ruleset=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyListChina.list
|
||||
ruleset=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyPrivacy.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=Ⓜ️ 微软服务,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/ACL4SSR/ACL4SSR/master/Clash/ProxyMedia.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=🎯 全球直连,[]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`[]REJECT`[]DIRECT
|
||||
custom_proxy_group=🍃 应用净化`select`[]REJECT`[]DIRECT
|
||||
custom_proxy_group=🆎 增强拦截`select`[]DIRECT`[]REJECT
|
||||
custom_proxy_group=📲 电报消息`select`[]🚀 节点选择`[]♻️ 自动选择`[]📺 省流节点`[]🇸🇬 新加坡节点`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇯🇵 日韩节点`[]🇺🇲 美国节点`[]🚀 手动切换`[]DIRECT
|
||||
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`[]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`(港|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
|
||||
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
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
60
rules/ShellClash_Full.ini
Normal file
60
rules/ShellClash_Full.ini
Normal file
@@ -0,0 +1,60 @@
|
||||
[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/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`[]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=🇭🇰 香港节点`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
|
||||
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
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
65
rules/ShellClash_Full_Block.ini
Normal file
65
rules/ShellClash_Full_Block.ini
Normal file
@@ -0,0 +1,65 @@
|
||||
[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=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyList.list
|
||||
ruleset=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyListChina.list
|
||||
ruleset=🆎 增强拦截,rules/ACL4SSR/Clash/BanEasyPrivacy.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/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`[]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=🌏 国内媒体`select`[]DIRECT`[]🇭🇰 香港节点`[]🇨🇳 台湾节点`[]🇸🇬 新加坡节点`[]🇯🇵 日韩节点`[]🚀 手动切换
|
||||
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=🇭🇰 香港节点`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
|
||||
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
|
||||
|
||||
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
28
rules/ShellClash_Mini.ini
Normal file
28
rules/ShellClash_Mini.ini
Normal file
@@ -0,0 +1,28 @@
|
||||
[custom]
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/GoogleCN.list
|
||||
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanAD.list
|
||||
ruleset=🛑 广告拦截,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/BanProgramAD.list
|
||||
ruleset=🎥 奈飞解锁,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/Ruleset/Netflix.list
|
||||
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/ACL4SSR/ACL4SSR/master/Clash/ChinaDomain.list
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/ChinaCompanyIp.list
|
||||
ruleset=🎯 全球直连,[]GEOIP,CN
|
||||
ruleset=🐟 漏网之鱼,[]FINAL
|
||||
|
||||
custom_proxy_group=🚀 节点选择`select`[]🔯 故障转移`[]♻️ 自动选择`[]📺 省流节点`[]👍 高级节点`.*
|
||||
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
|
||||
custom_proxy_group=🔯 故障转移首选`select`.*
|
||||
custom_proxy_group=🔯 故障转移`fallback`[]🔯 故障转移首选`[]👍 高级节点`[]♻️ 自动选择`http://www.gstatic.com/generate_204`180
|
||||
custom_proxy_group=🛑 广告拦截`select`[]DIRECT`[]REJECT
|
||||
custom_proxy_group=🎥 奈飞解锁`select`[]🎥 流媒体解锁`[]👍 高级节点`[]🔯 故障转移`[]🚀 节点选择
|
||||
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
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
16
rules/ShellClash_Nano.ini
Normal file
16
rules/ShellClash_Nano.ini
Normal file
@@ -0,0 +1,16 @@
|
||||
[custom]
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/LocalAreaNetwork.list
|
||||
ruleset=🎯 全球直连,https://raw.githubusercontent.com/ACL4SSR/ACL4SSR/master/Clash/GoogleCN.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=🎯 全球直连,[]GEOIP,CN
|
||||
ruleset=🐟 漏网之鱼,[]FINAL
|
||||
|
||||
custom_proxy_group=🚀 节点选择`select`[]♻️ 自动选择`select`.*
|
||||
custom_proxy_group=♻️ 自动选择`url-test`.*`http://www.gstatic.com/generate_204`300,,50
|
||||
custom_proxy_group=🎯 全球直连`select`[]DIRECT`[]🚀 节点选择`[]♻️ 自动选择
|
||||
custom_proxy_group=🐟 漏网之鱼`select`[]🚀 节点选择`[]♻️ 自动选择`[]DIRECT
|
||||
|
||||
enable_rule_generator=true
|
||||
overwrite_original_rules=true
|
||||
@@ -5,11 +5,12 @@ After=network.target
|
||||
[Service]
|
||||
Type=simple
|
||||
User=root
|
||||
ExecStart=/etc/clash/clash -d /etc/clash
|
||||
ExecStart=/etc/clash/clash -d /etc/clash >/dev/null
|
||||
ExecStartPost=/etc/clash/start.sh afstart
|
||||
Restart=on-failure
|
||||
RestartSec=3s
|
||||
LimitNOFILE=999999
|
||||
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
WantedBy=multi-user.target
|
||||
|
||||
1191
scripts/clash.sh
1191
scripts/clash.sh
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=101
|
||||
START=99
|
||||
|
||||
SERVICE_DAEMONIZE=1
|
||||
SERVICE_WRITE_PID=1
|
||||
@@ -14,28 +14,32 @@ BINDIR=$(cat $DIR/mark | grep bindir | awk -F "=" '{print $2}')
|
||||
start_service() {
|
||||
#检测必须文件
|
||||
$DIR/start.sh bfstart
|
||||
#使用procd创建clash后台进程
|
||||
procd_open_instance
|
||||
procd_set_param respawn
|
||||
procd_set_param stderr 1
|
||||
procd_set_param stdout 1
|
||||
procd_set_param command $BINDIR/clash -d $BINDIR
|
||||
procd_close_instance
|
||||
#其他设置
|
||||
$DIR/start.sh afstart
|
||||
if [ "$?" = "0" ];then
|
||||
#使用procd创建clash后台进程
|
||||
procd_open_instance
|
||||
procd_set_param respawn
|
||||
procd_set_param stderr 0
|
||||
procd_set_param stdout 0
|
||||
procd_set_param command $BINDIR/clash -d $BINDIR
|
||||
procd_close_instance
|
||||
#其他设置
|
||||
$DIR/start.sh afstart
|
||||
fi
|
||||
}
|
||||
|
||||
start() {
|
||||
if [ -z "$(pidof procd)" ];then
|
||||
#检测必须文件
|
||||
$DIR/start.sh bfstart
|
||||
#创建后台进程
|
||||
service_start $BINDIR/clash -d $BINDIR
|
||||
#其他设置
|
||||
$DIR/start.sh afstart
|
||||
#设置守护进程
|
||||
$DIR/start.sh deamon
|
||||
if [ "$?" = "0" ];then
|
||||
#创建后台进程
|
||||
service_start $BINDIR/clash -d $BINDIR
|
||||
#其他设置
|
||||
$DIR/start.sh afstart
|
||||
#设置守护进程
|
||||
$DIR/start.sh deamon
|
||||
fi
|
||||
else
|
||||
start_service
|
||||
fi
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,27 +1,26 @@
|
||||
#!/bin/bash
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
error_down(){
|
||||
echo -e "\033[33m请尝试切换至其他安装源后重新下载!\033[0m"
|
||||
sleep 1
|
||||
setserver
|
||||
}
|
||||
#导入订阅、配置文件相关
|
||||
linkconfig(){
|
||||
echo -----------------------------------------------
|
||||
echo 当前使用规则为:$rule_link
|
||||
echo 1 ACL4SSR通用版无去广告(推荐)
|
||||
echo 2 ACL4SSR精简全能版(推荐)
|
||||
echo 3 ACL4SSR通用版+去广告加强
|
||||
echo 4 ACL4SSR精简版+去广告加强
|
||||
echo 5 ACL4SSR重度全分组+奈飞分流
|
||||
echo 6 ACL4SSR重度全分组+去广告加强
|
||||
echo 7 洞主规则精简版(推荐)
|
||||
echo 8 洞主规则重度完整版
|
||||
echo 9 神机规则高级版
|
||||
echo 10 神机规则-回国专用
|
||||
echo 11 李哥规则-墙洞专用
|
||||
echo 12 基础规则-仅Geoip CN+Final
|
||||
echo 13 网易云解锁-仅规则分组
|
||||
echo 14 ACL4SSR重度全分组+谷歌优化
|
||||
echo 15 ACL4SSR通用版+LM-Firefly游戏规则
|
||||
echo 16 ACL4SSR精简版+LM-Firefly游戏规则
|
||||
echo 17 ACL4SSR重度+LM-Firefly游戏规则
|
||||
echo " 1 Acl4SSR全能优化版(推荐)"
|
||||
echo " 2 Acl4SSR精简优化版(推荐)"
|
||||
echo " 3 Acl4SSR全能优化+去广告增强"
|
||||
echo " 4 Acl4SSR极简版(适合自建节点)"
|
||||
echo " 5 Acl4SSR分流&游戏增强"
|
||||
echo " 6 Acl4SSR分流&游戏&去广告增强(低性能设备慎用)"
|
||||
echo " 7 洞主规则精简版(推荐)"
|
||||
echo " 8 洞主规则重度完整版"
|
||||
echo " 9 神机规则高级版"
|
||||
echo " 10 神机规则-回国专用"
|
||||
echo " 11 李哥规则-墙洞专用"
|
||||
echo -----------------------------------------------
|
||||
echo 0 返回上级菜单
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -40,12 +39,13 @@ linkconfig(){
|
||||
linkserver(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[36m以下为互联网采集的第三方服务器,具体安全性请自行斟酌!\033[0m"
|
||||
echo -e "\033[32m感谢以下作者的无私奉献!!!\033[0m"
|
||||
echo 当前使用后端为:$server_link
|
||||
echo 1 subcon.dlj.tf
|
||||
echo 2 api.dler.io
|
||||
echo 3 api.wcc.best
|
||||
echo 4 api2.tsutsu.cc
|
||||
echo 5 api.v1.mk
|
||||
echo 1 api.dler.io (墙洞提供)
|
||||
echo 2 api.v1.mk (肥羊提供,支持vless)
|
||||
echo 3 sub.xeton.dev (SUB作者提供)
|
||||
echo 4 v.id9.cc (品云提供,支持vless)
|
||||
echo 5 sub.maoxiongnet.com (猫熊提供)
|
||||
echo -----------------------------------------------
|
||||
echo 0 返回上级菜单
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -64,7 +64,6 @@ linkserver(){
|
||||
linkfilter(){
|
||||
[ -z "$exclude" ] && exclude="未设置"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
echo -e "\033[33m当前过滤关键字:\033[47;30m$exclude\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m匹配关键字的节点会在导入时被【屏蔽】!!!\033[0m"
|
||||
@@ -85,7 +84,6 @@ linkfilter(){
|
||||
linkfilter2(){
|
||||
[ -z "$include" ] && include="未设置"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[44m 实验性功能,遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
echo -e "\033[33m当前筛选关键字:\033[47;30m$include\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m仅有匹配关键字的节点才会被【导入】!!!\033[0m"
|
||||
@@ -114,12 +112,14 @@ getyaml(){
|
||||
fi
|
||||
}
|
||||
getlink(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[30;47m 欢迎使用在线生成配置文件功能!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
#设置输入循环
|
||||
i=1
|
||||
while [ $i -le 99 ]
|
||||
do
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[44m 遇问题请加TG群反馈:\033[42;30m t.me/clashfm \033[0m"
|
||||
echo -e "\033[33m本功能依赖第三方在线subconverter服务实现,脚本本身不提供任何代理服务!\033[0m"
|
||||
echo -e "\033[31m严禁使用本脚本从事任何非法活动,否则一切后果请自负!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
@@ -134,6 +134,7 @@ getlink(){
|
||||
echo -----------------------------------------------
|
||||
read -p "请直接输入第${i}个链接或对应数字选项 > " link
|
||||
test=$(echo $link | grep "://")
|
||||
link=`echo ${link/\#*/''}` #删除链接附带的注释内容
|
||||
link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容
|
||||
link=`echo ${link/*\&url\=/""}` #将clash完整链接还原成单一链接
|
||||
link=`echo ${link/\&config\=*/""}` #将clash完整链接还原成单一链接
|
||||
@@ -150,9 +151,8 @@ getlink(){
|
||||
if [ -n "$Url_link" ];then
|
||||
i=100
|
||||
#将用户链接写入mark
|
||||
sed -i '/Https=*/'d $ccfg
|
||||
setconfig Https
|
||||
setconfig Url \'$Url_link\'
|
||||
Https=""
|
||||
#获取在线yaml文件
|
||||
getyaml
|
||||
else
|
||||
@@ -186,15 +186,19 @@ getlink(){
|
||||
}
|
||||
getlink2(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m仅限导入完整clash配置文件链接!!!\033[0m"
|
||||
echo -e "可使用\033[4;32mhttps://acl4ssr.netlify.app\033[0m在线生成配置文件"
|
||||
echo -e "\033[32m仅限导入完整clash配置文件链接!!!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m有流媒体需求,请使用\033[32m6-1在线生成配置文件功能!!!\033[0m"
|
||||
echo -e "\033[33m如不了解机制,请使用\033[32m6-1在线生成配置文件功能!!!\033[0m"
|
||||
echo -e "\033[33m如遇任何问题,请使用\033[32m6-1在线生成配置文件功能!!!\033[0m"
|
||||
echo -e "\033[31m此功能可能会导致部分节点无法连接或者规则覆盖不完整!!!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m0 返回上级菜单\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入完整链接 > " link
|
||||
test=$(echo $link | grep -iE "tp.*://" )
|
||||
link=`echo ${link/\ \(*\)/''}` #删除恶心的超链接内容
|
||||
link=`echo ${link//\&/\%26}` #将分隔符 & 替换成urlcode:%26
|
||||
link=`echo ${link//\&/\\\&}` #处理分隔符
|
||||
if [ -n "$link" -a -n "$test" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e 请检查输入的链接是否正确:
|
||||
@@ -255,7 +259,25 @@ clashlink(){
|
||||
getlink
|
||||
|
||||
elif [ "$num" = 2 ];then
|
||||
getlink2
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m此功能可能会导致严重bug!!!\033[0m"
|
||||
sleep 1
|
||||
echo -----------------------------------------------
|
||||
echo -e "强烈建议你使用\033[32m在线生成配置文件功能!\033[0m"
|
||||
sleep 1
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m继续后如出现任何问题,请务必自行解决,一切提问恕不受理!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
sleep 2
|
||||
read -p "我确认遇到问题可以自行解决[1/0] > " res
|
||||
if [ "$res" = '1' ]; then
|
||||
getlink2
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m正在跳转……\033[0m"
|
||||
sleep 1
|
||||
getlink
|
||||
fi
|
||||
|
||||
elif [ "$num" = 3 ];then
|
||||
yamlbak=$yaml.bak
|
||||
@@ -307,65 +329,32 @@ clashlink(){
|
||||
#下载更新相关
|
||||
gettar(){
|
||||
$clashdir/start.sh webget /tmp/clashfm.tar.gz $tarurl
|
||||
[ "$?" = "1" ] && echo "文件下载失败!" && exit 1
|
||||
#解压
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf '/tmp/clashfm.tar.gz' -C $clashdir/
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf /tmp/clashfm.tar.gz && exit 1
|
||||
#初始化文件目录
|
||||
[ -f "$clashdir/mark" ] || echo '#标识clash运行状态的文件,不明勿动!' > $clashdir/mark
|
||||
#判断系统类型写入不同的启动文件
|
||||
if [ -f /etc/rc.common ];then
|
||||
#设为init.d方式启动
|
||||
mv $clashdir/clashservice /etc/init.d/clash
|
||||
chmod 777 /etc/init.d/clash
|
||||
if [ "$?" != "0" ];then
|
||||
echo -e "\033[33m文件下载失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
[ -w /etc/systemd/system ] && sysdir=/etc/systemd/system
|
||||
[ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system
|
||||
if [ -n "$sysdir" ];then
|
||||
#设为systemd方式启动
|
||||
mv $clashdir/clash.service $sysdir/clash.service
|
||||
sed -i "s%/etc/clash%$clashdir%g" $sysdir/clash.service
|
||||
systemctl daemon-reload
|
||||
$clashdir/start.sh stop 2>/dev/null
|
||||
#解压
|
||||
echo -----------------------------------------------
|
||||
echo 开始解压文件!
|
||||
mkdir -p $clashdir > /dev/null
|
||||
tar -zxvf '/tmp/clashfm.tar.gz' -C $clashdir/
|
||||
if [ $? -ne 0 ];then
|
||||
rm -rf /tmp/clashfm.tar.gz
|
||||
echo -e "\033[33m文件解压失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
#设为保守模式启动
|
||||
sed -i '/start_old=*/'d $clashdir/mark
|
||||
echo start_old=已开启 >> $clashdir/mark
|
||||
fi
|
||||
source $clashdir/init.sh >/dev/null
|
||||
echo -e "\033[32m脚本更新成功!\033[0m"
|
||||
fi
|
||||
fi
|
||||
#修饰文件及版本号
|
||||
shtype=sh && [ -n "$(ls -l /bin/sh|grep -o dash)" ] && shtype=bash
|
||||
sed -i "s|/bin/sh|/bin/$shtype|" $clashdir/start.sh
|
||||
chmod 777 $clashdir/start.sh
|
||||
sed -i '/versionsh_l=*/'d $clashdir/mark
|
||||
echo versionsh_l=$release_new >> $clashdir/mark
|
||||
#设置环境变量
|
||||
[ -w /opt/etc/profile ] && profile=/opt/etc/profile
|
||||
[ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add
|
||||
[ -w ~/.bashrc ] && profile=~/.bashrc
|
||||
[ -w /etc/profile ] && profile=/etc/profile
|
||||
if [ -n "$profile" ];then
|
||||
sed -i '/alias clash=*/'d $profile
|
||||
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> $profile #设置快捷命令环境变量
|
||||
sed -i '/export clashdir=*/'d $profile
|
||||
echo "export clashdir=\"$clashdir\"" >> $profile #设置clash路径环境变量
|
||||
else
|
||||
echo 无法写入环境变量!请检查安装权限!
|
||||
exit 1
|
||||
fi
|
||||
#华硕/Padavan额外设置
|
||||
[ -n "$systype" ] && sed -i '/ShellClash初始化/'d $initdir && echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir
|
||||
#删除临时文件
|
||||
rm -rf /tmp/clashfm.tar.gz
|
||||
rm -rf $clashdir/clashservice
|
||||
rm -rf $clashdir/clash.service
|
||||
exit
|
||||
}
|
||||
getsh(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "当前脚本版本为:\033[33m $versionsh_l \033[0m"
|
||||
echo -e "最新脚本版本为:\033[32m $release_new \033[0m"
|
||||
echo -e "注意更新时会停止clash服务!"
|
||||
echo -----------------------------------------------
|
||||
read -p "是否更新脚本?[1/0] > " res
|
||||
if [ "$res" = '1' ]; then
|
||||
@@ -379,10 +368,11 @@ getsh(){
|
||||
exit;
|
||||
fi
|
||||
}
|
||||
|
||||
getcpucore(){
|
||||
cputype=$(uname -ms | tr ' ' '_' | tr '[A-Z]' '[a-z]')
|
||||
[ -n "$(echo $cputype | grep -E "linux.*armv.*")" ] && cpucore="armv5"
|
||||
[ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && cpucore="armv7"
|
||||
[ -n "$(echo $cputype | grep -E "linux.*armv7.*")" ] && [ -n "$(cat /proc/cpuinfo | grep vfp)" ] && [ ! -d /jffs/clash ] && cpucore="armv7"
|
||||
[ -n "$(echo $cputype | grep -E "linux.*aarch64.*|linux.*armv8.*")" ] && cpucore="armv8"
|
||||
[ -n "$(echo $cputype | grep -E "linux.*86.*")" ] && cpucore="386"
|
||||
[ -n "$(echo $cputype | grep -E "linux.*86_64.*")" ] && cpucore="amd64"
|
||||
@@ -398,8 +388,7 @@ setcpucore(){
|
||||
echo -e "\033[31m仅适合脚本无法正确识别核心或核心无法正常运行时使用!\033[0m"
|
||||
echo -e "当前可供在线下载的处理器架构为:"
|
||||
echo $cpucore_list | awk -F " " '{for(i=1;i<=NF;i++) {print i" "$i }}'
|
||||
echo -e "如果您的CPU架构未在以上列表中,请运行【uname -a】命令,并复制好返回信息"
|
||||
echo -e "之后前往 t.me/clashfm 群提交或 github.com/juewuy/ShellClash 提交issue"
|
||||
echo -e "不知道如何获取核心版本?请参考:\033[36;4mhttps://juewuy.github.io/bdaz\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
setcpucore=$(echo $cpucore_list | awk '{print $"'"$num"'"}' )
|
||||
@@ -423,12 +412,22 @@ getcore(){
|
||||
$clashdir/start.sh webget /tmp/clash.new $corelink
|
||||
if [ "$?" = "1" ];then
|
||||
echo -e "\033[31m核心文件下载失败!\033[0m"
|
||||
rm -rf /tmp/clash.new
|
||||
error_down
|
||||
else
|
||||
echo -e "\033[32m$clashcore核心下载成功!\033[0m"
|
||||
mv -f /tmp/clash.new $bindir/clash
|
||||
chmod 777 $bindir/clash #授予权限
|
||||
setconfig clashcore $clashcore
|
||||
setconfig clashv $version
|
||||
chmod +x /tmp/clash.new
|
||||
clashv=$(/tmp/clash.new -v 2>/dev/null | sed 's/ linux.*//;s/.* //')
|
||||
if [ -z "$clashv" ];then
|
||||
echo -e "\033[31m核心文件下载成功但校验失败!请尝试手动指定CPU版本\033[0m"
|
||||
rm -rf /tmp/clash.new
|
||||
setcpucore
|
||||
else
|
||||
echo -e "\033[32m$clashcore核心下载成功!\033[0m"
|
||||
mv -f /tmp/clash.new $bindir/clash
|
||||
chmod +x $bindir/clash
|
||||
setconfig clashcore $clashcore
|
||||
setconfig clashv $version
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setcore(){
|
||||
@@ -437,17 +436,23 @@ setcore(){
|
||||
###
|
||||
echo -----------------------------------------------
|
||||
[ -z "$cpucore" ] && getcpucore
|
||||
echo -e "当前clash核心:\033[47;30m $clashcore \033[46;30m$clashv\033[0m"
|
||||
echo -e "当前clash核心:\033[42;30m $clashcore \033[47;30m$clashv\033[0m"
|
||||
echo -e "当前系统处理器架构:\033[32m $cpucore \033[0m"
|
||||
echo -e "\033[33m请选择需要使用的核心版本!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo "1 clash: 稳定,内存占用小,推荐!"
|
||||
echo "(官方正式版) 不支持Tun模式、混合模式"
|
||||
echo -e "1 \033[43;30m Clash \033[0m: \033[32m占用低\033[0m"
|
||||
echo -e " (官方基础版) \033[33m不支持Tun、Rule-set等\033[0m"
|
||||
echo -e " 说明文档: \033[36;4mhttps://lancellc.gitbook.io\033[0m"
|
||||
echo
|
||||
echo "2 clashpre: 支持Tun模式、混合模式"
|
||||
echo "(高级预览版) 内存占用更高"
|
||||
echo -e "2 \033[43;30m Clashpre \033[0m: \033[32m支持Tun、Rule-set、域名嗅探\033[0m"
|
||||
echo -e " (官方高级版) \033[33m不支持vless、hy协议\033[0m"
|
||||
echo -e " 说明文档: \033[36;4mhttps://lancellc.gitbook.io\033[0m"
|
||||
echo
|
||||
echo "3 手动指定处理器架构"
|
||||
echo -e "3 \033[43;30mClash.Meta\033[0m: \033[32m多功能,支持最全面\033[0m"
|
||||
echo -e " (Meta定制版) \033[33m第三方定制内核\033[0m"
|
||||
echo -e " 说明文档: \033[36;4mhttps://docs.metacubex.one\033[0m"
|
||||
echo
|
||||
echo "5 手动指定处理器架构"
|
||||
echo -----------------------------------------------
|
||||
echo 0 返回上级菜单
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -464,6 +469,10 @@ setcore(){
|
||||
version=$clashpre_v
|
||||
getcore
|
||||
elif [ "$num" = 3 ]; then
|
||||
clashcore=clash.meta
|
||||
version=$meta_v
|
||||
getcore
|
||||
elif [ "$num" = 5 ]; then
|
||||
setcpucore
|
||||
setcore
|
||||
else
|
||||
@@ -471,6 +480,7 @@ setcore(){
|
||||
update
|
||||
fi
|
||||
}
|
||||
|
||||
getgeo(){
|
||||
echo -----------------------------------------------
|
||||
echo 正在从服务器获取数据库文件…………
|
||||
@@ -478,25 +488,30 @@ getgeo(){
|
||||
if [ "$?" = "1" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
exit 1
|
||||
error_down
|
||||
else
|
||||
mv -f /tmp/$geoname $bindir/$geoname
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32mGeoIP/CN_IP数据库文件下载成功!\033[0m"
|
||||
Geo_v=$GeoIP_v
|
||||
setconfig Geo_v $GeoIP_v
|
||||
setconfig geotype $geotype
|
||||
if [ "$geoname" = "Country.mmdb" ];then
|
||||
geotype=$geotype
|
||||
setconfig geotype $geotype
|
||||
fi
|
||||
fi
|
||||
}
|
||||
setgeo(){
|
||||
echo -----------------------------------------------
|
||||
[ "$geotype" = "Country.mmdb" ] && geo_type=全球版 || geo_type=精简版
|
||||
[ -n "$geo_type" ] && echo -e "当前使用的是\033[47;30m$geo_type数据库\033[0m"
|
||||
[ "$geotype" = "cn_mini.mmdb" ] && echo -e "当前使用的是\033[47;30m精简版数据库\033[0m" || echo -e "当前使用的是\033[47;30m全球版数据库\033[0m"
|
||||
echo -e "\033[36m请选择需要更新/切换的GeoIP/CN_IP数据库:\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 由\033[32malecthw\033[0m提供的全球版GeoIP数据库(约4mb)"
|
||||
echo -e " 2 由\033[32mHackl0us\033[0m提供的精简版CN-IP数据库(约0.1mb)"
|
||||
echo -e " 3 由\033[32m17mon\033[0m提供的CN-IP文件(需启用CN_IP绕过内核功能,约0.1mb)"
|
||||
echo -e " 1 由\033[32malecthw\033[0m提供的全球版GeoIP数据库(约6mb)"
|
||||
echo -e " 2 由\033[32mHackl0us\033[0m提供的精简版CN-IP数据库(约0.2mb)"
|
||||
echo -e " 3 由\033[32m17mon\033[0m提供的CN-IP文件(需启用CN_IP绕过,约0.2mb)"
|
||||
echo -e " 4 由\033[32mChanthMiao\033[0m提供的CN-IPV6文件(需ipv6启用CN_IP绕过,约50kb)"
|
||||
[ "$clashcore" = "clash.meta" ] && \
|
||||
echo -e " 5 由\033[32mLoyalsoldier\033[0m提供的GeoSite数据库(限Meta内核,约4.5mb)"
|
||||
echo " 0 返回上级菜单"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -518,13 +533,28 @@ setgeo(){
|
||||
echo -e "\033[31m未开启绕过内核功能,无需更新CN-IP文件!!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
elif [ "$num" = '4' ]; then
|
||||
if [ "$cn_ipv6_route" = "已开启" -a "$ipv6_redir" = "已开启" ]; then
|
||||
geotype=china_ipv6_list.txt
|
||||
geoname=cn_ipv6.txt
|
||||
getgeo
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m未开启ipv6下CN绕过功能,无需更新CN-IPV6文件!!\033[0m"
|
||||
sleep 1
|
||||
fi
|
||||
elif [ "$num" = '5' ]; then
|
||||
geotype=geosite.dat
|
||||
geoname=GeoSite.dat
|
||||
getgeo
|
||||
else
|
||||
update
|
||||
fi
|
||||
}
|
||||
|
||||
getdb(){
|
||||
#下载及安装
|
||||
if [ -d /www/clash -o -d $clashdir/ui ];then
|
||||
if [ -f /www/clash/index.html -o -f $clashdir/ui/index.html ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m检测到您已经安装过本地面板了!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
@@ -532,6 +562,7 @@ getdb(){
|
||||
if [ "$res" = 1 ]; then
|
||||
rm -rf /www/clash
|
||||
rm -rf $clashdir/ui
|
||||
rm -rf $bindir/ui
|
||||
fi
|
||||
fi
|
||||
dblink="${update_url}/bin/${db_type}.tar.gz"
|
||||
@@ -542,6 +573,7 @@ getdb(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
error_down
|
||||
setdb
|
||||
else
|
||||
echo -e "\033[33m下载成功,正在解压文件!\033[0m"
|
||||
@@ -552,20 +584,17 @@ getdb(){
|
||||
[ $? -ne 0 ] && echo "文件解压失败!" && rm -rf /tmp/clashfm.tar.gz && exit 1
|
||||
fi
|
||||
#修改默认host和端口
|
||||
if [ "$db_type" = "clashdb" ];then
|
||||
if [ "$db_type" = "clashdb" -o "$db_type" = "meta_db" ];then
|
||||
sed -i "s/127.0.0.1/${host}/g" $dbdir/assets/*.js
|
||||
sed -i "s/9090/${db_port}/g" $dbdir/assets/*.js
|
||||
else
|
||||
sed -i "s/127.0.0.1:9090/${host}:${db_port}/g" $dbdir/*.html
|
||||
#sed -i "s/7892/${db_port}/g" $dbdir/app*.js
|
||||
fi
|
||||
#如果clash在运行则重启clash服务
|
||||
[ "$dbdir" != "/www/clash" ] && [ -n "$PID" ] && $clashdir/start.sh restart
|
||||
#写入配置文件
|
||||
setconfig hostdir \'$hostdir\'
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m面板安装成功!\033[0m"
|
||||
echo -e "\033[36m请使用\033[32;4mhttp://$host$hostdir\033[0;36m访问面板\033[0m"
|
||||
rm -rf /tmp/clashdb.tar.gz
|
||||
sleep 1
|
||||
fi
|
||||
@@ -604,8 +633,10 @@ setdb(){
|
||||
echo -e "请选择面板\033[33m安装类型:\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 安装\033[32m官方面板\033[0m(约500kb)"
|
||||
echo -e " 2 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
||||
echo -e " 3 卸载\033[33m本地面板\033[0m"
|
||||
echo -e " 2 安装\033[32mMeta面板\033[0m(约800kb)"
|
||||
echo -e " 3 安装\033[32mYacd面板\033[0m(约1.1mb)"
|
||||
echo -e " 4 安装\033[32mYacd-Meta魔改面板\033[0m(约1.5mb)"
|
||||
echo -e " 5 卸载\033[33m本地面板\033[0m"
|
||||
echo " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
|
||||
@@ -614,14 +645,23 @@ setdb(){
|
||||
dbdir
|
||||
getdb
|
||||
elif [ "$num" = '2' ]; then
|
||||
db_type=yacd
|
||||
db_type=meta_db
|
||||
dbdir
|
||||
getdb
|
||||
elif [ "$num" = '3' ]; then
|
||||
db_type=yacd
|
||||
dbdir
|
||||
getdb
|
||||
elif [ "$num" = '4' ]; then
|
||||
db_type=meta_yacd
|
||||
dbdir
|
||||
getdb
|
||||
elif [ "$num" = '5' ]; then
|
||||
read -p "确认卸载本地面板?(1/0) > " res
|
||||
if [ "$res" = 1 ];then
|
||||
rm -rf /www/clash
|
||||
rm -rf $clashdir/ui
|
||||
rm -rf $bindir/ui
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m面板已经卸载!\033[0m"
|
||||
sleep 1
|
||||
@@ -630,6 +670,7 @@ setdb(){
|
||||
errornum
|
||||
fi
|
||||
}
|
||||
|
||||
getcrt(){
|
||||
crtlink="${update_url}/bin/ca-certificates.crt"
|
||||
echo -----------------------------------------------
|
||||
@@ -638,6 +679,7 @@ getcrt(){
|
||||
if [ "$?" = "1" ];then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m文件下载失败!\033[0m"
|
||||
error_down
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
mv -f /tmp/ca-certificates.crt $crtdir
|
||||
@@ -653,6 +695,7 @@ getcrt(){
|
||||
}
|
||||
setcrt(){
|
||||
openssldir=$(openssl version -a 2>&1 | grep OPENSSLDIR | awk -F "\"" '{print $2}')
|
||||
[ -z "$openssldir" ] && openssldir=/etc/ssl
|
||||
if [ -n "$openssldir" ];then
|
||||
crtdir="$openssldir/certs/ca-certificates.crt"
|
||||
echo -----------------------------------------------
|
||||
@@ -678,10 +721,12 @@ setcrt(){
|
||||
sleep 1
|
||||
fi
|
||||
}
|
||||
#安装源
|
||||
setserver(){
|
||||
saveserver(){
|
||||
#写入mark文件
|
||||
setconfig update_url \'$update_url\'
|
||||
setconfig release_url \'$release_url\'
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m源地址更新成功!\033[0m"
|
||||
release_new=""
|
||||
@@ -690,29 +735,45 @@ setserver(){
|
||||
echo -e "\033[30;47m切换ShellClash版本及更新源地址\033[0m"
|
||||
echo -e "当前源地址:\033[4;32m$update_url\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 \033[32m正式版\033[0m&Jsdelivr-CDN源(推荐)"
|
||||
echo -e " 2 \033[36m测试版\033[0m&Jsdelivr-CDN源"
|
||||
echo -e " 3 \033[36m测试版\033[0m&Github源(需开启clash服务)"
|
||||
[ -z "$(curl -V 2>/dev/null)" ] && [ -n "$(wget -V 2>&1 | grep BusyBox)" ] && echo -e " 4 \033[33mHttp专用源\033[0m@Qust.me(感谢\033[32m酱紫表\033[0m提供及维护)"
|
||||
echo -e " 5 自定义源地址(用于本地源或自建源)"
|
||||
echo -e " 6 \033[31m版本回退\033[0m"
|
||||
echo -e " 1 \033[33m稳定版\033[0m&Jsdelivr-CDN源"
|
||||
echo -e " 2 \033[33m稳定版\033[0m&Github源(须clash服务启用)"
|
||||
echo -e " 3 \033[32m公测版\033[0m&Github源(须clash服务启用)"
|
||||
echo -e " 4 \033[32m公测版\033[0m&ShellClash私人源"
|
||||
echo -e " 5 \033[32m公测版\033[0m&Jsdelivr-CDN源(推荐)"
|
||||
echo -e " 7 \033[31m内测版\033[0m(请加TG讨论组:\033[4;36mhttps://t.me/ShellClash\033[0m)"
|
||||
echo -e " 8 自定义源地址(用于本地源或自建源)"
|
||||
echo -e " 9 \033[31m版本回退\033[0m"
|
||||
echo -e " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" ]; then
|
||||
errornum
|
||||
elif [ "$num" = 1 ]; then
|
||||
update_url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash'
|
||||
release_url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash'
|
||||
saveserver
|
||||
elif [ "$num" = 2 ]; then
|
||||
update_url='https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master'
|
||||
release_url='https://raw.githubusercontent.com/juewuy/ShellClash'
|
||||
saveserver
|
||||
elif [ "$num" = 3 ]; then
|
||||
update_url='https://raw.githubusercontent.com/juewuy/ShellClash/master'
|
||||
release_url=''
|
||||
saveserver
|
||||
elif [ "$num" = 4 ]; then
|
||||
update_url='http://sc.qust.me'
|
||||
update_url='https://gh.jwsc.eu.org/master'
|
||||
release_url=''
|
||||
saveserver
|
||||
elif [ "$num" = 5 ]; then
|
||||
update_url='https://fastly.jsdelivr.net/gh/juewuy/ShellClash@master'
|
||||
release_url=''
|
||||
saveserver
|
||||
elif [ "$num" = 6 ]; then
|
||||
update_url='https://raw.staticdn.net/juewuy/ShellClash/master'
|
||||
release_url=''
|
||||
saveserver
|
||||
elif [ "$num" = 7 ]; then
|
||||
update_url='http://t.jwsc.eu.org'
|
||||
release_url=''
|
||||
saveserver
|
||||
elif [ "$num" = 8 ]; then
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入个人源路径 > " update_url
|
||||
if [ -z "$update_url" ];then
|
||||
@@ -720,41 +781,55 @@ setserver(){
|
||||
echo -e "\033[31m取消输入,返回上级菜单\033[0m"
|
||||
else
|
||||
saveserver
|
||||
release_url=''
|
||||
fi
|
||||
elif [ "$num" = 6 ]; then
|
||||
elif [ "$num" = 9 ]; then
|
||||
echo -----------------------------------------------
|
||||
$clashdir/start.sh webget /tmp/clashrelease https://cdn.jsdelivr.net/gh/juewuy/ShellClash@master/bin/release_version echooff rediroff 2>/tmp/clashrelease
|
||||
echo -e "\033[33m如无法连接,请务必先启用clash服务!!!\033[0m"
|
||||
$clashdir/start.sh webget /tmp/clashrelease https://raw.githubusercontent.com/juewuy/ShellClash/master/bin/release_version echooff rediroff 2>/tmp/clashrelease
|
||||
echo -e "\033[31m请选择想要回退至的release版本:\033[0m"
|
||||
cat /tmp/clashrelease | awk '{print " "NR" "$1}'
|
||||
echo -e " 0 返回上级菜单"
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
setserver
|
||||
elif [ $num -le $(cat /tmp/clashrelease | awk 'END{print NR}') 2>/dev/null ]; then
|
||||
elif [ $num -le $(cat /tmp/clashrelease 2>/dev/null | awk 'END{print NR}') ]; then
|
||||
release_version=$(cat /tmp/clashrelease | awk '{print $1}' | sed -n "$num"p)
|
||||
update_url="https://cdn.jsdelivr.net/gh/juewuy/ShellClash@$release_version"
|
||||
update_url="https://raw.githubusercontent.com/juewuy/ShellClash/$release_version"
|
||||
saveserver
|
||||
release_url=''
|
||||
else
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[31m输入有误,请重新输入!\033[0m"
|
||||
fi
|
||||
|
||||
elif [ "$num" = 9 ]; then
|
||||
update_url='http://192.168.123.90:8080/ShellClash'
|
||||
rm -rf /tmp/clashrelease
|
||||
else
|
||||
errornum
|
||||
fi
|
||||
}
|
||||
#检查更新
|
||||
checkupdate(){
|
||||
if [ -z "$release_new" ];then
|
||||
if [ "$update_url" = "https://cdn.jsdelivr.net/gh/juewuy/ShellClash" ];then
|
||||
$clashdir/start.sh webget /tmp/clashversion $update_url@master/bin/release_version echoon rediroff 2>/tmp/clashrelease
|
||||
[ "$?" = "0" ] && release_new=$(cat /tmp/clashversion | head -1)
|
||||
update_url=$update_url@$release_new
|
||||
if [ -n "$release_url" ];then
|
||||
[ -n "$(echo $release_url|grep 'jsdelivr')" ] && check_url=$release_url@master || check_url=$release_url/master
|
||||
$clashdir/start.sh webget /tmp/clashversion $check_url/bin/release_version echoon rediroff 2>/tmp/clashversion
|
||||
release_new=$(cat /tmp/clashversion | head -1)
|
||||
[ -n "$(echo $release_url|grep 'jsdelivr')" ] && update_url=$release_url@$release_new || update_url=$release_url/$release_new
|
||||
setconfig update_url \'$update_url\'
|
||||
release_type=正式版
|
||||
else
|
||||
release_type=测试版
|
||||
fi
|
||||
$clashdir/start.sh webget /tmp/clashversion $update_url/bin/version echooff
|
||||
[ "$?" = "0" ] && release_new=$(cat /tmp/clashversion | grep versionsh | awk -F'=' '{ print $2 }')
|
||||
[ -n "$release_new" ] &&source /tmp/clashversion || echo -e "\033[31m检查更新失败!请检查网络连接或切换安装源!\033[0m"
|
||||
[ "$?" = "0" ] && release_new=$(cat /tmp/clashversion | grep -oE 'versionsh=.*' | awk -F'=' '{ print $2 }')
|
||||
if [ -n "$release_new" ];then
|
||||
source /tmp/clashversion 2>/dev/null
|
||||
else
|
||||
echo -e "\033[31m检查更新失败!请切换其他安装源!\033[0m"
|
||||
echo -e "\033[36m如全部安装源都无法使用,请先运行服务后再使用更新!\033[0m"
|
||||
sleep 1
|
||||
setserver
|
||||
fi
|
||||
rm -rf /tmp/clashversion
|
||||
fi
|
||||
}
|
||||
@@ -763,11 +838,14 @@ update(){
|
||||
echo -ne "\033[32m正在检查更新!\033[0m\r"
|
||||
checkupdate
|
||||
[ "$clashcore" = "clash" ] && clash_n=$clash_v || clash_n=$clashpre_v
|
||||
clash_v=$($bindir/clash -v 2>/dev/null | awk '{print $2}')
|
||||
[ "$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/.* //')
|
||||
[ -z "$clash_v" ] && clash_v=$clashv
|
||||
echo -e "\033[30;47m欢迎使用更新功能:\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$versionsh\033[0m"
|
||||
echo -e " 1 更新\033[36m管理脚本 \033[33m$versionsh_l\033[0m > \033[32m$versionsh$release_type\033[0m"
|
||||
echo -e " 2 切换\033[33mclash核心 \033[33m$clash_v\033[0m > \033[32m$clash_n\033[0m"
|
||||
echo -e " 3 更新\033[32mGeoIP/CN-IP \033[33m$Geo_v\033[0m > \033[32m$GeoIP_v\033[0m"
|
||||
echo -e " 4 安装本地\033[35mDashboard\033[0m面板"
|
||||
@@ -775,8 +853,10 @@ update(){
|
||||
echo -e " 6 查看\033[32mPAC\033[0m自动代理配置"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 7 切换\033[36m安装源\033[0m及\033[36m安装版本\033[0m"
|
||||
echo -e " 8 鸣谢"
|
||||
echo -e " 8 \033[32m重新初始化运行环境\033[0m"
|
||||
echo -e " 9 \033[31m卸载\033[34mShellClash\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "99 \033[36m鸣谢!\033[0m"
|
||||
echo -e " 0 返回上级菜单"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -813,21 +893,28 @@ update(){
|
||||
elif [ "$num" = 7 ]; then
|
||||
setserver
|
||||
update
|
||||
|
||||
elif [ "$num" = 8 ]; then
|
||||
echo -----------------------------------------------
|
||||
echo -e "感谢:\033[32mClash \033[0m作者\033[36m Dreamacro\033[0m 项目地址:\033[32mhttps://github.com/Dreamacro/clash\033[0m"
|
||||
echo -e "感谢:\033[32msubconverter \033[0m作者\033[36m tindy2013\033[0m 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m"
|
||||
echo -e "感谢:\033[32malecthw提供的GeoIP数据库\033[0m 项目地址:\033[32mhttps://github.com/alecthw/mmdb_china_ip_list\033[0m"
|
||||
echo -e "感谢:\033[32mHackl0us提供的GeoIP精简数据库\033[0m 项目地址:\033[32mhttps://github.com/Hackl0us/GeoIP2-CN\033[0m"
|
||||
echo -e "感谢:\033[32m17mon提供的CN-IP列表\033[0m 项目地址:\033[32mhttps://github.com/17mon/china_ip_list\033[0m"
|
||||
echo -e "感谢:\033[32myacd \033[0m作者\033[36m haishanh\033[0m 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m"
|
||||
echo -e "感谢:\033[32m更多的帮助过我的人!\033[0m"
|
||||
sleep 2
|
||||
update
|
||||
elif [ "$num" = 8 ]; then
|
||||
source $clashdir/init.sh
|
||||
update
|
||||
|
||||
elif [ "$num" = 9 ]; then
|
||||
$0 -u
|
||||
exit
|
||||
|
||||
elif [ "$num" = 99 ]; then
|
||||
echo -----------------------------------------------
|
||||
echo -e "感谢:\033[32mClash项目 \033[0m作者\033[36m Dreamacro\033[0m 项目地址:\033[32mhttps://github.com/Dreamacro/clash\033[0m"
|
||||
echo -e "感谢:\033[32mClash.meta项目 \033[0m作者\033[36m MetaCubeX\033[0m 项目地址:\033[32mhttps://github.com/MetaCubeX/Clash.Meta\033[0m"
|
||||
echo -e "感谢:\033[32mYACD面板项目 \033[0m作者\033[36m haishanh\033[0m 项目地址:\033[32mhttps://github.com/haishanh/yacd\033[0m"
|
||||
echo -e "感谢:\033[32mSubconverter \033[0m作者\033[36m tindy2013\033[0m 项目地址:\033[32mhttps://github.com/tindy2013/subconverter\033[0m"
|
||||
echo -e "感谢:\033[32m由alecthw提供的GeoIP数据库\033[0m 项目地址:\033[32mhttps://github.com/alecthw/mmdb_china_ip_list\033[0m"
|
||||
echo -e "感谢:\033[32m由Hackl0us提供的GeoIP精简数据库\033[0m 项目地址:\033[32mhttps://github.com/Hackl0us/GeoIP2-CN\033[0m"
|
||||
echo -e "感谢:\033[32m由17mon提供的CN-IP列表\033[0m 项目地址:\033[32mhttps://github.com/17mon/china_ip_list\033[0m"
|
||||
echo -e "感谢:\033[32m由ChanthMiao提供的CN-IPV6列表\033[0m 项目地址:\033[32mhttps://github.com/ChanthMiao/China-IPv6-List\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e "特别感谢:\033[36m所有帮助及赞助过此项目的同仁们!\033[0m"
|
||||
echo -----------------------------------------------
|
||||
sleep 2
|
||||
update
|
||||
else
|
||||
errornum
|
||||
@@ -835,33 +922,7 @@ update(){
|
||||
}
|
||||
#新手引导
|
||||
userguide(){
|
||||
whichmod(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[33m是否需要代理UDP流量(主要用于游戏)? \033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 \033[33m不代理UDP流量\033[0m(可能会导致一部分外服游戏/应用无法连接)"
|
||||
ip tuntap >/dev/null 2>&1 && [ "$?" = 0 ] && \
|
||||
echo -e " 2 \033[32m使用Tun虚拟网卡\033[0m代理UDP流量(更低的延迟但更多的CPU消耗)" || \
|
||||
echo -e " - \033[0m使用Tun模式(你的设备不支持此模式,如为虚拟机运行请调整虚拟网卡设置)\033[0m"
|
||||
[ -n "$(iptables -j TPROXY 2>&1 | grep 'on-port')" ] && \
|
||||
echo -e " 3 \033[32m使用Tproxy模式\033[0m代理UDP流量(较低CPU消耗但相对高的延迟)"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" ] || [ "$num" -gt 4 ];then
|
||||
errornum
|
||||
whichmod
|
||||
elif [ "$num" = 1 ];then
|
||||
setconfig redir_mod "Redir模式"
|
||||
setconfig clashcore "clash"
|
||||
elif [ "$num" = 2 ];then
|
||||
setconfig redir_mod "混合模式"
|
||||
setconfig clashcore "clashpre"
|
||||
elif [ "$num" = 3 ];then
|
||||
setconfig redir_mod "Redir模式"
|
||||
setconfig clashcore "clash"
|
||||
setconfig tproxy_mod "已开启"
|
||||
fi
|
||||
}
|
||||
|
||||
forwhat(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[30;46m 欢迎使用ShellClash新手引导! \033[0m"
|
||||
@@ -869,15 +930,25 @@ userguide(){
|
||||
echo -e "\033[33m请先选择你的使用环境: \033[0m"
|
||||
echo -e "\033[0m(你之后依然可以在设置中更改各种配置)\033[0m"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 \033[32m主路由或旁路由\033[0m"
|
||||
echo -e " 2 \033[36mLinux本机代理\033[0m"
|
||||
echo -e " 1 \033[32m路由设备配置局域网透明代理\033[0m"
|
||||
echo -e " 2 \033[36mLinux设备仅配置本机代理\033[0m"
|
||||
[ -f "$ccfg.bak" ] && echo -e " 3 \033[33m还原之前备份的设置\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" ] || [ "$num" -gt 4 ];then
|
||||
errornum
|
||||
forwhat
|
||||
elif [ "$num" = 1 ];then
|
||||
whichmod
|
||||
if ckcmd nft;then
|
||||
setconfig redir_mod "Nft模式"
|
||||
else
|
||||
setconfig redir_mod "Redir模式"
|
||||
fi
|
||||
#设置开机启动
|
||||
[ -f /etc/rc.common ] && /etc/init.d/clash enable
|
||||
ckcmd systemctl && systemctl enable clash.service > /dev/null 2>&1
|
||||
rm -rf $clashdir/.dis_startup
|
||||
autostart=enable
|
||||
#检测IP转发
|
||||
if [ "$(cat /proc/sys/net/ipv4/ip_forward)" = "0" ];then
|
||||
echo -----------------------------------------------
|
||||
@@ -889,10 +960,12 @@ userguide(){
|
||||
elif [ "$num" = 2 ];then
|
||||
setconfig redir_mod "纯净模式"
|
||||
setconfig clashcore "clash"
|
||||
setconfig common_ports "未开启"
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[36m请选择设置本机代理的方式\033[0m"
|
||||
echo -e " 1 使用\033[32m环境变量\033[0m方式配置(不支持部分应用)"
|
||||
echo -e " 2 使用\033[32miptables增强模式\033[0m配置(不支持OpenWrt)"
|
||||
echo -e " 2 使用\033[32miptables增强模式\033[0m配置"
|
||||
echo -e " 3 使用\033[32mnftables增强模式\033[0m配置"
|
||||
echo -e " 0 稍后设置"
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ "$num" = 1 ]; then
|
||||
@@ -901,9 +974,17 @@ userguide(){
|
||||
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
|
||||
elif [ "$num" = 3 ];then
|
||||
mv -f $ccfg.bak $ccfg
|
||||
echo -e "\033[32m脚本设置已还原!\033[0m"
|
||||
echo -e "\033[33m请重新启动脚本!\033[0m"
|
||||
exit 0
|
||||
fi
|
||||
}
|
||||
forwhat
|
||||
@@ -933,7 +1014,7 @@ userguide(){
|
||||
[ "$res" = 1 ] && checkupdate && getcrt
|
||||
fi
|
||||
#设置加密DNS
|
||||
$clashdir/start.sh webget /tmp/ssl_test https://www.baidu.com echooff rediron skipceroff
|
||||
$clashdir/start.sh webget /tmp/ssl_test https://doh.pub echooff rediron skipceroff
|
||||
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'
|
||||
@@ -941,6 +1022,45 @@ userguide(){
|
||||
setconfig dns_fallback \'"$dns_fallback"\'
|
||||
fi
|
||||
rm -rf /tmp/ssl_test
|
||||
#开启公网访问
|
||||
sethost(){
|
||||
read -p "请输入你的公网IP地址 > " host
|
||||
echo $host | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}'
|
||||
if [ -z "$host" ];then
|
||||
echo -e "\033[31m请输入正确的IP地址!\033[0m"
|
||||
sethost
|
||||
fi
|
||||
}
|
||||
if ckcmd systemd;then
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m是否开启公网访问Dashboard面板及socks服务?\033[0m"
|
||||
echo -e "注意当前设备必须有公网IP才能从公网正常访问"
|
||||
echo -e "\033[31m此功能会增加暴露风险请谨慎使用!\033[0m"
|
||||
echo -e "vps设备可能还需要额外在服务商后台开启相关端口"
|
||||
read -p "现在开启?(1/0) > " res
|
||||
if [ "$res" = 1 ];then
|
||||
read -p "请先设置面板访问秘钥 > " secret
|
||||
read -p "请先修改Socks服务端口(1-65535) > " mix_port
|
||||
read -p "请先设置Socks服务密码(账号默认为clash) > " sec
|
||||
[ -z "$sec" ] && authentication=clash:$sec
|
||||
host=$(curl ip.sb 2>/dev/null | grep -oE '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
|
||||
if [ -z "$host" ];then
|
||||
sethost
|
||||
fi
|
||||
public_support=已开启
|
||||
setconfig secret $secret
|
||||
setconfig mix_port $mix_port
|
||||
setconfig host $host
|
||||
setconfig public_support $public_support
|
||||
setconfig authentication \'$authentication\'
|
||||
fi
|
||||
fi
|
||||
#小米设备软固化
|
||||
if [ "$systype" = "mi_snapshot" ];then
|
||||
echo -----------------------------------------------
|
||||
read -p "是否启用软固化SSH?(1/0) > " res
|
||||
[ "$res" = 1 ] && setconfig mi_autoSSH 已启用
|
||||
fi
|
||||
#提示导入订阅或者配置文件
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m是否导入配置文件?\033[0m(这是运行前的最后一步)"
|
||||
@@ -961,17 +1081,13 @@ testcommand(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[30;47m这里是测试命令菜单\033[0m"
|
||||
echo -e "\033[33m如遇问题尽量运行相应命令后截图发群\033[0m"
|
||||
echo -e "磁盘占用/所在目录:"
|
||||
du -sh $clashdir
|
||||
echo -----------------------------------------------
|
||||
echo " 1 查看clash运行时的报错信息"
|
||||
echo " 1 查看Clash运行时的报错信息(会停止clash服务)"
|
||||
echo " 2 查看系统DNS端口(:53)占用 "
|
||||
echo " 3 测试ssl加密(aes-128-gcm)跑分"
|
||||
echo " 4 查看iptables端口转发详情"
|
||||
echo " 5 查看config.yaml前40行"
|
||||
echo " 3 测试ssl加密(aes-128-gcm)跑分"
|
||||
echo " 4 查看clash相关路由规则"
|
||||
echo " 5 查看config.yaml前30行"
|
||||
echo " 6 测试代理服务器连通性(google.tw)"
|
||||
echo " 7 重新进入新手引导"
|
||||
echo " 9 查看后台脚本运行日志"
|
||||
echo -----------------------------------------------
|
||||
echo " 0 返回上级目录!"
|
||||
read -p "请输入对应数字 > " num
|
||||
@@ -983,7 +1099,7 @@ testcommand(){
|
||||
elif [ "$num" = 1 ]; then
|
||||
$clashdir/start.sh stop
|
||||
echo -----------------------------------------------
|
||||
$clashdir/clash -t -d $clashdir
|
||||
[ -x $clashdir/clash ] && $clashdir/clash -t -d $clashdir
|
||||
[ "$?" = 0 ] && testover=32m测试通过!|| testover=31m出现错误!请截图后到TG群询问!!!
|
||||
echo -e "\033[$testover\033[0m"
|
||||
exit;
|
||||
@@ -999,22 +1115,35 @@ testcommand(){
|
||||
echo -----------------------------------------------
|
||||
exit;
|
||||
elif [ "$num" = 4 ]; then
|
||||
echo -----------------------------------------------
|
||||
iptables -t nat -L PREROUTING --line-numbers
|
||||
echo -----------------------------------------------
|
||||
iptables -t nat -L clash --line-numbers
|
||||
echo -----------------------------------------------
|
||||
iptables -t nat -L clash_dns --line-numbers
|
||||
echo -----------------------------------------------
|
||||
ip6tables -t nat -L PREROUTING --line-numbers
|
||||
echo -----------------------------------------------
|
||||
ip6tables -t nat -L clashv6 --line-numbers
|
||||
echo -----------------------------------------------
|
||||
ip6tables -t nat -L clashv6_dns --line-numbers
|
||||
|
||||
if [ -n "$(echo $redir_mod | grep 'Nft')" -o "$local_type" = "nftables增强模式" ];then
|
||||
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')" ] && {
|
||||
echo ----------------Tun/Tproxy-------------------
|
||||
iptables -t mangle -L PREROUTING --line-numbers
|
||||
iptables -t mangle -L clash --line-numbers
|
||||
}
|
||||
[ -n "$(echo $redir_mod | grep 'Tproxy')" -a "$ipv6_redir" = "已开启" ] && {
|
||||
echo ----------------Tun/Tproxy-------------------
|
||||
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
|
||||
}
|
||||
}
|
||||
fi
|
||||
exit;
|
||||
elif [ "$num" = 5 ]; then
|
||||
echo -----------------------------------------------
|
||||
sed -n '1,40p' $yaml
|
||||
sed -n '1,30p' $yaml
|
||||
echo -----------------------------------------------
|
||||
exit;
|
||||
elif [ "$num" = 6 ]; then
|
||||
@@ -1028,14 +1157,9 @@ testcommand(){
|
||||
echo -e "\033[31m连接超时!请重试或检查节点配置!\033[0m"
|
||||
fi
|
||||
clashsh
|
||||
elif [ "$num" = 7 ]; then
|
||||
userguide
|
||||
elif [ "$num" = 9 ]; then
|
||||
echo -----------------------------------------------
|
||||
cat $clashdir/log
|
||||
exit;
|
||||
|
||||
else
|
||||
errornum
|
||||
clashsh
|
||||
fi
|
||||
}
|
||||
}
|
||||
226
scripts/init.sh
Normal file
226
scripts/init.sh
Normal file
@@ -0,0 +1,226 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
version=1.7.0f
|
||||
|
||||
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}'
|
||||
}
|
||||
set_usb_dir(){
|
||||
echo -e "请选择安装目录"
|
||||
du -hL /mnt | awk '{print " "NR" "$2" "$1}'
|
||||
read -p "请输入相应数字 > " num
|
||||
dir=$(du -hL /mnt | awk '{print $2}' | sed -n "$num"p)
|
||||
if [ -z "$dir" ];then
|
||||
echo -e "\033[31m输入错误!请重新设置!\033[0m"
|
||||
set_usb_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 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
case "$num" in
|
||||
1)
|
||||
dir=/data
|
||||
;;
|
||||
2)
|
||||
set_usb_dir ;;
|
||||
3)
|
||||
if [ "$(dir_avail /etc)" != 0 ];then
|
||||
dir=/etc
|
||||
systype=""
|
||||
else
|
||||
echo -e "\033[31m你的设备不支持安装到/etc目录,已改为安装到/data\033[0m"
|
||||
dir=data
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
exit 1 ;;
|
||||
esac
|
||||
}
|
||||
[ "$systype" = "asusrouter" ] && {
|
||||
echo -e "\033[33m检测到当前设备为华硕固件,请选择安装方式\033[0m"
|
||||
echo -e " 1 基于USB设备安装(通用,须插入\033[31m任意\033[0mUSB设备)"
|
||||
echo -e " 2 基于自启脚本安装(仅支持梅林及部分官改固件)"
|
||||
echo -e " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
case "$num" in
|
||||
1)
|
||||
read -p "将脚本安装到USB存储/系统闪存?(1/0) > " res
|
||||
[ "$res" = "1" ] && set_usb_dir || dir=/jffs
|
||||
usb_status=1
|
||||
;;
|
||||
2)
|
||||
echo -e "如无法正常开机启动,请重新使用USB方式安装!"
|
||||
sleep 2
|
||||
dir=/jffs ;;
|
||||
*)
|
||||
exit 1 ;;
|
||||
esac
|
||||
}
|
||||
else
|
||||
echo -e "\033[33m安装ShellClash至少需要预留约1MB的磁盘空间\033[0m"
|
||||
echo -e " 1 在\033[32m/etc目录\033[0m下安装(适合root用户)"
|
||||
echo -e " 2 在\033[32m/usr/share目录\033[0m下安装(适合Linux系统)"
|
||||
echo -e " 3 在\033[32m当前用户目录\033[0m下安装(适合非root用户)"
|
||||
echo -e " 4 在\033[32m外置存储\033[0m中安装"
|
||||
echo -e " 5 手动设置安装目录"
|
||||
echo -e " 0 退出安装"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入相应数字 > " num
|
||||
#设置目录
|
||||
if [ -z $num ];then
|
||||
echo 安装已取消
|
||||
exit 1;
|
||||
elif [ "$num" = "1" ];then
|
||||
dir=/etc
|
||||
elif [ "$num" = "2" ];then
|
||||
dir=/usr/share
|
||||
elif [ "$num" = "3" ];then
|
||||
dir=~/.local/share
|
||||
mkdir -p ~/.config/systemd/user
|
||||
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 -e "\033[31m路径错误!请重新设置!\033[0m"
|
||||
setdir
|
||||
fi
|
||||
else
|
||||
echo 安装已取消!!!
|
||||
exit 1;
|
||||
fi
|
||||
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)"
|
||||
read -p "确认安装?(1/0) > " res
|
||||
[ "$res" = "1" ] && clashdir=$dir/clash || setdir
|
||||
fi
|
||||
}
|
||||
setconfig(){
|
||||
#参数1代表变量名,参数2代表变量值,参数3即文件路径
|
||||
[ -z "$3" ] && configpath=$clashdir/mark || configpath=$3
|
||||
[ -n "$(grep -E "^${1}=" $configpath)" ] && sed -i "s#^${1}=\(.*\)#${1}=${2}#g" $configpath || echo "${1}=${2}" >> $configpath
|
||||
}
|
||||
|
||||
$clashdir/start.sh stop 2>/dev/null #防止进程冲突
|
||||
#特殊固件识别及标记
|
||||
[ -f "/etc/storage/started_script.sh" ] && {
|
||||
systype=Padavan #老毛子固件
|
||||
initdir='/etc/storage/started_script.sh'
|
||||
}
|
||||
[ -d "/jffs" ] && {
|
||||
systype=asusrouter #华硕固件
|
||||
[ -f "/jffs/.asusrouter" ] && initdir='/jffs/.asusrouter'
|
||||
[ -d "/jffs/scripts" ] && initdir='/jffs/scripts/nat-start'
|
||||
}
|
||||
[ -f "/data/etc/crontabs/root" ] && systype=mi_snapshot #小米设备
|
||||
|
||||
#检查环境变量
|
||||
[ -z "$clashdir" -a -d /tmp/SC_tmp ] && {
|
||||
setdir
|
||||
}
|
||||
#移动文件
|
||||
mkdir -p $clashdir
|
||||
mv -f /tmp/SC_tmp/* $clashdir 2>/dev/null
|
||||
|
||||
#初始化
|
||||
[ -f "$clashdir/mark" ] || echo '#ShellClash配置文件,不明勿动!' > $clashdir/mark
|
||||
#本地安装跳过新手引导
|
||||
[ -z "$url" ] && setconfig userguide 1
|
||||
#判断系统类型写入不同的启动文件
|
||||
if [ -f /etc/rc.common ];then
|
||||
#设为init.d方式启动
|
||||
cp -f $clashdir/clashservice /etc/init.d/clash
|
||||
chmod 755 /etc/init.d/clash
|
||||
else
|
||||
[ -w /etc/systemd/system ] && sysdir=/etc/systemd/system
|
||||
[ -w /usr/lib/systemd/system ] && sysdir=/usr/lib/systemd/system
|
||||
if [ -n "$sysdir" ];then
|
||||
#设为systemd方式启动
|
||||
mv -f $clashdir/clash.service $sysdir/clash.service 2>/dev/null
|
||||
sed -i "s%/etc/clash%$clashdir%g" $sysdir/clash.service
|
||||
systemctl daemon-reload
|
||||
else
|
||||
#设为保守模式启动
|
||||
setconfig start_old 已开启
|
||||
fi
|
||||
fi
|
||||
#修饰文件及版本号
|
||||
type bash &>/dev/null && shtype=bash || shtype=sh
|
||||
sed -i "s|/bin/sh|/bin/$shtype|" $clashdir/start.sh
|
||||
chmod 755 $clashdir/start.sh
|
||||
setconfig versionsh_l $version
|
||||
#设置更新地址
|
||||
[ -n "$url" ] && setconfig update_url $url
|
||||
#设置环境变量
|
||||
[ -w /opt/etc/profile ] && profile=/opt/etc/profile
|
||||
[ -w /jffs/configs/profile.add ] && profile=/jffs/configs/profile.add
|
||||
[ -w ~/.bashrc ] && profile=~/.bashrc
|
||||
[ -w /etc/profile ] && profile=/etc/profile
|
||||
if [ -n "$profile" ];then
|
||||
sed -i '/alias clash=*/'d $profile
|
||||
echo "alias clash=\"$shtype $clashdir/clash.sh\"" >> $profile #设置快捷命令环境变量
|
||||
sed -i '/export clashdir=*/'d $profile
|
||||
echo "export clashdir=\"$clashdir\"" >> $profile #设置clash路径环境变量
|
||||
source $profile &>/dev/null
|
||||
#适配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
|
||||
echo "export clashdir=\"$clashdir\"" >> ~/.zshrc
|
||||
source ~/.zshrc &>/dev/null
|
||||
}
|
||||
else
|
||||
echo -e "\033[33m无法写入环境变量!请检查安装权限!\033[0m"
|
||||
exit 1
|
||||
fi
|
||||
#梅林/Padavan额外设置
|
||||
[ -n "$initdir" ] && {
|
||||
sed -i '/ShellClash初始化/'d $initdir
|
||||
touch $initdir
|
||||
echo "$clashdir/start.sh init #ShellClash初始化脚本" >> $initdir
|
||||
chmod a+rx $initdir 2>/dev/null
|
||||
setconfig initdir $initdir
|
||||
}
|
||||
#小米镜像化OpenWrt额外设置
|
||||
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.enabled='1'
|
||||
uci commit firewall
|
||||
setconfig systype $systype
|
||||
else
|
||||
rm -rf $clashdir/misnap_init.sh
|
||||
fi
|
||||
#华硕USB启动额外设置
|
||||
[ "$usb_status" = "1" ] && {
|
||||
echo "$clashdir/start.sh init #ShellClash初始化脚本" > $clashdir/asus_usb_mount.sh
|
||||
nvram set script_usbmount="$clashdir/asus_usb_mount.sh"
|
||||
nvram commit
|
||||
}
|
||||
#删除临时文件
|
||||
rm -rf /tmp/*lash*gz
|
||||
rm -rf /tmp/SC_tmp
|
||||
|
||||
sleep 1
|
||||
echo -e "\033[32m脚本初始化完成,请输入\033[30;47m clash \033[0;33m命令开始使用!\033[0m"
|
||||
30
scripts/misnap_init.sh
Normal file
30
scripts/misnap_init.sh
Normal file
@@ -0,0 +1,30 @@
|
||||
#!/bin/sh
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
clashdir=/data/clash
|
||||
profile=/etc/profile
|
||||
|
||||
#检查clash运行状态
|
||||
if [ -z $(pidof clash) ]; then
|
||||
#初始化环境变量
|
||||
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服务
|
||||
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
|
||||
/etc/init.d/clash start
|
||||
/etc/init.d/clash enable
|
||||
fi
|
||||
else
|
||||
sleep 10
|
||||
$clashdir/start.sh restart
|
||||
fi
|
||||
1174
scripts/start.sh
1174
scripts/start.sh
File diff suppressed because it is too large
Load Diff
171
tools/ShellDDNS.sh
Normal file
171
tools/ShellDDNS.sh
Normal file
@@ -0,0 +1,171 @@
|
||||
#! /bin/bash
|
||||
# Copyright (C) Juewuy
|
||||
|
||||
ddns_dir=/etc/config/ddns
|
||||
tmp_dir=/tmp/ddns_$USER
|
||||
|
||||
[ ! -f "$ddns_dir" -o ! -d "/etc/ddns" ] && echo -e "本脚本依赖OpenWrt内置的DDNS服务,当前设备无法运行,已退出!" && exit 1
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[30;46m欢迎使用ShellDDNS!\033[0m"
|
||||
echo -e "TG群:\033[36;4mhttps://t.me/clashfm\033[0m"
|
||||
|
||||
add_ddns(){
|
||||
cat >> $ddns_dir << EOF
|
||||
config service '$service'
|
||||
option enabled '1'
|
||||
option force_unit 'hours'
|
||||
option lookup_host '$domain'
|
||||
option service_name '$service_name'
|
||||
option domain '$domain'
|
||||
option username '$username'
|
||||
option use_https '0'
|
||||
option use_ipv6 '$use_ipv6'
|
||||
option password '$password'
|
||||
option ip_source 'web'
|
||||
option check_unit 'minutes'
|
||||
option check_interval '$check_interval'
|
||||
option force_interval '$force_interval'
|
||||
option interface 'wan'
|
||||
EOF
|
||||
/usr/lib/ddns/dynamic_dns_updater.sh -S $service start >/dev/null 2>&1 &
|
||||
sleep 3
|
||||
echo 服务已经添加!
|
||||
}
|
||||
set_ddns(){
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入你的域名 > " str
|
||||
[ -z "$str" ] && domain=$domain || domain=$str
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入用户名或邮箱 > " str
|
||||
[ -z "$str" ] && username=$username || username=$str
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入密码或令牌秘钥 > " str
|
||||
[ -z "$str" ] && password=$password || password=$str
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入检测更新间隔(单位:分钟;默认为10) > " check_interval
|
||||
[ -z "$check_interval" ] || [ "$check_interval" -lt 1 -o "$check_interval" -gt 1440 ] && check_interval=10
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入强制更新间隔(单位:小时;默认为24) > " force_interval
|
||||
[ -z "$force_interval" ] || [ "$force_interval" -lt 1 -o "$force_interval" -gt 240 ] && force_interval=24
|
||||
echo -----------------------------------------------
|
||||
echo -e "请核对如下信息:"
|
||||
echo -e "服务商: \033[32m$service\033[0m"
|
||||
echo -e "域名: \033[32m$domain\033[0m"
|
||||
echo -e "用户名: \033[32m$username\033[0m"
|
||||
echo -e "检测间隔: \033[32m$check_interval\033[0m"
|
||||
echo -----------------------------------------------
|
||||
read -p "确认添加?(1/0) > " res
|
||||
[ "$res" = 1 ] && add_ddns || set_ddns
|
||||
}
|
||||
|
||||
set_service(){
|
||||
services_dir=/etc/ddns/$services
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m请选择服务提供商\033[0m"
|
||||
cat $services_dir | grep -v '^#' | awk -F "[\"]" '{print " "NR" " $2}'
|
||||
nr=$(cat $services_dir | grep -v '^#' | wc -l)
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" ]; then
|
||||
i=
|
||||
elif [ "$num" -gt 0 -a "$num" -lt $nr ]; then
|
||||
service=$(cat $services_dir | grep -v '^#' | awk -F "[\".]" '{print $2}' | sed -n "$num"p)
|
||||
service_name=$(cat $services_dir | grep -v '^#' | awk -F "[\"]" '{print $2}' | sed -n "$num"p)
|
||||
set_ddns
|
||||
else
|
||||
echo "输入错误,请重新输入!"
|
||||
sleep 1
|
||||
set_service
|
||||
fi
|
||||
}
|
||||
|
||||
network_type(){
|
||||
echo -----------------------------------------------
|
||||
echo -e "\033[32m请选择网络模式\033[0m"
|
||||
echo -e " 1 \033[36mIPV4\033[0m"
|
||||
echo -e " 2 \033[36mIPV6\033[0m"
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" ]; then
|
||||
i=
|
||||
elif [ "$num" = 1 ];then
|
||||
use_ipv6=0
|
||||
services=services
|
||||
set_service
|
||||
elif [ "$num" = 2 ];then
|
||||
use_ipv6=1
|
||||
services=services_ipv6
|
||||
set_service
|
||||
else
|
||||
echo "输入错误,请重新输入!"
|
||||
sleep 1
|
||||
network_type
|
||||
fi
|
||||
}
|
||||
|
||||
rev_service(){
|
||||
enabled=$(uci show ddns.$service | grep 'enabled' | awk -F "\'" '{print $2}')
|
||||
[ "$enabled" = 1 ] && enabled_b="停用" || enabled_b="启用"
|
||||
echo -----------------------------------------------
|
||||
echo -e " 1 \033[32m立即更新\033[0m"
|
||||
echo -e " 2 编辑当前服务\033[0m"
|
||||
echo -e " 3 $enabled_b当前服务"
|
||||
echo -e " 4 移除当前服务"
|
||||
echo -e " 0 返回上级菜单"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应数字 > " num
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
i=
|
||||
elif [ "$num" = 1 ]; then
|
||||
/usr/lib/ddns/dynamic_dns_updater.sh -S $service start >/dev/null 2>&1 &
|
||||
sleep 3
|
||||
elif [ "$num" = 2 ]; then
|
||||
domain=$(uci show ddns.$service | grep 'domain' | awk -F "\'" '{print $2}')
|
||||
username=$(uci show ddns.$service | grep 'username' | awk -F "\'" '{print $2}')
|
||||
password=$(uci show ddns.$service | grep 'password' | awk -F "\'" '{print $2}')
|
||||
service_name=$(uci show ddns.$service | grep 'service_name' | awk -F "\'" '{print $2}')
|
||||
uci delete ddns.$service
|
||||
set_ddns
|
||||
elif [ "$num" = 3 ]; then
|
||||
[ "$enabled" = 1 ] && uci set ddns.$service.enabled='0' || uci set ddns.$service.enabled='1' && sleep 3
|
||||
uci commit ddns.$service
|
||||
elif [ "$num" = 4 ]; then
|
||||
uci delete ddns.$service
|
||||
uci commit ddns.$service
|
||||
fi
|
||||
}
|
||||
|
||||
load_ddns(){
|
||||
nr=0
|
||||
cat $ddns_dir | grep 'config service' | awk '{print $3}' | sed "s/\'//g" > $tmp_dir
|
||||
echo -----------------------------------------------
|
||||
echo -e "列表 域名 启用 IP地址"
|
||||
echo -----------------------------------------------
|
||||
for service in $(cat $tmp_dir) ;do
|
||||
echo $service >> $tmp_dir
|
||||
nr=$((nr+1))
|
||||
enabled=$(uci show ddns.$service | grep 'enabled' | awk -F "\'" '{print $2}')
|
||||
domain=$(uci show ddns.$service | grep 'domain' | awk -F "\'" '{print $2}')
|
||||
local_ip=$(cat /var/log/ddns/$service.log | grep 'Local IP' | tail -1 | awk -F "\'" '{print $2}')
|
||||
echo -e " $nr $domain $enabled $local_ip"
|
||||
done
|
||||
echo -e " $((nr+1)) 添加DDNS服务"
|
||||
echo -e " 0 退出"
|
||||
echo -----------------------------------------------
|
||||
read -p "请输入对应序号 > " num
|
||||
if [ -z "$num" -o "$num" = 0 ]; then
|
||||
i=
|
||||
elif [ "$num" -gt $nr ]; then
|
||||
network_type
|
||||
load_ddns
|
||||
elif [ "$num" -gt 0 -a "$num" -le $nr ]; then
|
||||
service=$(cat $tmp_dir | sed -n "$num"p)
|
||||
rev_service
|
||||
load_ddns
|
||||
else
|
||||
echo "请输入正确数字!" && load_ddns
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
load_ddns
|
||||
rm -rf $tmp_dir
|
||||
|
||||
Reference in New Issue
Block a user