dnscrypt-proxy -list-all -json -config /etc/dnscrypt-proxy/dnscrypt-proxy.toml
- you can load the same googlevideo.com URL without any redirect on the same /48 IPv6 subnet
- as long as it's still the same ISP you can load the same googlevideo.com URL but you will get a strange redirect with content-type plain/text with the new URL to use
- on youtube.com any change in the IP address that doesn't concern the two first points will trigger a request to the player endpoint for new video streams
- When async something is in the URL, add/modify
async=_fmt:json
. - You can try the query string
alt=json
for some APIs like the youtube one - You can also try the query string
fmt=json
- For some API, get the JSON result by modifying the client name used. Example:
So, short version: curl "https://www.google.com/complete/search?client=qsb-android-asbl-pb&q=" -H "user-agent: Mozilla/5.0 AppleWebKit/537.36 GSA/10.77.9.21.x86" -output trend.proto It seems that it combines geoIP with the field &hl= in order to decide which trends to show, and perhaps also gl= It allows for three different clients in order to get json, ajax-json or protobuffer. Respectively, qsb-android, qsb-android-asbl and qsb-android-asbl-pb
- install nodejs
- install the library got:
npm install got
- launch the script with
bash execute.sh
I replicated the issue on a Digitalocean droplet in UK location with IPv6 disabled and the DNS server set to 8.8.8.8 if one wants to have an environment to the one that I used.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
visitorData: CgtVLWpkSnB1dTdPayjwnbuXBg%3D%3D | |
streamURL: https://rr3---sn-aigzrn7s.googlevideo.com/videoplayback?expire=1659839312&ei=8M7uYtHXNZidWrXQtugK&ip=165.227.236.94&id=o-AJ43cP7fGscgQ0nVqp_PviKPrcV6qAXmyR4rhgGuyUmQ&itag=18&source=youtube&requiressl=yes&mh=T2&mm=31%2C29&mn=sn-aigzrn7s%2Csn-5hne6nzy&ms=au%2Crdu&mv=m&mvi=3&pl=22&initcwndbps=161250&vprv=1&mime=video%2Fmp4&gir=yes&clen=4181171&ratebypass=yes&dur=300.071&lmt=1659132959131645&mt=1659816789&fvip=5&fexp=24001373%2C24007246&c=ANDROID&rbqsm=fr&txp=5438434&sparams=expire%2Cei%2Cip%2Cid%2Citag%2Csource%2Crequiressl%2Cvprv%2Cmime%2Cgir%2Cclen%2Cratebypass%2Cdur%2Clmt&sig=AOq0QJ8wRAIgbVOJmUzeQXFhEFQ2_vCGGOqwAg3dI0wUntOmXCIsWtcCICUv7kNK7OOuUdChRg88XLdXFHIvd_yZfROkNDiwtd15&lsparams=mh%2Cmm%2Cmn%2Cms%2Cmv%2Cmvi%2Cpl%2Cinitcwndbps&lsig=AG3C_xAwRQIgB-waQ9nxwf7mmKixKc2RtjW_UwanxvMdWsooXQKxXrACIQDUiOTUavdjOSE8P109joAPCMtNwvoGpSiYViL2NJNtew%3D%3D | |
sha256: 18ee5921d02af80021114e85605533760df978ca638c810b8b228753556f37fd | |
dns ip of youtube server used: 142.25 |
- Update the PKGBUILD
makepkg --printsrcinfo > .SRCINFO
git add PKGBUILD .SRCINFO
- git commit
- git push
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[Interface] | |
PrivateKey = xxx | |
Address = 2axxx/128 | |
[Peer] | |
PublicKey = xxxx | |
AllowedIPs = ::/1, 8000::/1 | |
Endpoint = 185.107.82.73:51868 | |
PersistentKeepalive = 25 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
location /latest_version { | |
set_by_lua_block $random { | |
return math.random(1, 2) | |
} | |
return 302 https://eu$random.proxy.yewtu.be$request_uri; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM alpine:edge AS lsquic-builder | |
RUN apk add --update --no-cache \ | |
tar \ | |
build-base \ | |
cmake \ | |
git \ | |
go \ | |
linux-headers \ | |
ninja \ | |
perl \ |
Better tutorial (a little bit more complicated): https://gist.github.com/karolba/a3f1c5f8d50c67f5a19e6c8f38e53e12
- Download the "virtual" type aarch64 ISO file from https://www.alpinelinux.org/downloads/ with wget
- Execute
sudo dd if=alpine.iso of=/dev/sda
- On the Oracle Cloud panel, setup a console connection and connect to the serial console.
- Execute
sudo reboot
- When Alpine is launched and you are logged in as root, execute these commands in the serial console: