如何将树莓派变成永远在线的下载巨石

通过构建专门的,安全的,洪流下载的巨石,仅使用10W的功率,即可为全球“ Linux发行网络"做出自己的贡献。

下载并播种(您播种,对吧?好人播种的比例至少应为2.0)

em>对于任何常规计算机而言都是一项艰巨的任务,这意味着您需要整夜不停地消耗更多的电量。如果您可以将任务转移到低功率的Raspberry Pi,该Raspberry Pi足够小,可以装在地板下,几乎不中断10W的功率就可以完成所有任务。这就是我今天将向您展示的操作方法。

这里是计划:

  • 设置带有一些USB存储设备的Raspberry Pi,然后将系统驱动器移至USB
  • 在网络上共享它。
  • Configure a VPN so that all traffic is routed over the VPN, securely – and everything stops if that connection fails. We don’t want out ISP knowing which Linux distro we favour.
  • 安装可远程管理的torrent客户端,传输。
  • 听起来很复杂,没有不是吗我向您保证,不超过几百个终端命令。其中很多内容与我们的Raspberry Pi NAS教程重叠,因此,如果您对内容的洪流和VPN方面不那么感兴趣,则可能需要检查一下。

    USB存储

    首先重新安装Raspian,然后连接以太网接口,并插入USB存储设备(通过有源USB集线器,否则可能像我以后遇到错误)–尚未格式化。使用默认的pi / raspberry用户名和密码组合远程登录,然后运行:

    sudo raspi-config

    将通过图形分配的内存量更改为16 MB –我们将完全无头运行这个,所以您不必不需要图形内存。退出,然后在USB上设置一些分区。我们将至少设置两个-一个用于系统,以保持SD卡的寿命,另一个用于保存下载。首先找出哪个驱动器是您的USB。

    tail /var/log/messages

    在我的情况下,很容易将其识别为“ sda"。考虑到这一点,请调整以下命令以在适当的设备上输入 fdisk 实用程序。

    sudo fdisk /dev/sda

    p 列出当前分区。要删除任何现有的,请按 d 。使用 n ,然后使用 p 创建一个新的主分区。当要求您提供尺寸时,输入 + 8G 。现在,继续为您的torrent数据创建另一个分区(再次是主分区),如果需要,也可以创建更多分区。完成后, W 会将新的分区映射写入驱动器。

    一旦写入了新表,请使用以下命令将驱动器格式化为 linux ext4 。如果将驱动器划分为两个以上的分区,请使用其他命令。

    sudo mkfs.ext4 /dev/sda1sudo mkfs.ext4 /dev/sda2sudo mkdir /mnt/systemdrivesudo mkdir /mnt/torrentssudo mount /dev/sda1 /mnt/systemdrivesudo mount /dev/sda2 /mnt/torrentsdf -h

    最后一条命令将确认您已正确安装了分区。接下来,我们要将SD卡数据复制到驱动器–通过避免对缓存等进行持续的读/写操作来延长其寿命。安装 rsync 可以做到这一点:

    sudo apt-get install rsyncsudo rsync -axv / /mnt/systemdrive

    这将启动一连串的文件复制操作,因此请稍稍拨动手指。

    sudo cp /boot/cmdline.txt /boot/cmdline.origsudo nano /boot/cmdline.txt

    将其调整为以下内容:

    dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait rootdelay=5

    下一步,修改 fstab >以便在启动时安装它们。

    sudo nano /etc/fstab

    添加以下行:

    /dev/sda1 / ext4 defaults,noatime 0 1/dev/sda2 /mnt/torrents ext4 defaults 0 2

    注释掉以下引用SD卡的行:

    #/dev/mmcblk0p2 / ext4 defaults,noatime 0 1

    重新启动

    sudo reboot

    的Pi已排序!现在,您的Pi会同时挂载根数据分区和torrent分区

    共享驱动器:Samba

    请确保我们先进行了更新,删除总是导致以下问题的Wolfram Mathematica软件包:我在Pi上进行任何操作时都遇到麻烦(与数学内核有关),然后安装所需的软件包

    sudo apt-get updatesudo apt-get dist-upgradesudo apt-get remove wolfram-enginesudo apt-get install samba samba-common-binsudo nano /etc/samba/smb.conf

    点击 CTRL-W 并键入“ security"以查找接下来的行,并取消注释。

    security = user

    添加以下内容以定义我们的torrent共享文件夹:

    [torrents]comment = torrentspath = /mnt/torrentsvalid users = @usersforce group = userscreate mask = 0775force create mode = 0775security mask = 0775force security mode = 0775directory mask = 2775force directory mode = 2775directory security mask = 2775force directory security mode = 2775browseable = yeswriteable = yesguest ok = noread only = no

    重新启动Samba服务:

    sudo service samba restart

    下一步,我们需要将用户添加到系统中。将“ jamie"替换为所需的用户名,您将使用该用户名登录以访问共享文件夹。然后,以下命令要求您创建密码,第一个在系统级别,第二个在Samba。如果调用了数据驱动器,则修改最后一个命令(这是Linux中文件所有权的入门)。

    sudo useradd jamie -m -G userssudo passwd jamiesudo smbpasswd -a jamiesudo chown pi:users /mnt/torrentschmod g+w /mnt/torrents

    测试-您应该能够从网络上的另一台计算机进行连接,并读取/将文件写入新共享。通过 / mnt / torrents 文件夹中的 ls 检查它们是否也出现在Pi上。

    VPN设置

    所需的软件包

    sudo apt-get install openvpn resolvconf

    从提供商处下载OpenVPN配置文件。您可以在此处查看最佳VPN列表,但请确保找到适合种子下载的VPN。我本人使用privacy.io,但“私人互联网访问"是Torrent社区中的另一个流行选择。无论哪种方式,您都应该能够获取配置的ZIP文件和证书。将它们放到名为 openvpn 的目录的torrent文件夹中。修改以下命令,使其指向您的配置文件,该文件几乎可以肯定与 privacyIO.ovpn

    sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

    不同如果您得到这样的输出,那就很好。点击 CTRL-C 终止它。不过,必须输入密码很烦人,我们需要做一些修改才能添加开始和停止脚本。编辑配置文件(同样,用提供程序给您的.ovpn文件替换privacyIO.ovpn)

    nano /mnt/torrents/openvpn/privacyIO.ovpn

    首先修改以下行。基本上,我们说的是将用户名和密码存储在名为 pass.txt

    auth-user-pass /mnt/torrents/openvpn/pass.txt

    保存的文件中,然后输入:

    nano /mnt/torrents/pass.txt

    输入您的第一行是用户名,第二行是密码。保存并尝试重新连接:

    sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

    这次您不应该被错误登录。好极了!接下来,再次打开配置文件,并添加以下行:

    route-up /mnt/torrents/openvpn/route-up.shdown-predown /mnt/torrents/openvpn/down.sh

    这指定了一些我们稍后将要创建的脚本,以在连接成功或失败时执行任务。确保您位于 mnt / torrents / openvpn 目录中,然后运行以下命令:

    nano route-up.sh

    添加以下内容,以确保通过VPN发送流量:

    #!/bin/shiptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE

    接下来,创建down.sh脚本

    nano down.sh

    添加:

    #!/bin/shiptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE

    最后,我们想要一个脚本来打开连接,而不是从命令行启动它

    nano vpn.sh

    从以前粘贴VPN启动命令。如果您忘记了:

    sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2

    现在,使所有这些脚本可执行,然后在启动时启动VPN脚本。

    chmod +x down.shchmod +x route-up.shchmod +x vpn.shsudo nano /etc/rc.local

    退出0之前添加以下行行。我们只是告诉它在启动时启动此脚本。

    /mnt/torrents/openvpn/vpn.sh

    最后,再次重新启动系统。

    再次登录,然后运行 ifconfig 。如果您看到 tap0 (或tun0)的条目,并且能够成功卷曲网页,就会知道它正在工作:

    curl //www.PCPC.me

    洪流客户端

    Nearly there now. Finally, we’re going to install Transmission, which is lightweight and has a nice web GUI. The following commands install, then stops the daemon – since we need to configure it first – then opens up the settings file for editing.

    sudo apt-get install transmission-daemonsudo /etc/init.d/transmission-daemon stopsudo nano /etc/transmission-daemon/settings.json

    将“ rpc-authentication-required"更改为false;更改``rpc-whitelist''以包含您的本地子网-例如:

    "rpc-whitelist": "127.0.0.1,10.0.1.*",

    添加或调整以下内容(如果已存在):

    "download-dir": "/mnt/torrents","watch-dir": "\/mnt\/torrents\/","watch-dir-enabled": true,"umask": 2,

    下一步,编辑守护程序启动文件本身以进行处理

    sudo nano /etc/init.d/transmission-daemon

    USER = transmission-daemon 更改为 USER = root 。重新加载守护程序。

    sudo service transmission-daemon reload

    最后,我们将安装 avahi-daemon 以设置bonjour / zeroconf网络,这意味着我们不需要使用Pi的IP地址。可以从浏览器访问它–相反,我们可以使用 raspberrypi.local 地址。

    sudo apt-get install avahi-daemon

    假设您的主机名是默认的(raspberrypi,但可以可以使用raspi-config进行更改),导航至:

    http://raspberrypi.local:9091 / transmission / web /

    首先,检查您的torrent IP是否为通过VPN正确伪装。从TorGuard下载测试种子文件-下载的图形看起来像是广告,但并非如此-将其拖放到种子文件共享文件夹中。

    We’ve already configured Transmission to watch this folder for new torrents, so it should be added immediately. Go ahead and drop some legal Linux distro torrents in there as well.

    IP检查种子文件应返回错误以及它检测到的IP地址。确保这不是您的家庭IP-如果是,则表明VPN设置不正确。默认情况下,您放置在该文件夹中的所有种子文件都将重命名为.add,并应创建一个.part文件,直到传输完成。验证共享文件夹中是否存在这种情况。

    就是这样!现在,您将拥有一个超级低功耗,安全的,洪流下载的Pi,从而使您的工作站可以使用更好的功能。您现在可能要考虑添加UPnP服务器到网络上的流媒体,或使用BitTorrent Sync创建自己的云存储。您将添加哪些功能?

    标签: BitTorrent Raspberry Pi