All Projects → elektito → pybtracker

elektito / pybtracker

Licence: MIT license
UDP BitTorrent tracker written in Python 3.5 using co-routines and asyncio.

Programming Languages

python
139335 projects - #7 most used programming language
Makefile
30231 projects

Projects that are alternatives of or similar to pybtracker

uWebTorrentTracker
🔆 Simple, robust, WebTorrent tracker server implementation
Stars: ✭ 58 (+26.09%)
Mutual labels:  tracker, bittorrent, bittorrent-tracker
Nyaa
Bittorrent software for cats
Stars: ✭ 2,899 (+6202.17%)
Mutual labels:  tracker, bittorrent
Bt Btt
磁力網站U3C3介紹以及域名更新
Stars: ✭ 261 (+467.39%)
Mutual labels:  tracker, bittorrent
tinyBT
Implementation of the Bittorrent and Mainline DHT protocol for Distributed Computing applications
Stars: ✭ 30 (-34.78%)
Mutual labels:  tracker, bittorrent
Trackerslist
Updated list of public BitTorrent trackers
Stars: ✭ 31,704 (+68821.74%)
Mutual labels:  bittorrent, bittorrent-tracker
privtracker
Private BitTorrent tracker generator
Stars: ✭ 84 (+82.61%)
Mutual labels:  tracker, bittorrent
Meantorrent
meanTorrent - MEAN.JS BitTorrent Private Tracker - Full-Stack JavaScript Using MongoDB, Express, AngularJS, and Node.js, A BitTorrent Private Tracker CMS with Multilingual, and IRC announce support, CloudFlare support. Demo at:
Stars: ✭ 438 (+852.17%)
Mutual labels:  tracker, bittorrent
Torrent
Full-featured BitTorrent client package and utilities
Stars: ✭ 4,138 (+8895.65%)
Mutual labels:  tracker, bittorrent
Bittorrent Tracker
🌊 Simple, robust, BitTorrent tracker (client & server) implementation
Stars: ✭ 1,184 (+2473.91%)
Mutual labels:  tracker, bittorrent
Unit3d Community Edition
🚀 A Next Generation Private Torrent Tracker (Community Edition)
Stars: ✭ 1,305 (+2736.96%)
Mutual labels:  tracker, bittorrent
Snail
基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。人家才不要你的⭐⭐呢,哼
Stars: ✭ 102 (+121.74%)
Mutual labels:  tracker, bittorrent
ocelot
Alternative compiled announcer (ocelot)
Stars: ✭ 14 (-69.57%)
Mutual labels:  bittorrent, bittorrent-tracker
Torrent Discovery
Discover BitTorrent and WebTorrent peers
Stars: ✭ 177 (+284.78%)
Mutual labels:  tracker, bittorrent
haitou
Private Torrent Forum/Tracker in Portuguese BR (On Development now)
Stars: ✭ 16 (-65.22%)
Mutual labels:  tracker, bittorrent-tracker
Trackerslistcollection
🎈 Updated daily! A list of popular BitTorrent Trackers! / 每天更新!全网热门 BT Tracker 列表!
Stars: ✭ 9,761 (+21119.57%)
Mutual labels:  tracker, bittorrent
Wt Tracker
High-performance WebTorrent tracker
Stars: ✭ 144 (+213.04%)
Mutual labels:  tracker, bittorrent
Ipmagnet
Check which IP adresses your BitTorrent client is handing out to trackers
Stars: ✭ 200 (+334.78%)
Mutual labels:  tracker, bittorrent
SpooferBT
Relay torrent tracker communication via TCP to bypass a blocked UDP network.
Stars: ✭ 18 (-60.87%)
Mutual labels:  tracker
time
React UI for Wobbly Time Tracker for the Teams
Stars: ✭ 24 (-47.83%)
Mutual labels:  tracker
dottorrent
High-level Python 3 library for creating .torrent files
Stars: ✭ 70 (+52.17%)
Mutual labels:  bittorrent

pybtracker

pybtracker is a UDP BitTorrent tracker written in Python 3.5 using co-routines and the asyncio module. You can use the tracker in a script like this:

import asyncio
from pybtracker import TrackerServer

loop = asyncio.get_event_loop()
tracker = TrackerServer(local_addr=('127.0.0.1', 8000), loop=loop)
asyncio.ensure_future(tracker.start())
try:
    loop.run_forever()
except KeyboardInterrupt:
    loop.run_until_complete(tracker.stop())

It also includes a UDP tracker client:

import asyncio
from pybtracker import TrackerClient

async def announce():
    client = TrackerClient(announce_uri='udp://127.0.0.1:8000', loop=loop)
    await client.start()
    peers = await client.announce(
        b'01234567890123456789',  # infohash
        10000,                    # downloaded
        40000,                    # left
        5000,                     # uploaded
        0,                        # event (0=none)
        120                       # number of peers wanted
    )
    print(peers)

loop = asyncio.get_event_loop()
loop.run_until_complete(announce())

You can run the server independently by running:

$ python -m pybtracker.server -b 127.0.0.1:8000 -O

The client can also be run independently and it provides you with a shell to interact with the server:

$ python -m pybtracker.client udp://127.0.0.1:8000
BitTorrent tracker client. Type help or ? to list commands.

(btrc) help
Documented commands (type help <topic>):
========================================
EOF  announce  connect  help  quit

(btrc) quit
$

If you have installed pybtracker using pip or setup.py, you can also run pybtracker and pybtracker-client instead of using python -m.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].