乐于分享
好东西不私藏

给音乐自由插上翅膀,MusicFree插件地址

给音乐自由插上翅膀,MusicFree插件地址

昨天介绍了音乐自由的领地,很多人后台留言,没有插件,就没有飞起来的翅膀,那今天只好再给大家喂喂饭了。
前面我也收藏了不少网络收集而来的Music Free插件,有部分是网络添加,有部分需要下载添加,执行选择使用。
首先还是再介绍一下Music Free凑字数。
一、如何导入源
打开App-Musicfree-左上角更多-插件管理
右下角插件-添加插件-从本地安装/从网络安装
从网络安装导入可信源,或者上传自定义插件到Git
-本地导入:从本地安装选择JS插件
-网络导入:选择可信源,或者编辑自定义插件上传到Git,填入对应地址
二、通过订阅导入
个人自用地址:https://gitee.com/sinmite/source/raw/master/musicfree/synthesis.json
插件管理-订阅设置-新增订阅
三、源代码JS导入
个人自用:https://gitee.com/sinmite/source/tree/master/musicfree
"use strict";Object.defineProperty(exports, "__esModule", { valuetrue });const axios_1 require("axios");functionformatMusicItem(item{    var _a, _b, _c, _d, _e, _f, _g;    return {        id: item.videoId,        title: (_b = (_a = item.title.runs) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.text,        artist: (_d = (_c = item.ownerText.runs) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.text,        artwork: (_g = (_f = (_e = item === null || item === void 0 ? void 0 : item.thumbnail) === null || _e === void 0 ? void 0 : _e.thumbnails) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.url,    };}let lastQuery;let musicContinToken;async function searchMusic(query, page) {    if(query !== lastQuery || page === 1) {        musicContinToken = undefined;    }    lastQuery = query;    let data = JSON.stringify({        context: {            client: {                hl"zh-CN",                gl"US",                deviceMake"",                deviceModel"",                userAgent"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0,gzip(gfe)",                clientName"WEB",                clientVersion"2.20231121.08.00",                osName"Windows",                osVersion"10.0",                platform"DESKTOP",                userInterfaceTheme"USER_INTERFACE_THEME_LIGHT",                browserName"Edge Chromium",                browserVersion"119.0.0.0",                acceptHeader"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",                screenWidthPoints1358,                screenHeightPoints1012,                screenPixelDensity1,                screenDensityFloat1.2395833730697632,                utcOffsetMinutes480,                memoryTotalKbytes"8000000",                mainAppWebInfo: {                    pwaInstallabilityStatus"PWA_INSTALLABILITY_STATUS_UNKNOWN",                    webDisplayMode"WEB_DISPLAY_MODE_BROWSER",                    isWebNativeShareAvailabletrue,                },                timeZone"Asia/Shanghai",            },            user: {                lockedSafetyModefalse,            },            request: {                useSsltrue,                internalExperimentFlags: [],            },        },        query: musicContinToken ? undefined : query,        continuation: musicContinToken || undefined,    });    var config = {        method: "post",        url: "https://www.youtube.com/youtubei/v1/search?prettyPrint=false",        headers: {            "Content-Type""text/plain",        },        data: data,    };    const response = (await (0, axios_1.default)(config)).data;    const contents = response.contents.twoColumnSearchResultsRenderer.primaryContents        .sectionListRenderer.contents;    const isEndItem = contents.find((it) => {        var _a, _b, _c;        return((_c = (_b = (_a = it.continuationItemRenderer) === null || _a === void 0 ? void 0 : _a.continuationEndpoint) === null || _b === void 0 ? void 0 : _b.continuationCommand) === null || _c === void 0 ? void 0 : _c.request) === "CONTINUATION_REQUEST_TYPE_SEARCH";    });    if(isEndItem) {        musicContinToken =            isEndItem.continuationItemRenderer.continuationEndpoint                .continuationCommand.token;    }    const musicData = contents.find((it) => it.itemSectionRenderer)        .itemSectionRenderer.contents;    let resultMusicData = [];    for(let i = 0; i < musicData.length; ++i) {        if(musicData[i].videoRenderer) {            resultMusicData.push(formatMusicItem(musicData[i].videoRenderer));        }    }    return {        isEnd: !isEndItem,        data: resultMusicData,    };}async function search(query, page, type) {    if(type === "music") {        return await searchMusic(query, page);    }}let cacheMediaSource = {    id: null,    urls: {},};functiongetQuality(label{    if(label === "small") {        return "standard";    }    else if (label === "tiny") {        return "low";    }    else if (label === "medium") {        return "high";    }    else if (label === "large") {        return "super";    }    else {        return "standard";    }}async function getMediaSource(musicItem, quality) {    var _a, _b;    if(musicItem.id === cacheMediaSource.id) {        return {            url: cacheMediaSource.urls[quality],        };    }    cacheMediaSource = {        id: null,        urls: {},    };    const data = {        context: {            client: {                screenWidthPoints: 689,                screenHeightPoints: 963,                screenPixelDensity: 1,                utcOffsetMinutes: 120,                hl: "en",                gl: "GB",                remoteHost: "1.1.1.1",                deviceMake: "",                deviceModel: "",                userAgent: "com.google.android.apps.youtube.music/6.14.50 (Linux; U; Android 13; GB) gzip",                clientName: "ANDROID_MUSIC",                clientVersion: "6.14.50",                osName: "Android",                osVersion: "13",                originalUrl: "https://www.youtube.com/tv?is_account_switch=1&hrld=1&fltor=1",                theme: "CLASSIC",                platform: "MOBILE",                clientFormFactor: "UNKNOWN_FORM_FACTOR",                webpSupport: false,                timeZone: "Europe/Amsterdam",                acceptHeader: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",            },            user: { enableSafetyMode: false },            request: {                internalExperimentFlags: [],                consistencyTokenJars: [],            },        },        contentCheckOk: true,        racyCheckOk: true,        video_id: musicItem.id,    };    var config = {        method: "post",        url: "https://www.youtube.com/youtubei/v1/player?prettyPrint=false",        headers: {            "Content-Type""application/json",        },        data: JSON.stringify(data),    };    const result = (await (0, axios_1.default)(config)).data;    const formats = (_a = result.streamingData.formats) !== null && _a !== void 0 ? _a : [];    const adaptiveFormats = (_b = result.streamingData.adaptiveFormats) !== null && _b !== void 0 ? _b : [];    [...formats, ...adaptiveFormats].forEach((it) => {        const getQuality(it.quality);        if(q && it.url && !cacheMediaSource.urls[q]) {            cacheMediaSource.urls[q] = it.url;        }    });    return {        url: cacheMediaSource.urls[quality],    };}module.exports = {    platform: "youtube",    author: 'sinmite',    version: "0.0.1",    supportedSearchType: ["music"],    srcUrl: "https://gitee.com/sinmite/source/raw/master/musicfree/youtube.js",    cacheControl: "no-cache",    search,    getMediaSource,};
四、其他可用源
下面插件源都可以试试,若有失效,可公众号反馈。https://gitee.com/sinmite/source/raw/master/musicfree/synthesis.jsonhttps://gitee.com/sinmite/source/tree/master/musicfreehttps://gitee.com/maotoumao/MusicFreePlugins/raw/master/plugins.jsonhttps://musicfreepluginshub.2020818.xyz/plugins.jsonhttps://gitee.com/kevinr/tvbox/raw/master/musicfree/plugins.jsonhttps://mf.ikunshare.com/plugins.jsonhttps://gitlab.com/acoolbook/musicfree/-/raw/main/music.jsonhttps://gitee.com/fish-job/MusicFreePlugins/raw/v0.2/dist/suno/index.jshttps://fastly.jsdelivr.net/gh/Huibq/keep-alive/Music_Free/myPlugins.jsonhttps://gitee.com/maotoumao/plugins-list1/raw/master/qq.js下载地址:https://github.com/xxnuo/MusicFreePluginsHubhttps://github.com/search?q=musicfree&type=repositories https://pan.quark.cn/s/1aab0d1abb44
五、终极提示
写在最后:后台私信发送MusicFreePlugs,获取更多及时音源。
为了了更好的获取最新资讯,推荐订阅公众号并给公众号加星,这样以后公众号更新,就会及时收到提醒。
本站文章均为手工撰写未经允许谢绝转载:夜雨聆风 » 给音乐自由插上翅膀,MusicFree插件地址

评论 抢沙发

1 + 5 =
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
×
订阅图标按钮