Large file transfer tool with multiple file transfer services support
note
部分API可能不是很稳定,如有问题可以及时提issue或者pr
如使用过程中出现任何问题可以先尝试使用beta版程序,说不定已经修复过了这个bug
install
Go语言程序, 可直接在发布页下载使用。
或者使用安装脚本:
# Stable Release
curl -sL https://git.io/file-transfer | sh
# Beta Release
curl -sL https://git.io/file-transfer | bash -s betaBeta即为实时构建版本,不一定能正常运行,仅建议用作测试。
support
目前支持的文件传输服务:
| Name | Site | Limit |
|---|---|---|
| Airportal | https://aitportal.cn/ | - |
| CatBox | https://catbox.moe/ | 200MB |
| CowTransfer | https://www.cowtransfer.com/ | 2GB |
| Fileio | https://file.io/ | 100MB |
| GoFile | https://gofile.io/ | - |
| Vim-cn | https://img.vim-cn.com/ | 100MB |
| WeTransfer | https://wetransfer.com/ | 2GB |
| WhiteCats | http://whitecats.dip.jp/ | 60s/file |
| Transfer.sh | https://transfer.sh/ | - |
| LitterBox | https://litterbox.catbox.moe/ | 1GB |
| Lanzous | https://www.lanzous.com/ | login |
| Notion | https://www.notion.so/ | login |
部分服务仅支持上传;部分服务需要使用beta版本。
目前支持的图床服务:
baidu(bd), ccupload(cc), prntscr(pr), smms(sm), sogou(sg),
toutiao(tt), vimcn(vm), suning(sn), telegraph(tg)
usage
Transfer is a very simple big file transfer tool.
Backend Support:
airportal(arp), catbox(cat), cowtransfer(cow), fileio(fio),
gofile(gof), lanzous(lzs), litterbox(lit), null(0x0),
wetransfer(wet), vimcn(vim)
Usage:
transfer [flags]
transfer [command]
Examples:
# upload via wenshushu
./transfer wss <your-file>
# download link
./transfer https://.../
Available Commands:
decrypt Decrypt a file
encrypt Encrypt a file
hash Hash a file
help Help about any command
image Upload a image to imageBed
Flags:
--encrypt encrypt stream when upload
--encrypt-key string specify the encrypt key
-f, --force attempt to download file regardless error
-h, --help help for transfer
--keep keep program active when process finish
--no-progress disable progress bar to reduce output
-o, --output string download to another file/folder (default ".")
-p, --parallel int set download task count (default 3)
--silent enable silent mode to mute output
-t, --ticket string set download ticket
--verbose enable verbose mode to debug
--version show version and exit
Use "transfer [command] --help" for more information about a command.
upload & download
所有上传操作都建议指定一个API,如不指定将使用默认(filelink.Backend)。加上想要传输的文件/文件夹即可。
Upload a file or folder.
Usage:
transfer [flags] <files>
Aliases:
upload, up
Flags:
--encrypt Encrypt stream when upload
--encrypt-key string Specify the encrypt key
-h, --help help for upload
Global Flags:
--no-progress disable progress bar to reduce output
--silent enable silent mode to mute output
--keep keep program active when process finish
--version show version and exit
Use "transfer upload [command] --help" for more information about a command.
Examples
# upload
./transfer balabala.mp4
# upload
./transfer wss balabala.mp4
# upload folder
./transfer wet /path/不同的Backend提供不同的选项,可以在帮助中查看关于该服务的相关信息。
➜ ./transfer cow
cowTransfer - https://cowtransfer.com/
Size Limit: 2G(Anonymous), ~100G(Login)
Upload Service: qiniu object storage, East China
Download Service: qiniu cdn, Global
Usage:
transfer cow [flags]
Aliases:
cow, cow, cowtransfer
Flags:
--block int Upload block size (default 262144)
-c, --cookie string Your user cookie (optional)
--hash Check hash after block upload
-h, --help help for cow
-p, --parallel int Set the number of upload threads (default 2)
--password string Set password
-s, --single Upload multi files in a single link
-t, --timeout int Request retry/timeout limit in second (default 10)
Global Flags:
--encrypt encrypt stream when upload
--encrypt-key string specify the encrypt key
--keep keep program active when process finish
--no-progress disable progress bar to reduce output
--silent enable silent mode to mute output
--verbose enable verbose mode to debug
--version show version and exit
下载操作会自动识别支持的链接,不需要指定服务名称。
# download file
./transfer https://.../试验性功能:--encrypt选项可以在上传时将文件加密,下载时需要配合--decrypt选项才能正确下载文件。(当然也可以先下载后再解密)加密方式为AES-CBC,默认会自动生成一个密码,也可以通过--encrypt-key指定一个。
# encrypt stream when upload
➜ ./transfer wss --encrypt transfer
Warning: crypto mode is enabled.
Note: Crypto mode still in beta and abnormalities may occur, do not over-rely on this function.
Key is not set or incorrect: Setting it to 94d0500605b372245dc77f95fbc20010
...
# encrypt with key
➜ ./transfer wss --encrypt --encrypt-key=123 transfer
Warning: crypto mode is enabled.
Note: Crypto mode still in beta and abnormalities may occur, do not over-rely on this function.
Encrypt using key: 123
...
# decrypt stream when download
➜ ./transfer --encrypt --encrypt-key=123 https://....
Warning: crypto mode is enabled.
Note: Crypto mode is not compatible with multi thread download mode, setting parallel to 1.
...notion
notion的上传需要以下参数
所有参数不带符号,即形如ce6ad860c0864286a4392d6c2e786e8即可。
-p Page ID
必须,即页面链接中的那个一大长串的ID。建议直接使用Workspace的次级页面作为上传目标以便程序能自动获取当前Workspace ID,否则需要通过 -s 参数指定 Space ID。
-t token
必须,即cookie中的www.notion.so -> token_v2项。
-s Workspace ID
非必须,适用于非次级页面/嵌套的情况,手动设定Workspace ID
上传后默认返回一个自动签名链接,私有页面可以在浏览器登录状态下直接点击下载。对于公开页面的文件链接,可以尝试去掉userid使用,但必须保留id和table两项。
Example
❯ ./transfer not -p ... -t ... install.sh
Local: /.../install.sh
1.03 KiB / 1.03 KiB [--------------------] 100.00% 810 B p/s 2s
syncing blocks....
Download Link: https://www.notion.so/signed/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F...%2Finstall.sh?table=block&id=...&name=install.sh&userId=...&cache=v2login
部分backend支持登陆环境下上传,使用时只需要提供对应的cookie即可。
CowTransfer
# login to upload
./transfer cow --cookie="remember-me=...;" fileAirPortal
# login to upload
./transfer arp -t <your-token> -u <your-username> fileTmpLink
# login to upload
./transfer tmp -t <your-token> fileLanzous
蓝奏云可以只使用phpdisk_info项作为cookie上传文件,但可能无法进行文件管理(如删除等)。如需要上传到指定目录或进行文件管理操作需要在cookie中指定folder_id_c的值,如:
# login to upload (without path)
./transfer lzs --cookie='phpdisk_info=...' file
# login to upload (with path)
./transfer lzs --cookie='phpdisk_info=...; folder_id_c=...;' fileimage
transfer也支持上传图片至图床,默认自动使用阿里图床上传,也可以通过-b, --backend指定图床。
Upload a image to imageBed.
Default backend is ali.backend, you can modify it by -b flag.
Backend support:
alibaba(ali), baidu(bd), ccupload(cc), juejin(jj),
netease(nt), prntscr(pr), smms(sm), sogou(sg),
toutiao(tt), xiaomi(xm), vimcn(vm), suning(sn)
Example:
# simply upload
transfer image your-image
# specify backend to upload
transfer image -b sn your-image
Note: Image bed backend may have strict size or format limit.
Usage:
transfer image [flags]
Flags:
-b, --backend string Set upload/download backend
-h, --help help for image
Global Flags:
--encrypt encrypt stream when upload
--encrypt-key string specify the encrypt key
--keep keep program active when process finish
-v, --verbose enable verbose mode to debug
--version show version and exit
encrypt & decrypt
和前面upload使用的是同样的加密,只是在本地进行。也可以使用前面下载的加密后文件在此解密。可以通过不同参数指定密钥和输出文件名
关于加密的说明:目前只能选择AES-CBC的加密方式,分块大小策略为min(1m, fileSize)
# encrypt
transfer encrypt your-file
# encrypt using specified key
transfer encrypt -k abc your-file
# decrypt using specified key
transfer decrypt -k abc your-file
# specify path
transfer encrypt -o output your-filehash
hash功能使用sha1, crc32, md5, sha256对文件进行校验,可以用来检验文件一致性。
➜ ./transfer hash main.go
size: 68
path: /../transfer/main.go
crc32: a51da8f5
md5: aa091bb918ab85b1dc44cb771b1663d1
sha1: a8e25d41330c545da8bcbeade9aebdb1b4a13ab7
sha256: ab4dd3cdd79b5e2a88fcb3fcd45dfcffc935c913adfa888f3fb50b324638e958from https://github.com/Mikubill/transfer----Simple Cowtransfer Uploader/Downloader in Golang.cowTransfer-uploader
Simple cowTransfer Uploader/Downloader
上传/下载文件到奶牛快传的小工具,支持分块并发上传下载
install
Go语言程序, 可直接在发布页下载使用。
linux的小伙伴也可以使用这个命令来下载:
curl -sL https://git.io/cowtransfer | sh usage
在cowtransfer-uploader后加上想要上传的文件/文件夹即可上传,可以手动修改parallels来提高上传并发数。
# upload
./cowtransfer-uploader balabala.mp4
# upload folder
./cowtransfer-uploader /usr
# faster upload(?)
./cowtransfer-uploader -p 12 balabala.mp4
对于某些需要登陆的环境,可以使用cookie登陆。经测试发现只需要remember-me单项的内容即可,即:
# login to upload
./cowtransfer-uploader -cookie="remember-me=...;" file
程序默认会为每一个文件生成一个链接。如果想一个链接上传所有文件,可以使用选项-s开启Single Upload Mode:
# single upload mode
./cowtransfer-uploader -s /usr在cowtransfer-uploader后加上文件分享链接即可下载,可以手动修改parallels来提高下载并发数。
# download
./cowtransfer-uploader https://c-t.work/s/c855d66abd524b
# faster download(?)
./cowtransfer-uploader -p 8 https://c-t.work/s/c855d66abd524b
程序默认不对数据进行校验(一般情况下也不会出错),如需要确保上传完整性可以使用选项--hash启用校验功能:
# hash
./cowtransfer-uploader --hash file如需要添加密码可以使用选项--password设置想要的下载密码:
# password
./cowtransfer-uploader --password=123456 fileoptions
Usage:
./cowtransfer-uploader [options] file(s)/url(s)
Options:
-c, --cookie string Your User cookie (optional)
-p, --parallel int Parallel task count (default 4)
-b, --block int Upload Block Size (default 262144)
-t, --timeout int Request retry/timeout limit (in second, default 10)
-o, --output string File download dictionary/name (default ".")
-s, --single Single Upload Mode
-v, --verbose Verbose Mode
-k, --keep Keep program active when upload finish
--hash Check Hash after block upload (might slower)
--password string Set password
--version Print version and exit
Note:
-c, --cookie可选,可以直接不带任何选项上传文件。-o, --output指定下载文件的目录。(也可以使用-prefix指定)-p, --parallel上传/下载并发数,默认为4。如果觉得速度太慢也可以试试更高的值。-t, --timeout上传超时时间,默认为30秒。-v, --verbose开启详细日志,可以看到这个程序每一步都干了啥。-k, --keep在上传完毕后不立即退出,在某些情况下可能有用。--hash上传分块校验,开启后会对每一个分块进行上传校验以确保上传完整性。--password上传/下载密码设置。--version显示程序版本信息。
常见问题
- 进度条卡住了/速度太慢/速度为零
七牛云上传接口在某些情况下有可能不稳定,如确认网络正常可使用较低的超时时间重试,即:
./cowtransfer-uploader -t 3 file缘起
写了acfun-uploader以后有小伙伴让我写一下cowtransfer的,感觉应该也差不多就摸了一个x
(其实完全是小伙伴催出来的qwq,不过奶牛这不按规则的上传处理有点感人2333)
from https://github.com/Mikubill/cowtransfer-uploader
------
由于工作需要,我常年有传输大文件的需求,也一直在寻找好用的文件分享工具;直到用了奶牛快传,良心工具必须爱上
直接划重点:
- 免费,上传下载不限速,上传文件大小数量均无限制 (免费的 10GB 云盘足够日常使用了)
- 不用安装客户端,网页端免登录直接一键下载,对下载方特别友好
- 可以设置链接有效期(支持一周到永久不等)和分享设置 (仅下载还是可预览)
- 整个产品设计感在线,视觉高级有美感
近期又官宣了 3.0 版 ,主要更新点如下:
- 提高了产品基础功能,文件分享更安全、更稳定
- 支持图片、音视频、文档等 56 种常见文件格式的在线预览,还包括 psd 等少见工程文件格式,极大方便了行业文件的传输;
- 云盘文件管理友好性大幅度提升,UI 焕然一新
- 上线了微信小程序,手机端也能随时随地分享.
https://cowtransfer.com/
-----
A small tool for uploading files to notion.
notion-uploader
Upload files to Notion.
上传文件到Notion的小工具。
Example
❯ ./notion-uploader -p ... -t ... install.sh
Local: /.../install.sh
1.03 KiB / 1.03 KiB [--------------------] 100.00% 810 B p/s 2s
syncing blocks....
Download Link: https://www.notion.so/signed/https%3A%2F%2Fs3-us-west-2.amazonaws.com%2Fsecure.notion-static.com%2F...%2Finstall.sh?table=block&id=...&name=install.sh&userId=...&cache=v2
Parameters
-p Page ID
Required, the ID in the page link. It is recommended to directly use the secondary page of Workspace so that the program can automatically obtain the Workspace ID, otherwise, you need to specify the Space ID through the -s parameter.
-t token
Required, the www.notion.so -> token_v2 value in the cookie.
-s Workspace ID
Optional, applicable to non-secondary/nested pages, manually set Workspace ID
上传后默认返回一个自动签名链接,私有页面可以在浏览器登录状态下直接点击下载。对于公开页面的文件链接,可以尝试去掉userid使用,但必须保留id和table两项。
上传参数
所有参数不带符号,即形如ce6ad860c0864286a4392d6c2e786e8即可。
-p Page ID
必须,即页面链接中的那个一大长串的ID。建议直接使用Workspace的次级页面作为上传目标以便程序能自动获取当前Workspace ID,否则需要通过 -s 参数指定 Space ID。
-t token
必须,即cookie中的www.notion.so -> token_v2项。
-s Workspace ID
非必须,适用于非次级页面/嵌套的情况,手动设定Workspace ID.
from https://github.com/Mikubill/notion-uploader
------
跨平台传输文件 — 突破网速上限,干翻所有网盘
一、奶牛快传(网页端、安卓和iOS)以网页端为例
1.选择添加文件或添加文件夹;
2.选择好要上传的文件,选择下载的次数和加密传输,然后开始上传即可;
3.上传成功后,将获取下载链接、取件码或二维码分享
4.1你可以将下载链接复制至浏览器打开,即可下载该文件;
4.2或打开奶牛快传网页端,选择接受文件,输入取件码获取文件;
注意:奶牛快传为了更好地保护所上传的文件,可设置文件有效期,登录后还可查询文件传输历史;
如果你需要更好的用户体验,则需要开通PRO会员或团队会员,对于个人传输文件,免费版即可;
二、AirPortal空投(网页端和PC端)以网页端为例
区别于奶牛快传,”空投“的UI简直是深得我心,页面及其简单整洁,映入眼帘的只有发送与接收按钮;操作与坚果云类似;
1.选择要发生的文件或文件夹;
2.设置下载次数和可保存的小时候,然后点击上传即可;
3.上传成功后,将获取取件码、下载链接或二维码分享;
4.1你可以将下载链接复制至浏览器打开,即可下载该文件;
4.2或打开AirPortal空投网页端,选择接受文件,输入取件码获取文件;
注意:上述操作与PC端基本逻辑一致,也可登录账号查看文件传输历史或开通高级会员账号,获取更好的体验;
三、坚果云(PC+Mac+Linux+iOS+安卓)以网页端为例
区别于上述两款文件传输软件免登陆即可使用,坚果云则需要登录账号使用;
登录后,可上传文件,过程就不一一赘述了,跨平台传输文件的软件操作逻辑基本一致;
坚果云还拥有查看操作历史、回收站和给常用文件添加书签的功能,节省查找时间;
坚果云除了跨平台传输文件功能,还拥有在线office、思维导图、收件箱、云收、云扫描等诸多应用,感兴趣可自行体验;
使用体验
AirPortal空投和奶牛快传更适合分享一些文件或影视资源,如网课、电影视频、音乐、压缩包等;而这两款软件可以免注册、不限速传输文件;
而坚果云更多的可以用来同步不同设备之间的文件,毕竟坚果云支持的设备众多;
坚果云其实最重要的功能不是上传或下载一个文件或文件夹,而是事先可以将一个文件夹设置成为同步文件夹,该文件夹内新增、删除或修改内容,都会自动同步云端,并同步至其他设备;
资源获取地址:
奶牛快传:https://cowtransfer.com/
AirPortal空投:https://airportal.cn/
坚果云:https://www.jianguoyun.com/#/
No comments:
Post a Comment