+ Reply to Thread
Results 1 to 2 of 2

Thread: How to make client file with diffrent versions?

  1. #1
    GhostCode's Avatar
    Join Date
    23.02.10
    Location
    USA
    P2P Client
    Utorrent
    Posts
    59
    Activity Longevity
    6/20 17/20
    Today Posts
    0/5 sssssss59

    Cool How to make client file with diffrent versions?

    Hello Smart People, I have searched the forums to best of my knowledge for this kind of step by step guide for noob like me to make a Client file for like U torrent 3.2.1 or 3.3.5 or Vuze 5.1.1 or 4.2.4

    I have not found anything...may be somone can guide me in right direction on how to make it and TEST it to make sure it's working good...

    I would appreciate detail help if possible..

    Thanks in advance
    Reply With QuoteReply With Quote
    Thanks

  2. #2
    Look, building a client file is some of a cumulative amount of information that you gather during reading for a long time here in SB-I

    I will tell you what I mean, just talk a look at this client file [uT 3.1.3 (27498)]:
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <client>
    	<protocol type="ltep">
    		<clientName ltep="µTorrent 3.1.3" />
    		<reservedBytes>0x00|0x00|0x00|0x00|0x00|0x10|0x00|0x05</reservedBytes> 
    	</protocol>
    	<peerId type="ut" preFix="-UT3130-jk" length="20" exceptions="-._~" isLowerCase="true" isGlobal="true" />
    	<key type="hex" length="8" isGlobal="true" />
    	<announce>
    		<infoHash isLowerCase="true" exceptions="-._~" />
    		<query staticNumwant="200" ipType="2" ipMode="1" ipFallBack="0">
    			<param>[info_hash]</param>
    			<param>[peer_id]</param>
    			<param>[port]</param>
    			<param>[uploaded]</param>
    			<param>[downloaded]</param>
    			<param>[left]</param>
    			<param>[corrupt]</param>
    			<param>[key]</param>
    			<param>{event}</param>
    			<param>[numwant]</param>
    			<param>[compact]</param>
    			<param>[no_peer_id]</param>
    			<param>&amp;ipv6={ip}</param>
    		</query>
    		<header>
    			<field>Host: {host}:{port}</field>
    			<field>User-Agent: uTorrent/3130(27498)</field>
    			<field>Accept-Encoding: gzip</field>
    			<field>Connection: Close</field>
    		</header>
    	</announce>
    </client>
    let's take this client apart ..

    VEM's client information has to be between
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <client>
     // here is your client
    </client>
    <protocol type="ltep"> :
    as the documentation says "Protocol type, Required (btlp or ltep or azmp)", so your have to know which protocol your real client

    <clientName ltep="µTorrent 3.1.3" />:
    Doc says : Peer client name, Required if type != btlp
    our client protocol type is ltep so mentioning client name is required.

    <reservedBytes>0x00|0x00|0x00|0x00|0x00|0x10|0x00| 0x05</reservedBytes> :
    You can sniff this data using and packet sniffer like smartsniff, just take a look at the bittorrent handshakes requests and you will find that bytes just right there.

    <peerId type="ut" preFix="-UT3130-jk" length="20" exceptions="-._~" isLowerCase="true" isGlobal="true" />
    Docs :
    Id type, Required (custom or ut or hex or anum)
    So, you have four types of peerIds, you have to know which type you client use also.

    Peer Id prefix, Required
    you can sniff the peerId using smartsniff, but sometimes there is a special cases like in uT. it's not enough to catch the first parts -UT3130- only .. uT uses two bytes to define the build number so take care with uT you have to catch the additional two bytes as the prefix (search the forums to know how to calculate this part)

    length="20" & exceptions="-._~" & isLowerCase="true" & isGlobal="true"
    those information is kind of fixed info for uT for example .. that peerid's length is 20 and its exceptions is -._~ (varies over clients), isLowerCase="true" & isGlobal="true" you can recognize this behavior by catching the announces and take a deep look in it to know if the key is global and if it is always lower case.

    announce part:
    try this, sniff the tracker announce for uT and compare it with the upper client information and you'll get the idea.

    I hope you got something new and always stick to the docs by ghostfucker and take a look at sample.client file
    Last edited by Lucius; 25.07.14 at 14:46.
    Reply With QuoteReply With Quote
    Thanks

  3. Who Said Thanks:

    ozymandis (28.01.15) , lil-fella (19.10.14) , tr-cht-fx-242p (01.08.14) , alpacino (26.07.14) , anon (25.07.14)

+ Reply to Thread

Tags for this Thread

Posting Permissions

  • You may post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts
  •