我一直在使用 bashupload.com 来在命令行中传递文件,从而避免切换SFTP等繁琐操作。最近在研究用R2做图床,想到R2不限流量的下载,和文件中转的功能也很契合,于是结合Worker和R2,做了一个开源自建文件中转的项目:
GitHub - DullJZ/bashupload-r2: Use CF Worker & R2 to set your own fast file transit station, and simply upload from bash. Support password for upload and download. Support setting file lifetime.用CF Worker和R2来建立自己的快捷文件中转站,使用终端轻松上传。支持密码保护上传下载和文件有效期 (求star)
快速开始
可以直接使用我已经搭建好的服务: https://bashupload.app
# 查看用法
curl bashupload.app
# 上传文件
curl bashupload.app -T YOUR_FILE
# 上传文件并创建短链接
curl bashupload.app/short -T YOUR_FILE
R2中的文件将在以下情况后自动删除:
- 第一次请求下载
- 超过一小时没有下载(自部署可调整)
上传文件大小限制为5GB(自部署可调整)
自部署
如果你考虑隐私问题,或者需要更大的文件、更长的存储空间,项目支持Cloudflare自部署,点击按钮即可
在页面中连接到你的GitHub账号,设置R2存储桶的区域,按需调整三个环境变量:最大文件大小、文件保存最长时间、短链接API,点击部署即可
如果你没有域名,可以使用CF自带的worker.dev,搭配alias别名和短链接使用:
alias bashupload='curl bashupload.xxxx.worker.dev -T'
alias bashuploadshort='curl bashupload.xxxx.worker.dev/short -T'
bashupload file.txt # 返回普通链接
bashuploadshort file.txt # 返回短链接