This is based on a [fork](https://www.npmjs.com/package/ytdl-core-browser). By July 02, 2024, it is working.
npm install ytdl-core-info-browserHave fun!
/dist/ytdl.js with the path to the library's``html`
...
...
`ts
const proxyquire = require('proxyquireify')(require);
const realMiniget = require('miniget');
const m3u8stream = require('m3u8stream');
// We import the library so it cached before using proxyquire
const ytdlCore = require('ytdl-core');
interface YtdlBrowserOptions {
proxyUrl: string; // Ex: 'https://cors-anywhere.herokuapp.com/'
proxyquireStubs?: any;
}
module.exports = (options: YtdlBrowserOptions) => {
return proxyquire('ytdl-core', {
miniget(url, opts){
return realMiniget(options.proxyUrl + url, opts);
},
m3u8stream(url, opts){
return m3u8stream(options.proxyUrl + url, opts);
},
...(options.proxyquireStubs || {})
});
};
`
You are very welcomed to hack the settings (especially with option proxyquireStubs).`
For instance, if you want to use a custom implementation of the miniget library:js``
const ytdl = window.require('ytdl-core-browser')({
proxyUrl: ...
proxyquireStubs: {
miniget(url,options){
// Your custom mock of miniget(...)
},
m3u8stream(url, options){
// Your custom mock of m3u8stream(...)
}
}
})