Facebook
From A, 3 Years ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 171
  1. {
  2.   "yts": {
  3.     "name": "YTS",
  4.     "enabled": true,
  5.     "languages": ["en"],
  6.     "base_url": "https://yts.am",
  7.     "fallback_urls": [
  8.       "https://yts.pm",
  9.       "https://yts.gs",
  10.       "https://www4.yify.is",
  11.       "https://yts.unblocked.vet",
  12.       "https://yts.unblocked.krd",
  13.       "https://ytss.unblocked.is"
  14.     ],
  15.     "response_type": "json",
  16.     "trust_results": true,
  17.     "movie": {
  18.       "query": "/api/v2/list_movies.json?query_term={query}&sort_by=seeds&order_by=desc",
  19.       "keywords": "{imdbId}"
  20.     },
  21.     "json_format": {
  22.       "results": "data.movies",
  23.       "sub_results": "torrents",
  24.       "url": "url",
  25.       "title": "title_long",
  26.       "seeds": "seeds",
  27.       "peers": "peers",
  28.       "size": "size_bytes",
  29.       "quality": "quality"
  30.     },
  31.     "title_replacement": {
  32.       "'s": "s",
  33.       "\"": ""
  34.     }
  35.   },
  36.   "torrentapi": {
  37.     "name": "RARBG",
  38.     "enabled": true,
  39.     "languages": ["en"],
  40.     "base_url": "https://torrentapi.org",
  41.     "fallback_urls": [],
  42.     "response_type": "json",
  43.     "time_to_wait_between_each_request_ms": 300,
  44.     "time_to_wait_on_too_many_request_ms": 2000,
  45.     "trust_results": true,
  46.     "token": {
  47.       "query": "/pubapi_v2.php?get_token=get_token&app_id=helios",
  48.       "token_validity_time_ms": 840000,
  49.       "token_format": {
  50.         "token": "token"
  51.       }
  52.     },
  53.     "movie": {
  54.       "query": "/pubapi_v2.php?mode=search&search_imdb={query}&category=movies&format=json_extended&app_id=helios&token={token}",
  55.       "keywords": "{imdbId}"
  56.     },
  57.     "episode": {
  58.       "query": "/pubapi_v2.php?mode=search&search_string={query}&category=tv&format=json_extended&app_id=helios&token={token}",
  59.       "keywords": "{title} {episodeCode}"
  60.     },
  61.     "season": {
  62.       "query": "/pubapi_v2.php?mode=search&search_string={query}&category=tv&format=json_extended&app_id=helios&token={token}",
  63.       "keywords": [
  64.         "{title} {seasonCode}",
  65.         "{title} season"
  66.       ]
  67.     },
  68.     "json_format": {
  69.       "results": "torrent_results",
  70.       "url": "download",
  71.       "title": "title",
  72.       "seeds": "seeders",
  73.       "peers": "leechers",
  74.       "size": "size"
  75.     },
  76.     "title_replacement": {
  77.       "'s": "s",
  78.       "\"": ""
  79.     }
  80.   },
  81.   "zooqle": {
  82.     "name": "zooqle",
  83.     "enabled": true,
  84.     "languages": ["en"],
  85.     "base_url": "https://zooqle.com",
  86.     "fallback_urls": [
  87.       "https://zooqle.t0r.club",
  88.       "https://zooqle-com.unblocksites.fun",
  89.       "https://zooqle.unblocked.win",
  90.       "https://zooqle.nocensor.xyz",
  91.       "https://zooqle.unblocked.llc",
  92.       "https://zooqle.unblocked.krd",
  93.       "https://zooqle.p4y.info"
  94.     ],
  95.     "response_type": "text",
  96.     "separator": "+",
  97.     "movie": {
  98.       "query": "/search?q={query}",
  99.       "keywords": "{title} {year}"
  100.     },
  101.     "episode": {
  102.       "query": "/search?q={query}",
  103.       "keywords": "{title} {episodeCode}"
  104.     },
  105.     "season": {
  106.       "query": "/search?q={query}",
  107.       "keywords": [
  108.         "{title} {seasonCode}",
  109.         "{title} season"
  110.       ]
  111.     },
  112.     "anime": {
  113.       "query": "/search?q={query}",
  114.       "keywords": "{title} {absoluteNumber}"
  115.     },
  116.     "html_parser": {
  117.       "row": "doc.querySelectorAll('.table-torrents tbody tr')",
  118.       "title": "row.querySelector('a').textContent",
  119.       "peers": "row.querySelector('td:nth-child(6) .prog-r') ? row.querySelector('td:nth-child(6) .prog-r').textContent : 0",
  120.       "seeds": "row.querySelector('td:nth-child(6) .prog-l') ? row.querySelector('td:nth-child(6) .prog-l').textContent : 0",
  121.       "size": "row.querySelector('td:nth-child(4) .prog-l').textContent.replace('K','000')",
  122.       "url": "row.querySelectorAll('a')[2].getAttribute('href')"
  123.     },
  124.     "source_is_in_sub_page": false,
  125.     "title_replacement": {
  126.       ".": "",
  127.       ":": "",
  128.       "'": "",
  129.       "&": ""
  130.     }
  131.   },
  132.   "glodls": {
  133.     "name": "glodls",
  134.     "enabled": true,
  135.     "languages": ["en"],
  136.     "base_url": "https://glodls.to",
  137.     "fallback_urls": [],
  138.     "response_type": "text",
  139.     "separator": "+",
  140.     "movie": {
  141.       "query": "/search_results.php?search={query}&cat=1&incldead=0&inclexternal=0&lang=1&sort=size&order=desc",
  142.       "keywords": "{title} {year}"
  143.     },
  144.     "episode": {
  145.       "query": "/search_results.php?search={query}&cat=41&incldead=0&inclexternal=0&lang=1&sort=seeders&order=desc",
  146.       "keywords": "{title} {episodeCode}"
  147.     },
  148.     "season": {
  149.       "query": "/search_results.php?search={query}&cat=41&incldead=0&inclexternal=0&lang=1&sort=seeders&order=desc",
  150.       "keywords": [
  151.         "{title} {seasonCode}",
  152.         "{title} season"
  153.       ]
  154.     },
  155.     "html_parser": {
  156.       "row": "doc.querySelectorAll('table.ttable_headinner tbody tr.t-row:nth-child(odd)')",
  157.       "title": "row.querySelector('td:nth-child(2) a:nth-child(2)').textContent",
  158.       "peers": "row.querySelector('td:nth-child(7)').textContent",
  159.       "seeds": "row.querySelector('td:nth-child(6)').textContent",
  160.       "size": "row.querySelector('td:nth-child(5)').textContent",
  161.       "url": "row.querySelector('td:nth-child(4) a').getAttribute('href')"
  162.     },
  163.     "title_replacement": {
  164.       ".": "",
  165.       ":": "",
  166.       "'": "",
  167.       "&": ""
  168.     }
  169.   },
  170.   "btscene": {
  171.     "name": "btscene",
  172.     "enabled": true,
  173.     "languages": ["en"],
  174.     "base_url": "http://btscene.today",
  175.     "fallback_urls": [],
  176.     "response_type": "text",
  177.     "separator": "+",
  178.     "movie": {
  179.       "query": "/search?q={query}",
  180.       "keywords": "{title} {year}"
  181.     },
  182.     "episode": {
  183.       "query": "/search?q={query}",
  184.       "keywords": "{title} {episodeCode}"
  185.     },
  186.     "season": {
  187.       "query": "/search?q={query}",
  188.       "keywords": [
  189.         "{title} {seasonCode}",
  190.         "{title} season"
  191.       ]
  192.     },
  193.     "anime": {
  194.       "query": "/search?q={query}",
  195.       "keywords": "{title} {absoluteNumber}"
  196.     },
  197.     "html_parser": {
  198.       "row": "doc.querySelectorAll('.rtable tbody tr.row')",
  199.       "title": "row.querySelector('a').textContent",
  200.       "peers": "row.querySelector('td:nth-child(5)').textContent",
  201.       "seeds": "row.querySelector('td:nth-child(4)').textContent",
  202.       "size": "row.querySelector('td:nth-child(2)').textContent",
  203.       "url": "row.querySelector('td:nth-child(6) a').getAttribute('href')"
  204.     },
  205.     "source_is_in_sub_page": false,
  206.     "title_replacement": {
  207.       ".": "",
  208.       ":": "",
  209.       "'": "",
  210.       "&": ""
  211.     }
  212.   },
  213.   "magnetdl": {
  214.     "name": "MagnetDL",
  215.     "enabled": true,
  216.     "languages": ["en"],
  217.     "base_url": "https://www.magnetdl.com",
  218.     "fallback_urls": [],
  219.     "response_type": "text",
  220.     "separator": "-",
  221.     "movie": {
  222.       "query": "/{titleFirstLetter}/{query}/",
  223.       "keywords": "{title} {year}"
  224.     },
  225.     "episode": {
  226.       "query": "/{titleFirstLetter}/{query}/",
  227.       "keywords": "{title} {episodeCode}"
  228.     },
  229.     "season": {
  230.       "query": "/{titleFirstLetter}/{query}/",
  231.       "keywords": [
  232.         "{title} {seasonCode}",
  233.         "{title} season"
  234.       ]
  235.     },
  236.     "html_parser": {
  237.       "row": "doc.querySelectorAll('table.download tbody tr:nth-child(odd)')",
  238.       "title": "row.querySelector('td:nth-child(2) a') ? row.querySelector('td:nth-child(2) a').getAttribute('title') : ''",
  239.       "peers": "row.querySelector('td:nth-child(8)') ? row.querySelector('td:nth-child(8)').textContent : ''",
  240.       "seeds": "row.querySelector('td:nth-child(7)') ? row.querySelector('td:nth-child(7)').textContent : ''",
  241.       "size": "row.querySelector('td:nth-child(6)') ? row.querySelector('td:nth-child(6)').textContent.replace(',','') : ''",
  242.       "url": "row.querySelector('td:nth-child(1) a') ? row.querySelector('td:nth-child(1) a').getAttribute('href') : ''"
  243.     },
  244.     "title_replacement": {
  245.       "'s": "s",
  246.       "\"": ""
  247.     }
  248.   },
  249.   "yourbittorrent": {
  250.     "name": "YourBittorent",
  251.     "enabled": true,
  252.     "languages": ["en"],
  253.     "base_url": "https://yourbittorrent.com",
  254.     "fallback_urls": ["https://yourbittorrent2.com"],
  255.     "response_type": "text",
  256.     "movie": {
  257.       "query": "/?v=&c=1&q={query}",
  258.       "keywords": "{title} {year}"
  259.     },
  260.     "episode": {
  261.       "query": "/?v=&c=3&q={query}",
  262.       "keywords": "{title} {episodeCode}"
  263.     },
  264.     "season": {
  265.       "query": "/?v=&c=3&q={query}",
  266.       "keywords": [
  267.         "{title} {seasonCode}",
  268.         "{title} season"
  269.       ]
  270.     },
  271.     "anime": {
  272.       "query": "/?v=&c=&q={query}",
  273.       "keywords": "{title} {absoluteNumber}"
  274.     },
  275.     "html_parser": {
  276.       "row": "doc.querySelectorAll('tr.table-default')",
  277.       "title": "row.querySelector('td:nth-child(2)').textContent",
  278.       "peers": "row.querySelector('td:nth-child(6)').textContent",
  279.       "seeds": "row.querySelector('td:nth-child(7)').textContent",
  280.       "size": "row.querySelector('td:nth-child(4)').textContent",
  281.       "url": "row.querySelector('td:nth-child(3) a:nth-child(3)').getAttribute('href')"
  282.     },
  283.     "title_replacement": {
  284.       ".": "",
  285.       ":": "",
  286.       "'": "",
  287.       "&": ""
  288.     }
  289.   },
  290.   "thepiratebay": {
  291.     "name": "The Pirate Bay",
  292.     "enabled": true,
  293.     "languages": ["en"],
  294.     "base_url": "https://pirateproxy.live",
  295.     "fallback_urls": [
  296.       "https://thepiratebay.org",
  297.       "https://thepiratebay.fun",
  298.       "https://thepiratebay.asia",
  299.       "https://tpb.party",
  300.       "https://thepiratebay3.org",
  301.       "https://thepiratebayz.org",
  302.       "https://thehiddenbay.com",
  303.       "https://piratebay.live",
  304.       "https://thepiratebay.zone"
  305.     ],
  306.     "response_type": "text",
  307.     "movie": {
  308.       "query": "/s/?q={query}&page=0&&video=on&orderby=99",
  309.       "keywords": "{title} {year}"
  310.     },
  311.     "episode": {
  312.       "query": "/s/?q={query}&page=0&&video=on&orderby=99",
  313.       "keywords": ["{title} {episodeCode}"]
  314.     },
  315.     "season": {
  316.       "query": "/s/?q={query}&page=0&&video=on&orderby=99",
  317.       "keywords": [
  318.         "{title} {seasonCode}",
  319.         "{title} season"
  320.       ]
  321.     },
  322.     "html_parser": {
  323.       "row": "doc.querySelectorAll('tbody tr')",
  324.       "title": "row.querySelector('div') ? row.querySelector('div').textContent : ''",
  325.       "peers": "row.querySelector('td:nth-child(4)') ? row.querySelector('td:nth-child(4)').textContent : ''",
  326.       "seeds": "row.querySelector('td:nth-child(3)') ? row.querySelector('td:nth-child(3)').textContent : ''",
  327.       "size": "row.querySelector('font') ? row.querySelector('font').textContent.split(',')[1].replace(/size/i,'') : ''",
  328.       "url": "row.querySelector('td:nth-child(2) a:nth-child(2)') ? row.querySelector('td:nth-child(2) a:nth-child(2)').getAttribute('href') : ''"
  329.     },
  330.     "title_replacement": {
  331.       "'s": "s",
  332.       "\"": ""
  333.     }
  334.   },
  335.   "_1337x": {
  336.     "name": "1337x",
  337.     "enabled": true,
  338.     "languages": [
  339.       "en"
  340.     ],
  341.     "base_url": "https://www.1337x.to",
  342.     "fallback_urls": [
  343.       "https://1337x.st",
  344.       "https://1337x.is",
  345.       "https://1337x.am",
  346.       "https://x1337x.ws",
  347.       "https://x1337x.eu",
  348.       "https://x1337x.se",
  349.       "https://1337x.unblocked.llc",
  350.       "https://1337x.unblocker.cc",
  351.       "https://1337x.unblockall.org"
  352.     ],
  353.     "response_type": "text",
  354.     "movie": {
  355.       "query": "/category-search/{query}/Movies/1/",
  356.       "keywords": "{title} {year}"
  357.     },
  358.     "episode": {
  359.       "query": "/sort-category-search/{query}/TV/size/desc/1/",
  360.       "keywords": "{title} {episodeCode}"
  361.     },
  362.     "season": {
  363.       "query": "/sort-category-search/{query}/TV/size/desc/1/",
  364.       "keywords": [
  365.         "{title} {seasonCode}",
  366.         "{title} season"
  367.       ]
  368.     },
  369.     "anime": {
  370.       "query": "/category-search/{query}/Anime/1/",
  371.       "keywords": "{title} {episode}"
  372.     },
  373.     "separator": "+",
  374.     "html_parser": {
  375.       "row": "doc.querySelectorAll('tbody > tr')",
  376.       "title": "row.querySelector('a:nth-child(2)').innerHTML",
  377.       "peers": "row.querySelector('.leeches').innerHTML",
  378.       "seeds": "row.querySelector('.seeds').innerHTML",
  379.       "size": "row.querySelector('tbody > tr .size').textContent.split('B')[0] + 'B'",
  380.       "url": "row.querySelector('a:nth-child(2)').getAttribute('href')"
  381.     },
  382.     "source_is_in_sub_page": true,
  383.     "title_replacement": {
  384.       "'s": "s",
  385.       "\"": ""
  386.     }
  387.   },
  388.   "torlock2": {
  389.     "name": "TORLOCK (anime)",
  390.     "enabled": true,
  391.     "languages": ["en"],
  392.     "base_url": "https://www.torlock2.com",
  393.     "fallback_urls": [],
  394.     "response_type": "text",
  395.     "anime": {
  396.       "query": "/all/torrents/{query}.html",
  397.       "keywords": "{title} {absoluteNumber}"
  398.     },
  399.     "html_parser": {
  400.       "row": "doc.querySelectorAll('.panel-default tbody tr')",
  401.       "title": "row.querySelector('a:nth-child(2)').textContent",
  402.       "peers": "row.querySelector('.tdl').textContent",
  403.       "seeds": "row.querySelector('.tul').textContent",
  404.       "size": "row.querySelector('.ts').textContent",
  405.       "url": "'/tor/'+ row.querySelector('a').getAttribute('href').split('/')[2]+'.torrent'"
  406.     },
  407.     "separator": "-",
  408.     "title_replacement": {
  409.       "'s": "s",
  410.       "\"": ""
  411.     }
  412.   },
  413.   "nayaa": {
  414.     "name": "Nyaa (anime)",
  415.     "enabled": true,
  416.     "languages": ["en"],
  417.     "base_url": "https://nyaa.si",
  418.     "fallback_urls": [],
  419.     "response_type": "text",
  420.     "anime": {
  421.       "query": "/?f=0&c=1_0&q={query}&s=seeders&o=desc",
  422.       "keywords": "{title} {absoluteNumber}"
  423.     },
  424.     "separator": "+",
  425.     "html_parser": {
  426.       "row": "doc.querySelectorAll('.torrent-list tbody tr')",
  427.       "title": "row.querySelector('td:nth-child(2) a:last-child').textContent",
  428.       "peers": "row.querySelector('td:nth-child(7)').textContent",
  429.       "seeds": "row.querySelector('td:nth-child(6)').textContent",
  430.       "size": "row.querySelector('td:nth-child(4)').textContent",
  431.       "url": "row.querySelector('td:nth-child(3) a:nth-child(2)').getAttribute('href')"
  432.     },
  433.     "source_is_in_sub_page": false,
  434.     "title_replacement": {
  435.       "'s": "s",
  436.       "\"": ""
  437.     }
  438.   },
  439.   "torrent9": {
  440.     "name": "Torrent9",
  441.     "enabled": false,
  442.     "languages": ["fr"],
  443.     "base_url": "https://ww1.torrent9.is",
  444.     "fallback_urls": ["https://www.torrent9.uno", "https://www.torrent9.to"],
  445.     "response_type": "text",
  446.     "movie": {
  447.       "query": "/search_torrent/{query}.html",
  448.       "keywords": ["{title.fr}", "{title}"]
  449.     },
  450.     "episode": {
  451.       "query": "/search_torrent/{query}.html",
  452.       "keywords": "{title} {episodeCode}"
  453.     },
  454.     "season": {
  455.       "query": "/search_torrent/{query}.html",
  456.       "keywords": "{title} {seasonCode}"
  457.     },
  458.     "html_parser": {
  459.       "row": "doc.querySelectorAll('.table-responsive tr')",
  460.       "title": "row.querySelector('td:nth-child(1) a').textContent",
  461.       "peers": "row.querySelector('td:nth-child(4)').textContent",
  462.       "seeds": "row.querySelector('td:nth-child(3)').textContent",
  463.       "size": "row.querySelector('td:nth-child(2)').textContent",
  464.       "url": "row.querySelector('td:nth-child(1) a').getAttribute('href')"
  465.     },
  466.     "source_is_in_sub_page": true,
  467.     "title_replacement": {
  468.       "'s": "s",
  469.       "\"": ""
  470.     }
  471.   },
  472.   "eztv": {
  473.     "name": "EZTV",
  474.     "enabled": true,
  475.     "languages": ["en"],
  476.     "base_url": "https://eztv.io",
  477.     "fallback_urls": [
  478.       "https://eztv.re",
  479.       "https://eztv.ag",
  480.       "https://eztv.it",
  481.       "https://eztv.ch",
  482.       "https://eztv.unblocked.llc",
  483.       "https://eztv.unblocker.cc"
  484.     ],
  485.     "response_type": "text",
  486.     "episode": {
  487.       "query": "/search/{query}",
  488.       "keywords": "{title} {episodeCode}"
  489.     },
  490.     "season": {
  491.       "query": "/search/{query}",
  492.       "keywords": [
  493.         "{title} {seasonCode}",
  494.         "{title} season"
  495.       ]
  496.     },
  497.     "html_parser": {
  498.       "row": "doc.querySelectorAll('tr.forum_header_border')",
  499.       "title": "row.querySelector('td:nth-child(2)').textContent",
  500.       "peers": "row.querySelector('td:nth-child(6)').textContent",
  501.       "seeds": "row.querySelector('td:nth-child(6)').textContent",
  502.       "size": "row.querySelector('td:nth-child(4)').textContent",
  503.       "url": "row.querySelector('td:nth-child(3) a').getAttribute('href')"
  504.     },
  505.     "title_replacement": {
  506.       "'s": "s",
  507.       "\"": ""
  508.     }
  509.   },
  510.   "btdb": {
  511.     "name": "btdb",
  512.     "enabled": true,
  513.     "languages": ["en"],
  514.     "base_url": "https://btdb.eu",
  515.     "response_type": "text",
  516.     "movie": {
  517.       "query": "/?s={query}&sort=popular",
  518.       "keywords": "{title} {year}"
  519.     },
  520.     "episode": {
  521.       "query": "/?s={query}&sort=popular",
  522.       "keywords": "{title} {episodeCode}"
  523.     },
  524.     "season": {
  525.       "query": "/?s={query}&sort=popular",
  526.       "keywords": [
  527.         "{title} {seasonCode}",
  528.         "{title} season"
  529.       ]
  530.     },
  531.     "anime": {
  532.       "query": "/?s={query}&sort=popular",
  533.       "keywords": "{title} {absoluteNumber}"
  534.     },
  535.     "html_parser": {
  536.       "row": "doc.querySelectorAll('#results .search-ret-item')",
  537.       "title": "row.querySelector('.item-title').textContent",
  538.       "peers": "row.querySelectorAll('.item-meta-info-value')[4].textContent.replace(',','')",
  539.       "seeds": "row.querySelectorAll('.item-meta-info-value')[3].textContent.replace(',','')",
  540.       "size": "row.querySelectorAll('.item-meta-info-value')[0].textContent.replace(',','')",
  541.       "url": "row.querySelector('.magnet').getAttribute('href')"
  542.     },
  543.     "title_replacement": {
  544.       ".": "",
  545.       ":": "",
  546.       "'": "",
  547.       "&": ""
  548.     }
  549.   },
  550.   "legittorrents": {
  551.     "name": "Legit Torrents",
  552.     "enabled": false,
  553.     "languages": ["en"],
  554.     "base_url": "http://www.legittorrents.info",
  555.     "response_type": "text",
  556.     "movie": {
  557.       "query": "/index.php?page=torrents&active=1&search={query}&category=1",
  558.       "keywords": "{title} "
  559.     },
  560.     "html_parser": {
  561.       "row": "doc.querySelectorAll('#bodyarea tr table:nth-child(3) table.lista tr')",
  562.       "title": "row.querySelector('td:nth-child(2) a').textContent",
  563.       "peers": "row.querySelector('td:nth-child(6)').textContent",
  564.       "seeds": "row.querySelector('td:nth-child(5)').textContent",
  565.       "size": null,
  566.       "url": "row.querySelector('td:nth-child(3) a').getAttribute('href')"
  567.     },
  568.     "source_is_in_sub_page": false,
  569.     "title_replacement": {
  570.       "'s": "s",
  571.       "\"": ""
  572.     }
  573.   },
  574.   "movcr": {
  575.     "name": "MovCr",
  576.     "enabled": false,
  577.     "languages": ["in", "en"],
  578.     "base_url": "https://movcr.tv",
  579.     "fallback_urls": ["https://movcr.cc"],
  580.     "response_type": "text",
  581.     "movie": {
  582.       "query": "/search/search.php?q={query}",
  583.       "keywords": "{title} {year}"
  584.     },
  585.     "episode": {
  586.       "query": "/search/search.php?q={query}",
  587.       "keywords": "{title} {episodeCode}"
  588.     },
  589.     "season": {
  590.       "query": "/search/search.php?q={query}",
  591.       "keywords": "{title} {seasonCode}"
  592.     },
  593.     "anime": {
  594.       "query": "",
  595.       "keywords": "{title} {absoluteNumber}"
  596.     },
  597.     "html_parser": {
  598.       "row": "doc.querySelector('.table-list-wrap').querySelectorAll('tbody tr')",
  599.       "title": "row.querySelector('a:nth-child(2)').innerHTML",
  600.       "peers": "row.querySelector('.coll-2').innerHTML.split('/')[1]",
  601.       "seeds": "row.querySelector('.coll-2').innerHTML.split('/')[0]",
  602.       "size": "row.querySelector('.leeches').innerHTML",
  603.       "url": "row.querySelector('a:nth-child(2)').getAttribute('href')"
  604.     },
  605.     "source_is_in_sub_page": true,
  606.     "title_replacement": {
  607.       ".": "",
  608.       ":": "",
  609.       "'": "",
  610.       "&": ""
  611.     }
  612.   },
  613.   "limetorrents": {
  614.     "name": "limetorrents",
  615.     "enabled": false,
  616.     "languages": ["en"],
  617.     "base_url": "https://www.limetorrents.info",
  618.     "fallback_urls": ["https://www.limetorrents.asia", "https://www.limetorrents.zone"],
  619.     "response_type": "text",
  620.     "separator": "-",
  621.     "movie": {
  622.       "query": "/search/movies/{query}",
  623.       "keywords": "{title} {year}"
  624.     },
  625.     "episode": {
  626.       "query": "/search/tv/{query}",
  627.       "keywords": "{title} {episodeCode}"
  628.     },
  629.     "season": {
  630.       "query": "/search/tv/{query}",
  631.       "keywords": "{title} {seasonCode}"
  632.     },
  633.     "anime": {
  634.       "query": "/search/anime/{query}",
  635.       "keywords": "{title} {absoluteNumber}"
  636.     },
  637.     "html_parser": {
  638.       "row": "doc.querySelectorAll('.table2 tbody tr:nth-child(n+2)')",
  639.       "title": "row.querySelector('.tt-name').textContent",
  640.       "peers": "row.querySelector('.tdseed').textContent.replace(',','')",
  641.       "seeds": "row.querySelector('.tdleech').textContent.replace(',','')",
  642.       "size": "row.querySelector('.tdnormal:nth-child(3)').textContent",
  643.       "url": "row.querySelector('.tt-name a:nth-child(2)').getAttribute('href')"
  644.     },
  645.     "source_is_in_sub_page": true,
  646.     "title_replacement": {
  647.       ".": "",
  648.       ":": "",
  649.       "'": "",
  650.       "&": ""
  651.     }
  652.   },
  653.   "torrentgalaxy": {
  654.     "name": "torrentgalaxy",
  655.     "enabled": true,
  656.     "languages": ["en"],
  657.     "base_url": "https://torrentgalaxy.org",
  658.     "response_type": "text",
  659.     "separator": "+",
  660.     "movie": {
  661.       "query": "/torrents.php?search={query}",
  662.       "keywords": "{imdbId}"
  663.     },
  664.     "episode": {
  665.       "query": "/torrents.php?c41=1&c5=1&c6=1&c7=1&search={query}&lang=0&nox=2",
  666.       "keywords": "{title} {episodeCode}"
  667.     },
  668.     "season": {
  669.       "query": "/torrents.php?c41=1&c5=1&c6=1&c7=1&search={query}&lang=0&nox=2",
  670.       "keywords": [
  671.         "{title} {seasonCode}",
  672.         "{title} season"
  673.       ]
  674.     },
  675.     "anime": {
  676.       "query": "/torrents.php?c28=1&search={query}&lang=0&nox=2",
  677.       "keywords": "{title} {absoluteNumber}"
  678.     },
  679.     "html_parser": {
  680.       "row": "doc.querySelectorAll('.tgxtable .tgxtablerow')",
  681.       "title": "row.querySelectorAll('a') ? row.querySelectorAll('a')[1].getAttribute('title') : ''",
  682.       "peers": "row.querySelectorAll('span[title=\"Seeders/Leechers\"] b')[1].textContent",
  683.       "seeds": "row.querySelectorAll('span[title=\"Seeders/Leechers\"] b')[0].textContent",
  684.       "size": "row.querySelectorAll('.badge-secondary')[0].textContent",
  685.       "url": "row.querySelectorAll('a') ? row.querySelectorAll('a')[4].getAttribute('href') : null"
  686.     },
  687.     "title_replacement": {
  688.       ".": "",
  689.       ":": "",
  690.       "'": "",
  691.       "&": ""
  692.     }
  693.   },
  694.   "bitlord": {
  695.     "name": "bitlord",
  696.     "enabled": true,
  697.     "languages": ["en"],
  698.     "base_url": "https://bitlordsearch.com",
  699.     "response_type": "text",
  700.     "movie": {
  701.       "query": "/search?q={query}",
  702.       "keywords": "{title} {year}"
  703.     },
  704.     "episode": {
  705.       "query": "/search?q={query}",
  706.       "keywords": "{title} {episodeCode}"
  707.     },
  708.     "season": {
  709.       "query": "/search?q={query}",
  710.       "keywords": [
  711.         "{title} {seasonCode}",
  712.         "{title} season"
  713.       ]
  714.     },
  715.     "anime": {
  716.       "query": "/search?q={query}",
  717.       "keywords": "{title} {absoluteNumber}"
  718.     },
  719.     "html_parser": {
  720.       "row": "doc.querySelectorAll('#container table tbody tr.bls-row')",
  721.       "title": "row.querySelector('.title').textContent",
  722.       "peers": "row.querySelector('.peers').textContent",
  723.       "seeds": "row.querySelector('.seeds').textContent",
  724.       "size": "(row.querySelector('.size').textContent < 120 ? row.querySelector('.size').textContent * 1024 : (row.querySelector('.size').textContent > 122880 ? row.querySelector('.size').textContent / 1204  : row.querySelector('.size').textContent))+' MB'",
  725.       "url": "row.querySelector('.magnet-button').getAttribute('href')"
  726.     },
  727.     "title_replacement": {
  728.       ".": "",
  729.       ":": "",
  730.       "'": "",
  731.       "&": ""
  732.     }
  733.   },
  734.   "kickass": {
  735.     "name": "kickass",
  736.     "enabled": true,
  737.     "languages": ["en"],
  738.     "base_url": "https://kickass.vc",
  739.     "fallback_urls": [
  740.       "https://kat.how",
  741.       "https://kat.li",
  742.       "https://kickass.cm",
  743.       "https://kickass2.st",
  744.       "https://kat.sx",
  745.       "https://thekat.info",
  746.       "https://kickass.unblocked.llc"
  747.     ],
  748.     "response_type": "text",
  749.     "movie": {
  750.       "query": "/usearch/{query}%20category:movies/",
  751.       "keywords": "{title} {year}"
  752.     },
  753.     "episode": {
  754.       "query": "/usearch/{query}%20category:tv/",
  755.       "keywords": "{title} {episodeCode}"
  756.     },
  757.     "season": {
  758.       "query": "/usearch/{query}%20category:tv/",
  759.       "keywords": [
  760.         "{title} {seasonCode}",
  761.         "{title} season"
  762.       ]
  763.     },
  764.     "anime": {
  765.       "query": "/usearch/{query}",
  766.       "keywords": "{title} {absoluteNumber}"
  767.     },
  768.     "html_parser": {
  769.       "row": "doc.querySelectorAll('table:nth-child(2) tbody tr:not(.firstr)')",
  770.       "title": "row.querySelector('.cellMainLink').textContent",
  771.       "peers": "row.querySelectorAll('td')[4].textContent",
  772.       "seeds": "row.querySelectorAll('td')[3].textContent",
  773.       "size": "row.querySelector('.nobr').textContent",
  774.       "url": "decodeURIComponent(row.querySelectorAll('a')[1].getAttribute('href').match(/magnet(.*)/)[0])"
  775.     },
  776.     "title_replacement": {
  777.       ".": "",
  778.       ":": "",
  779.       "'": "",
  780.       "&": ""
  781.     }
  782.   },
  783.   "skytorrents": {
  784.     "name": "skytorrents",
  785.     "enabled": true,
  786.     "languages": ["en"],
  787.     "base_url": "https://www.skytorrents.lol",
  788.     "fallback_urls": [],
  789.     "response_type": "text",
  790.     "separator": "+",
  791.     "movie": {
  792.       "query": "?query={query}&category=movie",
  793.       "keywords": "{title} {year}"
  794.     },
  795.     "episode": {
  796.       "query": "?query={query}&category=show",
  797.       "keywords": "{title} {episodeCode}"
  798.     },
  799.     "season": {
  800.       "query": "?query={query}&category=show",
  801.       "keywords": [
  802.         "{title} {seasonCode}",
  803.         "{title} season"
  804.       ]
  805.     },
  806.     "html_parser": {
  807.       "row": "doc.querySelectorAll('.result')",
  808.       "title": "row.querySelector('td:nth-child(1) a').textContent",
  809.       "peers": "row.querySelector('td:nth-child(6)').textContent",
  810.       "seeds": "row.querySelector('td:nth-child(5)').textContent",
  811.       "size": "row.querySelector('td:nth-child(2)').textContent",
  812.       "url": "row.querySelectorAll('td:nth-child(1) a')[2].getAttribute('href')"
  813.     },
  814.     "title_replacement": {
  815.       ".": "",
  816.       ":": "",
  817.       "'": "",
  818.       "&": ""
  819.     }
  820.   },
  821.   "solidtorrents": {
  822.     "name": "solidtorrents",
  823.     "enabled": true,
  824.     "languages": ["en"],
  825.     "base_url": "https://solidtorrents.net/api/v1/search?q={query}&category=video&sort=seeders",
  826.     "response_type": "json",
  827.     "movie": {
  828.       "query": "",
  829.       "keywords": "{title} {year}"
  830.     },
  831.     "episode": {
  832.       "query": "",
  833.       "keywords": "{title} {episodeCode}"
  834.     },
  835.     "season": {
  836.       "query": "",
  837.       "keywords": [
  838.         "{title} {seasonCode}",
  839.         "{title} season"
  840.       ]
  841.     },
  842.     "anime": {
  843.       "query": "",
  844.       "keywords": "{title} {absoluteNumber}"
  845.     },
  846.     "json_format": {
  847.       "results": "results",
  848.       "url": "magnet",
  849.       "title": "title",
  850.       "seeds": "swarm.seeders",
  851.       "peers": "swarm.leechers",
  852.       "size": "size"
  853.     },
  854.     "title_replacement": {
  855.       ".": "",
  856.       ":": "",
  857.       "'": "",
  858.       "&": ""
  859.     }
  860.   },
  861.   "torrentdownloads": {
  862.     "name": "torrentdownloads",
  863.     "enabled": true,
  864.     "languages": ["en"],
  865.     "base_url": "https://www.torrentdownloads.me",
  866.     "fallback_urls": ["https://www.torrentdownloads.info", "http://torrentdownloads.d4.re"],
  867.     "response_type": "text",
  868.     "separator": "+",
  869.     "source_is_in_sub_page": true,
  870.     "movie": {
  871.       "query": "/search/?search={query}",
  872.       "keywords": "{title} {year}"
  873.     },
  874.     "episode": {
  875.       "query": "/search/?search={query}",
  876.       "keywords": "{title} {episodeCode}"
  877.     },
  878.     "season": {
  879.       "query": "/search/?search={query}",
  880.       "keywords": [
  881.         "{title} {seasonCode}",
  882.         "{title} season"
  883.       ]
  884.     },
  885.     "anime": {
  886.       "query": "/search/?search={query}",
  887.       "keywords": "{title} {absoluteNumber}"
  888.     },
  889.     "html_parser": {
  890.       "row": "doc.querySelectorAll('.inner_container')[1].querySelectorAll('.grey_bar3')",
  891.       "title": "row.querySelector('p a').textContent",
  892.       "peers": "row.querySelector('span:nth-child(3)').textContent",
  893.       "seeds": "row.querySelector('span:nth-child(4)').textContent",
  894.       "size": "row.querySelector('span:nth-child(5)').textContent",
  895.       "url": "row.querySelector('p a').getAttribute('href').match('http') || row.querySelector('p a').getAttribute('href').match('php') ? null : row.querySelector('p a').getAttribute('href')"
  896.     },
  897.     "title_replacement": {
  898.       ".": "",
  899.       ":": "",
  900.       "'": "",
  901.       "&": ""
  902.     }
  903.   },
  904.   "torrentdownload": {
  905.     "name": "torrentdownload",
  906.     "enabled": true,
  907.     "languages": ["en"],
  908.     "base_url": "https://www.torrentdownload.ch",
  909.     "response_type": "text",
  910.     "separator": "+",
  911.     "source_is_in_sub_page": true,
  912.     "movie": {
  913.       "query": "/search?q={query}",
  914.       "keywords": "{title} {year}"
  915.     },
  916.     "episode": {
  917.       "query": "/search?q={query}",
  918.       "keywords": "{title} {episodeCode}"
  919.     },
  920.     "season": {
  921.       "query": "/search?q={query}",
  922.       "keywords": [
  923.         "{title} {seasonCode}",
  924.         "{title} season"
  925.       ]
  926.     },
  927.     "anime": {
  928.       "query": "/search?q={query}",
  929.       "keywords": "{title} {absoluteNumber}"
  930.     },
  931.     "html_parser": {
  932.       "row": "doc.querySelectorAll('table:nth-of-type(2) tbody tr:not(:first-child)')",
  933.       "title": "row.querySelector('.tt-name a').textContent",
  934.       "peers": "row.querySelector('.tdleech').textContent.replace(',','')",
  935.       "seeds": "row.querySelector('.tdseed').textContent.replace(',','')",
  936.       "size": "row.querySelector('.tdnormal:nth-of-type(3)').textContent",
  937.       "url": "row.querySelector('.tt-name a').getAttribute('href')"
  938.     },
  939.     "title_replacement": {
  940.       ".": "",
  941.       ":": "",
  942.       "'": "",
  943.       "&": ""
  944.     }
  945.   },
  946.   "yohoho": {
  947.     "name": "YOHOHO",
  948.     "enabled": false,
  949.     "languages": ["ru"],
  950.     "base_url": "https://4h0y.yohoho.cc",
  951.     "response_type": "text",
  952.     "movie": {
  953.       "query": "/?title={query}",
  954.       "keywords": "{title} {year}"
  955.     },
  956.     "episode": {
  957.       "query": "/?title={query}",
  958.       "keywords": [
  959.         "{title} {seasonCode}",
  960.         "{title} season"
  961.       ]
  962.     },
  963.     "html_parser": {
  964.       "row": "doc.querySelectorAll('tbody > tr')",
  965.       "title": "row.querySelector('td:nth-child(3) span').innerText",
  966.       "peers": "2",
  967.       "seeds": "2",
  968.       "size": "row.querySelector('td:nth-child(4) div').innerText",
  969.       "url": "row.querySelector('td:nth-child(5) a').getAttribute('href')"
  970.     }
  971.   },
  972.   "rutor": {
  973.     "name": "RuTor",
  974.     "enabled": false,
  975.     "languages": ["ru"],
  976.     "base_url": "http://rutor.info",
  977.     "response_type": "text",
  978.     "movie": {
  979.       "query": "/search/{query}",
  980.       "keywords": "{title} {year}"
  981.     },
  982.     "episode": {
  983.       "query": "/search/{query}",
  984.       "keywords": "{title} {season}"
  985.     },
  986.     "html_parser": {
  987.       "row": "doc.querySelectorAll('tr.gai, tr.tum')",
  988.       "title": "row.querySelector('td:nth-child(2)').innerText",
  989.       "peers": "row.querySelector('td:nth-child(5) span.green').innerText",
  990.       "seeds": "row.querySelector('td:nth-child(5) span.red').innerText",
  991.       "size": "row.querySelector('td:nth-child(4)').innerText",
  992.       "url": "row.querySelector('td:nth-child(2) a:nth-child(1)').getAttribute('href')"
  993.     }
  994.   },
  995.   "extratorrent": {
  996.     "name": "ExtraTorrent",
  997.     "enabled": false,
  998.     "languages": ["en"],
  999.     "base_url": "https://extratorrent.ag",
  1000.     "response_type": "text",
  1001.     "movie": {
  1002.       "query": "/search/?search={query}&new=1&x=0&y=0",
  1003.       "keywords": "{title} {year}"
  1004.     },
  1005.     "episode": {
  1006.       "query": "/search/?search={query}&new=1&x=0&y=0",
  1007.       "keywords": "{title} {episodeCode}"
  1008.     },
  1009.     "season": {
  1010.       "query": "/search/?search={query}&new=1&x=0&y=0",
  1011.       "keywords": [
  1012.         "{title} {seasonCode}",
  1013.         "{title} season"
  1014.       ]
  1015.     },
  1016.     "anime": {
  1017.       "query": "/search/?search={query}&new=1&x=0&y=0",
  1018.       "keywords": "{title} {absoluteNumber}"
  1019.     },
  1020.     "html_parser": {
  1021.       "row": "doc.querySelectorAll('table.tl tbody tr')",
  1022.       "title": "row.querySelector('td.tli > a').textContent",
  1023.       "peers": "row.querySelector('td:nth-child(7)').textContent",
  1024.       "seeds": "row.querySelector('td:nth-child(6)').textContent",
  1025.       "size": "row.querySelector('td:nth-child(5)').textContent",
  1026.       "url": "row.querySelector('table.tl td:nth-child(1) > a').getAttribute('href')"
  1027.     },
  1028.     "title_replacement": {
  1029.       ".": "",
  1030.       ":": "",
  1031.       "'": "",
  1032.       "&": ""
  1033.     }
  1034.   },
  1035.   "anirena": {
  1036.     "name": "AniRena",
  1037.     "enabled": true,
  1038.     "languages": ["en"],
  1039.     "base_url": "https://www.anirena.com",
  1040.     "response_type": "text",
  1041.     "anime": {
  1042.       "query": "/index.php?t=2&s={query}",
  1043.       "keywords": "{title} {absoluteNumber}"
  1044.     },
  1045.     "html_parser": {
  1046.       "row": "doc.querySelectorAll('div.full2 table tbody tr')",
  1047.       "title": "row.querySelector('td.torrents_small_info_data1').textContent",
  1048.       "peers": "row.querySelector('td.torrents_small_leechers_data1').textContent",
  1049.       "seeds": "row.querySelector('td.torrents_small_seeders_data1').textContent",
  1050.       "size": "row.querySelector('td.torrents_small_size_data1').textContent",
  1051.       "url": "row.querySelector('td.torrents_small_info_data2 > div > a:nth-child(2)').getAttribute('href')"
  1052.     },
  1053.     "title_replacement": {
  1054.       ".": "",
  1055.       ":": "",
  1056.       "'": "",
  1057.       "&": ""
  1058.     }
  1059.   },
  1060.   "anidex": {
  1061.     "name": "AniDex",
  1062.     "enabled": true,
  1063.     "languages": ["en"],
  1064.     "base_url": "https://anidex.info",
  1065.     "response_type": "text",
  1066.     "anime": {
  1067.       "query": "/?q={query}",
  1068.       "keywords": "{title} {absoluteNumber}"
  1069.     },
  1070.     "html_parser": {
  1071.       "row": "doc.querySelectorAll('div tbody tr')",
  1072.       "title": "row.querySelector('span.span-not-1440').textContent",
  1073.       "peers": "row.querySelector('td.text-danger.text-right').textContent",
  1074.       "seeds": "row.querySelector('td.text-success.text-right').textContent",
  1075.       "size": "row.querySelector('td.text-center.td-992').textContent",
  1076.       "url": "row.querySelector('td:nth-child(6) > a').getAttribute('href')"
  1077.     },
  1078.     "title_replacement": {
  1079.       ".": "",
  1080.       ":": "",
  1081.       "'": "",
  1082.       "&": ""
  1083.     }
  1084.   },
  1085.   "animetosho": {
  1086.     "name": "Anime Tosho",
  1087.     "enabled": true,
  1088.     "languages": ["en"],
  1089.     "base_url": "https://animetosho.org",
  1090.     "response_type": "text",
  1091.     "anime": {
  1092.       "query": "/search?q={query}",
  1093.       "keywords": "{title} {absoluteNumber}"
  1094.     },
  1095.     "html_parser": {
  1096.       "row": "doc.querySelectorAll('div.home_list_entry')",
  1097.       "title": "row.querySelector('div.link > a').textContent",
  1098.       "peers": "row.querySelectorAll('.links > span').length > 1 && row.querySelectorAll('.links > span')[1].getAttribute('title') ? row.querySelectorAll('.links > span')[1].getAttribute('title').match(/Leechers:\\s?([0-9])*/)[1] : null",
  1099.       "seeds": "row.querySelectorAll('.links > span').length > 1 && row.querySelectorAll('.links > span')[1].getAttribute('title') ? row.querySelectorAll('.links > span')[1].getAttribute('title').match(/Seeders:\\s?([0-9])*/)[1] : null",
  1100.       "size": "row.querySelector('div.size').textContent",
  1101.       "url": "row.querySelector('.links a:nth-child(3)').getAttribute('href')"
  1102.     },
  1103.     "title_replacement": {
  1104.       ".": "",
  1105.       ":": "",
  1106.       "'": "",
  1107.       "&": ""
  1108.     }
  1109.   },
  1110.   "digbt": {
  1111.     "name": "DIGBT",
  1112.     "enabled": false,
  1113.     "languages": ["en"],
  1114.     "base_url": "https://digbt.unblocked.nz",
  1115.     "fallback_urls": ["https://www.digbt.org"],
  1116.     "response_type": "text",
  1117.     "movie": {
  1118.       "query": "/search/{query}-length-1/",
  1119.       "keywords": "{title} {year}"
  1120.     },
  1121.     "episode": {
  1122.       "query": "/search/{query}-length-1/?c=video&s=length&u=None",
  1123.       "keywords": "{title} {episodeCode}"
  1124.     },
  1125.     "season": {
  1126.       "query": "/search/{query}-length-1/",
  1127.       "keywords": [
  1128.         "{title} {seasonCode}",
  1129.         "{title} season"
  1130.       ]
  1131.     },
  1132.     "anime": {
  1133.       "query": "/search/{query}-length-1/?c=video&s=length&u=None",
  1134.       "keywords": "{title} {absoluteNumber}"
  1135.     },
  1136.     "html_parser": {
  1137.       "row": "doc.querySelectorAll('.x-item')",
  1138.       "title": "row.querySelector('a.title').textContent",
  1139.       "peers": null,
  1140.       "seeds": null,
  1141.       "size": "row.querySelector('.tail').textContent.match(/Size: (.*) D/)[1]",
  1142.       "url": "row.querySelector('div.tail > a').getAttribute('href')"
  1143.     },
  1144.     "title_replacement": {
  1145.       ".": "",
  1146.       ":": "",
  1147.       "'": "",
  1148.       "&": ""
  1149.     }
  1150.   },
  1151.   "ilcorsaronero": {
  1152.     "name": "IlCorsaroNero",
  1153.     "enabled": false,
  1154.     "languages": ["it"],
  1155.     "base_url": "http://ilcorsaronero.ch",
  1156.     "fallback_urls": [],
  1157.     "response_type": "text",
  1158.     "movie": {
  1159.       "query": "/argh.php?search={query}",
  1160.       "keywords": "{title} {year}"
  1161.     },
  1162.     "episode": {
  1163.       "query": "/argh.php?search={query}",
  1164.       "keywords": ["{title.it} {episodeCode}", "{title.original} {episodeCode}"]
  1165.     },
  1166.     "season": {
  1167.       "query": "/argh.php?search={query}",
  1168.       "keywords": ["{title.it} {seasonCode}", "{title.original} {seasonCode}"]
  1169.     },
  1170.     "html_parser": {
  1171.       "row": "doc.querySelectorAll('tr.odd, tr.odd2')",
  1172.       "title": "row.querySelector('td:nth-child(2)').textContent",
  1173.       "peers": "row.querySelector('td:nth-child(7 )').textContent",
  1174.       "seeds": "row.querySelector('td:nth-child(6)').textContent",
  1175.       "size": "row.querySelector('td:nth-child(3)').textContent",
  1176.       "url": "'magnet:?xt=urn:btih:'+ row.querySelector('input').value"
  1177.     },
  1178.     "title_replacement": {
  1179.       "'s": "s",
  1180.       "\"": ""
  1181.     }
  1182.   },
  1183.   "torrentz2": {
  1184.     "name": "torrentz2",
  1185.     "enabled": true,
  1186.     "languages": ["en"],
  1187.     "base_url": "https://torrentz2.eu",
  1188.     "fallback_urls": ["https://torrentz2.is", "https://torrentz2.cc", "https://torrentz2.tv"],
  1189.     "response_type": "text",
  1190.     "movie": {
  1191.       "query": "/search?f={query}",
  1192.       "keywords": "{title} {year}"
  1193.     },
  1194.     "episode": {
  1195.       "query": "/search?f={query}",
  1196.       "keywords": "{title} {episodeCode}"
  1197.     },
  1198.     "season": {
  1199.       "query": "/search?f={query}",
  1200.       "keywords": [
  1201.         "{title} {seasonCode}",
  1202.         "{title} season"
  1203.       ]
  1204.     },
  1205.     "anime": {
  1206.       "query": "/search?f={query}",
  1207.       "keywords": "{title} {absoluteNumber}"
  1208.     },
  1209.     "html_parser": {
  1210.       "row": "doc.querySelectorAll('.results dl')",
  1211.       "title": "row.querySelector('a').textContent",
  1212.       "peers": "row.querySelector('span:nth-child(5)').textContent.replace(',','')",
  1213.       "seeds": "row.querySelector('span:nth-child(4)').textContent.replace(',','')",
  1214.       "size": "row.querySelector('span:nth-child(3)').textContent.replace(',','')",
  1215.       "url": "'magnet:?xt=urn:btih:'+ row.querySelector('a').getAttribute('href').split('/')[1]"
  1216.     },
  1217.     "source_is_in_sub_page": false,
  1218.     "title_replacement": {
  1219.       ".": "",
  1220.       ":": "",
  1221.       "'": "",
  1222.       "&": ""
  1223.     }
  1224.   },
  1225.   "pirateiro": {
  1226.     "name": "pirateiro",
  1227.     "enabled": true,
  1228.     "languages": ["en"],
  1229.     "base_url": "http://pirateiro.com",
  1230.     "fallback_urls": ["https://pirateiro.unblocked.nz"],
  1231.     "response_type": "text",
  1232.     "movie": {
  1233.       "query": "/torrents/?c300=1&search={query}&orderby=tamanho",
  1234.       "keywords": "{title} {year}"
  1235.     },
  1236.     "episode": {
  1237.       "query": "/torrents/?search={query}&c700=1&qualityvideo=0&audiolanguage=0&subtitle=0&imdbrating=0",
  1238.       "keywords": "{title} {episodeCode}"
  1239.     },
  1240.     "season": {
  1241.       "query": "/torrents/?search={query}&c700=1&qualityvideo=0&audiolanguage=0&subtitle=0&imdbrating=0",
  1242.       "keywords": [
  1243.         "{title} {seasonCode}",
  1244.         "{title} season"
  1245.       ]
  1246.     },
  1247.     "anime": {
  1248.       "query": "/torrents/?search={query}&c100=1&c700=1&qualityvideo=0&audiolanguage=0&subtitle=0&imdbrating=0",
  1249.       "keywords": "{title} {absoluteNumber}"
  1250.     },
  1251.     "html_parser": {
  1252.       "row": "doc.querySelectorAll('tr.impar')",
  1253.       "title": "row.querySelector('a > b').textContent",
  1254.       "peers": "row.querySelector('td:nth-child(6) > b > font').textContent.replace(' ', '')",
  1255.       "seeds": "row.querySelector('b > font').textContent.replace(' ', '')",
  1256.       "size": "row.querySelector('td > font').textContent",
  1257.       "url": "row.querySelector('a.imagnet.icon16').getAttribute('href')"
  1258.     },
  1259.     "source_is_in_sub_page": false
  1260.   },
  1261.   "corsarored": {
  1262.     "name": "Corsaro.red",
  1263.     "enabled": false,
  1264.     "languages": ["it"],
  1265.     "base_url": "https://corsaro.red/api/search",
  1266.     "response_type": "json",
  1267.     "http_method": "POST",
  1268.     "movie": {
  1269.       "query": "{\"term\":\"{query}\",\"category\":\"2\"}",
  1270.       "keywords": ["{title.it} {year}", "{title.original} {year}"]
  1271.     },
  1272.     "episode": {
  1273.       "query": "{\"term\":\"{query}\",\"category\":\"1\"}",
  1274.       "keywords": ["{title.it} {episodeCode}", "{title.original} {episodeCode}"]
  1275.     },
  1276.     "season": {
  1277.       "query": "{\"term\":\"{query}\",\"category\":\"1\"}",
  1278.       "keywords": ["{title.it} {seasonCode}", "{title.original} {seasonCode}"]
  1279.     },
  1280.     "anime": {
  1281.       "query": "{\"term\":\"{query}\",\"category\":\"7\"}",
  1282.       "keywords": ["{title.it} {episodeCode}", "{title.original} {episodeCode}"]
  1283.     },
  1284.     "json_format": {
  1285.       "results": "results",
  1286.       "url": "magnet",
  1287.       "title": "title",
  1288.       "seeds": "seeders",
  1289.       "peers": "leechers",
  1290.       "size": "size",
  1291.       "quality": "description"
  1292.     }
  1293.   },
  1294.      "oxtorrent": {
  1295.     "name": "oxtorrent",
  1296.     "enabled": true,
  1297.     "languages": [
  1298.       "fr"
  1299.     ],
  1300.     "base_url": "https://www.oxtorrent.com",
  1301.     "fallback_urls": [
  1302.     ],
  1303.     "response_type": "text",
  1304.     "movie": {
  1305.       "query": "/recherche/{query}",
  1306.       "keywords": "{title} {year}"
  1307.     },
  1308.     "episode": {
  1309.       "query": "/recherche/{query}",
  1310.       "keywords": "{title} {episodeCode}"
  1311.     },
  1312.     "season": {
  1313.       "query": "/recherche/{query}",
  1314.       "keywords": [
  1315.         "{title} {seasonCode}",
  1316.         "{title} season"
  1317.       ]
  1318.     },
  1319.     "anime": {
  1320.       "query": "/recherche/{query}",
  1321.       "keywords": "{title} {episode}"
  1322.     },
  1323.     "separator": "%20",
  1324.     "html_parser": {
  1325.       "row": "doc.querySelectorAll('tbody > tr')",
  1326.       "title": "row.querySelector('a:nth-child(2)').innerHTML",
  1327.       "peers": "row.querySelector(':nth-child(4)').textContent.trim()",
  1328.       "seeds": "row.querySelector(':nth-child(3)').textContent.trim()",
  1329.       "size": "row.querySelector('td:nth-child(2)').textContent.trim()",
  1330.       "url": "row.querySelector('a:nth-child(2)').getAttribute('href')"
  1331.     },
  1332.     "source_is_in_sub_page": true,
  1333.     "title_replacement": {
  1334.       "'s": "s",
  1335.       "\"": ""
  1336.     }
  1337.   }
  1338. }