xmlrpc on rtorrent

Posted on Nov 24, 2023

rotorrent could use xmlrpc to send command remotely without any ui interface.

  • how to setup xmlrpc support (link, link2 )
  • configure scgi port on rtorrent.rc
  • install nginx and setup location for scgi and configure same scgi port from rtorrent.rc
  • rtorrent from Archlinux has dependency (libxmlrpc from http://xmlrpc-c.sourceforge.net/). there is binary application in this package to send xmlrpc command to rtorrent
  • xmlrpc basic
  • xmlrpc is specification for request sent to client (link)
  • xmlrpc has scalar (int,boolean, string, double), struct (dictionary), array.
  • xmlrpc binary command convert command parameter into request. Different binary command has different command parameter but request is same.
  • for xmlrpc (http://xmlrpc-c.sourceforge.net/), it need to escape “:” as “:” since “:” is separator for struct. (link ). The parenthesis, brace, comma, colon, and backslash characters are special. If you want to include one in a string value, escape it with a backslash.
  • usag
  • “2838954B0BBB1A87A668308DCC08AAF56D83D20D” is infohask for one rtorrent.
  • “2838954B0BBB1A87A668308DCC08AAF56D83D20D:t0” is tracker1 for one rtorrent.
  • xmlrpc localhost system.listMethods
  • xmlrpc localhost system.methodHelp t.id
  • xmlrpc localhost load.normal “magnet:?xt=urn:btih:59066769B9AD42DA2E508611C33D7C4480B3857B&dn=ubuntu-17.04-desktop-amd64.iso&tr=http%3A%2F%2Ftorrent.ubuntu.com%3A6969%2Fannounce&tr=http%3A%2F%2Fipv6.torrent.ubuntu.com%3A6969%2Fannounce”
  • xmlrpc localhost download_list
  • xmlrpc localhost d.is_open 2938964B0BAB1A87A668308DCC08AAF56D83C20D
  • xmlrpc localhost d.state
  • xmlrpc localhost d.chunk_size 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.size_files  “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B”
  • xmlrpc localhost d.size_chunks  “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B”
  • xmlrpc localhost d.size_bytes  “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B”
  • xmlrpc localhost d.completed_chunks  “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B”
  • xmlrpc localhost d.complete 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.ratio 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.down.total 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.down.rate 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.up.total 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost d.up.rate 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost p.multicall 2838954B0BBB1A87A668308DCC08AAF56D83D20D p.id
  • xmlrpc localhost d.tracker.insert 2838954B0BBB1A87A668308DCC08AAF56D83D20D 0 “udp://tracker.openbittorrent.com:80”
  • xmlrpc localhost d.tracker.insert 2838954B0BBB1A87A668308DCC08AAF56D83D20D 1 “udp://tracker.opentrackr.org:1337/announce”
  • xmlrpc localhost d.tracker_size 2838954B0BBB1A87A668308DCC08AAF56D83D20D
  • xmlrpc localhost t.id
  • xmlrpc localhost t.is_open “2838954B0BBB1A87A668308DCC08AAF56D83D20D:t1”
  • xmlrpc localhost t.id “2838954B0BBB1A87A668308DCC08AAF56D83D20D:t0”
  • xmlrpc localhost f.multicall  “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B”  “*”  f.path=
  • xmlrpc localhost f.frozen_path “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B:f2”
  • xmlrpc localhost f.path “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B:f3”
  • xmlrpc localhost f.completed_chunks “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B:f2”
  • xmlrpc localhost f.size_bytes “BBAB39AF48A4BD6FD23F1CCA39246A3E9D22F76B:f2”