[不花钱站长]:从免费域名开始[0元] Oracle永久免费VPS[0元] VPS环境搭建免费脚本[0元] 秒变大盘挂载免费网盘[0元] 小白免费采集器1天500W[0元] CF免费DNS+CDN服务[0元]
[零基础网赚]:撸本站免费源码[0元] 网站强引免费蜘蛛法[0元] 图片视频文件免费存储[0元] 外链轻松发布免费友链[0元] 入坑免费教程学习源代码[0元] 网上百种+赚钱联盟推荐[?元]

↑↑VPS推荐网 WWW.VPS.COM.IN 稳定 便宜 免备案↑↑


您现在的位置是:首页 > 全球[VPS测评] >  资源,资源,国外永久免费VPS

#实用教程#backblaze+cloudflare+ShareX 实现无成本图床和便捷上传

全球[VPS测评]来源:VPS推荐网点击:926
【性价之王】【线路之王】【价格之王】【配置之王】
【免费之王】【香港首推】【梯子之王】【独服之王】
#实用教程#backblaze+cloudflare+ShareX  实现无成本图床和便捷上传

准备

1.一个cloudflare账号 https://dash.cloudflare.com/2.一个B2账号 https://www.backblaze.com/b2/cloud-storage.html3.windows软件ShareX

步骤

1.注册B2账号,点击进入B2 Cloud Storage,点击Buckets创建一个BUcket,设为public,并上传一个图片,记录下下图要用的域名

2.点击App keys,添加一个新的key,bucket就选你刚创建的那个,记录下你的密钥,之后要在ShareX中用

3.打开cf,cname一下上图要记的域名,小云朵点亮

4.加一条页面缓存规则.

5.创建一个workers,粘贴下列代码,记得b2domain和bucket的值改成自己的

'use strict';const b2Domain = 'img.domain.com'; // configure this as per instructions aboveconst b2Bucket = 'bucket-name'; // configure this as per instructions aboveconst b2UrlPath = `/file/${b2Bucket}/`;addEventListener('fetch', event => { return event.respondWith(fileReq(event));});// define the file extensions we wish to add basic access control headers toconst corsFileTypes = ['png', 'jpg', 'gif', 'jpeg', 'webp'];// backblaze returns some additional headers that are useful for debugging, but unnecessary in production. We can remove these to save some sizeconst removeHeaders = [ 'x-bz-content-sha1', 'x-bz-file-id', 'x-bz-file-name', 'x-bz-info-src_last_modified_millis', 'X-Bz-Upload-Timestamp', 'Expires'];const expiration = 31536000; // override browser cache for images - 1 year// define a function we can re-use to fix headersconst fixHeaders = function(url, status, headers){ let newHdrs = new Headers(headers); // add basic cors headers for images if(corsFileTypes.includes(url.pathname.split('.').pop())){ newHdrs.set('Access-Control-Allow-Origin', '*'); } // override browser cache for files when 200 if(status === 200){ newHdrs.set('Cache-Control', "public, max-age=" + expiration); }else{ // only cache other things for 5 minutes newHdrs.set('Cache-Control', 'public, max-age=300'); } // set ETag for efficient caching where possible const ETag = newHdrs.get('x-bz-content-sha1') || newHdrs.get('x-bz-info-src_last_modified_millis') || newHdrs.get('x-bz-file-id'); if(ETag){ newHdrs.set('ETag', ETag); } // remove unnecessary headers removeHeaders.forEach(header => { newHdrs.delete(header); }); return newHdrs;};async function fileReq(event){ const cache = caches.default; // Cloudflare edge caching const url = new URL(event.request.url); if(url.host === b2Domain && !url.pathname.startsWith(b2UrlPath)){ url.pathname = b2UrlPath + url.pathname; } let response = await cache.match(url); // try to find match for this request in the edge cache if(response){ // use cache found on Cloudflare edge. Set X-Worker-Cache header for helpful debug let newHdrs = fixHeaders(url, response.status, response.headers); newHdrs.set('X-Worker-Cache', "true"); return new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHdrs }); } // no cache, fetch image, apply Cloudflare lossless compression response = await fetch(url, {cf: {polish: "lossless"}}); let newHdrs = fixHeaders(url, response.status, response.headers); if(response.status === 200){ response = new Response(response.body, { status: response.status, statusText: response.statusText, headers: newHdrs }); }else{ response = new Response('File not found!', { status: 404 }) } event.waitUntil(cache.put(url, response.clone())); return response;}
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 'use strict';const b2Domain = 'img.domain.com'; // configure this as per instructions aboveconst b2Bucket = 'bucket-name'; // configure this as per instructions aboveconst b2UrlPath = `/file/${b2Bucket}/`;addEventListener('fetch', event => {        return event.respondWith(fileReq(event));}); // define the file extensions we wish to add basic access control headers toconst corsFileTypes = ['png', 'jpg', 'gif', 'jpeg', 'webp']; // backblaze returns some additional headers that are useful for debugging, but unnecessary in production. We can remove these to save some sizeconst removeHeaders = [        'x-bz-content-sha1',        'x-bz-file-id',        'x-bz-file-name',        'x-bz-info-src_last_modified_millis',        'X-Bz-Upload-Timestamp',        'Expires'];const expiration = 31536000; // override browser cache for images - 1 year // define a function we can re-use to fix headersconst fixHeaders = function(url, status, headers){        let newHdrs = new Headers(headers);        // add basic cors headers for images        if(corsFileTypes.includes(url.pathname.split('.').pop())){                newHdrs.set('Access-Control-Allow-Origin', '*');        }        // override browser cache for files when 200        if(status === 200){                newHdrs.set('Cache-Control', "public, max-age=" + expiration);        }else{                // only cache other things for 5 minutes                newHdrs.set('Cache-Control', 'public, max-age=300');        }        // set ETag for efficient caching where possible        const ETag = newHdrs.get('x-bz-content-sha1') || newHdrs.get('x-bz-info-src_last_modified_millis') || newHdrs.get('x-bz-file-id');        if(ETag){                newHdrs.set('ETag', ETag);        }        // remove unnecessary headers        removeHeaders.forEach(header => {                newHdrs.delete(header);        });        return newHdrs;};async function fileReq(event){        const cache = caches.default; // Cloudflare edge caching        const url = new URL(event.request.url);        if(url.host === b2Domain && !url.pathname.startsWith(b2UrlPath)){                url.pathname = b2UrlPath + url.pathname;        }        let response = await cache.match(url); // try to find match for this request in the edge cache        if(response){                // use cache found on Cloudflare edge. Set X-Worker-Cache header for helpful debug                let newHdrs = fixHeaders(url, response.status, response.headers);                newHdrs.set('X-Worker-Cache', "true");                return new Response(response.body, {                        status: response.status,                        statusText: response.statusText,                        headers: newHdrs                });        }        // no cache, fetch image, apply Cloudflare lossless compression        response = await fetch(url, {cf: {polish: "lossless"}});        let newHdrs = fixHeaders(url, response.status, response.headers);   if(response.status === 200){     response = new Response(response.body, {      status: response.status,      statusText: response.statusText,      headers: newHdrs    });  }else{    response = new Response('File not found!', { status: 404 })  }         event.waitUntil(cache.put(url, response.clone()));        return response;}

6.workers里添加路由,使访问你的域名时,先走workers

访问一下你的图片文件
比如说一开始是https://f000.backblazeb2.com/file/backblaze1489498/wallhaven-md2x8m.jpg
现在用https://dlcu.cf/wallhaven-md2x8m.jpg就可以访问了

7.配置ShareX.

这个感觉没啥好说的,主页面–目标–上传目标设置–backblaze b2,填上就行了

结束

这个的好处就是方便了上传,自己在电脑前,截一下图直接上传,或者复制一下直接上传
还有就是可以用自己的域名,再说的话就是数据自己也能找回.

原文:https://www.wangfuchao.com/1290/


[资源]历史优惠活动内容
  • #资源池VPS#30刀每年 3G内存 3T月流量 3IP 洛杉矶 BigFootServer
  • #黑五#nfphosting:资源池VPS低至$15/年 1G内存VPS低至8元每年
  • Centos系统安装人人影视linux客户端,随时随地下载大量电影资源
  • #资源#YunFile网盘资源下载工具
  • #资源#AWS 150刀申请教程、添加150美元兑换码到Amazon账户教程
  • #优惠#SparkVPS:$69/年资源池VPS 8核/8G/120G SSD/10TB流量
  • #优惠#Hosteons:Resource Pool系列产品7折优惠 ,资源池VPS,100
  • #黑五#Losangelesvps:全场4折优惠,洛杉矶1G不限流量VPS月付仅需2.4美元
  • #羊毛#宝塔面板:组团送堡塔APP、堡塔企业级备份、资源监视器一年免费使用
  • 恒速云:八月特惠活动,香港/美国不限流量VPS仅需16元每月,香港物理机独享资源月付300元
  • #资源池VPS#30刀每年 3G内存 3T月流量 3IP 洛杉矶 BigFootServer
  • #黑五#nfphosting:资源池VPS低至$15/年 1G内存VPS低至8元每年
  • Centos系统安装人人影视linux客户端,随时随地下载大量电影资源
  • #资源#YunFile网盘资源下载工具
  • #资源#AWS 150刀申请教程、添加150美元兑换码到Amazon账户教程
  • #优惠#SparkVPS:$69/年资源池VPS 8核/8G/120G SSD/10TB流量
  • #优惠#Hosteons:Resource Pool系列产品7折优惠 ,资源池VPS,100
  • #黑五#Losangelesvps:全场4折优惠,洛杉矶1G不限流量VPS月付仅需2.4美元
  • #羊毛#宝塔面板:组团送堡塔APP、堡塔企业级备份、资源监视器一年免费使用
  • 恒速云:八月特惠活动,香港/美国不限流量VPS仅需16元每月,香港物理机独享资源月付300元
  • #资源池VPS#30刀每年 3G内存 3T月流量 3IP 洛杉矶 BigFootServer
  • #黑五#nfphosting:资源池VPS低至$15/年 1G内存VPS低至8元每年
  • Centos系统安装人人影视linux客户端,随时随地下载大量电影资源
  • #资源#YunFile网盘资源下载工具
  • #资源#AWS 150刀申请教程、添加150美元兑换码到Amazon账户教程
  • #优惠#SparkVPS:$69/年资源池VPS 8核/8G/120G SSD/10TB流量
  • #优惠#Hosteons:Resource Pool系列产品7折优惠 ,资源池VPS,100
  • #黑五#Losangelesvps:全场4折优惠,洛杉矶1G不限流量VPS月付仅需2.4美元
  • #羊毛#宝塔面板:组团送堡塔APP、堡塔企业级备份、资源监视器一年免费使用
  • 恒速云:八月特惠活动,香港/美国不限流量VPS仅需16元每月,香港物理机独享资源月付300元
  • 恒速云:八月特惠活动,香港/美国不限流量VPS仅需16元每月,香港物理机独享资源月付300元
  • 恒速云:八月特惠活动,香港/美国不限流量VPS仅需16元每月,香港物理机独享资源月付300元
  • @PT党/资源占用狂→rytechhosting-G口不限量/1.5g内存/85g硬盘
  • crissic-KVM VPS 6折/openv双倍资源
  • urpad-72小时/VPS资源”不可描述”倍/
  • urpad-72小时/VPS资源”不可描述”倍/
  • urpad-72小时/VPS资源”不可描述”倍/
  • hostnine-VPS资源”不可描述”倍/reseller半价/虚拟主机6.5折
  • ethernetservers-VPS低至7.5美元/年 免费资源”不可描述”倍
  • #独享资源-Vultr全新VDS,适合需求较高的用户
  • 推荐→bandwagonhost-最新特价版VPS(2015/8)/资源加大/支付宝
  • hiformance – VPS低至$10年/KVM/1T流量/5机房/windows/#送
  • digitalocean全面免费升级提高VPS资源配置
  • hostmybytes -$21年付→给3个666M内存的VPS 资源池VPS
  • digitalocean→VPS资源免费双倍升级 免费送100美元
  • #推荐# hostwinds→资源”不可描述”倍/价格下降/windows仅5美元/支付宝
  • #推荐# hostwinds→资源”不可描述”倍/价格下降/windows仅5美元/支付宝
  • hosteons→新增OpenVZ7 VPS 免费双倍升级资源
  • hosteons→不限流量VPS 4月5折优惠 还有Windows/双倍资源奉送
  • hosteons→上新产品资源池 不限流量 允许用户在后台划分多个VPS 7折优惠码送上
  • vpsyc→重新测评VPS效果 cn2 gia网络已提高至300Mbps 资源充足
  • vpszi→晚高峰22:19第4次测试cn2 gia系列VPS 可以跑满带宽 资源充裕!
  • #推荐# contabo→全新VDS系列 独享资源 €36.99/月 24G内存/3核/18
  • #推荐# contabo→全新VDS系列 独享资源 €36.99/月 24G内存/3核/18
  • akkocloud→新年促销 德国VPS 原生IP 三网 cn2 gia网络 可解锁奈飞等资
  • 深圳速云→移动1Gbps带宽 云服务器+VDS(独享资源 不限流量) 8折优惠 560元/月
  • 欧路云→全场8折 香港cn2、美国200G高防、加拿大480G高防 资源自由定制 低至10元
  • pacificrack→新政策 5折续费 升级到正常版套餐 资源更加宽松!
  • raksmart→香港-日本-美国云服务器7折优惠 低至$12.15/年 独享带宽 免费快照
  • vaicdn→免备案+全行业+大厂带宽资源(香港单个节点最低1G带宽) 带高防的融合CDN

  • 猜你可能想看的VPS


    转载请注明原文地址:http://140.238.13.167:12355/read-23207.html

    下一篇       上一篇