Golang Go语言中用golang撸了个文件中转服务
用于放 VPS 上中转文件, go 单文件, 部署无第三方依赖. 用 curl -IL 仅获取 Header 得到下载文件长度, 调用 wget 下载, 前端页面计算实现进度环, 这个进度环弄了挺久.
若配合 kcptun( https://www.v2ex.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
Golang Go语言中用golang撸了个文件中转服务
更多关于Golang Go语言中用golang撸了个文件中转服务的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
服务器收到一大堆大文件 TestFile,然后塞满了…
v2ex 真厉害
2017/02/09 10:58:30 Download: length:9.77 GB source:http://speed.hetzner.de/10GB.bin filename:10GB-1486655910.bin
不是有现成的 rapidleech
你这个可以加个密码登录
下载 URL 无文件名的网址没有“下载地址”(下载后)
比如你下载“ http://23.83.230.242/file_download_proxy/”这个网址试试,下载地址那一栏是空的
我去,被人 xss 了。
某些人也是病态,丢了一堆 10G 大小的文件的链接上去。
明显的素质问题
先给你加个 Star 。
谢谢. 发现是前端显示判断有问题
增加一个限制文件大小的选项吧 要不然那些病态的人会老是去尝试做一些病态的事情
其实以前还是蛮想要个这东西的,如果有 PHP 的就好了,不过调用 exe 文件实在是……
好 Content-Length < 3G
也可以让 go 去请求文件 但是要处理 30X
速度还真快,谢谢。下了个 freebsd
正好最近在学 go , star
咦,楼主你这个是搬瓦工的 FREMONT 节点啊?翻墙效果咋样,电信。
是的 ss 速度不快 一两百 KB/s 用 kcptun 转后就不错了,youtube 可 HD
xss 在哪里?
不支持磁链啊
正好需要这个 thx
感觉要被玩坏
赞一个!
奇怪,国内一般不是推荐 LOS ANGELES 的节点么 0 0
自用的话搞个长点的 token 就行了 好,加
不是了一下,竟然是 404
什么问题?
……乞丐版 aria2 ?
受教了
磁链我觉得可以调用 transmission 来下载
Cloud Torrent 不错。
大赞啊, 感谢已发送!
Go 的库确实越来越丰富了,我以为没有 torrent 的库呢。。
github.com/anacrolix/torrent
感谢,这个不错
现在支持 torrent 吗?
gopher://120.27.202.184:32/1.php 是什么姿势
这个需求,用 nginx 的反代是最合适的。
而且,不占用服务器空间。
姿势不错哦
mark
用 vps 下载磁链 /torrent 可能不小心下到了受版权保护的资源, 我正测试加磁链的功能, 下了个降临, 然后第一次收到了 DCMA complaint
我一般在 Daocloud 提供的测试容器上用 Cloud Torrent …虽然只能挂一天,不过小资源也够用了。
Absolutely fantastic
支持磁力了
2017-03-17 更新,使用 websocket 实现仅当有任务在下载时推送文件状态更新,代替原来消耗过大的 ajax 轮询.
你好!很高兴看到你使用Go语言(Golang)开发了一个文件中转服务。在Go语言中实现文件中转服务是一个既实用又具挑战性的项目,它涉及到文件处理、网络编程以及可能的并发控制等多个方面。以下是一些建议和优化方向,希望能对你的项目有所帮助:
-
文件处理:确保你的服务能够高效地处理文件的上传和下载。考虑使用内存映射文件(mmap)或流式处理来减少内存占用。
-
并发控制:Go语言以其强大的并发处理能力著称。利用goroutines和channels,你可以轻松实现高并发的文件处理。注意避免竞态条件,确保数据的一致性。
-
网络编程:使用net/http包来构建HTTP服务器,处理文件上传和下载的请求。考虑实现RESTful API,以便与其他服务进行集成。
-
安全性:确保你的服务具有足够的安全性。对上传的文件进行验证,防止恶意文件上传。使用HTTPS来保护数据传输过程中的安全。
-
错误处理:实现健壮的错误处理机制,确保在出现错误时能够优雅地恢复,并向用户提供有用的错误信息。
-
日志记录:记录详细的日志信息,以便在出现问题时进行调试和追踪。
-
性能优化:对服务进行性能测试,找出瓶颈并进行优化。考虑使用缓存技术来提高性能。
希望这些建议能对你的项目中转服务有所帮助!如果你有任何具体的问题或需要进一步的帮助,请随时提问。