跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 利用 Telegraph 的基础设施搭建一个图床
未分類
2020 年 2 月 4 日

利用 Telegraph 的基础设施搭建一个图床

利用 Telegraph 的基础设施搭建一个图床

?介绍如何利用 Telegraph 这个匿名内容发布网站制作一个简易的图床

⭕️圈重点:

– 下发 Post 请求到 https://telegra.ph/upload 并附带 file 即可上传图片,接口易调用

– 请求后会收到返回值,可以得到图片的图床链接

– 为解决国内无法访问的问题可使用 VPS 进行 Nginx 反向代理

– 可封装一个 Web 前端使其图形化,最大图片大小为 8M 左右

? 个人认为只适合做自用图床,且境外服务器到国内的访问优化需要下功夫。这个方法更多的是探索和兴趣,实用性有待验证

✌️此外我找到了一个 Demo 和 Github 项目 供大家参考,Stack Overflow 的朋友也贡献了一些讨论

===================================================

是这样的,Telegram 有一个服务叫——Telegraph,非常像许久之前和 Keshane 筹划准备做(但是由于各种原因买了个很好的域名之后又被鸽了)的应用,几个月前的某一天在和 Keshane 一起摸鱼的时候偶然发现这个站的图片上传接口是开放且非常简易的,简单来说,只要如下发一个 POST 请求到 https://telegra.ph/upload,然后带上一个 file 字段,名字叫 file 就好了,然后就可以得到类似如下返回:

[
    {
        "src": "/file/a672a2690e15c7d86435d.jpg"
    }
]

那图片地址就会是:https://telegra.ph/file/a672a2690e15c7d86435d.jpg 了,很容易是不是?

下一步的想法就非常自然了,因为 https://telegra.ph 在国内属于无法访问的情况,所以弄一个 Nginx 的反向代理就非常容易,我们简单包装一下(假设使用 i.nova.moe):

server {
        listen 80;
        server_name i.nova.moe;

 		location /intake {
                add_header Access-Control-Allow-Origin *;
                add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS';
                add_header Access-Control-Allow-Headers 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization';

                if ($request_method = 'OPTIONS') {
                	return 204;
                }
                
                proxy_pass https://telegra.ph/upload;
        }
        location /{
                proxy_pass https://telegra.ph/file/;
        }
        client_max_body_size 5m;

}

非常简单,之前 POST 地址为 /upload ,新的 POST 地址为 i.nova.moe/intake,然后下一步就是封装一个看上去靠谱的 Web 前端了,这一点全栈工程师 Keshane 非常熟悉,加上提示了个 Dropzonejs,很快,就有了如下界面:

还能异步上传文件:

看,是不是像那么回事了?

小结

我们做了什么?

  • 一个图床
  • 没有审查

这么做有什么问题?

  • 没有审查,反向代理了整个 Telegraph 图床,如果被不法使用会有问题
  • 不友好,使用了别人的基础设施做自己的事情
  • 如果访客太多会导致服务器 IP 被 Telegraph rate limit
  • 文件最大大小为 8M 左右,受到 Telegraph 的限制

在测试 OK 之后我们便关闭了这个站点,但是这样真的很好玩不是嘛?

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具