Jump to content

Webui protocol


Recommended Posts

I'v learned that uT 'll return JS code, witch'll be exploited by xhtml files, passing through the little built-in http serv to the client. Am i right ?

I intend to code a php interface for that webui, adding some totally useless features. And in order to do that, i'll need some infos on the webui protocol, what's the basics command.. etc

Even if you don't communicate the whole thing ( read-only command 'll be just enought to start with ) i'll be very pleased.

Thx - Calvin

Link to comment
Share on other sites

Yep, you're right about that. I don't know the whole story behind it, but you might want to ask ludde or Directrix on the IRC channel for more answers, as they're more often there than here, and they're most familiar with the whole interface.

Link to comment
Share on other sites

µT serves up the webui files to a client, and sends some javascript data, which the webui files that were loaded in your browser parse to generate the page.

You'll have to reverse everything yourself, though. :)

I'm ok for that, but... i still need thoses files to reverse ^^"

But i also know that this feature isn't finished yet, so i was hoping for some draft to start with

Link to comment
Share on other sites

  • 2 months later...

Sniffer is so great for that :)

if a moderator want to erase the data , erase it :)

GET /gui/?action=getlist&t='time'

GET /gui/?action=getsettings&t='time'

POST /gui/?action=add-file

GET /gui/?action=start&hash='hash'&t='time'

GET /gui/?action=pause&hash='hash'&t='time'

GET /gui/?action=remove&hash='hash'&t='time'

GET /gui/?action=getfiles&hash='hash'&t='time'

and probably some other ones ;)

Link to comment
Share on other sites

you only specify the time because you need to make sure the http request is unique, otherwise windows will use old cached data :)

you dont actually have to specify t at all, you could just add anything on the end as long as it is unique every time.

Link to comment
Share on other sites

  • 1 year later...

I've been working on something like this myself, mostly deciphering the ?list protocol. Here's what I have so far:

Format is similar to Python syntax, {} are dicts, [] are lists.

Basic format:

{"":"", "label": labels, "torrents": torrents, "torrentc": ??? }

"labels" and "torrents" are each a list of lists.

Labels: [label name, torrent count]

"torrent count" is the number of torrents with that label.

Torrents: [infohash, flags, torrent name, torrent size, % progress, bytes downloaded, bytes uploaded, ratio, upload speed, download speed, ???, label, peers connected, total peers, seeds connected, total seeds, ???, priority order, ???]

"flags" are the start/pause/error status; I had some of them figured out (I think) a while back, but I lost that file. :(

"% progress" is scaled by 10 (e.g. 500 = 50%), ratio is scaled by 1000, sizes and speeds are in bytes.

However, this is all speculative, based on comparing the list to my uTorrent screen. Anyone have more reliable info? Never mind, I opened my eyes and found this

Link to comment
Share on other sites


This topic is now archived and is closed to further replies.

  • Create New...