# Go로 빗토렌트 클라이언트 처음부터 만들기

> Clean Markdown view of GeekNews topic #1226. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=1226](https://news.hada.io/topic?id=1226)
- GeekNews Markdown: [https://news.hada.io/topic/1226.md](https://news.hada.io/topic/1226.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2020-01-06T09:32:32+09:00
- Updated: 2020-01-06T09:32:32+09:00
- Original source: [blog.jse.li](https://blog.jse.li/posts/torrent/)
- Points: 4
- Comments: 4

## Topic Body

트래커 기반의 클라이언트(DHT,마그넷등은 제외) 제작을 단계별로 설명

- .torrent 파일 파싱

- 피어 발견

- 트래커 응답 파싱

- 피어와 페이로드 교환 ( Concurrency, Pipe Lining 등 )

## Comments



### Comment 868

- Author: nezz1204
- Created: 2020-01-07T02:30:59+09:00
- Points: 1

토랜트를 쓰면서도 어떻게 만드는건가 궁금했는데 좋은 정보 감사합니다.

### Comment 855

- Author: xguru
- Created: 2020-01-06T09:36:49+09:00
- Points: 1

토렌트를 불법용도 말고 사용하는데가 요즘도 있나 해서 검색해봤는데

트위터가 서버 배포용으로 사용했던 오픈소스 Murder 는 이제 더이상 유지보수 안함

https://github.com/lg/murder

블리자드가 대용량 클라이언트 배포에 토렌트 프로토콜을 썼었는데 그것도 2015년 이후로 없앰

https://us.battle.net/forums/en/bnet/topic/16283439122

그나마 Internet Archive 에 파일 다운 용도로 사용하는 정도가 있겠네요

https://help.archive.org/hc/en-us/articles/360004715251-Archive-BitTorrents

### Comment 889

- Author: olivecake
- Created: 2020-01-08T19:03:09+09:00
- Points: 1
- Parent comment: 855
- Depth: 1

마이너한 리눅스 기반 OS 배포판들을 구할때에도 가끔 요긴하긴 합니다.

꽤 많은 리눅스 기반 OS들은 토렌트를 통해 다운로드 받을 수 있는 옵션을 제공하는데,

이게 나중에 해당 OS의 개발 중단 등의 사유로 직접 다운로드를 할 수 없게 되는 경우에

토렌트를 통해 이미 다운로드하여 시드 유지를 하고 있는 다른 유저들에게 받을 수 있으니까요.

### Comment 856

- Author: xguru
- Created: 2020-01-06T09:38:36+09:00
- Points: 1
- Parent comment: 855
- Depth: 1

Go 로 만든 빗토렌트 풀클라이언트 및 라이브러리 들은 이 외에 여러개 있긴 합니다.

https://github.com/cenkalti/rain

https://github.com/anacrolix/torrent
