미디어 서버 4부 – Jackett 과 GreenTunnel

This entry is part [part not set] 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 을 설정하고 사용하는 방법에 대해 다룰 것입니다.

시리즈 네비게이션

답글 남기기

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