afk11/magnetdl

使用本地Transmission守护程序下载磁力链接,并使用sftp上传

维护者

详细信息

github.com/afk11/magnetdl

源代码

问题

安装: 23

依赖: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 1

开放问题: 0

类型:application

v0.0.3 2016-07-07 15:23 UTC

This package is auto-updated.

Last update: 2024-08-23 04:58:52 UTC


README

磁力链接下载器

此应用程序只有一个目的:下载种子文件并将它们通过sftp上传到另一台机器。

安装应用程序

您可以使用Composers的全局功能将CLI工具作为全局工具为您的用户使用。

composer global install afk11/magnetdl

可以使用以下命令升级:composer global update

注意:您需要将~/.composer/bin添加到您的$PATH中,以便找到应用程序。

echo "export PATH=~/.composer/vendor/bin:\$PATH" >> ~/.bashrc
source ~/.bashrc # this is done automatically when you log in

命令

  • magnetdl [magnet url]:开始上传程序
  • magnetdlconfig:将默认配置文件打印到STDOUT

作为库安装

在您的composer.json中添加条目,或在项目目录中运行此命令

compose require afk11/magnetdl

配置

您需要配置软件以运行它。在全局安装后运行以下命令

mkdir /home/you/.magnetdl
magnetdlconfig > /home/you/.magnetdl/config.json
nano /home/you/.magnetdl/config.json

设置配置值并继续

设置要求

您需要

  • 您的本地机器,运行配置了RPC的transmission-daemon。
  • 远程机器具有SSH(通过密钥文件身份验证),您想写入的某些文件夹。免责声明:软件期望使用未经加密的私钥作为身份文件,因为我们使用exec(),无法提供额外的密码。如果您担心远程机器的安全,以下说明可以帮助您加强安全性。
  1. 为您的用户创建一个组:shared-jail

  2. 创建一个新用户:youruser,并将其添加到shared-jail组:usermod -a -G shared-jail youruser

  3. 在您的本地系统上创建一个SSH密钥,并将公钥添加到远程用户的/home/youruser/.ssh/authorized_keys文件中。

  4. 检查您是否可以从远程机器通过SSH登录:`ssh youruser@yourhost -i /path/to/privatekey`

  5. 创建一个基本的chroot骨架,并使用mount --bind /sharedfiles /chroot/sharedfiles公开您想上传的文件夹。您可能需要一个家目录,但它可以是空的。

  6. 为了在启动时自动绑定共享文件到chroot,请将以下内容添加到/etc/fstab

    /sharedfiles /chroot/sharedfiles none bind

    对此要小心,错误可能导致系统无法启动。

  7. 将其添加到sshd_config的底部

    Match Group shared-jail ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no

  8. 在您从远程系统注销之前,请运行service ssh restart

  9. 尝试通过SSH登录,您应该现在得到:“此服务仅允许SFTP连接。”

  10. 尝试通过sftp登录:sftp youruser@yourhost -oIdentityFile=/path/to/privatekey并检查您是否处于chroot中,以及文件夹是否可访问。

总结:有人可以使用密钥登录到chroot,并且可以根据文件权限对文件执行任何操作。