afk11 / magnetdl
使用本地Transmission守护程序下载磁力链接,并使用sftp上传
Requires
- afk11/transmission-php: 2.0.0
- evenement/evenement: ^2.0|^1.0
- react/event-loop: 0.4
- symfony/console: 3.1.*
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()
,无法提供额外的密码。如果您担心远程机器的安全,以下说明可以帮助您加强安全性。
-
为您的用户创建一个组:
shared-jail
-
创建一个新用户:
youruser
,并将其添加到shared-jail
组:usermod -a -G shared-jail youruser
-
在您的本地系统上创建一个SSH密钥,并将公钥添加到远程用户的
/home/youruser/.ssh/authorized_keys
文件中。 -
检查您是否可以从远程机器通过SSH登录:`ssh youruser@yourhost -i /path/to/privatekey`
-
创建一个基本的chroot骨架,并使用
mount --bind /sharedfiles /chroot/sharedfiles
公开您想上传的文件夹。您可能需要一个家目录,但它可以是空的。 -
为了在启动时自动绑定共享文件到chroot,请将以下内容添加到
/etc/fstab
。/sharedfiles /chroot/sharedfiles none bind
对此要小心,错误可能导致系统无法启动。
-
将其添加到sshd_config的底部
Match Group shared-jail ChrootDirectory %h ForceCommand internal-sftp AllowTcpForwarding no
-
在您从远程系统注销之前,请运行
service ssh restart
。 -
尝试通过SSH登录,您应该现在得到:“此服务仅允许SFTP连接。”
-
尝试通过sftp登录:
sftp youruser@yourhost -oIdentityFile=/path/to/privatekey
并检查您是否处于chroot中,以及文件夹是否可访问。
总结:有人可以使用密钥登录到chroot,并且可以根据文件权限对文件执行任何操作。