Files
YouTube.js/test/constants.js
Daniel Wykerd 1681a9b84c feat(player): improved decipher logic (#79)
* feat(player): improved decipher logic

- Improve the deciphering logic for Signatures and NTokens.
- This makes NToken transforms more than 20x faster
- It also improves caching of the player drastically, by only keeping
the processed responses in binary format. Bringing down the cache
per player from 1.8MB to less than 400 bytes

* fix: linting errors

* fix: tests

* refactor: replace TS enum with ordinary JS objects
2022-06-21 14:29:13 -03:00

26 lines
3.8 KiB
JavaScript

module.exports = {
VIDEOS: [
{
ID: 'bUHZ2k9DYHY',
QUERY: 'Space DOES NOT expand everywhere'
},
{
ID: 'WSeNSzJ2-Jw',
QUERY: 'Scary Monsters and Nice Sprites Official Audio'
}
],
DECIPHERS: {
SIG: {
ORIGINAL_URL: 's=t%3DQ%3DAv2TLJ2sbQFV5msp4j7v71gS1rsXNd6QH2V1KpxGlaOD%3DIC46mVzTVTW_2zttE32HKH7XO1jkyfOJs58avqMLKdvRdgIQRw8JQ0qOA&sp=sig&url=https://r1---sn-hxtxgcg-8qjl.googlevideo.com/videoplayback%3Fexpire%3D1635863482%26ei%3DWveAYdqsB6KPobIPjtWwYA%26ip%3D128.201.98.50%26id%3Do-ABuHwkfRnd4hOQoDKRKn7ZHvuLEPAPKkYhiYKpTwLrY7%26itag%3D18%26source%3Dyoutube%26requiressl%3Dyes%26mh%3DG3%26mm%3D31%252C29%26mn%3Dsn-hxtxgcg-8qjl%252Csn-gpv7dned%26ms%3Dau%252Crdu%26mv%3Dm%26mvi%3D1%26pl%3D24%26initcwndbps%3D397500%26vprv%3D1%26mime%3Dvideo%252Fmp4%26ns%3Dv9CYauI2ycUgrV6wOERCNxsG%26gir%3Dyes%26clen%3D7275579%26ratebypass%3Dyes%26dur%3D218.290%26lmt%3D1540416860737282%26mt%3D1635841731%26fvip%3D4%26fexp%3D24001373%252C24007246%26c%3DWEB%26txp%3D5531432%26n%3DD8yGa-DC5m2Dwv--%26sparams%3Dexpire%252Cei%252Cip%252Cid%252Citag%252Csource%252Crequiressl%252Cvprv%252Cmime%252Cns%252Cgir%252Cclen%252Cratebypass%252Cdur%252Clmt%26lsparams%3Dmh%252Cmm%252Cmn%252Cms%252Cmv%252Cmvi%252Cpl%252Cinitcwndbps%26lsig%3DAG3C_xAwRAIgdS6ux5rh5ulfwh8c6_Kt2cOdyS51OxPlxSUoB5k5x9YCICOgRiuFsZwAqJmxvBrCuq3CKk1S4YeAxEq3zPLvzAvX',
DECIPHERED_URL: 'AOq0QJ8wRQIgdRvdKLMqva85sJOfykj1OX7HKH23Ettz2_WTVTzVm64CIQDOalGxpK1V2Ht6dNXsr1Sg17v7j4psm5VFQbs2JLT2vA==',
ALGORITHM: `fB={RP:function(a,b){a.splice(0,b)},
Td:function(a){a.reverse()},
kq:function(a,b){var c=a[0];a[0]=a[b%a.length];a[b%a.length]=c};fB.kq(a,35);fB.RP(a,2);fB.kq(a,46);fB.Td(a,6);`
},
N: {
ORIGINAL_TOKEN: 'iTX1oa3j52xA1pHySE',
DECIPHERED_TOKEN: 'NQ-04QGiFjqZBQ',
ALGORITHM: "var b=a.split(\"\"),c=[function(d,e,f){var k=f.length;d.forEach(function(l,m,n){this.push(n[m]=f[(f.indexOf(l)-f.indexOf(this[m])+m+k--)%f.length])},e.split(\"\"))},\nfunction(d,e){e=(e%d.length+d.length)%d.length;var f=d[0];d[0]=d[e];d[e]=f},\n-140383542,null,-333282999,null,1136267962,-757210208,-150287396,-1727540053,1503938872,\"indexOf\",-1702116664,-872606437,1824049263,-1722884238,b,962329339,-145379779,-985141426,b,-772278519,function(d){d.reverse()},\n1896212213,function(d,e){e=(e%d.length+d.length)%d.length;d.splice(0,1,d.splice(e,1,d[0])[0])},\n657916594,-933411025,-538647782,-424388583,function(){for(var d=64,e=[];++d-e.length-32;){switch(d){case 58:d-=14;case 91:case 92:case 93:continue;case 123:d=47;case 94:case 95:case 96:continue;case 46:d=95}e.push(String.fromCharCode(d))}return e},\nfunction(d,e){d.push(e)},\nb,-849851483,-1286781057,-30904533,function(d,e){e=(e%d.length+d.length)%d.length;d.splice(-e).reverse().forEach(function(f){d.unshift(f)})},\n-808797189,-223227494,function(d,e){e=(e%d.length+d.length)%d.length;d.splice(e,1)},\nnull,function(d){for(var e=d.length;e;)d.push(d.splice(--e,1)[0])},\n785105508,-1179357238,1822936056,function(d,e){for(e=(e%d.length+d.length)%d.length;e--;)d.unshift(d.pop())},\n245236700];c[3]=c;c[5]=c;c[39]=c;try{c[35](c[3],c[45]),c[12](c[31],c[0]),c[4](c[2]),c[17](c[33],c[32]),c[34](c[3],c[18]),c[5](c[20],c[1]),c[45](c[9]),c[17](c[10],c[13]),c[1](c[2]),c[40](c[7],c[31]),c[0](c[5],c[28]),c[13](c[6],c[7]),c[22](c[24],c[29]),c[19](c[6],c[28]),c[19](c[6],c[23]),c[10](c[14],c[27]),c[23](c[41],c[38]),c[14](c[10],c[39]),c[19](c[30]),c[20](c[36],c[34]),c[20](c[28],c[9]),c[45](c[5]),c[27](c[18]),c[23](c[10],c[35]),c[19](c[30]),c[21](c[36],c[10],c[38]()),c[32](c[16],c[46]),c[39](c[25],\nc[13]),c[9](c[25],c[28]),c[29](c[4],c[16]),c[9](c[22],c[17]),c[18](c[2],c[37]),c[21](c[19],c[41]),c[44](c[17],c[26]),c[33](c[6],c[34]),c[46](c[6]),c[30](c[6],c[45]),c[30](c[37],c[27]),c[28](c[6]),c[30](c[37],c[13])}catch(d){return\"enhanced_except_15UBqOr-_w8_\"+a} return b.join(\"\");"
}
}
}