惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Schneier on Security
博客园_首页
量子位
博客园 - 司徒正美
S
SegmentFault 最新的问题
J
Java Code Geeks
小众软件
小众软件
博客园 - 【当耐特】
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Microsoft Azure Blog
Microsoft Azure Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
T
Tailwind CSS Blog
博客园 - Franky
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
G
GRAHAM CLULEY
Cyberwarzone
Cyberwarzone
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
V
Visual Studio Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
The Hacker News
The Hacker News
aimingoo的专栏
aimingoo的专栏
V
Vulnerabilities – Threatpost
P
Palo Alto Networks Blog
Scott Helme
Scott Helme
L
LINUX DO - 热门话题
F
Full Disclosure
D
DataBreaches.Net
Martin Fowler
Martin Fowler
Cisco Talos Blog
Cisco Talos Blog
L
LINUX DO - 最新话题
云风的 BLOG
云风的 BLOG
C
Check Point Blog
T
Threatpost
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
W
WeLiveSecurity
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
有赞技术团队
有赞技术团队
Hugging Face - Blog
Hugging Face - Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
L
Lohrmann on Cybersecurity
Last Week in AI
Last Week in AI
T
Tor Project blog
T
Troy Hunt's Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
S
Security Affairs
SecWiki News
SecWiki News

Ray's Blog

Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog Ray's Blog
Ray's Blog
i@mk1.io (Ra · 2020-09-13 · via Ray's Blog

图床的千层套路

Ray 注:由于本文发布于五年前,CYF 早已更换了博客地址,因此本文中可能有部分链接失效,我已经把一些链接换成了 web.archive.org 的镜像链接,方便大家阅读

博客最近在细心打磨终于上 95 分了,其中我认为图片功劳不可没。

2020 年 8 月 9 日 Jsdelivr 发布了一次使用政策:Create Acceptable Use Policy,其中第 4 条 Prohibited Use 引起了众多议论:

4. Prohibited Use

The following behavior is prohibited:

1. Hosting or accessing content that:
   - contains malware or harmful code in any form,
   - violates proprietary rights of others,
   - is sexually explicit,
   - is potentially illegal in the EU or the USA.

2. Abusing the service and its resources, or using jsDelivr as a general-purpose
   file or media hosting service. This includes, for example:
   - running an image hosting website and using jsDelivr as a storage for all
     uploaded images,
   - hosting videos, file backups, or other files in large quantities.

   We recognize that there are legitimate projects that consist of a large number
   of files, and these are not considered abuse. For example: icons packs, apps,
   or games with a large number of assets.

其中running an image hosting website and using jsDelivr as a storage for all uploaded images 这一句相当的有歧义,要多少的图片才能算是图站?博客里面图片放里面算吗?上传的图片怎样才不行?

反观网上流传的白嫖 Github 做图床,基本点进去都是https://cdn.jsdelivr.net/gh/这样子的图床,这种行为,我不敢妄加评论。但是,jsdelivr 诞生的意义似乎并不是为了图床而生的,这种行为也很难判断成滥用。。

使用政策发布之后,一时间,QQ 群、v2ex、知乎上立刻就炸了锅。很多人猜测 jsdelivr 是不是滥用过度而禁止将其作为图床?免费图床的白嫖日子要结束了吗?更多的人,是在哭诉和询问那里还有像 jsd 一样优秀的图床可以白嫖,微博炸了,那里还有免费图床啊?

实际上,我一般采用的是BackBlaze + CloudFlare但是自从八月底移动开始改道,从原先优秀的 CMI 绕路 LAX 后,国内 CloudFlare 访问质量再次暴跌,这不得不使我将博客迁至 Vercel。好在八月份我有幸申请到了了 dogedoge 图床使用权限,获得了国内较高速的图床.

但是,对于哪些没有没有图床的人来说,免费图床真的这么难以获得吗?

不好意思,免费图床非常多,只是你不会用而已,这篇文章,就是拯救面前陷入图床危机的你【当然是面向小白,大佬也可以在底下给我提意见鸭】。

https://sm.ms

推荐程度:★

首先推荐的是这个图床,loli.net 域名经典重现。三年前此图床域名还有备案采用的是国内 CDN,可惜后来因为滥用吊销备案号而被迫迁移国外,用的是 CloudFlare。实际使用效果面向国内确实不太好,建议备用。

你不需要注册,拖拽直接上传,只要不违反大陆和香港法律,他就能永久保留你的图片

可搭配 PicGo

https://imgur.com

推荐程度:★★

国外一家牛逼的图片托管服务商,你可以选择注册或不注册,同样的,拖拽上传,永久保留,其 SLA 有着相当高的保证。

然而很可惜的是,这种网站很早就在国内被DNS 域名污染,也就意味着访客无法正常加载你的图片。这也就是被打为两颗星的原因。

当然,你也可以通过#图像缓存服务 从而实现国内访问。

可搭配 PicGo【需注册】

https://7bu.top/

推荐程度:★★★★

杜老师提供的个人公益图床,存储于阿里和腾讯的 COS,官方保证 SLA>=99%,是一个不错的选择,当然,7bu 毕竟是个人维护的图床,能不能永久撑下去还是个问题,我也没有做过深度评测,无法表明其可用性。

可搭配 PicGo。

接口地址:https://7bu.top/api/upload
post参数:image
回调json:data.url

更准确的 API 文档

而且,就在我上传测试图片的时候,明明已经表明图片已经上传,打开却发现 COS 提示 404,这一点我不得陷入思考,个人维持的公益项目真的能保证 SLA 吗?

昨天上传的时候撞上服务器维修了,很抱歉做出了不够恰当的评价.7bu 采用的是全国腾讯云 CDN 加速,国内访问速度十分优良。然而请注意,7bu 刚开始建立的目的并不是面向全球【仅面对中国大陆游客】,这导致其大陆以外基本解析至国内西藏腾讯,访问效果并不好。并且,这是通过腾讯云的鉴黄,可能会存在误杀行为。具体使用请个人斟酌【不过作为开发环境还是可行的】。

推荐程度:★★★★

我个人搭建的 API:https://picbed.cyfan.top 不保证上传 SLA

由于小鸡联通国内网络不太好,很有可能无法正常上传,原项目已经开源 ,你完全可以通过在国内的机子或者是本地搭建以获得更佳体验。

如果上传成功了,图片将会托管于阿里云的 CDN,无论是速度还是延迟都相当的优秀。

官方大厂,下载 SLA 有保障。

可搭配 PicGo。

接口地址:https://picbed.cyfan.top/update.php
post参数:file
回调json:data.url

已失效,切勿使用

推荐程度:★★★★★

TEST
TEST

其实很早就看到V2EX 的那篇征文了

可是当时我不够优秀啊虽然现在同样不优秀,博客也没满一年啊,于是白嫖的心态搁浅了。

后来突然看到 Jalen 的博客也用了 DogeDoge 图床,这才突然意识到原来我已经满一年了。于是抱着试试看的心态向 doge 官方邮箱发送了邮件,结果真过了。。。

dogedoge 拥有着国内相当不错的 CDN,国内访问飞快,但是国外的访问质量的确不如人意。【反正此博客面向中国大陆】

而且,DogeDoge 拥有着很良心的处理参数:

w:宽
h:高
mode:模式 - crop 裁剪、clip 缩略
fmt:格式 - jpg、png、webp(原图为 gif,且没有 frame 参数时,不做任何裁切、缩略处理)
frame:1 - EOF帧,默认为 1 (对动画有效)
q:压缩质量 - 1 - 100(默认 90 )
rect:指定位置裁剪 - top,left,w,h(若与 w / h 参数同时存在,则 会在 rect 裁剪过后,继续按照 w / h 的要求缩略)
pos:(配合 w / h )裁剪位置 - top-left、top、top-right、left、center、right、bottom-left、bottom、bottom-right,默认为center
pos 还有一个特殊的值 auto,该值目前为 alpha 状态,可以根据图片重点来进行 pos 的位置取舍。

话说回来,DogeDoge 也可以搭配 PicGo 使用。

接口地址:https://www.dogedoge.com/tools/upload/{Your_Token}
post参数:file
回调json:data.o_url

当然,现在的 Doge 图床还是处于免费的试用期【Creater】,不过好在试用期过后价格也比较合理,一般的 tester 也足够使用,目前看来 SLA 还是不错的。

不过,申请不到 dogedoge 图床也没关系,看下去你就会发现,白嫖的路千千万万,何必执着于一条。

推荐程度:★★★

具体可以看看这篇文章

正如我所说的,这种组合已经被广大博主所采纳,并且网上教程已经泛滥了,在这里不再阐述。

推荐程度:★★★★★

为什么很多文章都没有提到用 npm 做图床?我想其中很大的原因是,白嫖 jsd 做图床的,很多都是小白【或者不愿花时间在于此的大佬】,同样的,这些文章面向的都是这些人,毕竟,以拖拽方式上传的 Github 和命令行方式上传,我想,大都数人会选择前者吧。

可是,你们没有想到的是,github 文件镜像【github.com.cnpmjs.org 是站点镜像】只有 jsd 一个,npm 镜像可远远不止这一个啊!

让我们看看分别镜像在 jsd、zhimg、bdstatic 的文件怎么样:

【unpkg 镜像用的是 CloudFlare,国内加速效果不好,暂时不写】

jsd 就不必多说了,国内拥有强劲的网宿节点支撑【虽然以前出现过网宿下游投毒】,速度丝滑无比,国外也有强劲的 CloudFlare 上岗,可谓国内外两不误。而且,jsd 对于 npm 的 package 单文件没有大小限制,也就是说泡个视频也不是问题。

zhimg 是知乎的 unpkg 镜像,也是一个不错的选择【阿里 CDN】,知乎官方也未对此做出限制,日常使用是可以的。

bdstatic 是百度的内用 npm 镜像,速度也很好【百度 CDN】,但是请注意,bdstatic 作为内用 cdn,其拉取频率较慢,经常出现无法及时更新。

啊哈?不会上传?

npm 官网注册个账号去,然后先:

接着:

请注意,如果你之前用过淘宝镜像,那么请先手动切回源:

npm config set registry https://registry.npmjs.org

每一次发布图片后,你可以将原来的图片删除,更改package.json 版本号【向上增加】,然后npm publish即可

这个似乎可以搭配 picgo,不过好像没这个插件,写起来也麻烦。。。

unpkg 的国内镜像其实远远不止这些,包括七牛、饿了么、腾讯都有,不过这个就要自己找了。

一些推荐的 npm【or unpkg 镜像】:

【jsd 出品,网宿国内节点】https://npm.elemecdn.com/
【知乎出品,网宿国内节点】https://npm.elemecdn.com/
【百度出品,网宿国内节点】https://code.bdstatic.com/npm/
【饿了么出品,网宿国内节点,回源是 Unpkg,建议用这个】https://npm.elemecdn.com/
【饿了么出品,网宿国内节点,回源是 JSdelivr,貌似可以用 github,但是我用的时候大多无法正常回源,只能获取几个已缓存的热门库】https://shadow.elemecdn.com/npm/
【怎么都是网宿的】

或者说,你还可以自建 unpkg 镜像。

啊,你说你没有服务器反向代理 unpkg?

其实,七牛的对象存储,腾讯的 COS 和阿里的 OSS 都是支持镜像回源的鸭!

七牛 http 流量每月免费 10GB,腾讯的国内免费 60GB6 个月,作为自用完全足够了!

我曾经写过关于 ipfs 的讲解 ,作为一个去中心化的存储系统拿来做公开图床其实挺不错的。

我个人搭建的 ipfs 镜像【托管于 CloudFlareWorkers】:https://ipfs.cyfan.top

我个人搭建的 ipfs 上传 API:https://ipfsupload.cyfan.top

基于 Vercel+CloudFlare~~【我也不知道 worker 为什么死活上传不上去】~~

接口地址:https://ipfsupload.cyfan.top/api/v0/add?pin=true
post参数:file
回调json:Hash

此处 Hash 获得的是文件的 Qmhash,你还要依托 ipfs 镜像,如https://ipfs.cyfan.top/ipfs/{QmHash}

顺便收录一些 ipfs 网关【可访问】:

【北京 阿里云】https://hashnews.k1ic.com/ 【香港 阿里云】https://ipfs.jbb.one/
【美国 DigitalOcean】https://ipfs.telos.miami/
【Amazon】https://ipfs.oceanprotocol.com/

你可以在https://ipfs.github.io/public-gateway-checker/找到更多

正如##Imgur所说的,imgur 在国内已经无法访问了,但是,图片缓存服务可以啊!

收集了一些图片缓存服务:

【国内网宿节点,只能加载特定图床图片如imgur】https://search.pstatic.net/common/?src=
【Akamai节点,没有使用限制】https://imageproxy.pimg.tw/resize?url=
【CloudFlare节点】https://images.weserv.nl/?url=
【CloudFlare节点】https://pic1.xuehuaimg.com/proxy/

PicGo 默认已经集成了部分图床,其拖拽上传、自动复制剪贴板实在赢得了无数人的心。但是,对于一些冷门的图床支持似乎就不太好,这时候你需要用自定义 web 图床实现这一切:

我在上方介绍的图床如果支持 web 端上传,基本上就会写一个 post 请求,你可以依葫芦画瓢填写进去

这样子你就可以实现较为丝滑的上传图片了:

【为了压缩方便删除了部分帧】

实际上最保险的莫过于使用各大厂商的对象存储,当然这笔钱不大好使。 你也可以用自己的 VPS 搭建 Chevereto,当然前提是你有 VPS