मैं निश्चित रूप से libtorrent-rasterbar की अनुशंसा करता हूं। यह पायथन बाइंडिंग के साथ एक सी ++ लाइब्रेरी है। वही है जो जलप्रलय, ट्रांसमिशन, मिरो और कई अन्य बिटरोरेंट ग्राहकों को शक्ति देता है।
अन्य libtorrent (जो कि rtorrent प्रोजेक्ट का हिस्सा है) के विपरीत, यह सक्रिय विकास में है और सभी आधुनिक प्रोटोकॉल एक्सटेंशन, जैसे डीएचटी, मेटाडेटा ट्रांसफर और यहां तक कि कुछ स्वामित्व वाले यूटोरेंट एक्सटेंशन जैसे सहकर्मी विनिमय (PEX)।
एपीआई बहुत अच्छी तरह से प्रलेखित है।
#!/bin/python
# Copyright Arvid Norberg 2008. Use, modification and distribution is
# subject to the Boost Software License, Version 1.0. (See accompanying
# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
import libtorrent as lt
import time
import sys
ses = lt.session()
ses.listen_on(6881, 6891)
info = lt.torrent_info(sys.argv[1])
h = ses.add_torrent({'ti': info, 'save_path': './'})
print 'starting', h.name()
while (not h.is_seed()):
s = h.status()
state_str = ['queued', 'checking', 'downloading metadata', 'downloading', \
'finished', 'seeding', 'allocating', 'checking fastresume']
print '\r%.2f%% complete (down: %.1f kb/s up: %.1f kB/s peers: %d) %s' % \
(s.progress * 100, s.download_rate/1000, s.upload_rate/1000, \
s.num_peers, state_str[s.state]),
sys.stdout.flush()
time.sleep(1)
print h.name(), 'complete'
:
आप निम्नलिखित पूरी तरह से कार्य सरल ग्राहक उदाहरण से देख सकते हैं, आप अंतर्निहित प्रोटोकॉल के हर बिट को समझने की जरूरत नहीं है (बेशक, यह एक बहुत जब आप ऐसा करेंगे मदद करता है) पुनश्च फेसबुक के पास उनके ओपनसोर्स परियोजनाओं के लिए http://developers.facebook.com/opensource/ पर एक समर्पित पृष्ठ है। सूचीबद्ध कोई bittorrent कार्यान्वयन नहीं है।
स्रोत
2011-03-06 18:56:01
http://code.google.com/p/python-libtorrent/ सहायक हो सकता है। यह सी ++ libtorrent पुस्तकालय के चारों ओर एक पायथन आवरण है। – user225312
इसे जलप्रवाह परियोजना में शामिल किया गया है और अब कुकबुक के साथ कोड की 1000 लाइनों में खींचा गया है। –