Skip to content

Instantly share code, notes, and snippets.

@t0rr3sp3dr0
Last active February 22, 2026 23:38
Show Gist options
  • Select an option

  • Save t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d to your computer and use it in GitHub Desktop.

Select an option

Save t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d to your computer and use it in GitHub Desktop.
Block Ads via NSSurge
#!MANAGED-CONFIG https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/$urge.conf interval=300 strict=true
[General]
[Rule]
FINAL,DIRECT
[URL Rewrite]
https://.+[.]api[.]amazonvideo[.]com/cdp/getVideoAds[?].+ - reject
https://.+[.]prime-video[.]amazon[.]dev/getVideoAds[?].+ - reject
https://.+[.]cdn[.]peacocktv[.]com/dai/.+ - reject
"https://.+[.]cdn[.]peacocktv[.]com/intmvpvod/.+[.]m3u8[?](.+&)?vam_params=.+" - reject
https://.+[.]ads[.]twitch[.]tv/.+ - reject
[MITM]
hostname = disney.playback.edge.bamgrid.com, dynamic-manifest.hulustream.com, www.youtube.com, *.api.amazonvideo.com, *.prime-video.amazon.dev, *.prod.cloud.netflix.com, *.cdn.peacocktv.com, *.ads.twitch.tv
ca-passphrase = 000000
ca-p12 = MIIQbwIBAzCCECUGCSqGSIb3DQEHAaCCEBYEghASMIIQDjCCBfoGCSqGSIb3DQEHBqCCBeswggXnAgEAMIIF4AYJKoZIhvcNAQcBMF8GCSqGSIb3DQEFDTBSMDEGCSqGSIb3DQEFDDAkBBDGR4RGl0RwyLcPwdHphLbUAgIIADAMBggqhkiG9w0CCQUAMB0GCWCGSAFlAwQBKgQQ+KkoDo820yN3tHN5PqoCQ4CCBXCC/FrXr5wLJhNkpaF8PV+6Ha1q1XmiqQkZVnlF+sTP634a6RXqFH6wkmikJVRIXz2cEyJLKXsNzExB2H1eJLc0fbvJcG094qjjXjmPl/XC0eP59G8iw6vS2/u0owAtrsJfE6Z7KxhjDJR+TmZITiuoP/rV9yglMLYAD3h8+HOmgMyQHsqkOR9D2hD7EMhxxEjotlUGgsZRY88P2hJ995jshRmvDqWhNsi0Xm04nsi19vt6MO4BEIVrOXu73fWUXBrSK6xm2M1X0a0lv/OxRVj+BwsxTqwrt2edw5TTEtdqmQV04fuBRxzo8A3LyyGRIHdpJebx0A5Rrm0nt03F3CQGy+rternzomR2ZaR8t5VunLDPVBgdobOPEF7YOrFyK9XWnTvSppli8RPrjYXit/R4F62bgob7w52OKdRHWutSn9BVuV8NFxjG52VrS83mbK5WCQFIWmOQxAbqWRvF+s8a5RoJNrm1oVNyAcxvv+ZIaoevRQBtzJnxZxKPiR9Lbcd1JjBT1eJNuhd+pKsQwSIjIdbrkLaZl+mwM5VZFv/WQU4EHxy4uZz6jm8fHO5bYeGqUejFKy/LOMi4Bh2LokV2BxRHnhik3OKeD1EDBLKEHxIatuYJdc4EjBl6djvW9ijPsJeHF4ypqi1LtTPTEDymIAXbWgwVJ3GeylhoPoJKHm3mpj3h1ANazjVet+k5HllCrIC5oKo0/4V9ytvi4tvclv0LG8x4cW2fFCiKIMDnDKDfShpUvVKL7grz5+CarVpT4LNEf6iy3MPXefgx4nA1YlFBceiBPiigNY7AGrJHi7oIwZUfa9HZhkj9xGnt7W0himO2C/FggbTcKbEgzc4YWqj6jV6Ja3VzmhY8pKSfHCUEHn54o8wFe7P13Vct66pc6ia9H8IeXFntJAd9K2eQ1TuN2MT4mATRYQqyt/iOfx85WkIRXsCmDltlQMES7Ppa7HZAobOgF9tPwcxSDqkeDjxwIeRyeZkiZP54R8e1/Kg5tzJplKeJjTwB9cuF5bkpxo/HAyQ6UX5sq2DRX39xGLtD8QL+QoXzNXoxkr3e+QmPw8SDglwEJ6WZAgdl6Fs/kNKi/hY1HcaJbQkf6EAQ2q11QgZQqA1EGuhzJ5eIQiaa6KtfTaYHoSagI6yeED5X6ie2vCKJivxZfFDLfftYLEHxu8lIFsfhK+UPhZZZHYwVshrNgaB5xZxeX/qtojPako8PmyFSGHcd+p4cJHmBFiUFylORH8m/lEG7NXWn+pPdfYUB/HPfNhYf8M2PRVurcqHtxzseXOOpoa7WlL0yd14FNQHCktMotfMzMLKLqbY6y8KBBP9xD/2gVZdl0d1BeK0Au/k+PP8HGKqjatl70j+jTmcjyoSzeoGUP7DlefxD4UYUCVhbzGU7AQnFD6UrnIVg6sbD6SI8a+ZKVm0vrTDO4P/hY0FrG3/Ze90p5gx2qyESBjnQRdEAnYRSSrhcq2e3IjmE94oyrb0Msj7ebOWfUkUvvWvOTUIC2JnkdFwRqMxA05NS46U3U2BcnUdDXYVWhvYvtp9wvF1mJBXN4n+5DEKZv7QLbuUZ2qi/zW6M/dF0XPNUAnecAHppVJSEE+nw9pY+RdECOFd0U2ANwzJkx/K71+8kXgB6MrKPw7LSAlIJawn79HUdL+QEcFOc9cvzR7jz1u0x6QPkw/RmBOoBfmZjl3FM1eAbPDGUN/r7+HMXGVOWQhsd2WQnzOdiKW82g4eRDs/OvfJzUeskaAi18Bzp9LzxzwbLe+WfjvDH2CmGCpKWZxl5G1Uguxl7yfx8LLyaJj7aUzh/BnFW9HbTxBel0HU4IHVMm+hxGkikNt1QQdeEPuSsvR5mQlEwggoMBgkqhkiG9w0BBwGgggn9BIIJ+TCCCfUwggnxBgsqhkiG9w0BDAoBAqCCCbkwggm1MF8GCSqGSIb3DQEFDTBSMDEGCSqGSIb3DQEFDDAkBBBKBNKBSpyuZWp37YBaofl3AgIIADAMBggqhkiG9w0CCQUAMB0GCWCGSAFlAwQBKgQQURXugK9syK/W3RXC8GAupQSCCVBXcPWDPc3n7OOMzHZHO8hNAQgCVdaVFWXr56OfKIlVUJm24aIfU8t855i7HWD4hToj+0kHkq+PfIP8c/YZ1YY6FQWIw/YAQIx2lLJl5pAXJa6AVwH2lWaZOQmLGsBJ8cYIgbf9atJCHP4pDp+gPflRSaC22Neb8rfI4UmPT2fxCR5chzY7CIYOGMI1z38TjMdzWm/ju0GBUCRNosrYkxPGvfL3K9+iXxt5J28nuL3ie1kEXlfVrYsgllivZcM+Vq5Pwc18ShfwHetav4WyBvYTerB5MtYIIgLXT8f6icf/uO/ChQ3GgpcwprNZM4iiqxrJXA6Rk/zz05sMmzpTTgRAZ8Ne1nBGaZD0UpXSe+mn4L65zbNGTp27q9qZW+nd1aOfJw3Qw0KfTMgDiby0kGA+M5y4dQWelIOV53/keoXoYhDwZkcuRqRUowU3QTzRDV5sot9S6gRfiFCk9RLrItr4crOGYbtWgsTeucb+9sAYTLCK1Rh+UC/OFwGNjHF8iLresF6WqeQzg7zWWkMPPSJUe+UqoqWRFjGRBLSLrXLJmEXUHp87X5NWywZuCCYDFWrfkTPLpadQUQFk+FFgNqpwwlZbuTYSyMM8NW+IhrO7Jan9SUrfVAbD73mWk+jx+fROsdhkNmUiaqJFxTEZ/3UXzNHGuL0VPK1sbrA3YhADXgEvssEy4dqCU+Fy2n4SOUNlBx6owBL2GmRZcQEgNJG+9caqJZFrQb2wqkPsKabcwyRqnTr9KsI7KUiCEHisiM+pDp+ilansGHsL1/gwxMUX9Q6piJz4YknmXr5NI7MsHwCLu3nVoqCIQyDAAIUfmpygORERxC8airuKMLuUdgvg2ToaQR5t+MGzbmFdK0MMy/uuQcr0QlMVMUEjz1PBQNLG1aDKzvW5r0xqA8moV9NBRuQbKcAGC555MV6RkI64kc6T1tN+jmqOkLSW1WeFUBfdqqkrF6cReaXKEj6QWWxZkkSlBAcIiGYsnsOuK1pxUDmnmFTEGK10w8G9Ky5U/ZpcT8zdGFXqwE445M/+leyr98dpNgYxGHX2WAU9rxs7VFBe8F/hwv8BXWYar4iIpEGR8amZs8kwObI2WN3oKWR2AxwNz+L5h0OpXrfPeOlh8YDPYfYP22Z0g16hEnfeYzsBizvRmXqW9dZ/99wEE2U/E06H4kz78Bk79VS+O9pNDKqboui9hx+gV6hUHiMD0oOFoIORtw0T8YZWwdUUFHtHnzLO1BCUuCT9352kiCyxlUZ0dhGs4/VT9+rxgyEKetwE7ylrEpxzCUrjYDY7pwXXodq4G459xHBUBNpQu0xRfZpvN8x5M4KKPv2fnMgM0am/FpOSfA9X634cy9wCvMfcGuJkRyU+ig3vYkNGbpp2XhDacH+IpMS0zkEfzND0xCWfC3KCcwo8/i96rU8J5RDjvKKT7tp3yj1QhO7cDezXDsBReDZEbE0LrAAXySHKXBbro8DvyTt+eb+K5baZseFWbeePrtEgrypj7wAXYcgHZ1/bt4NZKk8P1W+Gb4pC53Icn/nd2QX2lawFHKxlU9cR7k4lfgcGJR5GWT+DB9uXE2qqiUuEkodr1Q7Ac/DxnrKjFQ6TmkTENF4K4S0Crni4XZOtE8heM9mG6x0RdNkCGe0KUvdjE+W+JYjDl66+uWeQ2TetcEZJhMd3UN9bFuZlzCLths1ilz3ryc/nu5YmRVziAuGOuVTIE1wnFX5E3UR9uDhZ2n4tO/Phg38VpYDuC6sAEshsgoII4h27keL54APql3p3wiar3wFmCV4++9BfyI5Kqv2V0FtWiP48Ww0Fei7jdpW8l/eNX3XSsFWvnyV8HPMBR/Obr3oQh9P4W6ggRtr4/XLdGBjzwG/xO1VXia8o+epxwgRoyZbRWAkpU0njP8TreJcPTPG+z/4dnRefZA1jJIKr/5O45rd64wtc72LR+mJnMb3ywkp079YThwV6jyyqBQOeVlN1hfgeC8+6usOXdvTe9cCp44Pn2iTiE+FvnbKqVPh7lO7wAm2f6xNaUG6HnES1d55CiHKs540KDcImvv7o5uojM9cw2eD2IVnfJd/M4/OLI5nmufob+EZgrpdFEehByq8ue/ofTKjGeKgx0xMh8nKoJz7PJVq/M60ATf5SyxNgmzcSioNV+F2HSHtQvku/mnkyp1GWdL6ZxDtaF1OZ3GHePo2rj6zbIf1rDBFDEIOR52Q5/fS+tPcXS9kJ8F8P+sEwtNvvjFj8HKBGAywZG6JfrPsDxnBpaQLIphPocIY1HzorgIJ3ee7PbqTQ4xebnVgsZtjZ6A5Wf7o3oXYCxJwV4NZ74J+gNH8BVNVa+T0wjjN2a36Giz3S9E2S1BXmYXzFVqzLxyFsSbNxf2PQEdXUNMn8lopUjv+g1mywu+ci1xdFq8jGJEWag7yNbc9zEJvtWyRVggqrYT9ycJ/dNJx2Oe/+7qMe8ILCe92EV+sHjVaY9Q/g1Rsvv3OuMgq6v+ryjYwglPNtdCxvD7nv3p0Lfa52hP8L5S1zN1kzsGkb2cK0oR/0bZp3r51/OwzSY7ZYOZ5w5/e+ONxQ5zkgTDAqZulm3g7GEotn75ENW1UzmLgWvt3KC1uoGkyp1SVUIYD6rEOMqcq5hFnfwOmYXKejJlWp6N0B3nlgEVr4zXCONIZCkv8qvxobSdIU1oMYFAKdcMC5bgnq2+pZESxroTjdFtCKRbOo6VU+YMOGPAtcdpmAZDEM5IhwsFQx+Ctgu+2VUgPK2LZ29CbWN1/vyNdsn8g9ZsssuwuXsK9ttVI1UdpJNapPiJsD7c8MW1r/l5Re5xTKKY+zRCywJrCRy+/0AZjCkkmYk2VEcuT030JAMh3ZRIiCByNmfgmqQPCRcJUcrxE0MKL9R2vM1OcWJM9ACTl2ela+/vdFDrHK5quPbDGNyDwI4FiDyYqiTIpvy5yiMnsPlrtrUapri/QyfBog5zGFjPx4adHr6o1ei4/3A9sCdFTV+lphrfFY1nGJdB6yx2osnxYxr1S2V4z31Q8Ytrs6EdU/lKdOgxdw5W9UWBbkwuqwHFsuLRuyqIwaMmkCDSXSy1It9A+iO3bGIG1AaIfZrSVUjzsAigTaDwNBdeDaxyvvfBBx9x/qM3fphtjiSmUkqUk2LCpaCTGm+sQUun+YhfiMLcYINJzuGArO58S6jz77EzElMCMGCSqGSIb3DQEJFTEWBBRjrEmtIzggU47r4ACRBiz3wFfKQDBBMDEwDQYJYIZIAWUDBAIBBQAEIM2GsAyXxjFCk6KjX1M1bhDozYKWnd7WwFgCntG02Tf6BAjVRBgr6ld1wQICCAA=
[Script]
Disney+ = type=http-response,pattern=https://disney[.]playback[.]edge[.]bamgrid[.]com/v7/playback/.+,requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/Disney+.js,script-update-interval=300
Hulu = type=http-response,pattern=https://dynamic-manifest[.]hulustream[.]com/hulu/v1/vod/hls/variant/.+,requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/Hulu.js,script-update-interval=300
Netflix = type=http-request,pattern=https://.+[.]prod[.]cloud[.]netflix[.]com/graphql$,requires-body=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/Netflix.js,script-update-interval=300
YouTube@tv = type=http-response,pattern=https://www[.]youtube[.]com/tv($|[?].+),requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/YouTube@tv.js,script-update-interval=300
YouTube@youtubei@v1@browse = type=http-response,pattern=https://www[.]youtube[.]com/youtubei/v1/browse[?].+,requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/YouTube@youtubei@v1@browse.js,script-update-interval=300
YouTube@youtubei@v1@player = type=http-response,pattern=https://www[.]youtube[.]com/youtubei/v1/player[?].+,requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/YouTube@youtubei@v1@player.js,script-update-interval=300
YouTube@youtubei@v1@search = type=http-response,pattern=https://www[.]youtube[.]com/youtubei/v1/search[?].+,requires-body=1,max-size=2097152,binary-body-mode=0,script-path=https://gist.github.com/t0rr3sp3dr0/affec5cb71de89b7fe6226374852f40d/raw/YouTube@youtubei@v1@search.js,script-update-interval=300
-----BEGIN CERTIFICATE-----
MIIFBTCCAu2gAwIBAgIUUPPuOrU9o9s8gb0MKU1pQolGl0owDQYJKoZIhvcNAQEL
BQAwEjEQMA4GA1UEAwwHTlNTdXJnZTAeFw03MDAxMDEwMDAwMDBaFw0zODAxMTkw
MzE0MDhaMBIxEDAOBgNVBAMMB05TU3VyZ2UwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQD0Trkbvqq6uKUw7lFYfuW2+dRja1C0UyxUkIuZoR4kEdvnhucI
jG1NaYSgc6j/iqaj8lvG/ic0JoDGVd+RtjsY3GjzdmuiNxffUSzgeBj5XqLp/O2D
xaUgxIsnRqKMPaLwFXKO73/7Gd/YN87eA4D8/qXTnWuE+RRXlpHc0012ojIBu/NF
Gs05QSjQDZoBE+6hPBhTuaPRRlIfII2FYt+6A2wtoRfDjrcoEwx1WitVfNzJfdnE
RkvqwKIm9aeKmYEGc6Mue/p4Zazs7BpkeH2JQe7d4N1lM43smxaTT+upBchzmkR9
bvkeC8f7vpvgukpP/3O/B8Y37+95J7fsj4LXqKlzHL9kEs5S2jBFEXDj65p6h2pL
I19FqQ0+uNEaMgtenhuEHoKl0zh2+zn93hdL2Fd4GNDPthnJ3IeJfGIJ54f8CLtT
lkRHLcm25EPjO89jMkusL1Ag6SGTQGck909DTMHX3pXCrGZJDtEQwSUXW5LfvOWc
+9s2933jpOf0WR96Lu6SR3zE+zmmoH6p8SSYMEYA4sF4Jnps8G5njec9rrxsSD4X
vVvDCW/IADi7qne1lkUddQGJTbDURXHA93cOA1tuN3uFZS1nFocR44VUFs7idlvm
B/vxNFyAz9EoZD6ptkg+J3QJQVVLB6v85yR67RCjP19OG0+g3vSO9avd/wIDAQAB
o1MwUTAdBgNVHQ4EFgQUZoyKqTBCfhhR8PrTVygzIC4HQR0wHwYDVR0jBBgwFoAU
ZoyKqTBCfhhR8PrTVygzIC4HQR0wDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B
AQsFAAOCAgEADgmxpmVTUbm11YtAaXtl2DsFoJSYik/+6w2BO/db+A0Ad7mzHSPN
AUGs5bnrCPG8/0FBO+jKHQMLEIBM/pMpC7krruJaxEsv8RicHLDNButS1hwKQaFg
+2wkV/yqv3h8hY6dggqD38X8BVIa3YDIR2UblZAIoUHG1DdjwCq6FrWqE0djnW0b
iwhYWOQx+bsBm7MTWS0j9r+L8KMs/BR/AHMSO1W0tm6RnAWFjsAdeAijoVVJyPIn
Ji3TH+1QEiHtlp2jtiEwb3sZKHLai2ZdBsohRXPuCLeaxCdu3uYPFMBdmNkpQRkf
quaZVWB9K5qivd1wTS9fNM3vsXi5p5oppjPn3dVpwow8JWRlnigw34vKEDXL7HWo
pauc9B+NHhHtHhppzfMXwhApdKx8273hOPUOPI+vL534mxP+zRt0IUWrVGIdtstI
N7lOltSYJ+1cGBTdA41erQkiXp0Qr12DphTh8U5c3O4RxcTAfA+ai6JiXNP42loD
CKjRhAnQU7NgR61tfLmJUAsBU6xtpqbarSVU5npTtgs/3p6hrzO/Mk35g2jWa3vo
4mXiaoC8Ucvv5+o1BxcTlvHCYP0DQk3KjYGqVMLi43nPoo1sWbERz9unvzeAFqYB
phFD38XJScuRqfqh5kgAo1KEqiNn3KphgGty6TYlXmloDqqnmSgBIvc=
-----END CERTIFICATE-----
let body = JSON.parse($response.body);
body['stream']['insertion']['points'] = [];
$done({ body: JSON.stringify(body) });
let url = $request.url;
let regExp = new RegExp('[?&]path_prefix(=([^&#]*)|&|#|$)');
let pathPrefix = decodeURIComponent(regExp.exec(url)[2]);
let body = $response.body;
let extInf = '';
let output = [];
for (let line of body.split('\n')) {
if (line.startsWith('#EXT-X-DATERANGE:')) {
continue;
}
if (line.startsWith('#EXT-X-MAP:') && !line.includes(pathPrefix)) {
continue;
}
if (line.startsWith('#EXTINF:')) {
extInf = line;
continue;
}
if (extInf !== '') {
if (!line.includes(pathPrefix)) {
extInf = '';
continue;
}
output.push(extInf);
extInf = '';
}
output.push(line);
}
$done({ body: output.join('\n') });
let headers = $request.headers;
if (['InterstitialForLolomo', 'InterstitialForPlayback', 'InterstitialsForProfileGateAndLolomo'].includes(headers['x-netflix.context.operation-name'])) {
$done({ response: { status: 500 } });
} else {
$done();
}
let headers = $response.headers;
headers['Content-Security-Policy'] = "default-src * 'self' 'unsafe-inline' 'unsafe-eval' 'cobalt-insecure-local-network' 'cobalt-insecure-private-range' https: http: file: data: blob:";
let body = $response.body;
body = body.replace('<head>', `<head>
<script>
const map = window.Array.prototype.map;
window.Array.prototype.map = function(...args) {
if (this[0]?.adPlacementRenderer || this[0]?.adSlotRenderer) {
return [];
}
return map.apply(this, arguments);
};
const isTypeSupported = window.MediaSource.isTypeSupported;
window.MediaSource.isTypeSupported = function(type, ...args) {
for (const [k, v] of Object.entries({
'width': '99999',
'height': '99999',
'framerate': '9999',
'bitrate': '2000000000',
'eotf': 'catavision',
'channels': '99',
'cryptoblockformat': 'invalidformat',
'decode-to-texture': 'nope',
'codecs': 'av99.0.05M.08',
'experimental': 'invalid',
'tunnelmode': 'false',
})) {
if (type.endsWith('; ' + k + '=' + v)) {
return false;
}
}
if (type.includes('; codecs="vp9"') || type.includes('; codecs="vp09.00.') || type.includes('; codecs="vp09.01.')) {
return true;
}
return isTypeSupported.apply(this, arguments);
};
</script>`);
$done({ headers, body });
let body = JSON.parse($response.body);
const contents = body.contents?.tvBrowseRenderer?.content?.tvSurfaceContentRenderer?.content?.sectionListRenderer?.contents || body.continuationContents?.sectionListContinuation?.contents || [];
for (let i = contents.length - 1; i >= 0; i--) {
const content = contents[i];
if (content.adSlotRenderer || content.adPlacementRenderer || content.feedNudgeRenderer || content.promoShelfRenderer || content.statementBannerRenderer || content.shelfRenderer?.headerRenderer?.heroCarouselHeaderRenderer) {
contents.splice(i, 1);
} else {
const items = content.shelfRenderer?.content?.horizontalListRenderer?.items || [];
for (let j = items.length - 1; j >= 0; j--) {
const item = items[j];
if (item.adSlotRenderer || item.adPlacementRenderer || item.feedNudgeRenderer || item.promoShelfRenderer || item.statementBannerRenderer) {
items.splice(j, 1);
}
}
}
}
$done({ body: JSON.stringify(body) });
let body = JSON.parse($response.body);
delete body.adPlacements;
$done({ body: JSON.stringify(body) });
let body = JSON.parse($response.body);
const contents = body.contents?.sectionListRenderer?.contents || [];
for (let i = contents.length - 1; i >= 0; i--) {
const content = contents[i];
if (content.adSlotRenderer || content.adPlacementRenderer || content.feedNudgeRenderer || content.promoShelfRenderer || content.statementBannerRenderer) {
contents.splice(i, 1);
} else {
const items = content.shelfRenderer?.content?.horizontalListRenderer?.items || [];
for (let j = items.length - 1; j >= 0; j--) {
const item = items[j];
if (item.adSlotRenderer || item.adPlacementRenderer || item.feedNudgeRenderer || item.promoShelfRenderer || item.statementBannerRenderer) {
items.splice(j, 1);
}
}
}
}
$done({ body: JSON.stringify(body) });
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment