RestTorrent is BitTorrent Restful API and Socket.IO Server based Libtorrent.
RestTorrent is released under the MIT-license.
Install libtorrent
Ubuntu
apt-get install python-libtorrentArchLinux
yaourt -S python-libtorrent-rasterbarMac
brew install libtorrent-rasterbar --with-pythonInstall Python Requirements
pip install -r requirements.txt
WSGI Application
resttorrent.wsgi:applicationRun Debug Mode
python debug.pyHTTP Restful API
POST /v1/sessionsJSONP parameter name : callback
CORS(Access-Control-Allow-Origin) Header : *
Socket.IO
socket.emit('v1', { t_id:'1', command:'create_session', ports:[6881] });
GET /v1/sessions
Request
Name
Require
Description
t_id
socket.io only
Transaction ID
command
socket.io only
get_session_list
Response
{ "status": "success", "sessions": [ { "id": "2d4c54303130302d655f38397933685052467163", "port": 6881 } ] }POST /v1/sessions
Request
Name
Require
Description
port_range
option
Listen Range (default: 6881,6891)
memory_only
option
default:1
t_id
socket.io only
Transaction ID
command
socket.io only
create_session
Response
{ "status": "success", "session": { "id": "2d4c54303130302d655f38397933685052467163", "port": 6881 } }{ "status": "fail", "message": "bind failed address already in use" }GET /v1/sessions/<session_id>
Response
{ "status": "success", "id": "2d4c54303130302d655f38397933685052467163", "port": 6881 }DELETE /v1/sessions/<session_id>
Response
{ "status": "success" }POST /v1/sessions/<session_id>/torrents
Request
Name
Require
Description
file
select one
Torrent Metainfo File
magnet
Torrent Magnet URL
url
download torrent url
save_path
require
Save Target Path
autostart
option
autostart (default:1)
storage_mode
option
default: sparse
memory_only
option
default:session value
Response
{ "status": "success", "info_hash": "6f8cd699135b491513e65d967a052a7087750d9c", "download_rate": 0, "num_peers": 0, "progress": 0, "state": "checking_resume_data", "upload_rate": 0 }GET /v1/sessions/<session_id>/torrents
Response
{ "status": "success", "torrents": [ { "info_hash": "6f8cd699135b491513e65d967a052a7087750d9c", "download_rate": 0, "num_peers": 5, "progress": 0.0037299999967217445, "state": "downloading", "upload_rate": 116 } ] }