使用临时http服务的q&d文件传输实用程序
httpshare的Python项目详细描述
这是什么?
一个易于部署的文件传输工具。唯一的要求是:
- 两个设备必须连接在同一个本地网络上,
- 其中一个有一个python解释器,
- 另一个有网络浏览器。
用法
确保设置了python解释器。 不管是2.7还是3+。 然后,只需在命令行上使用pip install httpshare以普通的python方式安装httpshare。 然后,只需在命令行上键入httpshare,就可以调用httpshare。 另请参见httpshare --help。
启动时,除非在命令行中指定了网络地址,否则httpshare通过连接到一个广泛可用的网站来学习其地址。(http://github.com/) 在常见情况下,这很可能是正确的设置,因为现在大多数网络的主要目的是提供对Internet的访问。 一旦完成,它就开始监听一个临时端口,并打印一个url来帮助另一个设备(the guest)连接。 url由一个等效的qr码补充。 一旦连接,客户机就可以通过与它所服务的web页面交互来控制httpshare。 这将启用双向文件传输。 当来宾执行文件上载时,需要在主机上进行手动确认。
限制
httpshare的设计并不是为了保护任何数据免受恶意第三方访问同一本地网络的攻击。 这样的攻击者完全有可能复制或更改正在交换的文件的内容。 如果可用,请使用更可靠的文件共享方法。 还可以考虑使用单独的工具加密和/或验证数据。 理想情况下,使用httpshare不应该打开主机进行远程代码执行,但是没有做出正式的保证。
httpshare是单线程的,使用同步io。 这使得它无法同时为多个客人提供服务。 但是,可以并行运行多个实例,并为每个客户机分配一个实例。
分布
可以使用pgp检查版本。 请按照此链接指向the signing key。
请注意,此程序的一个独立变体也可用。 它是可复制的,它可以通过它短暂的网站发布自己。 有关详细信息,请参见here。
httpshare是free software,根据zlib/libpng许可证发布。 如果您打算分发此软件的派生版本,我建议使用version.py中的PREFIX字段将其标记为派生版本。
琐事
python标准库模块http.server(或python 2中的SimpleHTTPServer)提供类似的功能,但不支持上载。 这个项目的目标是增强它,尽管它不依赖于它的一部分代码。
[1] | ^{pr 1}$ |
[2] | ^{pr 2}$ |