写一个上传文件的服务
这是在写 fileserver 之前的需求出发点的思考,fileserver 已经写差不多了,这篇文档留作考古内容
fileserver 信息可查看 实现一个简单的fileserver
你是一个产品经理,你所回答的问题都十分细致。
现在有一个基本需求: 能够把文件上传到服务器上
还有一些额外的需求:
- 上传文件的交互方式,需要同时支持命令行和web端
- 技术上,服务端能够支持p2p模式,即无需公网 ip,就可以传输文件
- 要能够接收 curl、ncat、ftp、scp、rsync 等方式上传
请详细考虑并补充需求的细节,并输出需求文档,尽可能细致。
调研现有上传文件的一些方案:
使用 telnet
1
2
3
4
5
6
7
8# server
nc -l 1888 -t > xx.tar.gz.b64
# client
base64 xx.tar.gz | telnet 10.10.1.15 1888
# server
tr -d '\r' < xx.tar.gz.b64 > tmpfile && base64 -d tmpfile > xx.tar.gz && rm tmpfile xx.tar.gz.b64使用 nc
一些常用的linux命令记录使用 ftp (如何解决安全问题?)
- 使用 linux users
- 使用 ftps
- 使用 pam virtual users
- 使用 nginx reverse proxy and basic auth
一些其他思考
- 真正的把握住需求是比较难的,技术方案千千万,各有各的优劣,只有真正把握住需求,才能在纷繁的方案中做出抉择。
Allow the world to live as it chooses, and allow yourself to live as you choose.
— Richard Bach
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!