使用临时http服务的q&d文件传输实用程序

httpshare的Python项目详细描述


这是什么?

一个易于部署的文件传输工具。唯一的要求是:

  • 两个设备必须连接在同一个本地网络上,
  • 其中一个有一个python解释器,
  • 另一个有网络浏览器。
Screenshot of httpshare in a vanilla Ubuntu terminal. (follow link for transcript)

httpshare在启动时显示二维码。

Screenshot of the homepage of httpshare's ephemeral site. (follow link for transcript)

Firefox Mobile中的结果服务。

用法

确保设置了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}$

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何使用文件路径获取文件位置?   java XPath从某个元素后的元素获取文本   具有多个名称空间的JavaDOM   使用hibernate在表别名处出现java意外令牌错误   springdatajpa中的java交叉连接   在firebase中循环时使用java空指针   如何使用java驱动程序执行mongodb getShardDistribution()   swing Java GUI在另一个方法的新窗口中显示文本   java如何使用Google Guava为每个新地图条目设置不同的过期超时?   在视图寻呼机中将数据从活动传递到片段时,找不到id片段的java视图   Java 8 Lambda流筛选器更改值   java为什么在程序中不使用main方法时Eclipse不会显示错误。   java JavaFX文件选择器显示自定义选项   swing Java程序在MAC上未正确运行   java使用Twitter4j发布twitter线程   JMS请求访问被拒绝后,java jedis无法连接到redis   java GETSTATE weblogic命令花费的时间太长,有什么建议吗?   java如何将此代码转换为Racket/Scheme   java如何使用经度和纬度获取地址   java是我的Glassfish设置泄漏内存吗?