여리군의 홈페이지~♡

 

티스토리에 블로그를 꾸밀 분들께 초대장을 나누어드립니다. ^^

초대장이 필요하신 분은 댓글에 비밀글로 이메일 주소와 블로그를 시작하려는 이유를 남겨주세요.

 

선착순 7분께 티스토리 초대장을 보내드립니다.  ^^

Comment +14

 

구글 클라우드에서 ASF를 돌리고 있습니다.

ASF는 ArchiSteamFarm이라는 스팀의 카드 농사를 도와주는 프로그램입니다.

구글 클라우드에서 항상 실행하게 해놓아서 카드가 있는 무료게임을 웹으로 등록하거나, 번들 셀러 사이트에서 구매하여 등록한 경우 바로 농사를 지을 수 있습니다.

 

ASF는 농사를 짓는 것에 추가로, 이런 저런 일을 시킬수 있습니다.

예를들면 게임 등록이나, 특정 게임의 실행 등등이 가능합니다.

아이템 거래 등도 가능한데 이건 제가 사용하지 않습니다.

 

ASF 위키의 명령어 항목을 보면 3가지 방법으로 일을 시킬 수 있습니다.

1. 봇과의 스팀 채팅

  스팀 계정이 1개인 경우는 불가능합니다. 농사를 짓는 계정(A)과 다른 계정(B)으로 말을 걸어서 명령어를 입력하면 됩니다.

 

2. 봇이 속해있는 그룹에서의 스팀 채팅

  스팀 계정이 1개인 경우도 가능합니다. 비공개 그룹을 하나 만들고, 농사짓는 계정을 모두 멤버로 참여시킵니다. 이후 그룹 채팅방에서 명령어를 입력하면 됩니다. 스팀 클라이언트가 설치되어있어야 합니다.

 

3. IPC

  특정 웹페이지에 접속하면 창이 나오고, 명령어를 입력하면 됩니다.

 

 

그냥 보면 3번이 제일 쉬운데, 설정을 할 줄 몰라서 그동안 못했었습니다.

 

해야 할 일은 크게 3가지 입니다.

1. 내 IP 확인

2. ASF.json 설정

3. 구글 클라우드 IP 확인

4. 구글 클라우드 방화벽 설정

5. IPC 접속~

 

순서대로 설명해보겠습니다.

ㅇ 내 IP 확인

1. 네이버 검색창에서 "내 IP"라고 검색합니다.

2. 짠. 결과가 나왔습니다.

예시) 111.111.111.111

 

 

 

 

ㅇ ASF.json 설정방법

1. 구글 클라우드로 들어가서, Compute Engine -> VM 인스턴스 -> SSH를 엽니다.

2. ASF의 config 디렉토리로 가서 ASF.json 파일을 편집기로 엽니다.

  예) nano ASF/config/ASF.json

3. 중간의 두 줄을 다음과 같이 수정합니다.

<기존>

    "IPC": false,
    "IPCPassword": null,
    "IPCPrefixes": [
        "http://127.0.0.1:1242/"
    ],

<변경>

    "IPC": true,
    "IPCPassword": null,
    "IPCPrefixes": [
        "http://*:1242/"
    ], 

설명하자면 IPC를 켜고(true), IPC로그인 암호는 없고(null), IPC 접속이 가능한 주소는 전부(*) 입니다.

4. Ctrl+X, Y, 엔터를 눌러서 저장하고 종료합니다.

5. 혹시 모르니 ASF를 재시작합니다.

저의 경우 screen -r   -> Ctrl+C   ->  screen ~/ASF/ArchiSteamFarm  ->  Ctrl+A, Ctrl+D 를 순서대로 실행합니다.

 

 

 

ㅇ 구글 클라우드 IP 확인

1. 구글 클라우드로 들어가서 Compute Engine -> VM 인스턴스 -> 네트워크 인터페이스 -> 세부정보 보기 클릭

 

외부 IP라고 되어있는 것이 서버접근 IP 입니다.

예시) 222.222.222.222

 

 

ㅇ 구글 클라우드 IP 확인

1. 위 화면에서 "세부정보 보기" 클릭

2. 좌측 "방화벽 규칙" 선택 후 상단 "방화벽 규칙 만들기" 클릭

 

3. 이름은 적당히 지어주고, 하단의 소스IP범위에 내 컴퓨터의 IP주소를 넣어준후 만들기 버튼을 클릭합니다.

예시) 111.111.111.111

 

 

설정이 끝났으니 실제로 접속을 해봅니다.

접속주소는 아까 구글 클라우드 아이피 + :1242 입니다.

예시) ht_tp://222.222.222.222:1242/

 

IPC 비밀번호가 없으므로 바로 본화면이 나옵니다. 성공!

우측 상단의 톱니바퀴를 누르면 언어를 한글로 바꿀 수 있습니다.

 

 

 

제 봇은 1개의 게임을 농사짓는 중이네요. 그 게임은 카드가 4장 나올예정이고, 5시간 정도면 완료되는군요.

 

status 명령어로도 상태를 알 수 있습니다.

 

제가 주로 사용하는 명령어는 addlicense, redeem, status 세가지 입니다.

 

 

이제 스팀 클라이언트가 없는 컴퓨터에서도 IPC를 통해서 명령을 내릴 수 있습니다. ^^

 

 

 

참고 : ASF 위키 https://github.com/JustArchi/ArchiSteamFarm/wiki/Home-ko-KR

참고 : ASF 위키-명령어 https://github.com/JustArchi/ArchiSteamFarm/wiki/Commands-ko-KR

참고 : ASF 위키-환경설정 https://github.com/JustArchi/ArchiSteamFarm/wiki/Configuration-ko-KR

참고 : ASF 위키-IPC https://github.com/JustArchi/ArchiSteamFarm/wiki/IPC-ko-KR

Comment +2

  • ASF 2018.06.29 19:24 신고

    다 똑같이 설정하고 방화벽 규칙에서 "지정된대상태그"를하면 태그 꼭 넣으라그래서 "네트워크의 모든인스턴스"로 바꿨습니다.
    명령어치는 홈페이지까지 잘 들어가지는데 status 명령어 치면 400 Bad Request - SteamOwnerID is empty!라고 뜨면서 변화가없네요 어떤걸 수정해줘야 잘 돌아갈까요?

    • ASF.json 파일에 SteamOwnerID 항목이 빠져있어서 그런것 같습니다.
      아래 링크에서 본인의 스팀ID를 넣으시고 lookup을 누르면 나오는 "SteamID64"를 ASF.json 파일의 SteamOwnerID에 넣어주셔야 합니다.

      스팀ID 찾기 : https://steamid.io/

      참고 : https://github.com/JustArchi/ArchiSteamFarm/wiki/Configuration-ko-KR#global-config

 

홈 네트워크 구성관련 글을 올린 적이 있습니다.

(관련글 : 집 네트워크 구성 변경 완료(TM-AC1900@AC68U + 4TB HDD))

 

원체 그림 실력이 별로라서 텍스트로만 나열했었습니다.
그동안 몇번이나 우리집 홈 네트워크 구성도를 한번 그려봐야지 라고 생각만 하고 있었는데,

오늘 마침 클리앙 퓨쳐크루이 알려주신 좋은 다이어그램 사이트가 있어서 열심히 그려보았습니다.

 

 

 

 

기본적인 구성은 다른 집들과 비슷합니다.

아파트 지하에서 광케이블로 인터넷망이 올라오고, 댁내 단자함의 광모뎀에서 LAN 단자로 바뀝니다.

다만 이용중인 ISP인 LG U+의 라우터를 이용하지 않고 따로 구매한 ASUS TM-AC1900 공유기를 타고 분배됩니다.

(관련글 : ASUS TM-AC1900 공유기 구입)

 

그리고 다시 주로 사용하는 컴퓨터방의 데스크탑 두대와 U+ TVG UHD 셋탑박스와 단자함 내 스위칭 허브로 연결됩니다.

단자함 내 스위칭 허브는 아파트 입주할때부터 있던 것으로, 모델명 찾아보니 100M까지만 지원하는 제품입니다. ㅠㅠ

 

거실에서는 U+ 셋탑으로, 안방에서는 티빙 TVING을 이용해서 실시간 TV 시청이 가능합니다.

4TB 외장하드에 들어있는 사진과 영상도 어디서나 시청이 가능하고요.

(관련글 : WD 4TB Elements Portable External Hard Drive 구입(4테라 외장하드))

 

스팀링크는 유선 100M 속도로도 무리없이 작동하네요.

그외 노트북, 휴대전화 등등은 AC1900에 붙어서 잘 돌아가고요.

 

저 같은 막손도 이쁜 그림이 나옵니다.

깔끔하게 정리된 것 같아 매우 좋습니다. ^^

 

 

참고 : 클리앙 퓨쳐크루님의 네트워크 구성하기 https://www.clien.net/service/board/lecture/12211058

참고 : 다이어그램 그리는 사이트 https://creately.com/

Comment +0

 

 

ASUS TM-AC1900 기가비트 공유기와 WD Elements 포터블 4테라 외장하드 (image from amazon.com)

 

 

이번에 구입한 ASUS TM-AC1900 공유기와 WD Elements Portable 4TB 외장하드를 가지고 간이 NAS를 구성하였습니다.

 

기존에 쓰던 NAS는 WD MyBookLive 인데, 주로 사용하는 기능은 세가지였습니다.

 - transmission으로 자료를 받기

 - 다 받아지면 telegram으로 알려주기

 - 받아진 자료를 U+ TVG UHD 셋탑을 이용해서 시청

 

찾아보니 쉽게 할 수 있는 방법이 있어서 그대로 따라해보았습니다.

 

 

간이 NAS에 transmission 설치 방법은 기존에 TM-AC1900 공유기에 설치한 멀린펌 위키에 해당 내용이 있습니다.

순서는 1. entware설치 -> 2. transmission 설치 입니다.

준비물은 공유기, 외장하드, USB메모리 입니다.

 

* 공유기 간이NAS에 entware 설치 

출처 https://github.com/RMerl/asuswrt-merlin/wiki/Entware

 

1. 저는 USB메모리를 ext2로 포맷해서 각종 설정파일을 저장하는 용도로 사용하고, 외장하드는 다 받아진 자료를 저장하는 용도로만 사용합니다.

별도의 USB메모리가 아니라 외장하드 하나로 구성하실분은 USB메모리 없이 외장하드를 ext4로 포맷하시면 된다고 합니다.

 

2. USB메모리를 ext2로 포맷합니다. (minitool partition wizard를 이용하면 쉽습니다.)

 

3. USB메모리를 공유기 USB 2.0포트에 꼽습니다.

 

4. putty 등의 프로그램으로 공유기 SSH에 접속합니다. 보통 192.168.1.1 입니다.

 

5. entware-setup.sh  라고 입력후 엔터를 누릅니다.

 

6. 설치할 곳을 지정하라고 나오는데, USB메모리만 꼽혀있으므로 1을 누르고 엔터를 누릅니다.

 

7. 끝.

 

6과 7 사이에 뭔가 주르륵 다운도 받고 설치도 하는데, fail 같은 단어만 들어가지 않으면 정상 설치된 겁니다.

usb메모리를 포맷할때 볼륨레이블을 지정했다면 6번에서 /tmp/mnt/sda1 대신에 /tmp/mnt/볼륨명 으로 나옵니다.

제 경우에는 usb16g 로 해놓았습니다. (예시: /tmp/mnt/usb16g)

 

 

* 공유기 간이NAS에 transmission 설치

출처 https://github.com/RMerl/asuswrt-merlin/wiki/Installing-Transmission-through-Entware

 

1. 공유기에 entware가 설치된 USB메모리와 외장하드를 꼽습니다.

 

2. putty 등의 프로그램으로 공유기 SSH에 접속합니다. 보통 192.168.1.1 입니다.

 

3. 아래 명령을 순서대로 입력합니다.

cd /tmp/mnt

ls

 

4. 여기에서 나온 단어를 기억해둡니다. sda1, sdb1이거나, 포맷할때 지정한 볼륨레이블입니다.

제 경우에는 USB메모리는 usb16g, 4테라 외장하드는 Elements 입니다.

 

5. opkg install nano   라고 입력후 엔터를 누릅니다.

텍스트 에디터인 nano가 설치됩니다.

 

6. opkg install transmission-web transmission-daemon-openssl   라고 입력후 엔터를 누릅니다.

transmission이 설치 완료되었습니다. 어??
이게 끝이 아니고, 이제 다운받는 디렉토리, 트랜스미션 로그인 설정 등을 해야 합니다.

 

7. 아래 명령을 순서대로 입력해서 토렌트를 받을 디렉토리를 생성합니다.

mkdir /mnt/usb16g/Torrent/
mkdir /mnt/usb16g/Torrent/Incomplete
mkdir /mnt/usb16g/Torrent/Watch
mkdir /mnt/Elements/Torrent/

저는 외장하드에 자료를 저장할 것이라서 마지막 줄에 Elements에 디렉토리를 생성했습니다.

 

8. 아래 명령을 입력해서 트랜스미션을 멈춥니다. 안멈추면 설정변경이 안됩니다.

/opt/etc/init.d/S88transmission stop

 

9. 아래 명령을 입력해서 설정파일을 수정합니다.

nano -w /opt/etc/transmission/settings.json

 

10. 화살표키를 이용해서 내용을 찾아서 아래 내용대로 수정합니다. 7번에서 입력한 내용이 그대로 들어갑니다.

"download-dir": "/mnt/Elements/Torrent/",
"incomplete-dir": "/mnt/usb16g/Torrent/Incomplete",

"watch-dir": "/mnt/usb16g/Torrent/Watch",

"rpc-authentication-required": true,
"rpc-username": "접속용아이디",
"rpc-password": "접속용패스워드",

 

11. 컨트롤+O, 엔터, 컨트롤+X를 순서대로 눌러서 저장하고 종료합니다.

위 세줄은 다운로드 완료된 파일의 저장경로, 임시파일의 저장경로, 토렌트 시드파일을 올리는 경로이고,

아래 세줄은 웹으로 접속가능여부,  인증 아이디와 패스워드입니다.

패스워드는 한번 실행하고나면 암호화되어 저장됩니다.

 

12. 방화벽 설정을 위해서 아래 명령을 입력합니다.

nano -w /jffs/scripts/firewall-start

 

13. 빈 화면이 나오면 아래 내용을 붙여넣고, 컨트롤+O, 엔터, 컨트롤+X를 순서대로 눌러 저장하고 종료합니다.

#!/bin/sh
iptables -I INPUT -p tcp --destination-port 51413 -j ACCEPT
iptables -I INPUT -p udp --destination-port 51413 -j ACCEPT

 

14.  chmod a+rx /jffs/scripts/firewall-start  를 입력하고 엔터를 눌러 방화벽 설정을 완료합니다.

 

15. 방화벽과 트랜스미션을 즉시 실행하기 위해서 아래 명령을 순서대로 입력합니다.

/jffs/scripts/firewall-start
/opt/etc/init.d/S88transmission start

 

16. 끝!


 

* 부연설명하자면, entware는 각종 프로그램들을 쉽게 설치할 수 있게 해주는 프로그램입니다.

optware가 원조이고, 단점을 개선해서 나온 것이 entware라고 합니다.

그래서 entware를 설치하고, 이를 이용해서 텍스트 에디터인 nano와 transmission을 설치하는 겁니다.

 

* transmission webUI 접속은 http://192.168.1.1:9091 로 해도 되고, 윈도우나 안드로이드용 프로그램을 이용해도 됩니다.

 

* watch디렉토리는 ftp나 윈도탐색기로 토렌트 시드파일을 여기에 놓으면 다운로드가 자동으로 시작되는 기능을 합니다.

 

* 다 받아진 자료는 U+ TVG UHD셋탑에 설치된 kodi를 이용해서 보고 있습니다.

초기 설정이 좀 귀찮은데, 내가 불편하면 아내와 아이가 편하게 볼 수 있을 것 같아 고민하고 있습니다.

 

 

 

참고 : 멀린 펌웨어 위키 https://github.com/RMerl/asuswrt-merlin/wiki/

참고 : Minitool Partition Wizard 다운로드 https://www.partitionwizard.com/download.html

참고 : 유플러스 셋탑에 kodi 설치 및 한글화하기 http://comterman.tistory.com/1653

참고 : putty 프로그램 다운로드 http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

 

Comment +4

  • 2018.04.18 03:19

    비밀댓글입니다

  • TwilighT 2018.09.10 15:50 신고

    정보 감사합니다^^ 따라해서 하니까 잘 되네요~

    하나 궁금한게있는데요, 여리군님의 시스템과는 다르게 제 외장하드는 쉴드TV쪽에 물려있는데요, 이런경우에 토렌트 다운로드가 완료되고 별도의 네트워크 하드에 완료파일이 옮겨지게도 가능할까요? 별도의 프로그램을 사용해서 자동으로 ftp를 이용해 전송을 해야할지.. 아니면 트랜스미션 기능 중에 그런게 가능한지 궁금합니다. 아시는 한도내에서 간단하게만 알려주시면 감사하겠습니다^^

    • 공유기의 USB에 받아서, 완료되면 쉴드TV의 외장하드에 저장하고 싶다는 말씀으로 이해되는데요,

      리눅스를 잘 몰라서 같은 네트워크에 물린 외부기기도 마운트가 되는지를 모르겠네요. 마운트만 되면 download-dir를 해당 외부기기-외장하드로 지정을 하면 해결될 것 같습니다.

      아니면 말씀하셨던대로 별도의 동기화 프로그램 등으로 자동 전송시켜버려도 될 것 같습니다.

    • TwilighT 2018.09.13 08:12 신고

      답변 감사합니다^^

      자답이 될거같은데요, 쉴드TV처럼 별도의 네트워크 하드에 마운트하는 방법중에 하나가 쉴드TV에 FTP 서버를 띄워놓고 공유기에서 마운트 하는 프로그램이 있네요~

      curlftpfs ftp://유저아이디:비밀번호@192.168.10.50:4001 /mnt/ftp -o disable_epsv,allow_other

 

WD 4TB Elements Portable External Hard Drive (image from amazon.com)

 

 

기존에 사용하던 NAS인 WD MyBookLive를 대체하려고 간이NAS용 외장하드를 구입하였습니다.

MyBookLive는 원래 3TB짜리인데, 4TB 하드를 사서 교체해서 사용중이었습니다.

 

새로 살 외장하드는 2TB ~ 4TB 용량에, 외부전원이 필요없는 2.5인치 포터블로 골랐습니다.

 

찾아보다보니 2TB는 최저가가 $60정도, 4TB는 최저가가 $100정도입니다.

그런데 블랙프라이데이와 연말 세일이 다 지나간 시점이라 2TB는 최저가 제품이 나오질 않네요.

일주일정도 기다기다가 그냥 $100짜리 4테라 외장하드를 구입하였습니다.

 

 

WD 4TB Elements Portable External Hard Drive 구입화면 (image from amazon.com)

 

한국까지 배송비 $6.44를 포함해서 총 $106.43입니다.

우리돈으로는 약 114,000원 정도 되겠네요.

 

WD 4TB Elements Portable External Hard Drive 국내 구입가격 비교(image from naver.com)

 

 

의미 없는 국내 가격은 약 15만원 내외입니다.

배송비 포함하면 156,000원정도니까, 약 4만원정도 싸게 샀네요.

국내 쇼핑몰에서 쿠폰과 적립금 등을 잘 이용하면 차이가 줄어들 수도 있겠죠. ^^

 

 

 

참고 : 아마존 구매페이지 https://www.amazon.com/gp/product/B0713WPGLL/

 

Comment +0