#1 - 2019-9-27 09:28
chitanda@Lv2 (Make Bangumi Great Again!)
坏掉了。后续看情况吧
https://bgm.tv/dev/app/1154

时不时有看到一些老帖子里的图片用的新浪图床然后外链失败,所以想了想弄了个这个小玩意。原理是把图片切换到没开防盗链的子域名下,能用多久纯看微博的心情了。

UPDATE@ 20190928 15:16
虽然还没过审核,但是我今天发现有些人会选择直接超链接的方式发图片(尤其角色页面留言),所以新增了对超链接的反盗链处理。不过只是更改了超链接的真实URL,对于直接显示给用户的文本部分,未做改动(算是尊重原作者?其实只是给偷懒找个理由

讲起来可能比较拗口,具体的后续看一楼的超链接演示效果即可。

1楼测试
#2 - 2019-9-27 09:29
#3 - 2019-9-27 10:24
(已淡出bgm38)
大概是这样?

$('img').each(function(i,e){
        if(e.src.match(/sinaimg.cn/))
                e.src = e.src.replace('sinaimg.cn','sinaimg.in')
})
#3-1 - 2019-9-27 10:28
chitanda@Lv2
tva的子域名
#3-2 - 2019-9-27 10:28
chitanda@Lv2
这个第三方服务不知道谁提供的。。感觉比微博改策略没得还快
#3-3 - 2019-9-27 12:45
谷米
这种感觉不好,直接换成第三方有点危险。
#3-4 - 2019-10-25 22:58
CureDovahkinn🤔
chitanda@Lv2 说: 这个第三方服务不知道谁提供的。。感觉比微博改策略没得还快
这不还是sinaimg.cn下面的域名吗,难道是新浪自己留的?
#3-5 - 2019-10-25 22:59
chitanda@Lv2
CureDovahkinn🤔 说: 这不还是sinaimg.cn下面的域名吗,难道是新浪自己留的?
我说君寻贴的那个脚本用的是第三方的域名
#3-6 - 2019-10-25 23:13
CureDovahkinn🤔
chitanda@Lv2 说: 我说君寻贴的那个脚本用的是第三方的域名
想说的是tva.sinaimg.cn这个
#3-7 - 2019-10-25 23:15
chitanda@Lv2
CureDovahkinn🤔 说: 想说的是tva.sinaimg.cn这个
这个是新浪自己的子域名啊,但是没开防盗链。不知道什么考虑
#4 - 2019-9-27 10:26
(。´-д-)
是不是换成http了?(bgm38) 我自己也弄了一个油猴脚本 全部网站都有效的(bgm38)
#4-1 - 2019-9-27 10:29
chitanda@Lv2
http就能过吗?不过http会让页面的锁没了,不太好看。。
#4-2 - 2019-9-27 10:33
Cedar
chitanda@Lv2 说: http就能过吗?不过http会让页面的锁没了,不太好看。。
我弄成http之后就可以..没有锁也没办法啦, 不要让chrome绑架你(bgm38)
不过我不知道还有别人提供服务..
#5 - 2019-10-4 10:40
(Make Bangumi Great Again!)
过审了,顶一下
#6 - 2019-10-25 22:40
(DD雷达搜寻中...?)
我现在是装了个扩展来给请求头加个referer
毕竟到处都有人白嫖渣浪的图床
#7 - 2019-10-25 22:55
(❗)
有些人会选择直接超链接的方式发图片(尤其角色页面留言)

其实是角色页面不能发IMG的bbcode
#8 - 2019-10-26 00:16
好 顶 赞 (bgm25)
#9 - 2020-2-15 23:19
{"error":"redirect_uri_mismatch","error_description":"The redirect URI provided is missing or does not match","error_uri":"http:\/\/tools.ietf.org\/html\/rfc6749#section-3.1.2"}

顺便问一下,这个维基人权限是bangumi的维基权限吗?
#9-1 - 2020-2-15 23:23
chitanda@Lv2
啊?这个是啥报错…是不是回错帖子了
#9-2 - 2020-2-15 23:58
bennyli
chitanda@Lv2 说: 啊?这个是啥报错…是不是回错帖子了
啊是
#9-3 - 2020-2-15 23:59
bennyli
chitanda@Lv2 说: 啊?这个是啥报错…是不是回错帖子了
(bgm38)
#10 - 2020-2-16 00:21
(Death is the gateway to Eternity, my dear.)
用了 header editor 辣,直接就能看见 (bgm26)
啊我挖坟了,匿
#10-1 - 2020-2-16 00:25
chitanda@Lv2
嘛,扩展另说,组件主要方便手机
#10-2 - 2020-2-16 00:27
LunarShaddow🌙
chitanda@Lv2 说: 嘛,扩展另说,组件主要方便手机
深夜的吃蛋挞好丫
因为安卓上也用的FF而且同步了扩展所以也不怕不怕啦
#10-3 - 2020-2-16 00:29
chitanda@Lv2
LunarShaddow🌙 说: 深夜的吃蛋挞好丫
因为安卓上也用的FF而且同步了组件所以也不怕不怕啦
月影也好呀。我在等着小sb的拍卖结果刷出来。
主要我习惯用chrome,手机上没扩展这种功能
#11 - 2020-2-28 22:29
(我只知道自己一无所知。)
考虑
<img src="..." referrerpolicy="no-referrer" />
#11-1 - 2020-2-28 23:26
chitanda@Lv2
组件里没法这么搞。除非你写油猴脚本
#11-2 - 2020-2-28 23:33
橘枳橼
chitanda@Lv2 说: 组件里没法这么搞。除非你写油猴脚本
组件明确不允许了吗?这个只是给 img 元素加属性啊
#11-3 - 2020-2-28 23:35
chitanda@Lv2
InQβ 说: 组件明确不允许了吗?这个只是给 img 元素加属性啊
我是说不好实现…
#11-4 - 2020-2-28 23:44
橘枳橼
chitanda@Lv2 说: 我是说不好实现…
你是不是觉得需要 MutationObserver 之类的?
其实 document-idle 直接 img.setAttribute() 就行啦,会重新发请求的。
#11-5 - 2020-2-28 23:47
chitanda@Lv2
InQβ 说: 你是不是觉得需要 MutationObserver 之类的?
其实 document-idle 直接 img.setAttribute() 就行啦,会重新发请求的。
我之前试过setAttribute不起作用就是…图片标签删了重新加也不行,所以就改成了这个方法
#11-6 - 2020-2-29 00:01
橘枳橼
chitanda@Lv2 说: 我之前试过setAttribute不起作用就是…图片标签删了重新加也不行,所以就改成了这个方法
你直接说试过但没生效就行了嘛。
这就比较尴尬,我什么时候捣鼓捣鼓吧(咕咕咕
#11-7 - 2020-4-2 11:17
橘枳橼
chitanda@Lv2 说: 我之前试过setAttribute不起作用就是…图片标签删了重新加也不行,所以就改成了这个方法
发现好像是字符串拼接导致语法错误的问题
开头塞个 /**/; 就能用了
刚刚提交审核:https://bgm.tv/dev/app/1460
#11-8 - 2020-4-3 00:59
橘枳橼
InQβ 说: 发现好像是字符串拼接导致语法错误的问题
开头塞个 /**/; 就能用了
刚刚提交审核:https://bgm.tv/dev/app/1460
淦,结果仅仅 13.5 小时过后我就发现了一个我的不能正常工作但你的可以的情况:
https://bgm.tv/character/11614#post_105707
可能是已弃用的 ws1.sinaimg.cn 域名(bgm38),暴力替换域名可以用,referrerpolicy 不要想了,DNS 记录都是烂的:
; <<>> DiG 9.11.3-1ubuntu1.11-Ubuntu <<>> ws1.sinaimg.cn
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37296
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;ws1.sinaimg.cn.                        IN      A

;; ANSWER SECTION:
ws1.sinaimg.cn.         59      IN      A       10.10.10.10

;; Query time: 115 msec
;; SERVER: 8.8.8.8#53(8.8.8.8)
;; WHEN: Fri Apr 03 00:59:13 CST 2020
;; MSG SIZE  rcvd: 59
#11-9 - 2020-4-3 01:04
chitanda@Lv2
InQβ 说: 淦,结果仅仅 13.5 小时过后我就发现了一个我的不能正常工作但你的可以的情况:
https://bgm.tv/character/11614#post_105707
可能是已弃用的 ws1.sina...
其实我这个有个小问题,就是新浪门户网站的图但是非微博上的,也会被替换掉。真的想弄好的话可能还得做个内置的子域名列表来替换。
https://n.sinaimg.cn/comic/trans ... -irkazzv3110348.jpg
#11-10 - 2020-4-3 01:05
chitanda@Lv2
InQβ 说: 淦,结果仅仅 13.5 小时过后我就发现了一个我的不能正常工作但你的可以的情况:
https://bgm.tv/character/11614#post_105707
可能是已弃用的 ws1.sina...
不知道有没有完整的微博图床子域名列表。。
#11-11 - 2020-4-3 01:32
橘枳橼
chitanda@Lv2 说: 不知道有没有完整的微博图床子域名列表。。
(扫一遍 [0-9A-Za-z]{1,10}\.sinaimg\.cn
好像 path 挺不同的……
更稳定的是 js 发 HEAD 试下吧……
$ curl -I https://n.sinaimg.cn/comic/transform/200/w660h340/20200326/7155-irkazzv3110348.jpg
HTTP/2 200
...
$ curl -I https://tva1.sinaimg.cn/comic/transform/200/w660h340/20200326/7155-irkazzv3110348.jpg
HTTP/2 404
...
$ curl -I https://wx1.sinaimg.cn/large/00745YaMgy1g5miiylptxg30cs076e5l.gif
HTTP/2 200
...
$ curl -I https://wx1.sinaimg.cn/large/00745YaMgy1g5miiylptxg30cs076e5l.gif --header "Referer: https://bgm.tv/"
HTTP/2 403
...


稍微工具了一下:
www.sinaimg.cn
expo2011.sinaimg.cn
expo2013net.sinaimg.cn
f.sinaimg.cn
gongyi.sinaimg.cn
guangxi.sinaimg.cn
h5.sinaimg.cn
hainan.sinaimg.cn
henan.sinaimg.cn
hubei.sinaimg.cn
i0.sinaimg.cn
i1.sinaimg.cn
i2.sinaimg.cn
i3.sinaimg.cn
jiangsu.sinaimg.cn
jiangxi.sinaimg.cn
jilin.sinaimg.cn
liaoning.sinaimg.cn
mjs.sinaimg.cn
n.sinaimg.cn
n0.sinaimg.cn
n1.sinaimg.cn
n2.sinaimg.cn
n3.sinaimg.cn
p1.sinaimg.cn
p2.sinaimg.cn
p3.sinaimg.cn
p4.sinaimg.cn
p5.sinaimg.cn
p6.sinaimg.cn
p7.sinaimg.cn
p8.sinaimg.cn
passport.sinaimg.cn
pkg.sinaimg.cn
portrait1.sinaimg.cn
portrait2.sinaimg.cn
portrait3.sinaimg.cn
portrait4.sinaimg.cn
portrait5.sinaimg.cn
portrait6.sinaimg.cn
portrait7.sinaimg.cn
portrait8.sinaimg.cn
qcyn.sinaimg.cn
r.sinaimg.cn
s1.sinaimg.cn
s10.sinaimg.cn
s11.sinaimg.cn
s12.sinaimg.cn
s13.sinaimg.cn
s14.sinaimg.cn
s15.sinaimg.cn
s16.sinaimg.cn
s2.sinaimg.cn
s3.sinaimg.cn
s4.sinaimg.cn
s5.sinaimg.cn
s6.sinaimg.cn
s7.sinaimg.cn
s8.sinaimg.cn
s9.sinaimg.cn
shanxi.sinaimg.cn
ss1.sinaimg.cn
ss10.sinaimg.cn
ss11.sinaimg.cn
ss12.sinaimg.cn
ss13.sinaimg.cn
ss14.sinaimg.cn
ss15.sinaimg.cn
ss16.sinaimg.cn
ss2.sinaimg.cn
ss3.sinaimg.cn
ss4.sinaimg.cn
ss5.sinaimg.cn
ss6.sinaimg.cn
ss7.sinaimg.cn
ss8.sinaimg.cn
ss9.sinaimg.cn
tc.sinaimg.cn
tianjin.sinaimg.cn
tp2.sinaimg.cn
tp3.sinaimg.cn
tva1.sinaimg.cn
tva2.sinaimg.cn
tva3.sinaimg.cn
tva4.sinaimg.cn
tvax1.sinaimg.cn
tvax3.sinaimg.cn
tvax4.sinaimg.cn
mm.us.sinaimg.cn
vic.sinaimg.cn
ws1.sinaimg.cn
ws2.sinaimg.cn
ws3.sinaimg.cn
ws4.sinaimg.cn
ww1.sinaimg.cn
ww2.sinaimg.cn
ww3.sinaimg.cn
ww4.sinaimg.cn
wx1.sinaimg.cn
wx2.sinaimg.cn
wx3.sinaimg.cn
wx4.sinaimg.cn
wxt.sinaimg.cn
#12 - 2020-2-28 23:53
(ACG猫舌,喜欢补已经凉了的企划,不喜欢趁热。)
厉害了。
#13 - 2020-2-29 01:09
(折一片夏)
nb
#13-1 - 2020-2-29 11:18
Nagisa
+1
#14 - 2023-3-8 15:27
(小圣杯邀请码: whyjxz14#576501)
现在是不是挂壁了
#14-1 - 2023-3-9 19:27
chitanda@Lv2
是吧。主要新浪不给白嫖了。你可以找找新浪还有没有这种不验证的白嫖域名