Compare commits

..

14 Commits

Author SHA1 Message Date
IceCodeNew
86d5f8a204 Update build.yml 2020-06-08 07:10:57 +08:00
IceCodeNew
1a4c432563 Update build.yml 2020-06-08 07:01:57 +08:00
IceCodeNew
c5d0c7c236 Merge remote-tracking branch 'upstream/master' 2020-06-08 05:49:47 +08:00
Loyalsoldier
aeeeab791b Create dependabot.yml 2020-06-08 05:27:10 +08:00
IceCodeNew
3433264579 Revert the way of generating hashsum files(#28)
有鉴于 [v2fly/fhs-install-v2ray](https://github.com/v2fly/fhs-install-v2ray) 极可能会成为未来官方钦定的一种 dat 文件更新标准,最近在 build.yml 上所做的更改是值得商榷的。
我的建议是该 fork 不应该与上游的行为不同,否则如果用户替换 v2fly 的 dat-install 脚本中更新源地址就会遇到问题。
2020-06-08 03:17:03 +08:00
IceCodeNew
af4c660cf0 Update README.md 2020-06-07 21:12:52 +08:00
IceCodeNew
09e000644d Update build.yml
Add more trigger.
2020-06-07 21:09:36 +08:00
IceCodeNew
026f4b41ea Update build.yml 2020-06-07 21:09:03 +08:00
IceCodeNew
2e301a4219 Update build.yml
Switch cnipv4 source to my own repo, which should be more accurate.
Please be noticed that its daily update is scheduled on 11:30 AM (CST).
2020-06-07 21:08:13 +08:00
IceCodeNew
f649f28981 Revert "Update README.md"
This reverts commit d5bf41ce00.
2020-06-07 21:03:53 +08:00
IceCodeNew
c6f75b5910 Revert "Update README.md"
This reverts commit 91f21e9dd0.
2020-06-07 21:03:15 +08:00
Kid
d9ffcd313b Add scoop support (#27) 2020-06-06 14:10:27 +08:00
Loyalsoldier
14f9756d78 Update workflow 2020-06-06 11:36:32 +08:00
Loyalsoldier
f3acc73a29 Change V2Ray repo link to V2fly 2020-06-05 23:38:09 +08:00
3 changed files with 45 additions and 21 deletions

15
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,15 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
timezone: "Asia/Shanghai"
time: "07:00"
pull-request-branch-name:
separator: "-"

View File

@@ -1,10 +1,8 @@
name: Build V2Ray rules dat files
on:
schedule:
- cron: "30 3 * * *"
- cron: "30 3-23/12 * * *"
push:
paths-ignore:
- "README.md"
branches:
- master
- hidden
@@ -16,7 +14,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Setup Go 1.14
uses: actions/setup-go@v1
uses: actions/setup-go@v2
with:
go-version: 1.14
@@ -27,6 +25,7 @@ jobs:
echo "::set-env name=GEOIP_REPO::github.com/Loyalsoldier/geoip"
echo "::set-env name=GEOSITE_REPO::github.com/v2ray/domain-list-community"
echo "::set-env name=CHINA_DOMAINS_URL::https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/accelerated-domains.china.conf"
echo "::set-env name=ICN_RULES_DIRECT_URL::https://raw.githubusercontent.com/IceCodeNew/4Share/master/Proxifier/GetWhiteDomainLists/whitelist.txt"
echo "::set-env name=GOOGLE_DOMAINS_URL::https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/google.china.conf"
echo "::set-env name=APPLE_DOMAINS_URL::https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf"
echo "::set-env name=GFWLIST_DOMAINS_URL::https://cokebar.github.io/gfwlist2dnsmasq/gfwlist_domain.txt"
@@ -63,8 +62,6 @@ jobs:
run: |
go get -u -v -insecure $GEOIP_REPO
geoip --country=./geoip/GeoLite2-Country-Locations-en.csv --ipv4=./geoip/GeoLite2-Country-Blocks-IPv4.csv --ipv6=./geoip/GeoLite2-Country-Blocks-IPv6.csv --cnipv4url=https://raw.githubusercontent.com/IceCodeNew/4Share/master/geoip_china/china_ip_list.txt
mkdir -p ./publish
mv ./geoip.dat ./publish/
- name: Download geosite project
run: |
@@ -73,6 +70,7 @@ jobs:
- name: Get and add direct domains into temp-direct.txt file
run: |
curl -sSL $CHINA_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > temp-direct.txt
curl -sSL $ICN_RULES_DIRECT_URL | sed -E 's/^\*\.//g' >> temp-direct.txt
- name: Get and add proxy domains into temp-proxy.txt file
run: |
@@ -106,11 +104,11 @@ jobs:
- name: Sort and generate redundant lists
run: |
cat temp-proxy.txt | sort --ignore-case -u | perl -ne '/^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/ && print "$1\n"' > proxy-list-with-redundant
cat temp-proxy.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > proxy-excluse-list
cat temp-proxy.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > proxy-excluse-list.txt
cat temp-direct.txt | sort --ignore-case -u | perl -ne '/^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/ && print "$1\n"' > direct-list-with-redundant
cat temp-direct.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > direct-excluse-list
cat temp-direct.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > direct-excluse-list.txt
cat temp-reject.txt | sort --ignore-case -u | perl -ne '/^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/ && print "$1\n"' > reject-list-with-redundant
cat temp-reject.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > reject-excluse-list
cat temp-reject.txt | sort --ignore-case -u | perl -ne 'print if not /^((?=^.{3,255})[a-zA-Z0-9][-_a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-_a-zA-Z0-9]{0,62})+)/' > reject-excluse-list.txt
- name: Remove redundant domains
run: |
@@ -130,28 +128,29 @@ jobs:
- name: Remove domains from "need-to-remove" lists in "hidden" branch and remove domains end with ".cn" in proxy-list
run: |
diff ./direct-need-to-remove.txt ./direct-list-without-redundant | awk '/^>/{print $2}' > $GOPATH/src/$GEOSITE_REPO/data/direct-list
diff ./proxy-need-to-remove.txt ./proxy-list-without-redundant | awk '/^>/{print $2}' | perl -ne 'print if not /\.cn$/' > $GOPATH/src/$GEOSITE_REPO/data/proxy-list
diff ./reject-need-to-remove.txt ./reject-list-without-redundant | awk '/^>/{print $2}' > $GOPATH/src/$GEOSITE_REPO/data/reject-list
diff ./direct-need-to-remove.txt ./direct-list-without-redundant | awk '/^>/{print $2}' > $GOPATH/src/$GEOSITE_REPO/data/direct-list.txt
diff ./proxy-need-to-remove.txt ./proxy-list-without-redundant | awk '/^>/{print $2}' | perl -ne 'print if not /\.cn$/' > $GOPATH/src/$GEOSITE_REPO/data/proxy-list.txt
diff ./reject-need-to-remove.txt ./reject-list-without-redundant | awk '/^>/{print $2}' > $GOPATH/src/$GEOSITE_REPO/data/reject-list.txt
- name: Add list into appropriate category file
run: |
cd $GOPATH/src/$GEOSITE_REPO/data
echo "include:proxy-list" >> geolocation-\!cn
echo "include:direct-list" >> cn
echo "include:reject-list" >> category-ads-all
echo "include:proxy-list.txt" >> geolocation-\!cn
echo "include:direct-list.txt" >> cn
echo "include:reject-list.txt" >> category-ads-all
- name: Build geosite.dat file
run: |
domain-list-community --datapath=${{ env.GOPATH }}/src/${{ env.GEOSITE_REPO }}/data
mv ./dlc.dat ./publish/geosite.dat
mv ./*-excluse-list ./publish/
cp -f $GOPATH/src/$GEOSITE_REPO/data/{proxy,direct,reject}-list ./publish/
- name: Zip files and generate sha256 hash
- name: Move and zip files and generate sha256 hash
run: |
install -Dp geoip.dat ./publish/geoip.dat
install -Dp dlc.dat ./publish/geosite.dat
install -p {proxy,direct,reject}-excluse-list.txt ./publish/
install -p $GOPATH/src/$GEOSITE_REPO/data/{proxy,direct,reject}-list.txt ./publish/
cd ./publish
zip rules.zip {proxy,direct,reject}-list *.dat
zip rules.zip {proxy,direct,reject}-list.txt geoip.dat geosite.dat
sha256sum geoip.dat > geoip.dat.sha256sum
sha256sum geosite.dat > geosite.dat.sha256sum
sha256sum rules.zip > rules.zip.sha256sum

View File

@@ -37,6 +37,15 @@
**使用方式**
Windows 用户可通过 [Scoop](https://scoop.sh) 来安装:
```shell
scoop bucket add v2ray https://github.com/kidonng/scoop-v2ray
scoop install v2ray-rules-dat
```
非 Windows 用户:
1. 点击上面下载地址,下载 `geoip.dat``geosite.dat`
2. 把下载下来的 `geoip.dat``geosite.dat` 文件放入到 V2Ray 的规则文件目录,替换掉原来的 `geoip.dat``geosite.dat`
3. 修改 V2Ray 配置文件,配置参考下面 👇👇👇
@@ -127,7 +136,7 @@
下面为自用 V2Ray 客户端完整配置,注意事项:
- 由于下面客户端配置使用了 DoH DNS 功能,所以必须使用 v4.22.0 或更新版本的 [V2Ray](https://github.com/v2ray/v2ray-core/releases)
- 由于下面客户端配置使用了 DoH DNS 功能,所以必须使用 v4.22.0 或更新版本的 [V2Ray](https://github.com/v2fly/v2ray-core/releases)
- 下面客户端配置使 V2Ray 在本机开启 SOCKS 代理(监听 1080 端口)和 HTTP 代理(监听 2080 端口)
- BT 流量统统直连(实测依然会有部分 BT 流量走代理,尚不清楚是不是 V2Ray 的 bug。如果服务商禁止 BT 下载的话,请不要为下载软件设置代理)
- 最后,不命中任何路由规则的请求和流量,统统走代理
@@ -300,6 +309,7 @@
## 致谢
- [@kidonng/scoop-v2ray](https://github.com/kidonng/scoop-v2ray)
- [@v2ray/geoip](https://github.com/v2ray/geoip)
- [@v2ray/domain-list-community](https://github.com/v2ray/domain-list-community)
- [@17mon/china_ip_list](https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt)