<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          UnblockNeteaseMusic解鎖網易云音樂客戶端變灰歌曲

          聯(lián)合創(chuàng)作 · 2023-09-29 19:57

          UnblockNeteaseMusic 可以用來解鎖網易云音樂客戶端變灰歌曲

          特性

          • 使用網易云舊鏈 / QQ / 蝦米 / 百度 / 酷狗 / 酷我 / 咕咪 / JOOX 音源替換變灰歌曲鏈接 (默認僅啟用前四)
          • 為請求增加 X-Real-IP 參數解鎖海外限制,支持指定網易云服務器 IP,支持設置上游 HTTP / HTTPS 代理
          • 完整的流量代理功能 (HTTP / HTTPS),可直接作為系統(tǒng)代理 (同時支持 PAC)

          運行

          從源碼運行

          $ node app.js
          

          或使用 Docker

          $ docker run nondanee/unblockneteasemusic
          
          $ docker-compose up
          

          配置參數

          $ node app.js -h
          usage: unblockneteasemusic [-v] [-p port] [-u url] [-f host]
                                     [-o source [source ...]] [-t token] [-e url] [-s]
                                     [-h]
          
          optional arguments:
            -v, --version               output the version number
            -p port, --port port        specify server port
            -u url, --proxy-url url     request through upstream proxy
            -f host, --force-host host  force the netease server ip
            -o source [source ...], --match-order source [source ...]
                                        set priority of sources
            -t token, --token token     set up http basic authentication
            -e url, --endpoint url      replace virtual endpoint with public host
            -s, --strict                enable proxy limitation
            -h, --help                  output usage information
          

          使用

          警告:本項目不提供線上 demo,請不要輕易信任使用他人提供的公開代理服務,以免發(fā)生安全問題

          若將服務部署到公網,強烈建議使用嚴格模式 (此模式下僅放行網易云音樂所屬域名的請求) -s 限制代理范圍 (需使用 PAC 或 hosts),或啟用 Proxy Authentication -t <name>:<password> 設置代理用戶名密碼 (目前密碼認證在 Windows 客戶端設置和 macOS 系統(tǒng)設置都無法生效,請不要使用),以防代理被他人濫用

          支持 Windows 客戶端,UWP 客戶端,Linux 客戶端 (1.2 版本以上需要自簽證書 MITM,啟動客戶端需要增加 --ignore-certificate-errors 參數),macOS 客戶端 (726 版本以上需要自簽證書),Android 客戶端和網頁版 (需要自簽證書,需要腳本配合)

          目前除 UWP 外其它客戶端均優(yōu)先請求 HTTPS 接口,默認配置下本代理對網易云所有 HTTPS API 連接返回空數據,促使客戶端降級使用 HTTP 接口 (新版 Linux 客戶端和 macOS 客戶端已無法降級)

          測試發(fā)現 iOS 客戶端設置 WLAN 代理有效果 (HD 版不行),雖 Apple 強制要求使用 HTTPS 但 API 請求仍可以降級。不過音源播放地址需要 HTTPS,因此無法直接使用,需要一個有受信任證書的 (公網) HTTPS 接口來轉發(fā)流量,有域名和證書條件的話可以參考 @u3u 的 配置指南 (其它項目有提到使用 Surge,Shadowrocket 可以直接轉發(fā) HTTPS 流量到 HTTP,有興趣可以試試)

          因 UWP 應用存在網絡隔離,限制流量發(fā)送到本機,若使用的代理在 localhost,或修改的 hosts 指向 localhost,需為 "網易云音樂 UWP" 手動開啟 loopback 才能使用,請以管理員身份執(zhí)行命令

          checknetisolation loopbackexempt -a -n="1F8B0F94.122165AE053F_j2p0p5q0044a6"

          方法 1. 修改 hosts

          向 hosts 文件添加兩條規(guī)則

          <Server IP> music.163.com
          <Server IP> interface.music.163.com
          

          使用此方法必須監(jiān)聽 80 端口 -p 80

          若在本機運行程序,請指定網易云服務器 IP -f xxx.xxx.xxx.xxx (可在修改 hosts 前通過 ping music.163.com 獲得) 使用代理 -u http(s)://xxx.xxx.xxx.xxx:xxx,以防請求死循環(huán)

          Android 客戶端下修改 hosts 無法直接使用,原因和解決方法詳見云音樂安卓又搞事啦安卓免 root 繞過網易云音樂 IP 限制

          方法 2. 設置代理

          PAC 自動代理腳本地址 http://<Server Name:PORT>/proxy.pac

          全局代理地址填寫服務器地址和端口號即可

          平臺 基礎設置
          Windows 設置 > 工具 > 自定義代理 (客戶端內)
          UWP Windows 設置 > 網絡和 Internet > 代理
          Linux 系統(tǒng)設置 > 網絡 > 網絡代理
          macOS 系統(tǒng)偏好設置 > 網絡 > 高級 > 代理
          Android WLAN > 修改網絡 > 高級選項 > 代理
          iOS Surge,Shadowrocket 等添加配置 (來自 @HenryQW@kongminhao)

          代理工具和方法有很多請自行探索

          ?方法 3. 調用接口

          作為依賴庫使用

          $ npm install nondanee/UnblockNeteaseMusic
          
          const match = require('unblockneteasemusic')
          
          /** 
           * Set proxy or hosts if needed
           */
          global.proxy = require('url').parse('http://127.0.0.1:1080')
          global.hosts = {'i.y.qq.com': '59.37.96.220'}
          
          /**
           * Find matching song from other platforms
           * @param {Number} id netease song id
           * @param {Array<String>||undefined} source support netease, qq, xiami, baidu, kugou, kuwo, migu, joox
           * @return {Promise<Object>}
           */
          match(418602084, ['netease', 'qq', 'xiami', 'baidu']).then(song => console.log(song))

          效果

          Windows 客戶端

          UWP 客戶端

          Linux 客戶端

          macOS 客戶端

          Android 客戶端

          iOS 客戶端

          瀏覽 54
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  中文字幕在线亚洲精品 | 亚洲成人一区二区 | 青草视频在线 | 国产啊啊 | 欧美成人三级网站 |