본문 바로가기

연재/Project Jarvis

Telegram cli 윈도우에 깔기





Telegram-cli 윈도우에 설치하기



 마침 노트북을 새로 구입해서 집에 굴러다니는 윈탭도 있고 해서, 전부터 보아왔던 Telegram cli를 윈탭에 깔아서 굴려보려 했으나 여러 장벽에 막혀 삽질하던 중 어찌어찌 설치가 완료되긴 했습니다. 혹시라도 도움이 되실 분이 있을까 하여 포스팅을 해봅니다.

  작년에 Telegram-bot API도 나와서 사실 이쪽을 사용하는 편이 더 간단하기도 하지만, 이쪽은 bot임이 명확해서 (ex: bot이 다른 bot에게 명령을 내리지 못하는 것으로 확인..) 어찌됐든 지금 생각하고 있는 시스템에서는 cli가 필요하여 세팅해보았습니다.


  Telegram cli는 커맨드라인에서 동작하는 Telegram이라고 보시면 되고, Telegram이 기본적으로 전화번호를 가입할때 요구하게 되므로 가지고 있는 전화번호가 있어야 여기에 물려서 안정적으로 사용이 가능하겠습니다. 저같은 경우에는 데이터 쉐어링으로 남는 전화회선이 있기 때문에 이쪽을 사용하였습니다. 물론 검색 해보시면 임시 전화번호 발급해주는 사이트 등 뭔가 있는거 같으니 이쪽을 이용하시는 것도 좋습니다.


  일단 Telegram cli를 윈도우에서 사용하기위해 첫번째 문제는 이게 윈도우 기반으로 build가 되어있지 않다는 것입니다. 따라서 뭔가 리눅스를 돌릴 수 있는 환경이 필요한데, 그렇다고 vm을 깔자니 제 윈탭이 버텨줄 것 같지 않고.. 해서 cygwin으로 돌릴 수 있는 방법이 있나 찾아보았더니 이쪽으로 포팅된 것이 존재한 것을 발견하였습니다.




 기본 메뉴얼은 이쪽을 참고하면서 진행하였는데, 생각보다 설정시 막히는 부분이 있어서 이쪽 위주로 설명을 드리겠습니다.



1. cygwin 설치 


https://www.cygwin.com/ 에서 하시면 됩니다. 다만 cygwin이 기본적인 패키지 설치 프로그램을 여타 다른 리눅스 환경처럼 제공을 하고있지 않습니다. 이를 위해서 Telegram cli를 windows로 포팅해놓은 제작자가 apt-cyg를 설치할 것을 권해두었는데 애석하게도 링크가 죽었습니다. 따라서 패키지 관리자인 apt-cyg를 설치하기 위해 다음과 같이 과정을 진행합니다.


$ svn --force export http://apt-cyg.googlecode.com/svn/trunk/ /bin/

$ chmod +x /bin/apt-cyg


만약 이 과정이 진행되지 않는다면 subversion등의 패키지가 설치되지 않은 것인데, 이 경우 cygwin을 설치할 때 패키지 설치를 선택하는 창에서 subversion 등 필요하다고 메시지가 뜨는 패키지들을 설치해주시면 될 것 같습니다.



2. md5 에러 수정 


  저 같은 경우에는 apt-cyg install <패키지명> 의 메시지로 패키지를 인스톨 하는데 다음과 같은 에러가 나왔습니다.


MD5 sum did not match, exiting


  이 에러는 cygwin에서 파일의 checksum 값으로 MD5가 아니라 sha512라는 것을 사용하게 됨으로써 나오게 되는 문제라고 하는데, 이것을 수정하기 위해서는 sublimetext 등의 편집기를 통해서 apt-cyg 파일을 수정해줘야 할 필요가 있습니다. (기본경로: C:\cygwin\bin\apt-cyg)


  그러면 아래와 같은 부분이 있는데요,


	

    # check the md5
    digest=`cat "desc" | awk '/^install: / { print $4; exit }'` 
    digactual=`md5sum $file | awk '{print $1}'`
    if ! test $digest = $digactual
    then
      echo MD5 sum did not match, exiting
      exit 1
    fi
 
	



  여기서 digctual=`md5sum~~~ 이라고 되어 있는 부분에서 md5sum을 sha512sum 으로 수정해주시면 이 문제는 해결됩니다.



3. telegram cli 빌드 



  이제부터는 메뉴얼대로 진행하시면 됩니다. 맨 처음에 링크드렸던 페이지에서 apt-cyg install 로 신나게 패키지를 깔고, 알려준 대로 build를 하면 됩니다. 그리고 중간에 설명되어 있는 부분 중에 windows용으로 패치하는 부분이 있는데 이 부분만 빼먹지 않고 하시면 문제없이 빌드되어 실행될 것입니다.

  실행은 tg 폴더에서 다음 명령어를 치면 실행됩니다.


bin/telegram-cli -k tg-server.pub


  물론 실행은 cygwin에서 하셔야 하고, tg-server.pub은 telegram cli 인증용 공개키라고 합니다.




cf) 빌드하는데에 각종 명령어가 나오는데 저도 가물가물해서 잠깐 정리해보면..


apt-cyg: cygwin의 패키지 관리자

wget: 웹에서 특정 파일을 가져올 때 사용

git clone: git hub에 올라와 있는 프로젝트를 복제

make: 컴파일