|
1 | 1 | /* eslint-disable no-unused-vars */
|
2 | 2 | /* global GithubClient */
|
3 |
| -chrome.browserAction.onClicked.addListener((tab) => { |
| 3 | +chrome.action.onClicked.addListener((tab) => { |
4 | 4 | chrome.tabs.create(
|
5 | 5 | {
|
6 |
| - url: chrome.extension.getURL('listen1.html'), |
| 6 | + url: chrome.runtime.getURL('listen1.html'), |
7 | 7 | },
|
8 | 8 | (new_tab) => {
|
9 | 9 | // Tab opened.
|
10 | 10 | }
|
11 | 11 | );
|
12 | 12 | });
|
13 |
| -const MOBILE_UA = |
14 |
| - 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'; |
15 | 13 |
|
16 |
| -function hack_referer_header(details) { |
17 |
| - const replace_referer = true; |
18 |
| - let replace_origin = true; |
19 |
| - let add_referer = true; |
20 |
| - let add_origin = true; |
| 14 | +// const MOBILE_UA = |
| 15 | +// 'Mozilla/5.0 (iPhone; CPU iPhone OS 14_3 like Mac OS X) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30'; |
| 16 | + |
| 17 | +// function hack_referer_header(details) { |
| 18 | +// const replace_referer = true; |
| 19 | +// let replace_origin = true; |
| 20 | +// let add_referer = true; |
| 21 | +// let add_origin = true; |
| 22 | + |
| 23 | +// let referer_value = ''; |
| 24 | +// let origin_value = ''; |
| 25 | +// let ua_value = ''; |
| 26 | + |
| 27 | +// if (details.url.includes('://music.163.com/')) { |
| 28 | +// referer_value = 'https://music.163.com/'; |
| 29 | +// } |
| 30 | +// if (details.url.includes('://interface3.music.163.com/')) { |
| 31 | +// referer_value = 'https://music.163.com/'; |
| 32 | +// } |
| 33 | +// if (details.url.includes('://gist.githubusercontent.com/')) { |
| 34 | +// referer_value = 'https://gist.githubusercontent.com/'; |
| 35 | +// } |
| 36 | + |
| 37 | +// if (details.url.includes('.xiami.com/')) { |
| 38 | +// add_origin = false; |
| 39 | +// add_referer = false; |
| 40 | +// // referer_value = "https://www.xiami.com"; |
| 41 | +// } |
| 42 | + |
| 43 | +// if (details.url.includes('c.y.qq.com/')) { |
| 44 | +// referer_value = 'https://y.qq.com/'; |
| 45 | +// origin_value = 'https://y.qq.com'; |
| 46 | +// } |
| 47 | +// if ( |
| 48 | +// details.url.includes('i.y.qq.com/') || |
| 49 | +// details.url.includes('qqmusic.qq.com/') || |
| 50 | +// details.url.includes('music.qq.com/') || |
| 51 | +// details.url.includes('imgcache.qq.com/') |
| 52 | +// ) { |
| 53 | +// referer_value = 'https://y.qq.com/'; |
| 54 | +// } |
| 55 | + |
| 56 | +// if (details.url.includes('.kugou.com/')) { |
| 57 | +// referer_value = 'https://www.kugou.com/'; |
| 58 | +// ua_value = MOBILE_UA; |
| 59 | +// } |
| 60 | +// if (details.url.includes('m.kugou.com/')) { |
| 61 | +// ua_value = MOBILE_UA; |
| 62 | +// } |
| 63 | +// if (details.url.includes('.kuwo.cn/')) { |
| 64 | +// referer_value = 'https://www.kuwo.cn/'; |
| 65 | +// } |
| 66 | + |
| 67 | +// if ( |
| 68 | +// details.url.includes('.bilibili.com/') || |
| 69 | +// details.url.includes('.bilivideo.com/') |
| 70 | +// ) { |
| 71 | +// referer_value = 'https://www.bilibili.com/'; |
| 72 | +// replace_origin = false; |
| 73 | +// add_origin = false; |
| 74 | +// } |
| 75 | + |
| 76 | +// if (details.url.includes('.bilivideo.cn')) { |
| 77 | +// referer_value = 'https://www.bilibili.com/'; |
| 78 | +// origin_value = 'https://www.bilibili.com/'; |
| 79 | +// add_referer = true; |
| 80 | +// add_origin = true; |
| 81 | +// } |
| 82 | + |
| 83 | +// if ( |
| 84 | +// details.url.includes('.taihe.com/') || |
| 85 | +// details.url.includes('music.91q.com') |
| 86 | +// ) { |
| 87 | +// referer_value = 'https://music.taihe.com/'; |
| 88 | +// } |
| 89 | + |
| 90 | +// if (details.url.includes('.migu.cn')) { |
| 91 | +// referer_value = 'https://music.migu.cn/v3/music/player/audio?from=migu'; |
| 92 | +// } |
| 93 | + |
| 94 | +// if (details.url.includes('m.music.migu.cn')) { |
| 95 | +// referer_value = 'https://m.music.migu.cn/'; |
| 96 | +// } |
| 97 | + |
| 98 | +// if ( |
| 99 | +// details.url.includes('app.c.nf.migu.cn') || |
| 100 | +// details.url.includes('d.musicapp.migu.cn') |
| 101 | +// ) { |
| 102 | +// ua_value = MOBILE_UA; |
| 103 | +// add_origin = false; |
| 104 | +// add_referer = false; |
| 105 | +// } |
| 106 | + |
| 107 | +// if (details.url.includes('jadeite.migu.cn')) { |
| 108 | +// ua_value = 'okhttp/3.12.12'; |
| 109 | +// add_origin = false; |
| 110 | +// add_referer = false; |
| 111 | +// } |
| 112 | + |
| 113 | +// if (origin_value === '') { |
| 114 | +// origin_value = referer_value; |
| 115 | +// } |
| 116 | + |
| 117 | +// let isRefererSet = false; |
| 118 | +// let isOriginSet = false; |
| 119 | +// let isUASet = false; |
| 120 | +// const headers = details.requestHeaders; |
| 121 | +// const blockingResponse = {}; |
| 122 | + |
| 123 | +// for (let i = 0, l = headers.length; i < l; i += 1) { |
| 124 | +// if ( |
| 125 | +// replace_referer && |
| 126 | +// headers[i].name === 'Referer' && |
| 127 | +// referer_value !== '' |
| 128 | +// ) { |
| 129 | +// headers[i].value = referer_value; |
| 130 | +// isRefererSet = true; |
| 131 | +// } |
| 132 | +// if (replace_origin && headers[i].name === 'Origin' && origin_value !== '') { |
| 133 | +// headers[i].value = origin_value; |
| 134 | +// isOriginSet = true; |
| 135 | +// } |
| 136 | +// if (headers[i].name === 'User-Agent' && ua_value !== '') { |
| 137 | +// headers[i].value = ua_value; |
| 138 | +// isUASet = true; |
| 139 | +// } |
| 140 | +// } |
| 141 | + |
| 142 | +// if (add_referer && !isRefererSet && referer_value !== '') { |
| 143 | +// headers.push({ |
| 144 | +// name: 'Referer', |
| 145 | +// value: referer_value, |
| 146 | +// }); |
| 147 | +// } |
| 148 | + |
| 149 | +// if (add_origin && !isOriginSet && origin_value !== '') { |
| 150 | +// headers.push({ |
| 151 | +// name: 'Origin', |
| 152 | +// value: origin_value, |
| 153 | +// }); |
| 154 | +// } |
| 155 | + |
| 156 | +// if (!isUASet && ua_value !== '') { |
| 157 | +// headers.push({ |
| 158 | +// name: 'User-Agent', |
| 159 | +// value: ua_value, |
| 160 | +// }); |
| 161 | +// } |
| 162 | + |
| 163 | +// blockingResponse.requestHeaders = headers; |
| 164 | +// return blockingResponse; |
| 165 | +// } |
| 166 | + |
| 167 | +// const urls = [ |
| 168 | +// '*://*.music.163.com/*', |
| 169 | +// '*://music.163.com/*', |
| 170 | +// '*://*.xiami.com/*', |
| 171 | +// '*://i.y.qq.com/*', |
| 172 | +// '*://c.y.qq.com/*', |
| 173 | +// '*://*.kugou.com/*', |
| 174 | +// '*://*.kuwo.cn/*', |
| 175 | +// '*://*.bilibili.com/*', |
| 176 | +// '*://*.bilivideo.com/*', |
| 177 | +// '*://*.bilivideo.cn/*', |
| 178 | +// '*://*.migu.cn/*', |
| 179 | +// '*://*.githubusercontent.com/*', |
| 180 | +// ]; |
| 181 | + |
| 182 | +// try { |
| 183 | +// chrome.webRequest.onBeforeSendHeaders.addListener( |
| 184 | +// hack_referer_header, |
| 185 | +// { |
| 186 | +// urls, |
| 187 | +// }, |
| 188 | +// ['requestHeaders', 'blocking', 'extraHeaders'] |
| 189 | +// ); |
| 190 | +// } catch (err) { |
| 191 | +// // before chrome v72, extraHeader is not supported |
| 192 | +// chrome.webRequest.onBeforeSendHeaders.addListener( |
| 193 | +// hack_referer_header, |
| 194 | +// { |
| 195 | +// urls, |
| 196 | +// }, |
| 197 | +// ['requestHeaders', 'blocking'] |
| 198 | +// ); |
| 199 | +// } |
21 | 200 |
|
22 |
| - let referer_value = ''; |
23 |
| - let origin_value = ''; |
24 |
| - let ua_value = ''; |
25 |
| - |
26 |
| - if (details.url.includes('://music.163.com/')) { |
27 |
| - referer_value = 'https://music.163.com/'; |
28 |
| - } |
29 |
| - if (details.url.includes('://interface3.music.163.com/')) { |
30 |
| - referer_value = 'https://music.163.com/'; |
31 |
| - } |
32 |
| - if (details.url.includes('://gist.githubusercontent.com/')) { |
33 |
| - referer_value = 'https://gist.githubusercontent.com/'; |
34 |
| - } |
35 |
| - |
36 |
| - if (details.url.includes('.xiami.com/')) { |
37 |
| - add_origin = false; |
38 |
| - add_referer = false; |
39 |
| - // referer_value = "https://www.xiami.com"; |
40 |
| - } |
41 |
| - |
42 |
| - if (details.url.includes('c.y.qq.com/')) { |
43 |
| - referer_value = 'https://y.qq.com/'; |
44 |
| - origin_value = 'https://y.qq.com'; |
45 |
| - } |
46 |
| - if ( |
47 |
| - details.url.includes('i.y.qq.com/') || |
48 |
| - details.url.includes('qqmusic.qq.com/') || |
49 |
| - details.url.includes('music.qq.com/') || |
50 |
| - details.url.includes('imgcache.qq.com/') |
51 |
| - ) { |
52 |
| - referer_value = 'https://y.qq.com/'; |
53 |
| - } |
54 |
| - |
55 |
| - if (details.url.includes('.kugou.com/')) { |
56 |
| - referer_value = 'https://www.kugou.com/'; |
57 |
| - ua_value = MOBILE_UA; |
58 |
| - } |
59 |
| - if (details.url.includes('m.kugou.com/')) { |
60 |
| - ua_value = MOBILE_UA; |
61 |
| - } |
62 |
| - if (details.url.includes('.kuwo.cn/')) { |
63 |
| - referer_value = 'https://www.kuwo.cn/'; |
64 |
| - } |
65 |
| - |
66 |
| - if ( |
67 |
| - details.url.includes('.bilibili.com/') || |
68 |
| - details.url.includes('.bilivideo.com/') |
69 |
| - ) { |
70 |
| - referer_value = 'https://www.bilibili.com/'; |
71 |
| - replace_origin = false; |
72 |
| - add_origin = false; |
73 |
| - } |
74 |
| - |
75 |
| - if (details.url.includes('.bilivideo.cn')) { |
76 |
| - referer_value = 'https://www.bilibili.com/'; |
77 |
| - origin_value = 'https://www.bilibili.com/'; |
78 |
| - add_referer = true; |
79 |
| - add_origin = true; |
80 |
| - } |
81 |
| - |
82 |
| - if ( |
83 |
| - details.url.includes('.taihe.com/') || |
84 |
| - details.url.includes('music.91q.com') |
85 |
| - ) { |
86 |
| - referer_value = 'https://music.taihe.com/'; |
87 |
| - } |
88 |
| - |
89 |
| - // if (details.url.includes('.migu.cn')) { |
90 |
| - // referer_value = 'https://music.migu.cn/v3/music/player/audio?from=migu'; |
91 |
| - // } |
92 |
| - |
93 |
| - // if (details.url.includes('m.music.migu.cn')) { |
94 |
| - // referer_value = 'https://m.music.migu.cn/'; |
95 |
| - // } |
96 |
| - |
97 |
| - // if ( |
98 |
| - // details.url.includes('app.c.nf.migu.cn') || |
99 |
| - // details.url.includes('d.musicapp.migu.cn') |
100 |
| - // ) { |
101 |
| - // ua_value = MOBILE_UA; |
102 |
| - // add_origin = false; |
103 |
| - // add_referer = false; |
104 |
| - // } |
105 |
| - |
106 |
| - // if (details.url.includes('jadeite.migu.cn')) { |
107 |
| - // ua_value = 'okhttp/3.12.12'; |
108 |
| - // add_origin = false; |
109 |
| - // add_referer = false; |
110 |
| - // } |
111 |
| - |
112 |
| - if (origin_value === '') { |
113 |
| - origin_value = referer_value; |
114 |
| - } |
115 |
| - |
116 |
| - let isRefererSet = false; |
117 |
| - let isOriginSet = false; |
118 |
| - let isUASet = false; |
119 |
| - const headers = details.requestHeaders; |
120 |
| - const blockingResponse = {}; |
121 |
| - |
122 |
| - for (let i = 0, l = headers.length; i < l; i += 1) { |
123 |
| - if ( |
124 |
| - replace_referer && |
125 |
| - headers[i].name === 'Referer' && |
126 |
| - referer_value !== '' |
127 |
| - ) { |
128 |
| - headers[i].value = referer_value; |
129 |
| - isRefererSet = true; |
130 |
| - } |
131 |
| - if (replace_origin && headers[i].name === 'Origin' && origin_value !== '') { |
132 |
| - headers[i].value = origin_value; |
133 |
| - isOriginSet = true; |
134 |
| - } |
135 |
| - if (headers[i].name === 'User-Agent' && ua_value !== '') { |
136 |
| - headers[i].value = ua_value; |
137 |
| - isUASet = true; |
138 |
| - } |
139 |
| - } |
140 |
| - |
141 |
| - if (add_referer && !isRefererSet && referer_value !== '') { |
142 |
| - headers.push({ |
143 |
| - name: 'Referer', |
144 |
| - value: referer_value, |
145 |
| - }); |
146 |
| - } |
147 |
| - |
148 |
| - if (add_origin && !isOriginSet && origin_value !== '') { |
149 |
| - headers.push({ |
150 |
| - name: 'Origin', |
151 |
| - value: origin_value, |
152 |
| - }); |
153 |
| - } |
154 |
| - |
155 |
| - if (!isUASet && ua_value !== '') { |
156 |
| - headers.push({ |
157 |
| - name: 'User-Agent', |
158 |
| - value: ua_value, |
159 |
| - }); |
160 |
| - } |
161 |
| - |
162 |
| - blockingResponse.requestHeaders = headers; |
163 |
| - return blockingResponse; |
164 |
| -} |
165 |
| - |
166 |
| -const urls = [ |
167 |
| - '*://*.music.163.com/*', |
168 |
| - '*://music.163.com/*', |
169 |
| - '*://*.xiami.com/*', |
170 |
| - '*://i.y.qq.com/*', |
171 |
| - '*://c.y.qq.com/*', |
172 |
| - '*://*.kugou.com/*', |
173 |
| - '*://*.kuwo.cn/*', |
174 |
| - '*://*.bilibili.com/*', |
175 |
| - '*://*.bilivideo.com/*', |
176 |
| - '*://*.bilivideo.cn/*', |
177 |
| - '*://*.migu.cn/*', |
178 |
| - '*://*.githubusercontent.com/*', |
179 |
| -]; |
180 |
| - |
181 |
| -try { |
182 |
| - chrome.webRequest.onBeforeSendHeaders.addListener( |
183 |
| - hack_referer_header, |
184 |
| - { |
185 |
| - urls, |
186 |
| - }, |
187 |
| - ['requestHeaders', 'blocking', 'extraHeaders'] |
188 |
| - ); |
189 |
| -} catch (err) { |
190 |
| - // before chrome v72, extraHeader is not supported |
191 |
| - chrome.webRequest.onBeforeSendHeaders.addListener( |
192 |
| - hack_referer_header, |
193 |
| - { |
194 |
| - urls, |
195 |
| - }, |
196 |
| - ['requestHeaders', 'blocking'] |
197 |
| - ); |
198 |
| -} |
199 | 201 |
|
200 | 202 | /**
|
201 | 203 | * Get tokens.
|
|
0 commit comments