미디어 서버 4부 – Jackett 과 GreenTunnel

This entry is part 29 of 48 in the series FreeNAS 서버 만들기

Jackett

Jackett토렌트 인덱싱 프로그램입니다. 수많은 토렌트 사이트에서 검색을 대신 수행하고, 검색 결과를 인덱싱해서 다른 프로그램들에게 제공합니다. 다음 포스팅에서 다룰 Sonarr 와 Radarr 가 자동으로 토렌트를 검색하게 하기 위해선 Jackett 을 먼저 설정해야 합니다.

Jackett 시작

syarc jackett_enable="YES"

service jackett start

http://Jail.IP:9117 으로 접속하면 jackett 의 WebUI로 접속할 수 있습니다.

인증서 문제가 발생할 경우

curl -ss https://curl.haxx.se/ca/cacert.pem | cert-sync /dev/stdin

jackett 에서 인증서 문제가 발생할 경우 media jail 에서 root 권한으로 실행해 주세요.

인덱서 추가

인덱서는 토렌트 사이트를 의미합니다. 인덱서를 먼저 추가해 주어야만 합니다.

Add indexer 를 눌러 인덱스를 추가할 수 있습니다.

인덱서는 3가지 종류가 있습니다. Public, Private, Semi-Private 인데, Private, Semi-Private 은 유료 인덱서로 회원가입을 하고 구독을 한 후 사용할 수 있습니다. 자신이 사용하고 있는 유료 토렌트 사이트가 없다면 Public 사이트를 사용하면 됩니다.

인덱서의 을 눌러 추가할 수 있습니다.

Jackett 일반 설정

외부망에서 Jackett 을 사용할 것이거나, 내부망에 다른 사용자가 있다면, Admin password 에 비밀번호를 설정하는 것이 좋습니다.

Base Path Override 을 설정하면 리버스 프록시에 연결할 때 편리합니다. /jackett 을 입력합니다.

설정은 Apply server settings 를 눌러 주어야 적용됩니다.

GreenTunnel

최근 정부에서 유해 사이트 차단을 하면서 많은 토렌트 사이트들이 차단되었습니다. 차단을 우회하기 위한 가장 대표적인 방법이 VPN 인데, 문제는 많은 토렌트 사이트들이 VPN 을 차단하였다는 겁니다.

하지만 그렇다고 해서 토렌트 사이트를 이용하지 못하는 건 아니죠. 여러분 중 몇몇은 이미 GoodbyeDPI 라는 DPI (심층 패킷 검사) 우회 프로그램을 알고 계실 것입니다. 그런데 GoodbyeDPI 는 윈도우 전용 프로그램입니다. FreeBSD 에서 사용할 수 있는 DPI 우회 프로그램은 없을까요?

있습니다. 없으면 안 올렸겠죠. GreenTunnel 이라는 프로그램입니다.

https://github.com/SadeghHayeri/GreenTunnel

GreenTunnel 은 nodeJS 기반의 프로그램으로서 FreeBSD 에도 쉽게 설치하고 관리할 수 있습니다.

GreenTunnel 설치

20200316 수정
작업 디렉토리 문제로 GT 가 정상 작동하지 않는 문제가 있어 설정 디렉토리를 만드는 작업을 추가하고 gt 의 시작 스크립트를 수정했습니다.

npm i -g green-tunnel

간단합니다.

GreenTunnel 이 사용할 디렉토리 만들기

mkdir /usr/local/etc/gt

Green Tunnel 이 사용할 설정 파일 디렉토리를 만들고

chown -R jackett:jackett /usr/local/etc/gt

해당 디렉토리에 jackett 이 엑세스 할 수 있게 권한을 줍니다.

시작 스크립트 만들기

20191208 수정
green-tunnel에 부하가 많이 걸릴 경우 green-tunnel이 종료되는 문제가 있음을 확인하였습니다. daemon에 -r 인수를 추가해 종료되었을 경우 자동으로 재시작하도록 스크립트를 수정하였습니다.

vi /usr/local/etc/rc.d/gt

#!/bin/sh
#
# Author : Admion!
# https://admion.net/
#

# PROVIDE: gt
# KEYWORD: shutdown

. /etc/rc.subr

name=gt
rcvar="${name}_enable"
start_precmd="${name}_start_precmd"

: ${gt_enable="NO"}
: ${gt_user:="jackett"}
: ${gt_group:="jackett"}
: ${gt_listen_ip="127.0.0.1"}
: ${gt_port="8000"}

load_rc_config $name

pidfile="/tmp/gt.pid"
procname="/usr/local/bin/node"
command="/usr/sbin/daemon"
command_args="-r -f -p ${pidfile} ${procname} /usr/local/bin/gt -s --ip ${gt_listen_ip} --port ${gt_port}"

gt_start_precmd()
{
        export HOME=/usr/local/etc/gt
}

run_rc_command "$1"

jackett 유저로 greentunnel 을 실행하는 스크립트입니다.

chmod 555 /usr/local/etc/rc.d/gt

스크립트를 실행 가능하도록 설정하였습니다.

rc.conf 수정

sysrc gt_enable="YES"

GreenTunnel 이 자동으로 시작되도록 합니다.

시작 스크립트의 기본 설정은 127.0.0.1:8000 을 청취합니다.

만약 청취하는 포트를 바꾸고 싶다면

sysrc gt_port="원하는포트"

으로 청취하는 포트 번호를 바꿀 수 있고

모든 주소에서 GreenTunnel 에 접근하게 하고자 한다면

sysrc gt_listen_ip="0.0.0.0"

으로 모든 주소를 청취하게 할 수 있습니다.

GreenTunnel 시작

원하는대로 설정하였다면 시작해 줍니다.

service gt start

Jackett 에 적용하기

Jackett 의 WebUI 에서

Proxy typehttp

Proxy urllocalhost

proxy port8000

으로 설정한 다음 Apply server settings 눌러 적용합니다.

이제 jackett 은 GreenTunnel 을 통해 토렌트를 검색하기 때문에 DPI 를 우회할 수 있습니다.

GreenTunnel 업데이트

npm update green-tunnel

nodejs 기반이라 업데이트가 쉽습니다.

Jackett 업데이트

20200529 수정
jackett 이 업데이트 되지 않아 수동으로 업데이트 하는 것을 추가하였습니다.

현재 무슨 이유인지 port 가 업데이트 되지 않고 있습니다. 그래서 jackett 이 계속 구버전이에요. 거기다 자체 업데이트도 안됩니다.

그러니 수동 업데이트 하도록 하겠습니다.

#!/bin/sh

#jackett 정지
iocage exec Media 'service jackett stop'
#최신 버전 확인
_jackett_last_version=`curl --silent "https://api.github.com/repos/Jackett/Jackett/releases/latest" | grep '"tag_name":' | sed -E 's/.*"([^"]+)".*/\1/'`
#다운로드 URL 만들기
_fetch_url="https://github.com/Jackett/Jackett/releases/download/${_jackett_last_version}/Jackett.Binaries.Mono.tar.gz"
#최신 버전 다운로드
iocage exec Media fetch ${_fetch_url} -o /tmp/jackett.tar.gz
#기존 jackett 삭제
iocage exec Media 'rm -r /usr/local/share/jackett'
#설치
iocage exec Media 'tar -xzf /tmp/jackett.tar.gz -C /usr/local/share'
iocage exec Media 'mv /usr/local/share/Jackett /usr/local/share/jackett'
#권한 설정
iocage exec Media 'chown -R jackett:jackett /usr/local/share/jackett'
#아카이브 파일 삭제
iocage exec Media 'rm /tmp/jackett.tar.gz'
#jackett 실행
iocage exec Media 'service jackett start'

참고한 사이트

jackett 업데이트

github 최신 릴리즈 버전 얻는 스크립트

마치면서

jackett 을 설정하고 GreenTunnel 을 설치하였습니다.

Jackett 을 리버스 프록시에 연결하면 편리하게 사용할수 있습니다. 리버스 프록시에 연결하는 것은 ‘미디어 서버 5부 – 리버스 프록시에 연결하기’ 에서 다룹니다.

다음 포스팅은 Sonarr 과 Radarr 을 설정하고 사용하는 방법에 대해 다룰 것입니다.

시리즈 네비게이션<< 미디어 서버 3부 – Transmission 설정하기미디어서버 5부 – Sonarr 와 Radarr >>

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다