Last active
December 23, 2021 16:25
-
-
Save zhimiaoli/2026c01f79c994b2c5d25ce580c05265 to your computer and use it in GitHub Desktop.
Quantumult X 规则
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#adguardpremium | |
^https:\/\/mobile-api\.adguard\.com\/api\/1\.0\/ios_validate_receipt$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/Adguard.rsp | |
hostname=mobile-api.adguard.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Apple | |
DOMAIN-SUFFIX,aaplimg.com | |
DOMAIN-SUFFIX,apple.co | |
DOMAIN-SUFFIX,apple.com | |
DOMAIN-SUFFIX,apple.com.cn | |
DOMAIN-SUFFIX,apple-cloudkit.com | |
DOMAIN-SUFFIX,appstore.com | |
DOMAIN-SUFFIX,cdn-apple.com | |
DOMAIN-SUFFIX,icloud.com | |
DOMAIN-SUFFIX,icloud.com.cn | |
DOMAIN-SUFFIX,icloud-content.com | |
DOMAIN-SUFFIX,me.com | |
DOMAIN-SUFFIX,mzstatic.com | |
DOMAIN-KEYWORD,apple.com.akadns.net | |
DOMAIN-KEYWORD,icloud.com.akadns.net | |
IP-CIDR,17.0.0.0/8 | |
IP-CIDR,63.92.224.0/19 | |
IP-CIDR,65.199.22.0/23 | |
IP-CIDR,139.178.128.0/18 | |
IP-CIDR,144.178.0.0/19 | |
IP-CIDR,192.35.50.0/24 | |
IP-CIDR,198.183.17.0/24 | |
IP-CIDR,205.180.175.0/24 | |
# App Store | |
# Store content such as apps, books, and music | |
DOMAIN-SUFFIX,apps.apple.com | |
DOMAIN-SUFFIX,itunes.apple.com | |
DOMAIN-SUFFIX,itunes-apple.com.akadns.net | |
DOMAIN-SUFFIX,mzstatic.com | |
DOMAIN,ppq.apple.com | |
# > App Store Connect | |
DOMAIN,appstoreconnect.apple.com | |
DOMAIN,iosapps-ssl.itunes.apple.com | |
DOMAIN,itcmobile.itunes.apple.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var obj = JSON.parse($response.body); | |
var bundle_id = obj.receipt["bundle_id"]; | |
if (bundle_id == "net.shinyfrog.bear") { | |
obj = { | |
status: 0, | |
environment: "Production", | |
receipt: { | |
receipt_type: "Production", | |
adam_id: 1016366447, | |
app_item_id: 1016366447, | |
bundle_id: "net.shinyfrog.bear-iOS", | |
application_version: "7133", | |
download_id: 92018757521008, | |
version_external_identifier: 831147846, | |
receipt_creation_date: "2019-08-10 23:17:58 Etc/GMT", | |
receipt_creation_date_ms: "1565479078000", | |
receipt_creation_date_pst: "2019-08-10 16:17:58 America/Los_Angeles", | |
request_date: "2019-08-10 23:18:04 Etc/GMT", | |
request_date_ms: "1565479084140", | |
request_date_pst: "2019-08-10 16:18:04 America/Los_Angeles", | |
original_purchase_date: "2016-11-05 07:20:24 Etc/GMT", | |
original_purchase_date_ms: "1478330424000", | |
original_purchase_date_pst: "2016-11-05 00:20:24 America/Los_Angeles", | |
original_application_version: "3562", | |
in_app: [ | |
{ | |
quantity: "1", | |
product_id: "net.shinyfrog.bear_iOS.pro_yearly_subscription_bis", | |
transaction_id: "520000469131745", | |
original_transaction_id: "520000469131745", | |
purchase_date: "2019-08-10 23:17:57 Etc/GMT", | |
purchase_date_ms: "1565479077000", | |
purchase_date_pst: "2019-08-10 16:17:57 America/Los_Angeles", | |
original_purchase_date: "2019-08-10 23:17:57 Etc/GMT", | |
original_purchase_date_ms: "1565479077000", | |
original_purchase_date_pst: "2019-08-10 16:17:57 America/Los_Angeles", | |
expires_date: "2099-09-10 23:17:57 Etc/GMT", | |
expires_date_ms: "4092736677000", | |
expires_date_pst: "2099-09-10 16:17:57 America/Los_Angeles", | |
web_order_line_item_id: "520000150747696", | |
is_trial_period: "true", | |
is_in_intro_offer_period: "false" | |
} | |
] | |
}, | |
latest_receipt_info: [ | |
{ | |
quantity: "1", | |
product_id: "net.shinyfrog.bear_iOS.pro_yearly_subscription_bis", | |
transaction_id: "520000469131745", | |
original_transaction_id: "520000469131745", | |
purchase_date: "2019-08-10 23:17:57 Etc/GMT", | |
purchase_date_ms: "1565479077000", | |
purchase_date_pst: "2019-08-10 16:17:57 America/Los_Angeles", | |
original_purchase_date: "2019-08-10 23:17:57 Etc/GMT", | |
original_purchase_date_ms: "1565479077000", | |
original_purchase_date_pst: "2019-08-10 16:17:57 America/Los_Angeles", | |
expires_date: "2099-09-10 23:17:57 Etc/GMT", | |
expires_date_ms: "4092736677000", | |
expires_date_pst: "2099-09-10 16:17:57 America/Los_Angeles", | |
web_order_line_item_id: "520000150747696", | |
is_trial_period: "true", | |
is_in_intro_offer_period: "false" | |
} | |
], | |
latest_receipt: | |
"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", | |
pending_renewal_info: [ | |
{ | |
auto_renew_product_id: | |
"net.shinyfrog.bear_iOS.pro_yearly_subscription_bis", | |
original_transaction_id: "520000469131745", | |
product_id: "net.shinyfrog.bear_iOS.pro_yearly_subscription_bis", | |
auto_renew_status: "1" | |
} | |
] | |
}; | |
} | |
$done({body:JSON.stringify(obj)}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#Bear熊掌记 内购解锁 | |
^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt url script-response-body https://gist.githubusercontent.com/hello1983/f5e27c01dc954afeaca0e1c166a5d407/raw/Bear.js | |
hostname=buy.itunes.apple.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 哔哩哔哩 | |
hostname = api.bilibili.com | |
^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/bilibili.unblock.season.min.js | |
^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/bilibili.unblock.season.min.js | |
^https:\/\/api.bilibili.com\/pgc\/player\/api\/playurl url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/bilibili.unblock.playurl.min.js | |
^https:\/\/api.bilibili.com\/pgc\/view\/app\/season url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/bilibili.unblock.playurl.min.js | |
https:\/\/ap(p|i)\.bilibili\.com\/((pgc\/player\/api\/playurl)|(x\/v2\/account\/myinfo\?)|(x\/v2\/account/mine\?)) url script-response-body https://raw.githubusercontent.com/Sunert/Scripts/master/Script/Bilibili/BiliHD.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# boom music | |
^https:\/\/apimboom2\.globaldelight\.net\/itunesreceipt_v2\.php$ url 302 https://raw.githubusercontent.com/langkhach270389/Scripting/master/boom.vip.rsp | |
hostname= apimboom2.globaldelight.net |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const obj = JSON.parse($response.body); | |
obj.subscription = { | |
tier:"Pro", | |
subscriptionActive: true, | |
expirationDate: 2040418629080, | |
subscriptionType: "yearly", | |
rawSubscriptionType:"Appstore", | |
productId: "com.lukilabs.lukiapp.pro.sub.yearly" } | |
$done({body:JSON.stringify(obj)}); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
”userId“: ”83879051-715b-fc2e-7a9c-db7df40351fb“, | |
”profileImgUrl“: ”https://res.craft.do/user/full/83879051-715b-fc2e-7a9c-db7df40351fb/4A5FC816-AD5B-47EC-BC1D-483680991CAE_3“, | |
”email“: ”[email protected]“, | |
”firstName“: ”mi“, | |
”lastName“: ”mick“, | |
”market“: ”CN“, | |
”spaces“: [], | |
”subscription“: { | |
”tier“: ”Pro“, | |
”subscriptionActive“: true, | |
”expirationDate“: 1613588828000, | |
”subscriptionType“: ”yearly“, | |
”rawSubscriptionType“: ”AppStore“, | |
”productId“: ”com.lukilabs.lukiapp.pro.sub.yearly“ | |
}, | |
”limits“: ”eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7Im1heE51bWJlck9mU3BhY2VzIjoxMDAsImRlZmF1bHRTcGFjZUxpbWl0cyI6eyJtYXhTdWJCbG9ja3NJbkJsb2NrIjoyMDAwLCJtYXhEb2N1bWVudHNJblNwYWNlIjoxMDAwLCJtYXhCbG9ja3NJblNwYWNlIjoxMDAwMDAsIm1heE1lbWJlcnNJblNwYWNlIjoyMCwibWF4Q29udGVudExlbmd0aE9mQmxvY2siOjEwMDAwLCJtYXhDb250ZW50TGVuZ3RoT2ZTbmlwcGV0IjoxMDAwMCwibWF4Q29weUFtb3VudCI6MTAwMDAsIm1heEZvbGRlcnNJblNwYWNlIjoxMDAsIm1heExlbmd0aE9mQ29tbWVudCI6MjAwMCwibWF4Q29tbWVudHNJblNwYWNlIjoxMDAwMCwibWF4RmlsZVNpemUiOjI1NiwibWF4QXR0YWNobWVudHNJblNwYWNlIjoxMDAwMCwibWF4TnVtYmVyT2ZEYXlzSW5BY3Rpdml0eUhpc3RvcnkiOjMwLCJhbGxvd0V4cG9ydCI6dHJ1ZSwibWF4U3RvcmFnZVNpemVGb3JTcGFjZSI6MTAyNDB9fSwic3BhY2VzIjpbXSwidGVhbXMiOltdLCJpYXQiOjE2MTIzMzMyNDB9.oz5MYM3TNWFHVwR5vpDYVhYdhheV_AgZ8iTCFXNFSzfIuAO02qAw-z8KFEoGwzjw141auIaiLJM0Bb2YHHyVjixfMy8EbAYnyPhdt_gGxEV3-fQszX8J8UdvAwrd0zJ_VoSiq6Eg8j5efmhv3AXBstnxZ1eEq9f9JddYeUgqw1W5jGk8lkP36U6jAWIxi7zN3bd73Jl276c7dyE_8y-XkcxSvN8KDRiMI0cRLPleGqe2fYE0FIsGEZrftWg5Ja9Poyl8s_s5lAdSiCb1rSJOfj2QsTY3H2md3M9mAxMdwRnKsSGcdysjPGZ_Jiy947EhufuqqRzJggy9o7ugOUsB2w“ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hostname = *.snssdk.com | |
https:\/\/aweme-\w+\.snssdk\.com\/luckycat\/aweme\/v1\/task\/done\/sign_in\? url script-request-header https://raw.githubusercontent.com/ZhiYi-N/Private-Script/master/Scripts/dyjsb.js | |
https:\/\/aweme-\w+\.snssdk\.com\/luckycat\/aweme\/v1\/task\/done\/read\? url script-request-header https://raw.githubusercontent.com/ZhiYi-N/Private-Script/master/Scripts/dyjsb.js | |
https:\/\/aweme-\w+\.snssdk\.com\/luckycat\/aweme\/v1\/task\/walk\/step_submit\? - script-request-header https://raw.githubusercontent.com/ZhiYi-N/Private-Script/master/Scripts/dyjsb.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 名称:endless.js | |
* 地址: | |
* | |
* 制作:senku | |
* | |
******** 以下为 tamperJS 自动生成的 rewrite 相关信息,可能需要根据情况适当调整 ******** | |
[rewrite] | |
http:\/\/www\.google\..* url script-response-body endless.js | |
https:\/\/www\.google\..* url script-response-body endless.js | |
https:\/\/encrypted\.google\..* url script-response-body endless.js | |
[mitm] | |
, www.google.*, encrypted.google.* | |
******** | |
* 工具: tamperJS BY @elecV2 | |
* 频道: https://t.me/elecV2 | |
* | |
**/ | |
let body = $response.body | |
if (/<\/html>|<\/body>/.test(body)) { | |
body = body.replace('</body>', ` | |
<script> | |
const elecJSPack = function(){// ==UserScript== | |
// @name Endless Google | |
// @description Load more results automatically and endlessly. | |
// @author tumpio | |
// @namespace [email protected] | |
// @homepageURL https://openuserjs.org/scripts/tumpio/Endless_Google | |
// @supportURL https://github.com/tumpio/gmscripts/issues | |
// @icon https://github.com/tumpio/gmscripts/raw/master/Endless_Google/large.png | |
// @include http://www.google.* | |
// @include https://www.google.* | |
// @include https://encrypted.google.* | |
// @run-at document-start | |
// @version 0.0.6 | |
// @license MIT | |
// @noframes | |
// ==/UserScript== | |
if (location.href.indexOf("tbm=isch") !== -1) // NOTE: Don't run on image search | |
return; | |
if (window.top !== window.self) // NOTE: Do not run on iframes | |
return; | |
const centerElement = "#center_col"; | |
const loadWindowSize = 1.6; | |
const filtersAll = ["#foot", "#bottomads"]; | |
const filtersCol = filtersAll.concat(["#extrares", "#imagebox_bigimages"]); | |
let msg = ""; | |
const css = \` | |
.page-number { | |
position: relative; | |
display: flex; | |
flex-direction: row-reverse; | |
align-items: center; | |
margin-bottom: 2em; | |
color: #808080; | |
} | |
.page-number::before { | |
content: ""; | |
background-color: #ededed; | |
height: 1px; | |
width: 100%; | |
margin: 1em 3em; | |
} | |
.endless-msg { | |
position:fixed; | |
bottom:0; | |
left:0; | |
padding:5px 10px; | |
background: darkred; | |
color: white; | |
font-size: 11px; | |
display: none; | |
} | |
.endless-msg.shown { | |
display:block; | |
} | |
\`; | |
let pageNumber = 1; | |
let prevScrollY = 0; | |
let nextPageLoading = false; | |
function requestNextPage() { | |
nextPageLoading = true; | |
let nextPage = new URL(location.href); | |
if (!nextPage.searchParams.has("q")) return; | |
nextPage.searchParams.set("start", String(pageNumber * 10)); | |
!msg.classList.contains("shown") && msg.classList.add("shown"); | |
fetch(nextPage.href) | |
.then(response => response.text()) | |
.then(text => { | |
let parser = new DOMParser(); | |
let htmlDocument = parser.parseFromString(text, "text/html"); | |
let content = htmlDocument.documentElement.querySelector(centerElement); | |
content.id = "col_" + pageNumber; | |
filter(content, filtersCol); | |
let pageMarker = document.createElement("div"); | |
pageMarker.textContent = String(pageNumber + 1); | |
pageMarker.className = "page-number"; | |
let col = document.createElement("div"); | |
col.className = "next-col"; | |
col.appendChild(pageMarker); | |
col.appendChild(content); | |
document.querySelector(centerElement).appendChild(col); | |
if (!content.querySelector("#rso")) { | |
// end of results | |
window.removeEventListener("scroll", onScrollDocumentEnd); | |
nextPageLoading = false; | |
msg.classList.contains("shown") && msg.classList.remove("shown"); | |
return; | |
} | |
pageNumber++; | |
nextPageLoading = false; | |
msg.classList.contains("shown") && msg.classList.remove("shown"); | |
}); | |
} | |
function onScrollDocumentEnd() { | |
let y = window.scrollY; | |
let delta = y - prevScrollY; | |
if (!nextPageLoading && delta > 0 && isDocumentEnd(y)) { | |
requestNextPage(); | |
} | |
prevScrollY = y; | |
} | |
function isDocumentEnd(y) { | |
return y + window.innerHeight * loadWindowSize >= document.body.clientHeight; | |
} | |
function filter(node, filters) { | |
for (let filter of filters) { | |
let child = node.querySelector(filter); | |
if (child) { | |
child.parentNode.removeChild(child); | |
} | |
} | |
} | |
function init() { | |
prevScrollY = window.scrollY; | |
window.addEventListener("scroll", onScrollDocumentEnd); | |
filter(document, filtersAll); | |
let style = document.createElement("style"); | |
style.type = "text/css"; | |
style.appendChild(document.createTextNode(css)); | |
document.head.appendChild(style); | |
msg = document.createElement("div"); | |
msg.setAttribute("class", "endless-msg"); | |
msg.innerText = "Loading next page..."; | |
document.body.appendChild(msg); | |
} | |
document.addEventListener("DOMContentLoaded", init);}()</script></body>`) | |
console.log('添加 tamperJS:endless.js') | |
} | |
$done({ body }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Gear Unlock Pro (by LTribe) | |
^https?:\/\/buy\.itunes\.apple\.com\/verifyReceipt url script-response-body Gear.js | |
hostname = buy.itunes.apple.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Chrome | |
^https?:\/\/(www.)?(g|google)\.cn url 302 https://www.google.com | |
# 油猴脚本 | |
https:\/\/www\.google\..* url script-response-body https://gist.githubusercontent.com/hello1983/f5e27c01dc954afeaca0e1c166a5d407/raw/Endless_Google.user.js | |
# YouTube5秒广告 | |
^https?:\/\/.+\.googlevideo\.com\/.+&oad url reject-img | |
^https?:\/\/.+\.googlevideo\.com\/.+ctier url reject-img | |
^https?:\/\/youtubei\.googleapis\.com\/youtubei\/.+ad_ url reject-img | |
^https?:\/\/youtubei\.googleapis\.com\/youtubei\/.+log_ url reject-img | |
^https?:\/\/.+\.youtube\.com\/get_midroll_ url reject-img | |
^https?:\/\/premiumyva\.appspot\.com\/vmclickstoadvertisersite url reject-img | |
^https?:\/\/.+\.youtube\.com\/api\/stats\/ads url reject-img | |
^https?:\/\/.+\.youtube\.com\/api\/stats\/.+adformat url reject-img | |
^https?:\/\/.+\.youtube\.com\/pagead\/ url reject-img | |
^https?:\/\/.+\.youtube\.com\/ptracking url reject-img | |
hostname = www.google.com,*.googlevideo.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# > Google Drive | |
user-agent, %E4%BA%91%E7%AB%AF%E7%A1%AC%E7%9B%98* | |
user-agent,Google.Drive* | |
user-agent,*com.google.Drive* | |
host-suffix,docs.google.com | |
host-suffix,drive.google.com | |
host-suffix,googledrive.com | |
host-suffix,googleusercontent.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hostname= api.m.jd.com,img10.360buyimg.com,jr.jd.com,img1.360buyimg.com,*.meituan.net,*.jr.jd.com,api.m.jd.com | |
# > JD | |
^https?:\/\/api\.m\.jd.com\/client\.action\?functionId=(start|queryMaterialAdverts) url reject-200 | |
^https:\/\/api\.m\.jd\.com\/client\.action\?functionId=start$ url reject-200 | |
^https?:\/\/(bdsp-x|dsp-x)\.jd\.com\/adx\/ url reject-200 | |
^https?:\/\/ms\.jr\.jd\.com\/gw\/generic\/base\/na\/m\/adInfo url reject-200 | |
^https?:\/\/ms\.jr\.jd\.com\/gw\/generic\/aladdin\/na\/m\/getLoadingPicture url reject-200 | |
^https?:\/\/.+\/jfs.+\w+\=1125&\w+\=2080 url reject-200 | |
^https?:\/\/.+\/mcmktadmin.+\.jpg$ url reject-200 | |
^https?:\/\/img1\.360buyimg\.com\/pop\/jfs.+\.jpg url reject-200 | |
# > 京东金融 | |
^https:\/\/img10\.360buyimg\.com\/mcmktresadmin\/.+\.jpg url reject-200 | |
^https?:\/\/ms\.jr\.jd\.com\/gw\/generic\/aladdin\/na\/m\/getLoadingPicture url reject-200 | |
# > 美团 | |
^https?:\/\/img\.meituan\.net\/(adunion|display|midas)\/.+\.(gif|jpg|jpg\.webp)$ url reject-200 | |
^https?:\/\/p\d\.meituan\.net\/wmbanner\/[A-Za-z0-9]+\.jpg url reject-200 | |
^https?:\/\/p\d\.meituan\.net\/movie\/[A-Za-z0-9]+\.jpg\?may_covertWebp url reject-200 | |
^https?:\/\/s3plus\.meituan\.net\/.+\/linglong\/.+\.(gif|jpg|mp4) url reject-200 | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#京东历史比价 (by yichahucha) | |
^https?://api\.m\.jd\.com/client\.action\?functionId=(wareBusiness|serverConfig) url script-response-body https://raw.githubusercontent.com/yichahucha/surge/master/jd_price.js | |
#淘宝历史比价 (by yichahucha) | |
^http://.+/amdc/mobileDispatch url script-request-body https://raw.githubusercontent.com/yichahucha/surge/master/tb_price.js | |
^https?://trade-acs\.m\.taobao\.com/gw/mtop\.taobao\.detail\.getdetail url script-response-body https://raw.githubusercontent.com/yichahucha/surge/master/tb_price.js | |
hostname= api.m.jd.com, amdc.m.taobao.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 酷我音乐SVIP (By yxiaocai) | |
^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/user\/vip|vip\/spi/mservice) url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Kuwo.js | |
^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/theme) url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/themekuwo.js | |
^https?:\/\/musicpay\.kuwo\.cn\/music\.pay\?uid\=\d+ url 302 http://musicpay.kuwo.cn/music.pay?uid=1 | |
^https?:\/\/musicpay\.kuwo.cn\/music\.pay\?uid=\d+ url script-request-header https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/KuWoMusicDownload.js | |
hostname = vip1.kuwo.cn |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 漫威漫画 | |
https:\/\/.*\.com\/marvel\/services url script-response-body https://raw.githubusercontent.com/Alex0510/Eric/master/surge/Script/manwei.js | |
hostname=new.marvelunlimitedresources.com,services.mu.163.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 芒果TV | |
hostname=credits.bz.mgtv.com | |
^https:\/\/credits.bz.mgtv.com\/user\/creditsTake url script-request-header https://raw.githubusercontent.com/chavyleung/scripts/master/mgtv/mgtv.cookie.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# mimo | |
hostname = api.getmimo.com | |
^https:\/\/api\.getmimo\.com\/v1\/subscriptions$ url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/mimo.vip.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Musixmatch | |
hostname = apic.musixmatch.com | |
^https:\/\/apic\.musixmatch\.com\/ws\/.*\/config\.get url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/musixmatch.miao.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# notion | |
host,loggly.com | |
host,segment.com | |
host,intercom.io | |
host,intercomcdn.com | |
host,amplitude.com | |
host,notion.so | |
host,amazonaws.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
hostname = photos.adobe.io,apiwz.midukanshu.com, draw.jdfcloud.com, kandian.youth.cn, sina.com, claritywallpaper.com, mcs-mimp-web.sf-express.com, sf-integral-sign-in.weixinjia.net, new.api.hdcj.9w9.com, www.xmind.cn, newdrugs.dxy.cn, daojia.jd.com, api.ireader.mobi, ms.jr.jd.com, api.m.jd.com, amdc.m.taobao.com, api.interpreter.caiyunai.com, note.youdao.com, *.rr.tv, license.pdfexpert.com, engbright.com, *.iqiyi.com, photos.adobe.io, nomo.dafork.com, lambda.us-east-1.amazonaws.com, api.indicative.com, h5.ele.me, lcs-mobile-cops.adobe.io, p.du.163.com, wapside.189.cn:9001, api.mvmtv.com, mobwsa.ximalaya.com, *.v2ex.com, www.52pojie.cn, vip1.kuwo.cn, apimboom2.globaldelight.net, mobile-api.adguard.com, api.termius.com, i.weread.qq.com, mp.weixin.qq.com, weibointl.api.weibo.cn, *.googlevideo.com, api.zhihu.com, www.zhihu.com, in.appcenter.ms, app.bilibili.com, api.bilibili.com, api.live.bilibili.com, *.youth.cn, ios.baertt.com, *-buy.itunes.apple.com, api.revenuecat.com,*.googlevideo.com,h5.ele.me | |
# 彩云小译 (by @superuv) | |
^https:\/\/api\.interpreter\.caiyunai\.com\/v1\/user url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/cyxy.js | |
#phothop&PSexpress | |
^https:\/\/lcs-mobile-cops\.adobe\.io\/mobile_profile url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/photoshop.js | |
#Bear熊掌记 内购解锁 | |
^https:\/\/buy\.itunes\.apple\.com\/verifyReceipt url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/bear.js | |
#draft | |
^https:\/\/backend\.getdrafts\.com\/api\/.*\/verification* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/draft.js | |
#document | |
^https:\/\/license\.pdfexpert\.com\/api\/.*\/documents\/subscription\/(refresh$|check$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/documents.js | |
#lightroom | |
^https:\/\/photos\.adobe\.io\/v2\/accounts* url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Lightroom.js | |
#Pdfexpert | |
^https:\/\/license\.pdfexpert\.com\/api\/1\.0\/pdfexpert6\/subscription\/(refresh$|check$) url script-response-body https://raw.githubusercontent.com/langkhach270389/Scripting/master/Pdfexpert.vip.js | |
# 用药助手解锁专业版 (By Primovist) | |
^https?:\/\/(i|newdrugs)\.dxy\.cn\/(snsapi\/username\/|app\/user\/(pro\/stat\?|init\?timestamp=)) url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/yyzs.js | |
# 网易蜗牛读书VIP (By yxiaocai and JO2EY) | |
^https?://p\.du\.163\.com/readtime/info.json url reject | |
^https?:\/\/p\.du\.163\.com\/gain\/readtime\/info\.json url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/QuantumultX/File/wnyd.js | |
# 酷我音乐SVIP (By yxiaocai) | |
^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/user\/vip|vip\/spi/mservice) url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Kuwo.js | |
^https?:\/\/musicpay\.kuwo\.cn\/music\.pay\?uid\=\d+ url 302 http://musicpay.kuwo.cn/music.pay?uid= | |
^https?:\/\/vip1\.kuwo\.cn\/(vip\/v2\/theme) url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/Script/themekuwo.js | |
#^https?:\/\/musicpay\.kuwo.cn\/music\.pay\?uid=\d+ url script-request https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/KuWoMusicDownload.js | |
# 去微信公众号广告 (By Choler) | |
^https?:\/\/mp\.weixin\.qq\.com\/mp\/getappmsgad url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/QuantumultX/File/Wechat.js |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* 名称:zhihu.js | |
* 地址: | |
* | |
* 制作:elecV2 | |
* | |
******** 以下为 tamperJS 自动生成的 rewrite 相关信息,可能需要根据情况适当调整 ******** | |
[rewrite] | |
https:\/\/.*\.zhihu\.com\/.* url script-response-body zhihu.js | |
https:\/\/v\.vzuu\.com\/video\/.* url script-response-body zhihu.js | |
https:\/\/video\.zhihu\.com\/video\/.* url script-response-body zhihu.js | |
[mitm] | |
, *.zhihu.com, v.vzuu.com, video.zhihu.com | |
******** | |
* 工具: tamperJS BY @elecV2 | |
* 频道: https://t.me/elecV2 | |
* | |
**/ | |
let body = $response.body | |
if (/<\/html>|<\/body>/.test(body)) { | |
body = body.replace('</body>', `<script src='http://libs.baidu.com/jquery/2.0.0/jquery.min.js'></script> | |
<script> | |
function GM_openInTab(e){return window.open(e)}function GM_addStyle(e){"use strict";let t=document.getElementsByTagName("head")[0];if(t){let s=document.createElement("style");return s.setAttribute("type","text/css"),s.textContent=e,t.appendChild(s),s}return null}const GM_log=console.log;function GM_xmlhttpRequest(e){"use strict";let t=new XMLHttpRequest;if(__setupRequestEvent(e,t,"abort"),__setupRequestEvent(e,t,"error"),__setupRequestEvent(e,t,"load"),__setupRequestEvent(e,t,"progress"),__setupRequestEvent(e,t,"readystatechange"),t.open(e.method,e.url,!e.synchronous,e.user||"",e.password||""),e.overrideMimeType&&t.overrideMimeType(e.overrideMimeType),e.headers)for(let s in e.headers)Object.prototype.hasOwnProperty.call(e.headers,s)&&t.setRequestHeader(s,e.headers[s]);let s=e.data?e.data:null;return e.binary?t.sendAsBinary(s):t.send(s)}function __setupRequestEvent(e,t,s){"use strict";e["on"+s]&&t.addEventListener(s,function(n){let r={responseText:t.responseText,responseXML:t.responseXML,readyState:t.readyState,responseHeaders:null,status:null,statusText:null,finalUrl:null};switch(s){case"progress":r.lengthComputable=n.lengthComputable,r.loaded=n.loaded,r.total=n.total;break;case"error":break;default:if(4!=t.readyState)break;r.responseHeaders=t.getAllResponseHeaders(),r.status=t.status,r.statusText=t.statusText}e["on"+s](r)})}const GM_info={script:{name:"elecV2",namespace:"https://t.me/elecV2"},uuid:"47c23801-2b5c-4dbc-88a0-636297fd6b86"},__GM_STORAGE_PREFIX=["",GM_info.script.namespace,GM_info.script.name,""].join("***");function GM_deleteValue(e){"use strict";localStorage.removeItem(__GM_STORAGE_PREFIX+e)}function GM_getValue(e,t){"use strict";let s=localStorage.getItem(__GM_STORAGE_PREFIX+e);return null===s&&void 0!==t?t:s}function GM_listValues(){"use strict";let e=__GM_STORAGE_PREFIX.length,t=[];for(let s=0;s<localStorage.length;s++){let n=localStorage.key(s);n.substr(0,e)===__GM_STORAGE_PREFIX&&t.push(n.substr(e))}return t}function GM_setValue(e,t){"use strict";localStorage.setItem(__GM_STORAGE_PREFIX+e,t)}function GM_getResourceURL(e){"use strict";return"greasemonkey-script:"+GM_info.uuid+"/"+e} | |
</script> | |
<script> | |
const elecJSPack = function(){// ==UserScript== | |
// @name 知乎网页助手 | |
// @namespace zhihu_helper_tool | |
// @version 1.0.4 | |
// @description 功能介绍:1、知乎站外链接直接跳转至目标网址;2、自动展开问题全部信息,同时展示所有回答;3、去除知乎网页中的广告;4、知乎网页中短视频下载;5、解除知乎复制限制-划词复制(鼠标左键划词自动添加到剪切板);6、去除烦人的登录提示;7、自动高清图片显示【注:支持Tampermonke4.0以上版本】【这可能是功能最全面的知乎助手了】 | |
// @author broom,王超 | |
// @icon data:image/ico;base64,AAABAAIAEBAAAAEAIAAoBQAAJgAAACAgAAABACAAKBQAAE4FAAAoAAAAEAAAACAAAAABACAAAAAAAAAFAAAAAAAAAAAAAAAAAAAAAAAA6IYLxOuIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6IYLxOuIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//jWuP/xq2b/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64kQ/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7///////bJn//riA7/64gO//GrZv/riA7/64kQ///////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//CoX//+/fz/64gO/++gUP//////64oX///////riA7/////////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7///////bQrf//////8rFx/+uKF///////64kT/+uIDv/riA7//////+uIDv/riA7/64gO/+uIDv/riA7/64gO//K3fv//////8rV7/+uIDv/rihf//////+uJE//riA7/64gO///////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7//////+uIDv/riA7/64oX///////riRD/64gO/+uJEP//////64gO/+uIDv/riA7/64gO//vo2P///////////////////////////+uKF///////64kQ/+uIDv/riRD//////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv//////64gO/+uIDv/rihf//////+uIDv/riA7/64kT///////riA7/64gO/+uIDv/riA7/7ZU1/+uMHf/riRP//////+uJE//riA7/64oX///////riA7/64gO/+uKFf//////64gO/+uIDv/riA7/64gO//3z6//xrWv/64sY///////riA7/64gO/+uKF///////64oV/+uKFf/rjBv//////+uIDv/riA7/64gO/+uIDv/0wZD//v39//7+/v/+/v7//v7+///////rihf////////////////////////////riA7/64gO/+uIDv/riA7/7ZU1///////wp17/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/voVH/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6IYLxOuIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6IYLxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoAAAAIAAAAEAAAAABACAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAA5oQGSemGC+PriA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6YYL4+aEBknphgvj64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6YYL4+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/9cec//76+P/76tv/87yH/+uJEP/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/++dRv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/9suk////////////9tCu/+uIDv/riA7/64gO/+uIDv/riA7/64gO/++iU//riA7/64gO/+uIDv/riA7/+uLM//rizP/tlTT/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/99W2////////////8a1r/+uIDv/riA7/64gO/+uIDv/zvIf/+d7G/+uIDv/riA7/64gO/+uLGv/++/n///////328f/xsG7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/rjB3/++ze///////87uL/64kQ/+uIDv/riA7/8Kdd//79/P/64Mn/64gO/+uMH//////////////////76dn/////////////////////////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/vpFj//v7+///////xsG7/64gO/+6XO//99vD///////TClP/riA7/64wf/////////////////+2WOf/wqF///O/j///////////////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/42sD///////ncwv/sjSH/++rb///////64Mr/64kT/+uIDv/rjB/////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv///////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/++kVf///////vr4//nbwP//////++zf/+yPJf/riA7/64gO/+uMH////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//zu4v//////+uDJ//3z6//ulzv/64gO/+uIDv/riA7/64wf////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/9s2o///////2yJ7/7I0h/+uIDv/riA7/64gO/+uIDv/rjB/////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv///////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/ysXP///////rgyf/riA7/64gO/+uIDv/riA7/64gO/+uMH////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/++gUP///////PDl/+uIDv/riA7/64gO/+uIDv/riA7/64wf////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//K3ff////////////////////////////////////////////////////////////328P/rjB/////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv///////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/7I4k//zx5///////////////////////////////////////////////////////+dzB/+uMH////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/++vj//////+yNIf/riA7/64gO/+uIDv/riA7/64wf////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//338v//////7ZQy/+uIDv/riA7/64gO/+uIDv/rjB/////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv///////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/751I/+2TL//riA7/64gO/+uIDv/riA7//fXt///////umD7/64gO/+uIDv/riA7/64gO/+uMH////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/xrm3//v38//XEl//riA7/64gO/+uIDv/98un//////++dRv/riA7/64gO/+uIDv/riA7/64wf////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uJEP/87+P///////GrZv/riA7/64gO//zv5P//////755L/+uIDv/riA7/64gO/+uIDv/rjB/////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv///////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO//TAj///////+Ne5/+uKFf/rihX//O7h///////volP/64oV/+uKFf/rihX/64gO/+uMH////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO////////////64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/7ZQy//79/f/////////////////////////////////////////////////yt37/64wf///////////////////////////////////////////////////////riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/+uHL/////////////////////////////////////////////v38/++fTP/rjB///////////////////////////////////////////////////////+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/zuYP///////bOqv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+yPJ//99/L//fPr/+uJE//riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/++kVf/65tb/8Kpk/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/6YYL4+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+mGC+PmhAZJ6YYL4+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/riA7/64gO/+uIDv/phgvj5oQGSQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= | |
// @match https://*.zhihu.com/* | |
// @match https://v.vzuu.com/video/* | |
// @match https://video.zhihu.com/video/* | |
// @connect zhihu.com | |
// @connect vzuu.com | |
// @require http://libs.baidu.com/jquery/2.0.0/jquery.min.js | |
// @run-at document-end | |
// @grant GM_openInTab | |
// @grant GM_setClipboard | |
// @grant GM_info | |
// @grant GM_download | |
// @charset UTF-8 | |
// ==/UserScript== | |
(function() { | |
'use strict'; | |
if(window.top != window.self){ | |
return; | |
} | |
var window_url = window.location.href; | |
var website_host = window.location.host; | |
//直接跳转到目标网页 | |
if(website_host == "link.zhihu.com"){ | |
var regRet = location.search.match(/target=(.+?)(&|$)/); | |
if(regRet && regRet.length==3){ | |
location.href = decodeURIComponent(regRet[1]); | |
} | |
} | |
//知乎正文 | |
else if(website_host.indexOf("zhihu.com")!=-1){ | |
//自动展开问题全部信息,同时展示所有回答 | |
if(window_url.indexOf("https://www.zhihu.com/question/") != -1) { | |
autoExpandQuestionInfo(); | |
} | |
function autoExpandQuestionInfo() { | |
$('.Button.QuestionRichText-more.Button--plain').click(); | |
var moreAnswers = $('.QuestionMainAction'); | |
if(moreAnswers.length > 0) { | |
moreAnswers[0].click(); | |
} | |
} | |
//去除首页广告 | |
function clearAdvert() { | |
$(".Pc-card").each(function(){ | |
if($(this).find(".Banner-adTag").length != 0){ | |
$(this).remove(); | |
} | |
}); | |
} | |
setInterval(function(){ | |
clearAdvert(); | |
}, 500); | |
//划词复制 | |
$('body').mouseup(function(){ | |
GM_setClipboard(window.getSelection().toString()); | |
}); | |
//去除登录提示 | |
document.querySelector('body').addEventListener('DOMNodeInserted',function(e){ | |
if(e.target.getElementsByClassName('signFlowModal').length!==0){ | |
e.target.getElementsByClassName('Modal-backdrop')[0].click(); | |
} | |
}); | |
//更改为直接高清显示 | |
function changeHeightQualityPic(){ | |
$("body").find("img").each(function(){ | |
var dataoriginal = $(this).attr("data-original"); | |
if(!!dataoriginal){ | |
$(this).attr("src", dataoriginal); | |
} | |
}); | |
} | |
setInterval(function(){ | |
changeHeightQualityPic(); | |
}, 500); | |
} | |
//52破解论坛 | |
else if(website_host == "www.52pojie.cn"){ | |
} | |
})(); | |
/** | |
* 避免重复造轮子 | |
* 集成插件:下载知乎视频 | |
* greasyfork地址:https://greasyfork.org/zh-CN/scripts/39206 | |
* 版本:V1.18 | |
* */ | |
(async () => { | |
if (window.location.host == 'www.zhihu.com') return; | |
const playlistBaseUrl = 'https://lens.zhihu.com/api/videos/'; | |
//const videoBaseUrl = 'https://video.zhihu.com/video/'; | |
const videoId = window.location.pathname.split('/').pop(); // 视频id | |
const menuStyle = 'transform:none !important; left:auto !important; right:-0.5em !important;'; | |
const playerId = 'player'; | |
const coverSelector = '#' + playerId + ' > div:first-child > div:first-child > div:nth-of-type(2)'; | |
const controlBarSelector = '#' + playerId + ' > div:first-child > div:first-child > div:last-child > div:last-child > div:first-child'; | |
const svgDownload = '<path d="M9.5,4 H14.5 V10 H17.8 L12,15.8 L6.2,10 H9.5 Z M6.2,18 H17.8 V20 H6.2 Z"></path>'; | |
let player = document.getElementById(playerId); | |
let resolutionMap = {'标清': 'sd', '高清': 'ld', '超清': 'hd'}; | |
let videos = []; // 存储各分辨率的视频信息 | |
let downloading = false; | |
function getBrowerInfo() { | |
let browser = (function (window) { | |
let document = window.document; | |
let navigator = window.navigator; | |
let agent = navigator.userAgent.toLowerCase(); | |
// IE8+支持.返回浏览器渲染当前文档所用的模式 | |
// IE6,IE7:undefined.IE8:8(兼容模式返回7).IE9:9(兼容模式返回7||8) | |
// IE10:10(兼容模式7||8||9) | |
let IEMode = document.documentMode; | |
let chrome = window.chrome || false; | |
let system = { | |
// user-agent | |
agent: agent, | |
// 是否为IE | |
isIE: /trident/.test(agent), | |
// Gecko内核 | |
isGecko: agent.indexOf('gecko') > 0 && agent.indexOf('like gecko') < 0, | |
// webkit内核 | |
isWebkit: agent.indexOf('webkit') > 0, | |
// 是否为标准模式 | |
isStrict: document.compatMode === 'CSS1Compat', | |
// 是否支持subtitle | |
supportSubTitle: function () { | |
return 'track' in document.createElement('track'); | |
}, | |
// 是否支持scoped | |
supportScope: function () { | |
return 'scoped' in document.createElement('style'); | |
}, | |
// 获取IE的版本号 | |
ieVersion: function () { | |
let rMsie = /(msie\\s|trident.*rv:)([\\w.]+)/; | |
let match = rMsie.exec(agent); | |
try { | |
return match[2]; | |
} catch (e) { | |
return IEMode; | |
} | |
}, | |
// Opera版本号 | |
operaVersion: function () { | |
try { | |
if (window.opera) { | |
return agent.match(/opera.([\\d.]+)/)[1]; | |
} | |
else if (agent.indexOf('opr') > 0) { | |
return agent.match(/opr\\/([\\d.]+)/)[1]; | |
} | |
} catch (e) { | |
return 0; | |
} | |
} | |
}; | |
try { | |
// 浏览器类型(IE、Opera、Chrome、Safari、Firefox) | |
system.type = system.isIE ? 'IE' : | |
window.opera || (agent.indexOf('opr') > 0) ? 'Opera' : | |
(agent.indexOf('chrome') > 0) ? 'Chrome' : | |
//safari也提供了专门的判定方式 | |
window.openDatabase ? 'Safari' : | |
(agent.indexOf('firefox') > 0) ? 'Firefox' : | |
'unknow'; | |
// 版本号 | |
system.version = (system.type === 'IE') ? system.ieVersion() : | |
(system.type === 'Firefox') ? agent.match(/firefox\\/([\\d.]+)/)[1] : | |
(system.type === 'Chrome') ? agent.match(/chrome\\/([\\d.]+)/)[1] : | |
(system.type === 'Opera') ? system.operaVersion() : | |
(system.type === 'Safari') ? agent.match(/version\\/([\\d.]+)/)[1] : | |
'0'; | |
// 浏览器外壳 | |
system.shell = function () { | |
if (agent.indexOf('edge') > 0) { | |
system.version = agent.match(/edge\\/([\\d.]+)/)[1] || system.version; | |
return 'Edge'; | |
} | |
// 遨游浏览器 | |
if (agent.indexOf('maxthon') > 0) { | |
system.version = agent.match(/maxthon\\/([\\d.]+)/)[1] || system.version; | |
return 'Maxthon'; | |
} | |
// QQ浏览器 | |
if (agent.indexOf('qqbrowser') > 0) { | |
system.version = agent.match(/qqbrowser\\/([\\d.]+)/)[1] || system.version; | |
return 'QQBrowser'; | |
} | |
// 搜狗浏览器 | |
if (agent.indexOf('se 2.x') > 0) { | |
return '搜狗浏览器'; | |
} | |
// Chrome:也可以使用window.chrome && window.chrome.webstore判断 | |
if (chrome && system.type !== 'Opera') { | |
let external = window.external; | |
let clientInfo = window.clientInformation; | |
// 客户端语言:zh-cn,zh.360下面会返回undefined | |
let clientLanguage = clientInfo.languages; | |
// 猎豹浏览器:或者agent.indexOf("lbbrowser")>0 | |
if (external && 'LiebaoGetVersion' in external) { | |
return 'LBBrowser'; | |
} | |
// 百度浏览器 | |
if (agent.indexOf('bidubrowser') > 0) { | |
system.version = agent.match(/bidubrowser\\/([\\d.]+)/)[1] || | |
agent.match(/chrome\\/([\\d.]+)/)[1]; | |
return 'BaiDuBrowser'; | |
} | |
// 360极速浏览器和360安全浏览器 | |
if (system.supportSubTitle() && typeof clientLanguage === 'undefined') { | |
let storeKeyLen = Object.keys(chrome.webstore).length; | |
let v8Locale = 'v8Locale' in window; | |
return storeKeyLen > 1 ? '360极速浏览器' : '360安全浏览器'; | |
} | |
return 'Chrome'; | |
} | |
return system.type; | |
}; | |
// 浏览器名称(如果是壳浏览器,则返回壳名称) | |
system.name = system.shell(); | |
// 对版本号进行过滤过处理 | |
// System.version = System.versionFilter(System.version); | |
} catch (e) { | |
// console.log(e.message); | |
} | |
return system; | |
})(window); | |
if (browser.name == undefined || browser.name == '') { | |
browser.name = 'Unknown'; | |
browser.version = 'Unknown'; | |
} | |
else if (browser.version == undefined) { | |
browser.version = 'Unknown'; | |
} | |
return browser; | |
} | |
function fetchRetry(url, options = {}, times = 1, delay = 1000, checkStatus = true) { | |
return new Promise((resolve, reject) => { | |
// fetch 成功处理函数 | |
function success(res) { | |
if (checkStatus && !res.ok) { | |
failure(res); | |
} | |
else { | |
resolve(res); | |
} | |
} | |
// 单次失败处理函数 | |
function failure(error) { | |
times--; | |
if (times) { | |
setTimeout(fetchUrl, delay); | |
} | |
else { | |
reject(error); | |
} | |
} | |
// 总体失败处理函数 | |
function finalHandler(error) { | |
throw error; | |
} | |
function fetchUrl() { | |
return fetch(url, options) | |
.then(success) | |
.catch(failure) | |
.catch(finalHandler); | |
} | |
fetchUrl(); | |
}); | |
} | |
// 下载指定url的资源 | |
async function downloadUrl(url, name = (new Date()).valueOf() + '.mp4') { | |
let browser = getBrowerInfo(); | |
// Greasemonkey 需要把 url 转为 blobUrl | |
if (GM_info.scriptHandler == 'Greasemonkey') { | |
let res = await fetchRetry(url); | |
let blob = await res.blob(); | |
url = URL.createObjectURL(blob); | |
} | |
// Chrome 可以使用 Tampermonkey 的 GM_download 函数绕过 CSP(Content Security Policy) 的限制 | |
if (window.GM_download) { | |
GM_download({url, name}); | |
} | |
else { | |
// firefox 需要禁用 CSP, about:config -> security.csp.enable => false | |
let a = document.createElement('a'); | |
a.href = url; | |
a.download = name; | |
// a.target = '_blank'; | |
document.body.appendChild(a); | |
a.click(); | |
document.body.removeChild(a); | |
setTimeout(function () { | |
URL.revokeObjectURL(url); | |
}, 100); | |
} | |
} | |
function humanSize(size) { | |
let n = Math.log(size) / Math.log(1024) | 0; | |
return (size / Math.pow(1024, n)).toFixed(0) + ' ' + (n ? 'KMGTPEZY'[--n] + 'B' : 'Bytes'); | |
} | |
if (!player) return; | |
// 获取视频信息 | |
const res = await fetchRetry(playlistBaseUrl + videoId, { | |
headers: { | |
'referer': 'refererBaseUrl + videoId', | |
'authorization': 'oauth c3cef7c66a1843f8b3a9e6a1e3160e20' // in zplayer.min.js of zhihu | |
} | |
}, 3); | |
const videoInfo = await res.json(); | |
// 获取不同分辨率视频的信息 | |
for (let [key, video] of Object.entries(videoInfo.playlist)) { | |
video.name = key; | |
if (!videos.find(v => v.width == video.width)) { | |
videos.push(video); | |
} | |
} | |
// 按分辨率大小排序 | |
videos = videos.sort(function (v1, v2) { | |
return v1.width == v2.width ? 0 : (v1.width > v2.width ? 1 : -1); | |
}).reverse(); | |
document.addEventListener('DOMNodeInserted', (evt) => { | |
let domControlBar = evt.relatedNode.querySelector(':scope > div:last-child > div:first-child'); | |
if (!domControlBar || domControlBar.querySelector('.download')) return; | |
let domFullScreenBtn = domControlBar.querySelector(':scope > div:nth-last-of-type(1)'); | |
let domResolutionBtn = domControlBar.querySelector(':scope > div:nth-last-of-type(3)'); | |
let domDownloadBtn, defaultResolution, buttons; | |
if (!domFullScreenBtn || !domFullScreenBtn.querySelector('button')) return; | |
// 克隆分辨率菜单或全屏按钮为下载按钮 | |
domDownloadBtn = (domResolutionBtn && (domResolutionBtn.className == domFullScreenBtn.className)) | |
? domResolutionBtn.cloneNode(true) | |
: domFullScreenBtn.cloneNode(true); | |
defaultResolution = domDownloadBtn.querySelector('button').innerText; | |
// 生成下载按钮图标 | |
domDownloadBtn.querySelector('button:first-child').outerHTML = domFullScreenBtn.cloneNode(true).querySelector('button').outerHTML; | |
domDownloadBtn.querySelector('svg').innerHTML = svgDownload; | |
domDownloadBtn.className = domDownloadBtn.className + ' download'; | |
buttons = domDownloadBtn.querySelectorAll('button'); | |
// button 元素添加对应的下载地址 | |
buttons.forEach(dom => { | |
let video = videos.find(v => v.name == resolutionMap[dom.innerText || defaultResolution]); | |
video = video || videos[0]; | |
dom.dataset.video = video.play_url; | |
if (dom.innerText) { | |
(dom.innerText = \`${dom.innerText} (${humanSize(video.size)})\`); | |
} | |
else if (buttons.length == 1) { | |
dom.nextSibling.querySelector('div').innerText = humanSize(video.size); | |
} | |
}); | |
// 鼠标事件 - 显示菜单 | |
domDownloadBtn.addEventListener('pointerenter', () => { | |
let domMenu = domDownloadBtn.querySelector('div:nth-of-type(1)'); | |
if (domMenu) { | |
domMenu.style.cssText = menuStyle + 'opacity:1 !important; visibility:visible !important'; | |
} | |
}); | |
// 鼠标事件 - 隐藏菜单 | |
domDownloadBtn.addEventListener('pointerleave', () => { | |
let domMenu = domDownloadBtn.querySelector('div:nth-of-type(1)'); | |
if (domMenu) { | |
domMenu.style.cssText = menuStyle; | |
} | |
}); | |
// 鼠标事件 - 选择菜单项 | |
domDownloadBtn.addEventListener('pointerup', event => { | |
if (downloading) { | |
alert('当前正在执行下载任务,请等待任务完成。'); | |
return; | |
} | |
let e = event.srcElement || event.target; | |
while (e.tagName != 'BUTTON') { | |
e = e.parentNode; | |
} | |
downloadUrl(e.dataset.video); | |
}); | |
// 显示下载按钮 | |
domControlBar.appendChild(domDownloadBtn); | |
}); | |
})();}()</script></body>`) | |
console.log('添加 tamperJS:zhihu.js') | |
} | |
$done({ body }) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 知乎 测试 脚本 | |
https:\/\/.*\.zhihu\.com\/.* url script-response-body https://gist.githubusercontent.com/hello1983/f5e27c01dc954afeaca0e1c166a5d407/raw/zhihu-test.js | |
https:\/\/v\.vzuu\.com\/video\/.* url script-response-body https://gist.githubusercontent.com/hello1983/f5e27c01dc954afeaca0e1c166a5d407/raw/zhihu-test.js | |
https:\/\/video\.zhihu\.com\/video\/.* url script-response-body https://gist.githubusercontent.com/hello1983/f5e27c01dc954afeaca0e1c166a5d407/raw/zhihu-test.js | |
hostname=*.zhihu.com, v.vzuu.com, video.zhihu.com |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 知乎去广告 (By onewayticket255) | |
hostname= api.zhihu.com,link.zhihu.com,118.89.204.198 | |
^https://api.zhihu.com/moments/recommend url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/onewayticket255/surge_zhihu_feed.js | |
^https://api.zhihu.com/topstory/recommend url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/onewayticket255/surge_zhihu_recommend.js | |
https://api.zhihu.com/v4/questions url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/onewayticket255/surge_zhihu_answer.js | |
^https://api.zhihu.com/people/ url script-response-body https://raw.githubusercontent.com/nzw9314/QuantumultX/master/onewayticket255/surge_zhihu_people.js | |
^https://api.zhihu.com/market/header url script-response-body https://raw.githubusercontent.com/NobyDa/Script/master/Surge/JS/Zhihu-ad-market.js | |
^https?:\/\/www\.zhihu\.com\/api\/v4\/community-ad\/ - reject | |
^https?:\/\/api\.zhihu\.com\/(launch|real_time) - reject | |
^https?:\/\/api\.zhihu\.com\/commercial_api\/(launch|real_time) - reject | |
^https?:\/\/api\.zhihu\.com\/fringe\/ad - reject |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment