diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d5301e83..4af408c1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,7 +27,7 @@ jobs: - run: npm i --production - run: node ./Build/build-reject-domainset.js - run: node ./Build/build-cidr.js - - run: node ./Build/build-cidr.js + - run: node ./Build/build-apple-cdn.js - run: node ./Build/build-index.html.js - name: Deploy uses: peaceiris/actions-gh-pages@v3 diff --git a/Build/build-apple-cdn.js b/Build/build-apple-cdn.js new file mode 100644 index 00000000..cacab098 --- /dev/null +++ b/Build/build-apple-cdn.js @@ -0,0 +1,24 @@ +const { fetch } = require('undici'); +const fs = require('fs'); +const path = require('path'); + +const rDomain = /^(((?!\-))(xn\-\-)?[a-z0-9\-_]{0,61}[a-z0-9]{1,1}\.)*(xn\-\-)?([a-z0-9\-]{1,61}|[a-z0-9\-]{1,30})\.[a-z]{2,}$/m; + +(async () => { + const res = (await (await fetch('https://raw.githubusercontent.com/felixonmars/dnsmasq-china-list/master/apple.china.conf')).text()) + .split('\n') + .map(line => { + if (line.startsWith('server=/') && line.endsWith('/114.114.114.114')) { + return line.replace('server=/', '').replace('/114.114.114.114', ''); + } + + return null + }) + .filter(domain => typeof domain === 'string' && rDomain.test(domain)); + + await fs.promises.writeFile( + path.resolve(__dirname, '../List/non_ip/apple_cdn.conf'), + res.map(domain => `DOMAIN,${domain}`).join('\n') + '\n', + 'utf-8' + ); +})(); diff --git a/List/non_ip/apple_cdn.conf b/List/non_ip/apple_cdn.conf index b94d3cee..fd8d9bab 100644 --- a/List/non_ip/apple_cdn.conf +++ b/List/non_ip/apple_cdn.conf @@ -1,30 +1,123 @@ -# >> Apple CDN - -# iOS App Store -DOMAIN,iosapps.itunes.apple.com -# Mac App Store -DOMAIN,osxapps.itunes.apple.com -DOMAIN,oscdn.apple.com -# Update -DOMAIN,supportdownload.apple.com -# Update +DOMAIN,a1.mzstatic.com +DOMAIN,a2.mzstatic.com +DOMAIN,a3.mzstatic.com +DOMAIN,a4.mzstatic.com +DOMAIN,a5.mzstatic.com +DOMAIN,adcdownload.apple.com.akadns.net +DOMAIN,adcdownload.apple.com DOMAIN,appldnld.apple.com -# Update +DOMAIN,appldnld.g.aaplimg.com +DOMAIN,appleid.cdn-apple.com +DOMAIN,apps.apple.com +DOMAIN,apps.mzstatic.com +DOMAIN,cdn-cn1.apple-mapkit.com +DOMAIN,cdn-cn2.apple-mapkit.com +DOMAIN,cdn-cn3.apple-mapkit.com +DOMAIN,cdn-cn4.apple-mapkit.com +DOMAIN,cdn.apple-mapkit.com +DOMAIN,cdn1.apple-mapkit.com +DOMAIN,cdn2.apple-mapkit.com +DOMAIN,cdn3.apple-mapkit.com +DOMAIN,cdn4.apple-mapkit.com +DOMAIN,cds-cdn.v.aaplimg.com +DOMAIN,cds.apple.com.akadns.net +DOMAIN,cds.apple.com +DOMAIN,cl1-cdn.origin-apple.com.akadns.net +DOMAIN,cl1.apple.com +DOMAIN,cl2-cn.apple.com +DOMAIN,cl2.apple.com +DOMAIN,cl3-cdn.origin-apple.com.akadns.net +DOMAIN,cl3.apple.com +DOMAIN,cl4-cdn.origin-apple.com.akadns.net +DOMAIN,cl4-cn.apple.com +DOMAIN,cl4.apple.com +DOMAIN,cl5-cdn.origin-apple.com.akadns.net +DOMAIN,cl5.apple.com +DOMAIN,clientflow.apple.com.akadns.net +DOMAIN,clientflow.apple.com +DOMAIN,configuration.apple.com.akadns.net +DOMAIN,configuration.apple.com +DOMAIN,cstat.apple.com +DOMAIN,dd-cdn.origin-apple.com.akadns.net +DOMAIN,download.developer.apple.com +DOMAIN,gs-loc-cn.apple.com +DOMAIN,gs-loc.apple.com +DOMAIN,gsp10-ssl-cn.ls.apple.com +DOMAIN,gsp13-cn.ls.apple.com +DOMAIN,gsp4-cn.ls.apple.com.edgekey.net.globalredir.akadns.net +DOMAIN,gsp4-cn.ls.apple.com.edgekey.net +DOMAIN,gsp4-cn.ls.apple.com +DOMAIN,gsp5-cn.ls.apple.com +DOMAIN,gsp85-cn-ssl.ls.apple.com +DOMAIN,gspe19-cn-ssl.ls.apple.com +DOMAIN,gspe19-cn.ls-apple.com.akadns.net +DOMAIN,gspe19-cn.ls.apple.com +DOMAIN,gspe21-ssl.ls.apple.com +DOMAIN,gspe21.ls.apple.com +DOMAIN,gspe35-ssl.ls.apple.com +DOMAIN,iadsdk.apple.com +DOMAIN,icloud-cdn.icloud.com.akadns.net +DOMAIN,icloud.cdn-apple.com +DOMAIN,images.apple.com.akadns.net +DOMAIN,images.apple.com.edgekey.net.globalredir.akadns.net +DOMAIN,images.apple.com +DOMAIN,init-p01md-lb.push-apple.com.akadns.net +DOMAIN,init-p01md.apple.com +DOMAIN,init-p01st-lb.push-apple.com.akadns.net +DOMAIN,init-p01st.push.apple.com +DOMAIN,init-s01st-lb.push-apple.com.akadns.net +DOMAIN,init-s01st.push.apple.com +DOMAIN,iosapps.itunes.g.aaplimg.com +DOMAIN,iphone-ld.apple.com +DOMAIN,is1-ssl.mzstatic.com +DOMAIN,is1.mzstatic.com +DOMAIN,is2-ssl.mzstatic.com +DOMAIN,is2.mzstatic.com +DOMAIN,is3-ssl.mzstatic.com +DOMAIN,is3.mzstatic.com +DOMAIN,is4-ssl.mzstatic.com +DOMAIN,is4.mzstatic.com +DOMAIN,is5-ssl.mzstatic.com +DOMAIN,is5.mzstatic.com +DOMAIN,itunes-apple.com.akadns.net +DOMAIN,itunes.apple.com +DOMAIN,itunesconnect.apple.com +DOMAIN,mesu-cdn.apple.com.akadns.net +DOMAIN,mesu-china.apple.com.akadns.net +DOMAIN,mesu.apple.com +DOMAIN,music.apple.com +DOMAIN,ocsp-lb.apple.com.akadns.net +DOMAIN,ocsp.apple.com +DOMAIN,oscdn.apple.com +DOMAIN,oscdn.origin-apple.com.akadns.net +DOMAIN,pancake.apple.com +DOMAIN,pancake.cdn-apple.com.akadns.net +DOMAIN,phobos.apple.com +DOMAIN,prod-support.apple-support.akadns.net +DOMAIN,reserve-prime.apple.com +DOMAIN,s.mzstatic.com +DOMAIN,stocks-sparkline-lb.apple.com.akadns.net +DOMAIN,store.apple.com.edgekey.net.globalredir.akadns.net +DOMAIN,store.apple.com.edgekey.net +DOMAIN,store.apple.com +DOMAIN,store.storeimages.apple.com.akadns.net +DOMAIN,store.storeimages.cdn-apple.com +DOMAIN,support-china.apple-support.akadns.net +DOMAIN,support.apple.com +DOMAIN,swcatalog-cdn.apple.com.akadns.net +DOMAIN,swcatalog.apple.com DOMAIN,swcdn.apple.com -DOMAIN,apptrailers.itunes.apple.com +DOMAIN,swcdn.g.aaplimg.com +DOMAIN,swdist.apple.com.akadns.net +DOMAIN,swdist.apple.com +DOMAIN,swscan-cdn.apple.com.akadns.net +DOMAIN,swscan.apple.com +DOMAIN,updates-http.cdn-apple.com.akadns.net DOMAIN,updates-http.cdn-apple.com DOMAIN,updates.cdn-apple.com -# App Store & iTunes Images -DOMAIN-SUFFIX,mzstatic.com -# Mac App Store -PROCESS-NAME,storedownloadd -# iOS App Store -USER-AGENT,com.apple.appstored* -# Apple Music Streaming -DOMAIN,aod.itunes.apple.com -DOMAIN,mvod.itunes.apple.com -DOMAIN,streamingaudio.itunes.apple.com -# Other -DOMAIN,download.developer.apple.com -DOMAIN,downloaddispatch.itunes.apple.com -DOMAIN,app-site-association.cdn-apple.com +DOMAIN,valid.apple.com +DOMAIN,valid.origin-apple.com.akadns.net +DOMAIN,www.apple.com.edgekey.net.globalredir.akadns.net +DOMAIN,www.apple.com.edgekey.net +DOMAIN,www.apple.com +DOMAIN,xp.apple.com diff --git a/README.md b/README.md index d43cb97a..7f891039 100644 --- a/README.md +++ b/README.md @@ -75,8 +75,9 @@ RULE-SET,https://ruleset.skk.moe/List/ip/telegram.conf,[Replace with your policy RULE-SET,https://ruleset.skk.moe/List/non_ip/apple_cdn.conf,[Replace with your policy] ``` -- 人工维护 -- 规则组仅包含 Apple, Inc. 在中华人民共和国工信部完成 ICP 备案和公安网备、且在中华人民共和国境内提供 HTTP 服务的域名。 +- 自动生成 +- 规则组包含 Apple, Inc. 在中华人民共和国完成工信部 ICP 备案和公安网备、且在中华人民共和国境内提供 HTTP 服务的域名,如果由于某些原因需要代理其中部分域名,请自行针对域名编写规则、并添加到当前规则组之前。 +- 数据来源 [`felixonmars/dnsmasq-china-list`](https://github.com/felixonmars/dnsmasq-china-list/blob/master/apple.china.conf) #### Apple Service @@ -114,7 +115,7 @@ RULE-SET,https://ruleset.skk.moe/List/ip/china_ip.conf,[Replace with your policy ``` - 自动生成 -- 原始数据由 Misaka Network, Inc.、DMIT, Inc.、NEROCLOUD Ltd.、Rainbow network Ltd.、MOACK Co., Ltd. 提供,由 Misaka Network, Inc. 整理,以 [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) 协议发布 +- [原始数据](https://github.com/misakaio/chnroutes2) 由 Misaka Network, Inc.、DMIT, Inc.、NEROCLOUD Ltd.、Rainbow network Ltd.、MOACK Co., Ltd. 提供,由 Misaka Network, Inc. 整理,以 [CC BY-SA 2.0](https://creativecommons.org/licenses/by-sa/2.0/) 协议发布 ## Surge 模块列表