라즈베리 파이를 상시 다운로드되는 메가리스로 바꾸는 방법

라즈베리 파이를 상시 다운로드되는 메가리스로 바꾸는 방법

10W의 전력을 거의 사용하지 않는 안전한 전용 토렌트 다운로드 거석을 구축하여 글로벌 '리눅스 배포 네트워크'를 위한 역할을 수행하십시오. 가능하며 물론 Raspberry Pi를 기반으로 합니다.





다운로드 및 시딩 (씨앗 하는거 맞죠? 착한사람씨앗 최소 2.0비율) 일반 컴퓨터에게는 힘든 작업이며 밤새 켜 놓아야 하는 것보다 훨씬 더 많은 전기를 소모하고 있습니다. 저전력 라즈베리 파이로 작업을 오프로드할 수 있다면, 바닥판 아래에 물건을 넣을 수 있을 만큼 작고 10W의 전력으로도 거의 모든 작업을 수행할 수 있습니다. 그것이 바로 오늘 제가 여러분에게 보여드릴 방법입니다.





계획은 다음과 같습니다.





  • 일부 USB 저장소로 Raspberry Pi를 설정하고 시스템 드라이브를 USB로 이동하여 SD 카드의 수명을 연장하십시오.
  • 네트워크를 통해 공유하십시오.
  • 모든 트래픽이 VPN을 통해 안전하게 라우팅되도록 VPN을 구성하고 연결에 실패하면 모든 것이 중지됩니다. 우리는 ISP가 우리가 선호하는 Linux 배포판을 아는 것을 원하지 않습니다.
  • 원격 관리가 가능한 토렌트 클라이언트인 Transmission을 설치합니다.

복잡해보이죠? 터미널 명령은 수백 개에 불과합니다. 이 많은 부분이 우리의 라즈베리 파이 NAS 자습서이므로 토렌트 및 VPN 측면에 그다지 관심이 없다면 대신 확인하는 것이 좋습니다.

USB 저장 장치

새로운 Raspian 설치로 시작하고 이더넷 인터페이스를 연결하고 USB 저장소를 연결합니다(전원이 공급되는 USB 허브를 통해, 그렇지 않으면 나처럼 나중에 오류가 발생할 수 있음). 아직 포맷할 필요가 없습니다. 기본 pi /raspberry 사용자 이름과 암호 조합을 사용하여 원격으로 로그인한 후 다음을 실행합니다.



sudo raspi-config

그래픽에 할당된 메모리 양을 16MB로 변경합니다. 이 작업은 완전히 헤드리스로 실행되므로 그래픽 메모리가 필요하지 않습니다. 종료하고 USB에 일부 파티션을 설정하겠습니다. 우리는 적어도 두 개를 설정할 것입니다. 하나는 시스템에 사용하여 SD 카드의 수명을 보존하고 다른 하나는 다운로드를 저장하기 위한 것입니다. 어떤 드라이브가 USB인지 먼저 파악하십시오.

tail /var/log/messages

제 경우에는 'sda'로 식별하기 쉬웠습니다. 이를 염두에 두고 다음 명령을 조정하여 fdisk 적절한 장치의 유틸리티.





sudo fdisk /dev/sda

누르다 NS 현재 파티션을 나열합니다. 기존 항목을 삭제하려면 NS . 다음을 사용하여 새 기본 파티션을 만듭니다. N , 그 다음에 NS . 사이즈를 물어보면 입력 + 8G . 이제 토렌트 데이터를 위한 다른 파티션(다시, 기본)을 생성하거나 원하는 경우 더 많은 파티션을 생성합니다. 완료되면 새 파티션 맵을 드라이브에 씁니다.

스포티파이 프리미엄 패밀리 얼마에요?

새 테이블이 작성되면 다음 명령을 사용하여 드라이브를 다음과 같이 포맷합니다. 리눅스 ext4 . 드라이브를 세 개 이상의 파티션으로 분할한 경우 추가 명령을 사용하십시오.





sudo mkfs.ext4 /dev/sda1
sudo mkfs.ext4 /dev/sda2
sudo mkdir /mnt/systemdrive
sudo mkdir /mnt/torrents
sudo mount /dev/sda1 /mnt/systemdrive
sudo mount /dev/sda2 /mnt/torrents
df -h

마지막 명령은 파티션이 올바르게 마운트되었는지 확인합니다. 다음으로 SD 카드 데이터를 드라이브에 복사하려고 합니다. 이렇게 하면 캐시 등에 대한 지속적인 읽기/쓰기 작업을 방지하여 수명을 연장할 수 있습니다. 재동기화 이것을하기 위해:

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

이렇게 하면 긴 일련의 파일 복사가 시작되므로 손가락을 잠시 돌리십시오.

sudo cp /boot/cmdline.txt /boot/cmdline.orig
sudo 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에서 절대적으로 무엇이든 할 때 항상 문제를 일으키는 Wolfram Mathematica 패키지(수학 커널과 관련된 것)를 제거한 다음 필요한 패키지를 설치합니다.

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get remove wolfram-engine
sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

때리다 CTRL-W 'security'를 입력하여 다음 줄을 찾은 다음 NS 그것을 코멘트.

security = user

다음을 추가하여 토렌트 공유 폴더를 정의합니다.

[torrents]
comment = torrents
path = /mnt/torrents
valid users = @users
force group = users
create mask = 0775
force create mode = 0775
security mask = 0775
force security mode = 0775
directory mask = 2775
force directory mode = 2775
directory security mask = 2775
force directory security mode = 2775
browseable = yes
writeable = yes
guest ok = no
read only = no

Samba 서비스를 다시 시작합니다.

sudo service samba restart

다음으로 시스템에 사용자를 추가해야 합니다. 'jamie'를 공유 폴더에 액세스하기 위해 로그인할 원하는 사용자 이름으로 바꾸십시오. 그런 다음 다음 명령은 암호를 생성하도록 요청합니다. 첫 번째는 시스템 수준이고 다음은 Samba에 대한 것입니다. 데이터 드라이브를 다른 이름으로 호출한 경우 마지막 명령을 수정합니다(여기에 입문서가 있습니다. 리눅스의 파일 소유권 ).

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

테스트 - 네트워크의 다른 컴퓨터에서 연결하고 새 공유에 파일을 읽고 쓸 수 있어야 합니다. Pi에도 나타나는지 확인하십시오. 내에서 / mnt / 토렌트 폴더.

VPN 설정

필요한 패키지 설치

sudo apt-get install openvpn resolvconf

공급자로부터 OpenVPN 구성 파일을 다운로드하십시오. 의 목록을 확인할 수 있습니다 최고의 VPN 여기에서 급류 친화적 인 것을 찾으십시오. 나는 사용한다 프라이버시.io 나 자신, 하지만 개인 인터넷 액세스 토렌트 커뮤니티 내에서 또 다른 인기 있는 옵션입니다. 어느 쪽이든 구성 및 인증서의 ZIP 파일을 가져올 수 있어야 합니다. 이것을 torrents 폴더에 넣으십시오. 오픈 VPN . 구성 파일을 가리키도록 다음 명령을 수정하십시오. 프라이버시IO.ovpn

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

이와 같은 출력이 나오면 잘 된 것입니다. 때리다 CTRL-C 종료합니다. 하지만 암호를 입력해야 하는 것은 성가신 일이며 시작 및 중지 스크립트를 추가하려면 몇 가지 수정이 필요합니다. 구성 파일을 편집합니다(다시, privacyIO.ovpn을 공급자가 제공한 .ovpn 파일로 바꿉니다).

nano /mnt/torrents/openvpn/privacyIO.ovpn

먼저 다음 줄을 수정합니다. 기본적으로 우리는 사용자 이름과 비밀번호를 패스.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.sh
down-pre
down /mnt/torrents/openvpn/down.sh

이것은 연결이 성공적으로 시작되거나 중단될 때 작업을 수행하기 위해 나중에 만들 일부 스크립트를 지정합니다. 에 있는지 확인하십시오. mnt/torrents/openvpn 디렉토리에서 다음을 실행합니다.

nano route-up.sh

VPN을 통해 트래픽이 전송되도록 다음을 추가합니다.

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

다음으로 down.sh 스크립트를 만듭니다.

nano down.sh

추가하다:

#!/bin/sh
iptables -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.sh
chmod +x route-up.sh
chmod +x vpn.sh
sudo nano /etc/rc.local

앞에 다음 줄을 추가하십시오. 출구 0 선. 시작할 때 이 스크립트를 시작하도록 지시하는 것입니다.

/mnt/torrents/openvpn/vpn.sh

마지막으로 시스템을 다시 재부팅하십시오.

다시 로그인하고 실행 ifconfig . 에 대한 항목이 표시되면 작동 중임을 알 수 있습니다. 탭0 (또는 tun0) , 웹 페이지를 성공적으로 말릴 수 있습니다.

curl https://www.makeuseof.com

토렌트 클라이언트

이제 거의 다 왔습니다. 마지막으로 가볍고 멋진 웹 GUI를 제공하는 Transmission을 설치하겠습니다. 다음 명령은 데몬을 설치한 다음 중지합니다. 먼저 구성해야 하므로 편집을 위해 설정 파일을 엽니다.

sudo apt-get install transmission-daemon
sudo /etc/init.d/transmission-daemon stop
sudo 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=전송 데몬 에게 사용자=루트 . 데몬을 다시 로드합니다.

sudo service transmission-daemon reload

마지막으로 설치하겠습니다. 아바히 데몬 bonjour/zeroconf 네트워킹을 설정하려면 브라우저에서 Pi의 IP 주소를 사용하여 액세스할 필요가 없습니다. 대신 다음을 사용할 수 있습니다. raspberrypi.local 주소.

sudo apt-get install avahi-daemon

호스트 이름이 기본값이라고 가정 (raspberrypi, 하지만 raspi-config를 사용하여 변경할 수 있음) , 로 이동:

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

먼저 VPN을 통해 토렌트 IP가 올바르게 위장되고 있는지 확인하십시오. 에서 테스트 토렌트 파일을 다운로드하십시오. 토르가드 - 다운로드 그래픽이 광고처럼 보이지만 그렇지 않습니다. - 토렌트 공유 폴더에 놓으십시오.

이 폴더에서 새 토렌트를 감시하도록 이미 Transmission을 구성했으므로 즉시 추가해야 합니다. 거기에 합법적 인 Linux 배포판도 넣으십시오.

IP 검사 토렌트는 감지한 IP 주소와 함께 오류를 반환해야 합니다. 집 IP가 아닌지 확인하십시오. 그렇다면 VPN이 올바르게 설정되지 않은 것입니다. 기본적으로 폴더에 놓은 모든 토렌트는 .added로 이름이 변경되며 전송이 완료될 때까지 .part 파일이 생성되어야 합니다. 이것이 공유 폴더의 경우인지 확인하십시오.

그게 다야! 이제 초저전력의 안전한 토렌트 다운로드 Pi를 사용하여 더 나은 작업을 위해 워크스테이션을 사용할 수 있습니다. 이제 네트워크에서 미디어를 스트리밍하기 위해 UPnP 서버를 추가하거나 BitTorrent Sync를 사용하여 자신의 클라우드 저장소를 만드는 방법을 살펴보고 싶을 수 있습니다. 어떤 기능을 추가할 예정입니까?

공유하다 공유하다 트위터 이메일 오디오북을 무료로 다운로드할 수 있는 8가지 최고의 웹사이트

오디오북은 훌륭한 엔터테인먼트 소스이며 소화하기 훨씬 쉽습니다. 다음은 무료로 다운로드할 수 있는 8가지 최고의 웹사이트입니다.

다음 읽기
관련 항목
  • DIY
  • 비트토렌트
  • 라즈베리 파이
저자 소개 제임스 브루스(707건의 기사 게재)

James는 인공 지능 학사 학위를 보유하고 있으며 CompTIA A+ 및 Network+ 인증을 받았습니다. 하드웨어 리뷰 편집자로 바쁘지 않을 때는 LEGO, VR 및 보드 게임을 즐깁니다. MakeUseOf에 합류하기 전에 그는 조명 기술자, 영어 교사 및 데이터 센터 엔지니어였습니다.

제임스 브루스가 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.