Репост из: 广告必须死
#Surge #模块 #Reddit 过滤推广, 关 subreddit 的 NSFW 提示
小脚本小模块就不放 GitHub 了
① reddit.sgmodule
#!name=Reddit
#!desc=过滤推广, 关 subreddit 的 NSFW 提示 @xream
[Script]
Reddit = type=http-response,pattern=^https?:\/\/gql\.reddit\.com,requires-body=1,max-size=0,timeout=30,script-path=reddit.js
[MITM]
hostname = %APPEND%, gql.reddit.com
② reddit.js
const body = JSON.parse($response.body)
let modified
if (body.data) {
modified = true
if (body.data.subredditInfoByName && body.data.subredditInfoByName.elements && body.data.subredditInfoByName.elements.edges) {
body.data.subredditInfoByName.elements.edges = body.data.subredditInfoByName.elements.edges.filter(i => i && i.node && (i.node.__typename !== "AdPost"))
} else if (body.data.home && body.data.home.elements && body.data.home.elements.edges) {
body.data.home.elements.edges = body.data.home.elements.edges.filter(i => i && i.node && (i.node.__typename !== "AdPost"))
} else if(body.data.subredditsInfoByNames){
body.data.subredditsInfoByNames = body.data.subredditsInfoByNames.map(i => ({...i, isNsfw: false}))
} else {
modified = false
}
}
$done(modified ? { body: JSON.stringify(body) } : {})
小脚本小模块就不放 GitHub 了
① reddit.sgmodule
#!name=Reddit
#!desc=过滤推广, 关 subreddit 的 NSFW 提示 @xream
[Script]
Reddit = type=http-response,pattern=^https?:\/\/gql\.reddit\.com,requires-body=1,max-size=0,timeout=30,script-path=reddit.js
[MITM]
hostname = %APPEND%, gql.reddit.com
② reddit.js
const body = JSON.parse($response.body)
let modified
if (body.data) {
modified = true
if (body.data.subredditInfoByName && body.data.subredditInfoByName.elements && body.data.subredditInfoByName.elements.edges) {
body.data.subredditInfoByName.elements.edges = body.data.subredditInfoByName.elements.edges.filter(i => i && i.node && (i.node.__typename !== "AdPost"))
} else if (body.data.home && body.data.home.elements && body.data.home.elements.edges) {
body.data.home.elements.edges = body.data.home.elements.edges.filter(i => i && i.node && (i.node.__typename !== "AdPost"))
} else if(body.data.subredditsInfoByNames){
body.data.subredditsInfoByNames = body.data.subredditsInfoByNames.map(i => ({...i, isNsfw: false}))
} else {
modified = false
}
}
$done(modified ? { body: JSON.stringify(body) } : {})