热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图床的千层套路

原文地址https:blog.cyfan.top20200912hey-picbed博客最近在细心打磨终于上95分了,其中我认为图片功劳不可没。2020年8月9日Js

原文地址https://blog.cyfan.top/2020/09/12/hey-picbed/


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


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

4. Prohibited UseThe 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-purposefile or media hosting service. This includes, for example:- running an image hosting website and using jsDelivr as a storage for alluploaded images,- hosting videos, file backups, or other files in large quantities.We recognize that there are legitimate projects that consist of a large numberof 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。好在八月份我有幸申请到了doegdoge图床使用权限,获得了国内较高速的图床.

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

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


公益图床


sm.ms

https://sm.ms

推荐程度:★

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

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

可搭配PicGo


Imgur

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

DogeDoge图床

推荐程度:★★★★★

其实很早就看到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图床也没关系,看下去你就会发现,白嫖的路千千万万,何必执着于一条。


BackBlaze

推荐程度:★★★

具体可以看看这篇文章


千奇百怪的


Github+JSDelivr

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


npm+JSDelivr&&Zhimg&&bdstatic&&自定义镜像

推荐程度:★★★★★

为什么很多文章都没有提到用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 login

接着:

npm init
npm publish

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

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

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

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

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

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

【jsd出品,网宿国内节点】https://cdn.jsdelivr.net/npm/
【知乎出品,阿里国内节点】https://unpkg.zhimg.com/
【百度出品,网宿国内节点】https://code.bdstatic.com/npm/
【饿了么出品,网宿国内节点】https://shadow.elemecdn.com/npm/

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

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

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

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


ipfs

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

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

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

接口地址: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的搭配使用

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

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

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传


后言

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


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 关于我们EMQ是一家全球领先的开源物联网基础设施软件供应商,服务新产业周期的IoT&5G、边缘计算与云计算市场,交付全球领先的开源物联网消息服务器和流处理数据 ... [详细]
  • 推荐系统遇上深度学习(十七)详解推荐系统中的常用评测指标
    原创:石晓文小小挖掘机2018-06-18笔者是一个痴迷于挖掘数据中的价值的学习人,希望在平日的工作学习中,挖掘数据的价值, ... [详细]
  • 2016 linux发行版排行_灵越7590 安装 linux (manjarognome)
    RT之前做了一次灵越7590黑苹果炒作业的文章,希望能够分享给更多不想折腾的人。kawauso:教你如何给灵越7590黑苹果抄作业​zhuanlan.z ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文分析了Wince程序内存和存储内存的分布及作用。Wince内存包括系统内存、对象存储和程序内存,其中系统内存占用了一部分SDRAM,而剩下的30M为程序内存和存储内存。对象存储是嵌入式wince操作系统中的一个新概念,常用于消费电子设备中。此外,文章还介绍了主电源和后备电池在操作系统中的作用。 ... [详细]
  • LVS实现负载均衡的原理LVS负载均衡负载均衡集群是LoadBalance集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端 ... [详细]
  • 本文介绍了使用C++Builder实现获取USB优盘序列号的方法,包括相关的代码和说明。通过该方法,可以获取指定盘符的USB优盘序列号,并将其存放在缓冲中。该方法可以在Windows系统中有效地获取USB优盘序列号,并且适用于C++Builder开发环境。 ... [详细]
author-avatar
蚂蚁少校
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有