1 #! /usr/bin/env nix-shell
2 #! nix-shell -i bash --pure --keep GITHUB_TOKEN -p nix git curl cacert nix-prefetch-git jq
6 cd $
(readlink
-e $
(dirname "${BASH_SOURCE[0]}"))
8 payload
=$
(curl https
://im.qq.com
/rainbow
/linuxQQDownload |
grep -oP "var params= \K\{.*\}(?=;)")
9 amd64_url
=$
(jq
-r .x64DownloadUrl.deb
<<< "$payload")
10 arm64_url
=$
(jq
-r .armDownloadUrl.deb
<<< "$payload")
12 urlhash
=$
(grep -oP "(?<=QQNT/)[a-f0-9]+(?=/linuxqq)" <<< "$amd64_url")
13 version
=$
(grep -oP "(?<=/linuxqq_).*(?=_amd64.deb)" <<< "$amd64_url")
15 amd64_hash
=$
(nix-prefetch-url
$amd64_url)
16 arm64_hash
=$
(nix-prefetch-url
$arm64_url)
18 # use friendlier hashes
19 amd64_hash
=$
(nix
hash to-sri
--type sha256
"$amd64_hash")
20 arm64_hash
=$
(nix
hash to-sri
--type sha256
"$arm64_hash")
22 cat >sources.nix
<<EOF
23 # Generated by ./update.sh - do not update manually!
24 # Last updated: $(date +%F)
28 arm64_hash = "$arm64_hash";
29 amd64_hash = "$amd64_hash";