errol是一个依赖inotify的文件发送者。它可以用来观看一个目录,并自动传输新文件(或修改的文件)与XMPP。
errol的Python项目详细描述
误差
errol是一个依赖于 inotify。它可以用来 监视目录并自动传输新文件(或修改的 一个)与XMPP
先决条件
埃罗尔需要以下要求:
- 系统支持 inotify(Linux)。
- 支持以下XEPs的XMPP(jabber)帐户:Stream Management, Publish-Subscribe, Multi-User Chat
- 可以将节点设置为打开的pubsub服务。节点名为 在配置文件中定义。我个人使用 sat_pubsub。酒馆 为项目Salut à Toi开发的组件。
- 多用户聊天,因为并非所有xmpp帐户都支持pubsub。为了 现在,一些信息仍然通过muc消息共享。这个 未来的行为可能会改变。
您可以使用自己的xmpp服务器,或者在
以下列表。
创建pubsub节点
如果您已经在pubsub上拥有写访问权限,则此步骤是可选的 节点下面的示例使用 jp敬礼 命令行界面,但是 slixmpp或 sleekxmpp可以使用。
$ jp pubsub node create -f publish_model open be.agayon.errol:0 -s pubsub.agayon.be -c
建议使用节点名be.agayon.errol:0来标识 功能性
例如,服务上有节点选项 阿加扬出版社:
$ jp pubsub node info be.agayon.errol:0 -s pubsub.agayon.be persist_items: True deliver_payloads: True serial_ids: False publish_model: open access_model: open send_last_published_item: on_sub
测试
您可以使用 slixmpp。
示例:
./s5b_file_sender.py -j jid@example.org -p pass -r john@example.org -f /path/to/file.txt
有关详细信息,请参见脚本。
安装
您可以使用pip轻松安装errol:
$ pip install errol
git
$ python3 setup.py install
Errol可以很容易地安装在 virtualenv。
archlinux
A PKGBUILD will be available soon.
配置
您需要提供有关xmpp帐户的信息。
$ cat config.example.ini [XMPP] pubsub=pubsub.example.org node=be.agayon.errol:0 room=chat@chat.example.org jid=jid@example.org/errol password=pass ressource_receiver=-receiver ressource_sender=- nick_sender=example_sender nick_receiver=example_receiver receiver=jid@example.org/errol-receiver presence_file=/tmp/errol_presence.txt
- jid:jabber帐户
- 密码:xmpp密码
- pubsub:pubsub服务器(发布活动)
- 房间:在聊天室,埃罗尔显示信息。
- 显示文件:用于跟踪显示的可写文件。什么时候? 接收器联机,否则文件包含“1”和“0”。
文件将由jid@example.org/errol-0发送,并由 jid@example.org/errol-receivernicks是 穆克。
运行
安装后,可以在终端启动errol。
$ errol --help usage: errol [-h] [-e EVENTS] [-f FILE] [-d] -p PATH -c COMMAND Automatic XMPP file sender and directory watcher optional arguments: -h, --help show this help message and exit -e EVENTS, --events EVENTS Number of events to watch (delete, create modify) in the directory. Once reached, the program stops. -f FILE, --file FILE Config file containing XMPP parameters -d, --debug set logging to DEBUG -p PATH, --path PATH The path watched. -c COMMAND, --command COMMAND The executed command: xmpp or watcher
在设备A上
如果要监视目录/tmp/sender,请执行以下命令 可以使用:
$ errol -f config.example.ini -p /tmp/sender -c watcher
将发送在监视位置创建的所有修改或新文件 由xmpp提供。
在设备B上
如果要接收文件,必须使用 遵循命令行。
$ errol -f config.example.ini -p /tmp/receiver -c xmpp
所有接收到的文件都将存储在 选项'-p'。
使用systemd启动
可以用systemd启动errol。提供两个单元文件以帮助 您:
- 错误发送者服务
- errol_watcher.service
首先,需要创建配置目录并复制单元文件。
$ mkdir -p ~/.config/errol/ $ mkdir -p ~/.config/systemd/user/ $ cp systemd/environment.sh ~/.config/errol/ $ cp systemd/errol_watcher.service ~/.config/systemd/user/ $ cp systemd/errol_sender.service ~/.config/systemd/user/
然后,您可以编辑环境和单元文件以匹配 首选项和重新加载单位。
$ systemctl --user daemon-reload
然后可以在启动时启动和激活这些单元:
$ systemctl --user start errol_sender $ systemctl --user start errol_watcher $ systemctl --user enable errol_sender $ systemctl --user enable errol_watcher
如果遇到一些问题,可以使用以下命令读取日志 命令:
$ journalctl --user -xe $ systemctl --user status errol_watcher.service $ systemctl --user status errol_sender.service
许可证
此项目是根据GPLv3授权的-请参见 LICENSE.txt 有关详细信息,请存档
致谢ments
- Slixmpp为了他们的好 图书馆
- 法国xmpp社区(sat@chat.jabberfr.org, jabberfr@chat.jabberfr.org)
- 来自Salut à Toi项目的戈菲。