+ Reply to Thread
Results 1 to 7 of 7

Thread: mCreator

  1. #1

    Post mCreator

    mCreator enables you to create and/or edit any emulation available on mRatio.

    Changelog:

    mCreator 1.0
    • Added: Peerid an Key are now generated using Regular Expressions


    mCreator 0.8
    • Added: Support for Accept-Language parameter
      Note: This version will force you to create client files for mRatio version 5.0.2 and up.
      Older mRatio version are outdated and should not be used, this way users will be forced into updating to an bug fixed earlier version.


    mCreator 0.7
    • Added: Support to Bittorrent emulation
      Note: Make sure you limit bittorrent emulation to mRatio 4.6 and above, older mRatio's don't support this.


    mCreator 0.6
    • Added: Support to uTorrent MAC emulation
      Note: Make sure you limit uTorrent mac emulation to mRatio 4.4 and above, older mRatio's don't support this.


    mCreator 0.5
    • Added: [LocalIp] now appears at blue
    • Fixed: Unable to load some client files.


    Special Thanks

    mmmmm - For all the help improving/fixing mCreator
    Attached Files Attached Files
    Reply With QuoteReply With Quote
    Thanks

  2. Who Said Thanks:

    HaterCheaters (11.05.23) , joe1982 (08.12.22) , mmmmm (17.11.21) , Lucius (10.11.21) , AxiomaticDirection (08.11.21) , anon (08.11.21)

  3. #2
    How to know the correct options to report UPLOADED/DOWNLOADED/LEFT:

    1º - Obtain the piece size of the torrrent you are making the announces tests (in this case 4mb = 4194304)

    2º - Get multiple sample announces made a low speeds (5kb/s for example) it's easier to avoid false positives.

    Here we have some sample data:
    &uploaded=0&downloaded=0&left=7117596052
    &uploaded=245760&downloaded=8388608&left=7101752724
    &uploaded=1359872&downloaded=16777216&left=7085860 244
    &uploaded=1671168&downloaded=29360128&left=7070688 660
    &uploaded=2392064&downloaded=50331648&left=7055598 996
    &uploaded=2392064&downloaded=54525952&left=7054075 284
    It's "Multiple of torrent piece size" if:
    (VALUE / PIECESIZE ) = integer
    • UPLOADED: 245760 / 4194304 = 0,0058594, thats not an integer so it's not this option

    • DOWNLOADED: 8388608 / 4194304 = 2 , that's an integer, so it may be correct option, test multiple times to be sure. If we test all the the downloaded values, we will get: 2 / 4 / 7 / 12 / 13, so now we have the confirmation that: DOWNLOADED = "Multiple of torrent piece size"

    • LEFT: ((LEFT(0)-LEFT(x)) / PIECESIZE ) = integer
      Example: ((7117596052 - 7101752724) / 4194304 = 3,777, that's not an integer

    Note: ALWAYS DO THIS TEST FIRST, because PIECESIZE it's always a multiple of 16384.
    It's "Multiple of 16KB" if:
    (VALUE / 16384) = integer (16384 = 16 KB)

    • UPLOADED: 245760 / 16384 = 15, thats an integer, let's run more tests to be sure. If we test all the the uploaded values, we will get: 15 / 83 / 102 / 146, so now we have the confirmation that: UPLOADED= "Multiple of 16KB"

    • DOWNLOADED = "Multiple of torrent piece size", we already know this one

    • LEFT: ((LEFT(0)-LEFT(x)) / 16384) = integer
      Example: ((7117596052 - 7101752724) / 16384 = 966, that's an integer, let's run more tests to be sure. If we test all the left values, we will get: 967 / 1937 / 2863 / 3784 / 3877, so now we have the confirmation that: LEFT= "Multiple of 16KB"
      Note: this is a bit tricky, because sometimes you may get a false positive, that is because of the last piece of the torrent not having the same size as all the others, just make sure you run enough tests.
    It's "Byte per Byte" if none of the other two rules apply.
    • UPLOADED= "Multiple of 16KB"

    • DOWNLOADED = "Multiple of torrent piece size"

    • LEFT= "Multiple of 16KB"
    Reply With QuoteReply With Quote
    Thanks

  4. Who Said Thanks:

    Decujus (03.07.23) , ar_avishek (25.01.22) , mmmmm (17.11.21) , Lucius (10.11.21) , anon (08.11.21)

  5. #3
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    39,370
    Activity Longevity
    11/20 19/20
    Today Posts
    1/5 ssss39370
    This program is now public. Opening existing client files should give you a good clue as to its operation and syntax, but feel free to ask any questions here. A nice reference for writing and testing regular expressions is available at http://regexpal.com.s3-website-us-east-1.amazonaws.com/.

    Recommended reading: https://www.sb-innovation.de/showthread.php?t=32021, https://www.sb-innovation.de/showthread.php?t=33436
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  6. Who Said Thanks:

    ar_avishek (25.01.22) , thisis (24.01.22) , mmmmm (17.11.21) , Lucius (10.11.21) , JohnareyouOK (08.11.21) , illusive (08.11.21) , sigduwksnsksis9283 (08.11.21) , AxiomaticDirection (08.11.21)

  7. #4
    Quote Originally Posted by anon View Post
    This program is now public. Opening existing client files should give you a good clue as to its operation and syntax, but feel free to ask any questions here. A nice reference for writing and testing regular expressions is available at http://regexpal.com.s3-website-us-east-1.amazonaws.com/.

    Recommended reading: https://www.sb-innovation.de/showthread.php?t=32021, https://www.sb-innovation.de/showthread.php?t=33436
    @anon
    I captured tcp/ip stream, i still do not know how to create m ratio client, i captured stream with smart snifer with install winpcap software, i do not understand why i need to 3 times stop and exit torrent client as said by mmmm,

    i tried to add your local trackers but unable to capture stream, so i used torrentday torrent.
    but my main problem is how to use captured tcp/ip stream in mcreator? is there any tutorial?
    i was trying to capture utorrent stream as mcreator do not show qbittorrent option.

    my 2nd question, i downloaded yours mratio utorrent client file and use mcreator and edited some options,
    i changed build detail and useragent detail from newer one which i get from captured tcp/ip stream, will this client work ok and safe?

    plz check my test file, is it ok?

    uTorrent 3.5.5 Build 46148.rar
    Reply With QuoteReply With Quote
    Thanks

  8. Who Said Thanks:

    Byden2050 (12.12.22)

  9. #5
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    39,370
    Activity Longevity
    11/20 19/20
    Today Posts
    1/5 ssss39370
    Quote Originally Posted by JohnWick View Post
    i captured stream with smart snifer with install winpcap software, i do not understand why i need to 3 times stop and exit torrent client as said by mmmm
    To find out whether the peer_id and key are individual or global and when they are regenerated (if applicable).

    i tried to add your local trackers but unable to capture stream
    "i captured stream with smart snifer with install winpcap software"

    WinPcap does not support loopback packet capture, you need to use Npcap for that. If you can't or don't want to install it, use RawCap to sniff all loopback traffic, then load the capture in Wireshark and filter it. All of this is explained in the help text for LocalTracker, by the way...

    but my main problem is how to use captured tcp/ip stream in mcreator? is there any tutorial?
    You don't directly "use" the packet capture in any way. It merely provides a reference for you to create or update the client file you're working on, by observing the announce structure and data sent within.

    i was trying to capture utorrent stream as mcreator do not show qbittorrent option.
    Client-specific settings are for a minority of cases. There aren't any options mentioning qBittorrent because none are required. (uTorrent encodes its build number in bytes 9 and 10 of the peer_id in reverse order, so it needs special treatment.)

    i changed build detail and useragent detail from newer one which i get from captured tcp/ip stream, will this client work ok and safe?

    plz check my test file, is it ok?
    Checked this and the client file is valid for uTorrent build 46148.
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  10. Who Said Thanks:

    Lucius (03.02.22) , JohnWick (31.01.22)

  11. #6

    Join Date
    24.01.14
    P2P Client
    qBT Enhanced / PicoTorrent
    Posts
    15
    Activity Longevity
    1/20 12/20
    Today Posts
    0/5 sssssss15
    Could someone PLEASE create a video of making the mRatio file?
    I'm having a hard time finding the corrent values for emulation.
    For example: Determining the correct PeerID & Key capturing for a certain version of Qbittorrent Enhanced.
    As a newbie in this I don't want to make a mistake on my private trackers.
    Reply With QuoteReply With Quote
    Thanks

  12. #7
    Moderator anon's Avatar
    Join Date
    01.02.08
    Posts
    39,370
    Activity Longevity
    11/20 19/20
    Today Posts
    1/5 ssss39370
    Quote Originally Posted by joe1982 View Post
    I'm having a hard time finding the corrent values for emulation.
    For example: Determining the correct PeerID & Key capturing for a certain version of Qbittorrent Enhanced.
    For this, you need to capture announce data from many different torrents and check two things.
    • Is the peer_id the same for all of them? If so, tick "use the same peer_id for all torrents", otherwise untick it. (Global vs. individual)
    • Does the peer_id change when you stop and start a specific torrent? If so, tick "generate a new peer_id when the torrent starts", otherwise untick it. (Dynamic vs. static)

    Now do the same with keys. https://www.sb-innovation.de/showthread.php?p=361596 conveniently provides a non-encrypted tracker emulator that works offline, 4 different test torrents, and instructions on how to set up everything.

    Now make a list of all the peer_ids you captured and note which part never changes. That's the prefix. Its length is almost always 8, but uTorrent encodes its build number in it, boosting the length to 10. Also, %xx represents a single character, not three.

    Now do the same with the keys. These have no prefix and their length will be fixed in most cases, but Transmission was a nasty surprise.

    Finally, writing the strings that work as a template for generating these values requires regexp knowledge, which I mentioned in post #3. The good news is that it's exceedingly rare for anything other than the peer_id prefix to change between versions, so unless you're making a client file from scratch, you can reuse the rest. Same goes for keys. Do double-check everything.

    As a newbie in this I don't want to make a mistake on my private trackers.
    Then it's worth nothing that qBittorrent Enhanced Edition should not be used on any private tracker that has a whitelist, and its readme explicitly tells you as much!
    "I just remembered something that happened a long time ago."
    Reply With QuoteReply With Quote
    Thanks

  13. Who Said Thanks:

    joe1982 (18.12.22) , Lucius (18.12.22) , JohnWick (09.12.22)

+ 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
  •