Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
다양한 기능을 갖춘 BitTorrent 클라이언트 패키지와 유틸리티
Full-featured BitTorrent client package and utilities
개발 도구GitHub @anacrolix직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗This repository implements BitTorrent-related packages and command-line utilities in Go. The emphasis is on use as a library from other projects. It's been used 24/7 in production by downstream services since late 2014. The implementation was specifically created to explore Go's concurrency capabilities, and to include the ability to stream data directly from the BitTorrent network. To this end it supports seeking, readaheads and other features exposing torrents and their files with the various Go idiomatic io package interfaces. This is also demonstrated through torrentfs.
There is support for protocol encryption, DHT, PEX, uTP, WebTorrent, WebSeeds, BitTorrent v2, holepunching, and many more features and BEPs. There are several data storage backends provided: blob, file, bolt, mmap, and sqlite, to name a few. You can write your own to store data for example on S3, or in a database.
Some noteworthy package dependencies that can be used for other purposes include:
See CHANGELOG.md for a detailed list of changes by version.
Install the library package with go get github.com/anacrolix/torrent, or the provided cmds with go install github.com/anacrolix/torrent/cmd/...@latest. Installing by import path like this runs in Go's module-aware mode and ignores the repository's go.work file, so it works without checking out any git submodules.
The repository includes a Go workspace (go.work) that adds the possum storage backend. possum is vendored as a git submodule at storage/possum/lib, and the workspace references the Go module inside it (storage/possum/lib/go). Building from a clone of this repository (for example go build ./...) therefore requires the submodule to be checked out, otherwise Go fails with an error like:
cannot load module storage/possum/lib/go listed in go.work file: open storage/possum/lib/go/go.mod: no such file or directory
Check out the submodules when cloning:
git clone --recurse-submodules https://github.com/anacrolix/torrent
or, in an existing clone:
git submodule update --init --recursive
Alternatively, disable the workspace by setting GOWORK=off, though the possum storage backend won't be available in that case.
There are some small examples in the package documentation.
To dial peers through a SOCKS5 proxy, add the dialer.Socks5 dialer to the client. Start from the default config and set DialForPeerConns to false so the SOCKS5 dialer is the only one used for outgoing peer connections:
cfg := torrent.NewDefaultClientConfig()
cfg.DialForPeerConns = false
cl, _ := torrent.NewClient(cfg)
cl.AddDialer(dialer.NewSocks5("localhost:1080", nil))
The proxy is used for outgoing peer connections; listening for incoming connections is unaffected.
There are several web-frontends, sites, Android clients, storage backends and supporting services among the known public projects:
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗