用 golang 撸了个文件中转服务

2017 年 2 月 9 日
 freestyle

用于放 VPS 上中转文件, go 单文件, 部署无第三方依赖. 用 curl -IL 仅获取 Header 得到下载文件长度, 调用 wget 下载, 前端页面计算实现进度环, 这个进度环弄了挺久.

若配合 kcptun( https://v2ex.ih06.com/t/297296 https://github.com/xtaci/kcptun), 拖回本地的速度可以飞起来

Demo http://23.83.230.242/file_download_proxy/

Source https://github.com/hanjm/file_download_proxy

http://ww1.sinaimg.cn/large/cfe1407cgy1fckgltj5vrj21dl0g2wh1.jpg

4840 次点击
所在节点    Go 编程语言
44 条回复
freestyle
2017 年 2 月 9 日
图挂了?
freestyle
2017 年 2 月 10 日
服务器收到一大堆大文件 TestFile,然后塞满了.....
v2ex 真厉害

2017/02/09 10:58:30 Download: length:9.77 GB source:http://speed.hetzner.de/10GB.bin filename:10GB-1486655910.bin
bl5c
2017 年 2 月 10 日
不是有现成的 rapidleech
你这个可以加个密码登录
nfroot
2017 年 2 月 10 日
下载 URL 无文件名的网址没有“下载地址”(下载后)

比如你下载“ http://23.83.230.242/file_download_proxy/”这个网址试试,下载地址那一栏是空的
hillw4h
2017 年 2 月 10 日
我去,被人 xss 了。
nfroot
2017 年 2 月 10 日
某些人也是病态,丢了一堆 10G 大小的文件的链接上去。
relaxchen
2017 年 2 月 10 日
@nfroot 明显的素质问题
weiweiwitch
2017 年 2 月 10 日
先给你加个 Star 。
freestyle
2017 年 2 月 10 日
@nfroot 谢谢. 发现是前端显示判断有问题
nfroot
2017 年 2 月 10 日
@freestyle 增加一个限制文件大小的选项吧 要不然那些病态的人会老是去尝试做一些病态的事情
nfroot
2017 年 2 月 10 日
其实以前还是蛮想要个这东西的,如果有 PHP 的就好了,不过调用 exe 文件实在是……
freestyle
2017 年 2 月 10 日
@nfroot 好 Content-Length < 3G
freestyle
2017 年 2 月 10 日
@nfroot 也可以让 go 去请求文件 但是要处理 30X
vultr
2017 年 2 月 10 日
速度还真快,谢谢。下了个 freebsd
deweixu
2017 年 2 月 10 日
正好最近在学 go , star
nfroot
2017 年 2 月 10 日
@freestyle 咦,楼主你这个是搬瓦工的 FREMONT 节点啊?翻墙效果咋样,电信。
freestyle
2017 年 2 月 10 日
@nfroot 是的 ss 速度不快 一两百 KB/s 用 kcptun 转后就不错了,youtube 可 HD
ptyfork
2017 年 2 月 10 日
xss 在哪里?
ptyfork
2017 年 2 月 10 日
不支持磁链啊
iyaozhen
2017 年 2 月 10 日
之前也自己搞了个 download.sh ,下载后放在 Nginx 下,开迅雷下载速度也是飞起,不过没有实现前端页面。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/339430

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX