Compare commits

...

11 Commits

Author SHA1 Message Date
loyalsoldier
2a205399e3 Add more specific geoip routing configuration 2020-06-10 15:18:42 +08:00
loyalsoldier
cef3ba467a Add apple-cn & google-cn for custom routing settings
due to accessibility in China mainland and https://github.com/Loyalsoldier/v2ray-rules-dat/issues/29 and https://github.com/Loyalsoldier/v2ray-rules-dat/issues/24 and https://github.com/Loyalsoldier/v2ray-rules-dat/issues/13
2020-06-10 15:13:52 +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
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
Loyalsoldier
4d73ef6f3d Update build.yml 2020-06-05 20:30:06 +08:00
Loyalsoldier
013c6ef33a Use $GEOSITE_REPO as data folder source by default
Can change $GEOSITE_REPO environment variable to use your own forked `domain-list-community` repo
2020-06-03 18:37:56 +08:00
Loyalsoldier
91f21e9dd0 Update README.md 2020-05-30 23:49:21 +08:00
Loyalsoldier
d5bf41ce00 Update README.md 2020-05-30 21:44:05 +08:00
3 changed files with 78 additions and 24 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

@@ -6,15 +6,13 @@ on:
branches:
- master
- hidden
paths-ignore:
- "**/README.md"
jobs:
build:
name: Build
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
@@ -60,8 +58,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/pexcn/daily/gh-pages/chnroute/chnroute.txt
mkdir -p ./publish
mv ./geoip.dat ./publish/
- name: Download geosite project
run: |
@@ -102,11 +98,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: |
@@ -126,28 +122,34 @@ 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: Add `google-cn` and `apple-cn` sub-lists for custom routing settings for third-party users due to accessibility in China mainland
run: |
curl -sSL $GOOGLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > $GOPATH/src/$GEOSITE_REPO/data/google-cn
curl -sSL $APPLE_DOMAINS_URL | perl -ne '/^server=\/([^\/]+)\// && print "$1\n"' > $GOPATH/src/$GEOSITE_REPO/data/apple-cn
- name: Build geosite.dat file
run: |
domain-list-community
mv ./dlc.dat ./publish/geosite.dat
mv ./*-excluse-list ./publish/
cp -f $GOPATH/src/$GEOSITE_REPO/data/{proxy,direct,reject}-list ./publish/
domain-list-community --datapath=${{ env.GOPATH }}/src/${{ env.GEOSITE_REPO }}/data
- 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

@@ -11,7 +11,7 @@
### geoip.dat
- 通过仓库 [@Loyalsoldier/geoip](https://github.com/Loyalsoldier/geoip) 生成
- 其中全球 IP 地址IPv4 和 IPv6来源于 [MaxMind GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/)`CN`(中国大陆)类别下的 IPv4 地址来源于 [@17mon/china_ip_list](https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt)
- 其中全球 IP 地址IPv4 和 IPv6来源于 [MaxMind GeoLite2](https://dev.maxmind.com/geoip/geoip2/geolite2/)`CN`(中国大陆)类别下的 IPv4 地址来源于 [@pexcn/chnroute.txt](https://github.com/pexcn/daily/blob/gh-pages/chnroute/chnroute.txt)
### geosite.dat
@@ -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 配置文件,配置参考下面 👇👇👇
@@ -56,9 +65,25 @@
"type": "field",
"outboundTag": "Direct",
"ip": [
"223.5.5.5/32",
"119.29.29.29/32",
"180.76.76.76/32",
"114.114.114.114/32",
"geoip:cn",
"geoip:private"
]
},
{
"type": "field",
"outboundTag": "Proxy",
"ip": [
"1.1.1.1/32",
"1.0.0.1/32",
"8.8.8.8/32",
"8.8.4.4/32",
"geoip:us",
"geoip:ca"
]
}
]
}
@@ -66,7 +91,7 @@
### geosite.dat
跟 V2Ray 官方 `geosite.dat` 配置方式相同。
跟 V2Ray 官方 `geosite.dat` 配置方式相同。`geosite:apple-cn``geosite:google-cn` 为本项目特有的两个类别,分别包含 [@felixonmars/dnsmasq-china-list/apple.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/apple.china.conf) 和 [@felixonmars/dnsmasq-china-list/google.china.conf](https://github.com/felixonmars/dnsmasq-china-list/blob/master/google.china.conf) 文件里的域名,供希望 Apple 和 Google 域名直连(不走代理)的用户使用,配置参考下面 👇👇👇
**Routing 配置方式**
@@ -80,6 +105,17 @@
"geosite:category-ads-all"
]
},
{
"type": "field",
"outboundTag": "Direct",
"domain": [
"geosite:apple-cn",
"geosite:google-cn",
"geosite:jsdelivr",
"domain:icloud.com",
"domain:icloud-content.com"
]
},
{
"type": "field",
"outboundTag": "Proxy",
@@ -127,7 +163,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,9 +336,9 @@
## 致谢
- [@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)
- [@felixonmars/dnsmasq-china-list](https://github.com/felixonmars/dnsmasq-china-list)
- [@gfwlist/gfwlist](https://github.com/gfwlist/gfwlist)
- [@pexcn/gfwlist-extras](https://github.com/pexcn/gfwlist-extras)
@@ -312,6 +348,7 @@
- [@ConnersHua/Profiles](https://github.com/ConnersHua/Profiles/tree/master)
- [@GeQ1an/Rules](https://github.com/GeQ1an/Rules/tree/master/QuantumultX)
- [@lhie1/Rules](https://github.com/lhie1/Rules/tree/master)
- [@pexcn/chnroute.txt](https://github.com/pexcn/daily/blob/gh-pages/chnroute/chnroute.txt)
- [@AdAway/adaway.github.io/hosts.txt](https://github.com/AdAway/adaway.github.io/blob/master/hosts.txt)
- [MaxMind GeoLite2 Free IP Database](https://dev.maxmind.com/geoip/geoip2/geolite2/)