ustclug / mirrorrequest

通过 issue 为中国科大开源镜像站(mirrors.ustc.edu.cn)提交新的镜像申请~
421 stars 16 forks source link

请求添加TUR(Termux User Repository) #360

Open dontknowhy opened 1 year ago

dontknowhy commented 1 year ago

先决条件 (Prerequisites)

项目介绍 (Project introduction)

Sounds like Archlinux User repository aka AUR ? TUR functioning mechanism is bit different. Instead of building packages in device that too in android is quite hectic work for user. So TUR saves resources and time since user could install pre-compiled package.(这是原文)

这东西约等于AUR,但与its pointless不同(吧 TUR的 Github:https://github.com/termux-user-repository/tur 好像its-pointless停了很久了(小声bb)

上游地址与镜像方法 (Upstream & mirroring method)

https://tur.kcubeterm.com 我不懂他怎么镜像法( 只能麻烦你们去探索了

镜像大小 (Mirror size)

No response

备注 (Note)

No response

Arnie97 commented 1 year ago
$ curl -s mirrors.ustc.edu.cn/termux/apt/termux-main/pool/main/t/tur-repo/tur-repo_1.0.1_all.deb | bsdtar -xO data.tar.xz | bsdtar -xO | grep deb
deb https://tur.kcubeterm.com tur-packages tur tur-on-device tur-continuous

$ curl -sIL tur.kcubeterm.com/dists/tur-packages/Release
HTTP/2 302 
date: Thu, 15 Jun 2023 07:36:16 GMT
content-type: text/html; charset=utf-8
location: https://turdl.kcubeterm.com/dists/tur-packages/Release
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=7heNWqEFp1ddfZR%2BGzfSqKAugvfHqGeGAFfkVoQXWHRIb7VmzxGl2mA1Pq3Bgf45ZusJKrN%2F0%2BgURoOK21s2qcMEuQGC043k9COvdCvsmRUWA6A741TbJ%2FzBSEYyNgc5MFNY8A%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 7d7924201b39f967-SJC
alt-svc: h3=":443"; ma=86400

HTTP/2 200 
server: GitHub.com
content-type: application/octet-stream
last-modified: Thu, 15 Jun 2023 06:41:52 GMT
access-control-allow-origin: *
etag: "648ab2b0-4f5a"
expires: Thu, 15 Jun 2023 07:46:17 GMT
cache-control: max-age=600
x-proxy-cache: MISS
x-github-request-id: 0CFE:179C:BFEC00:CA65F0:648ABF70
accept-ranges: bytes
date: Thu, 15 Jun 2023 07:36:17 GMT
via: 1.1 varnish
age: 0
x-served-by: cache-nrt-rjtf7700069-NRT
x-cache: MISS
x-cache-hits: 0
x-timer: S1686814577.064252,VS0,VE230
vary: Accept-Encoding
x-fastly-request-id: 26bdba884b3c96673eede4bf1e886c823b5e8b14
content-length: 20314

https://github.com/termux-user-repository/dists/blob/master/CNAME

上游用这个仓库里一个 Cloudflare Worker 脚本做了重定向,分为两部分:

dists 目录重定向到 GitHub Pages,镜像的方式是浅克隆这个 Git 仓库,将其 dists 目录以 HTTP 协议对外开放。 有用的部分 < 4MB;不用稀疏检出,带上仓库里一些没用的东西 < 20MB

pool 目录重定向到 GitHub Release Assets(其中 0.1 这个版本是常量),需要使用 tunasync-scripts/github-release.py 一类的特殊工具镜像 GitHub Release,并将 /pool/*/{filename}.deb 的请求重定向到 /mirror-path/{filename}.deb

curl -sIL tur.kcubeterm.com/pool/tur-continuous/chromium_110.0.5481.177_aarch64.deb
HTTP/1.1 301 Moved Permanently
Date: Thu, 15 Jun 2023 08:15:41 GMT
Connection: keep-alive
Cache-Control: max-age=3600
Expires: Thu, 15 Jun 2023 09:15:41 GMT
Location: https://tur.kcubeterm.com/pool/tur-continuous/chromium_110.0.5481.177_aarch64.deb
Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=Z0z2%2FMpptEIrTBI9NtmZ68yWLTim60ysTGrp0NI90%2FPT2kH6pTFk5GKkHRBUjSU%2FRjdZ3F4cuTECdCVB6hfXzsXthD1rSQGVzzwa6ot7Pcw6mbItnL12o0QoTZlZWJKEkgJ%2FgA%3D%3D"}],"group":"cf-nel","max_age":604800}
NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
Server: cloudflare
CF-RAY: 7d795ddf2baa2d24-IAD
alt-svc: h3=":443"; ma=86400

HTTP/2 302 
date: Thu, 15 Jun 2023 08:15:42 GMT
content-type: text/html; charset=utf-8
location: https://github.com/termux-user-repository/dists/releases/download/0.1/chromium_110.0.5481.177_aarch64.deb
cf-cache-status: DYNAMIC
report-to: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=zSNorDDW7apdHo9UN0gp4PMaxjgSqI6oNaX5Y4jYKtahhUA4vfUCzTt%2FwhzSk31CHcwyd4fSfWdKJ2hEHaLKK7l8yfgeEgU2jHrQoe45ChULP%2FXK6DUO%2BVOyfF4pEPVf6OhFGQ%3D%3D"}],"group":"cf-nel","max_age":604800}
nel: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
server: cloudflare
cf-ray: 7d795ddf791538a3-IAD
alt-svc: h3=":443"; ma=86400

HTTP/2 302 
server: GitHub.com
date: Thu, 15 Jun 2023 08:15:32 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, Accept-Encoding, Accept, X-Requested-With
location: https://objects.githubusercontent.com/github-production-release-asset-2e65be/509717777/065feb7a-401c-44b3-adc1-29578e10995c?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20230615%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20230615T081532Z&X-Amz-Expires=300&X-Amz-Signature=d54b28357143177ae25d80a03f5c5b4ad6a78d9dd3313e3b7b82e54acbd4c062&X-Amz-SignedHeaders=host&actor_id=0&key_id=0&repo_id=509717777&response-content-disposition=attachment%3B%20filename%3Dchromium_110.0.5481.177_aarch64.deb&response-content-type=application%2Foctet-stream
cache-control: no-cache
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; block-all-mixed-content; child-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com objects-origin.githubusercontent.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com cdn.optimizely.com logx.optimizely.com/v1/events *.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ wss://*.actions.githubusercontent.com github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com objects-origin.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; worker-src github.com/assets-cdn/worker/ gist.github.com/assets-cdn/worker/
content-length: 0
x-github-request-id: DEA0:20B3:113837C2:18FC6166:648AC8AE

HTTP/2 200 
content-type: application/octet-stream
content-md5: 2maEAyvvPEHPK2vSyLEB6Q==
last-modified: Wed, 01 Mar 2023 20:24:15 GMT
etag: "0x8DB1A92ED3CFCC0"
server: Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 4bb0c11b-101e-0026-5c61-9fa94d000000
x-ms-version: 2020-04-08
x-ms-creation-time: Wed, 01 Mar 2023 20:24:15 GMT
x-ms-lease-status: unlocked
x-ms-lease-state: available
x-ms-blob-type: BlockBlob
content-disposition: attachment; filename=chromium_110.0.5481.177_aarch64.deb
x-ms-server-encrypted: true
via: 1.1 varnish, 1.1 varnish
fastly-restarts: 1
accept-ranges: bytes
age: 9
date: Thu, 15 Jun 2023 08:15:42 GMT
x-served-by: cache-iad-kjyo7100086-IAD, cache-lga21937-LGA
x-cache: MISS, HIT
x-cache-hits: 0, 0
x-timer: S1686816942.186230,VS0,VE17
content-length: 101546052