mirror of
https://github.com/Jackett/Jackett.git
synced 2025-12-24 14:57:09 +01:00
Compare commits
474 Commits
v0.21.1302
...
v0.21.1819
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2960480cd5 | ||
|
|
95aeb22f5b | ||
|
|
d9cb7f7c24 | ||
|
|
aa44dc8649 | ||
|
|
087091c001 | ||
|
|
96fd4a5cbb | ||
|
|
316afb72e4 | ||
|
|
5557e004d7 | ||
|
|
124b45437b | ||
|
|
e6986addce | ||
|
|
4bdef1b390 | ||
|
|
d396ffc43f | ||
|
|
54b2abaf5b | ||
|
|
fc4e37cec7 | ||
|
|
ce2c72c258 | ||
|
|
2cab91b0bb | ||
|
|
1d0e8111eb | ||
|
|
06546391e4 | ||
|
|
6a345502b2 | ||
|
|
ec73cb47d4 | ||
|
|
4074e637e2 | ||
|
|
9f66943ee0 | ||
|
|
0e1d220ea8 | ||
|
|
cf4edafb1b | ||
|
|
0e6cbfd131 | ||
|
|
93968cbb42 | ||
|
|
e2aecd4fcc | ||
|
|
092b862505 | ||
|
|
63a06841cf | ||
|
|
3a56f63d79 | ||
|
|
681655a70a | ||
|
|
25afe75b75 | ||
|
|
0c2d959df3 | ||
|
|
df2db56570 | ||
|
|
3f0bbc93c3 | ||
|
|
825235ffd4 | ||
|
|
016471156e | ||
|
|
5e5b2a93b3 | ||
|
|
cefdfb0a3e | ||
|
|
be248616cf | ||
|
|
e1863f1219 | ||
|
|
c1a2dc239a | ||
|
|
baa02de229 | ||
|
|
8d29a93f41 | ||
|
|
b0fb7d6ba1 | ||
|
|
f6fb03bc7f | ||
|
|
e6cb54199f | ||
|
|
d212f98b50 | ||
|
|
d560175c20 | ||
|
|
e8ea2e6145 | ||
|
|
87797e9eae | ||
|
|
d9653b1002 | ||
|
|
40ce931aa6 | ||
|
|
4b8bc92efa | ||
|
|
0c7b2b88eb | ||
|
|
77bc82c442 | ||
|
|
8a0e3e428c | ||
|
|
7c27353f4c | ||
|
|
0d3b49d9ec | ||
|
|
fab3a117e2 | ||
|
|
f689bcb13c | ||
|
|
73010f0858 | ||
|
|
912aa1bf87 | ||
|
|
1ffe33f52e | ||
|
|
4c1384c22f | ||
|
|
e5fc38e960 | ||
|
|
416b8aab41 | ||
|
|
aff193ddea | ||
|
|
f7ad39090c | ||
|
|
413cdba713 | ||
|
|
09b6c347df | ||
|
|
f078e6b2de | ||
|
|
61dcd3b0d7 | ||
|
|
4bf630e8f3 | ||
|
|
a9c9d68bba | ||
|
|
a918491cb2 | ||
|
|
9cced8180f | ||
|
|
7b5caa0de5 | ||
|
|
397f3c7506 | ||
|
|
f598d9306e | ||
|
|
14bfee2148 | ||
|
|
ad079cd5aa | ||
|
|
a5fe4bd37f | ||
|
|
0eb5861c37 | ||
|
|
22e33a175f | ||
|
|
490911d603 | ||
|
|
56dae5902e | ||
|
|
33ff131856 | ||
|
|
42372d222d | ||
|
|
db326cda99 | ||
|
|
739bce9257 | ||
|
|
5119b72220 | ||
|
|
83d7b3fa9e | ||
|
|
7c49cea4b6 | ||
|
|
96eeff504f | ||
|
|
0dc6554e62 | ||
|
|
f0886ded81 | ||
|
|
ea7c03ead5 | ||
|
|
060d40af3e | ||
|
|
1b5224395d | ||
|
|
bf50af2216 | ||
|
|
312db9950a | ||
|
|
71b0df69d3 | ||
|
|
0dcd98c69a | ||
|
|
192ca73bed | ||
|
|
79d3c95ae7 | ||
|
|
30fd180eed | ||
|
|
9b43a6fd7f | ||
|
|
8918a83582 | ||
|
|
b899b2b269 | ||
|
|
43fbfe9e6b | ||
|
|
b5a6205b99 | ||
|
|
24f7ad61f0 | ||
|
|
396f6da147 | ||
|
|
4f68c84878 | ||
|
|
eb4af9a71f | ||
|
|
ac4f3fe37c | ||
|
|
010efab4d2 | ||
|
|
83c79068f6 | ||
|
|
ef2e8f5988 | ||
|
|
e0f01bab3f | ||
|
|
6aa133a83e | ||
|
|
e8b137ad37 | ||
|
|
0eb92ddbe7 | ||
|
|
dafee25f1f | ||
|
|
9aae72f73b | ||
|
|
21ee114883 | ||
|
|
e94d5eb7dc | ||
|
|
a6c496ed96 | ||
|
|
c4ab9ca40f | ||
|
|
ca02a0e6da | ||
|
|
cb61492e65 | ||
|
|
91095c84b3 | ||
|
|
c40674bfc5 | ||
|
|
548b3f36a0 | ||
|
|
c0fa7d748a | ||
|
|
7d773183c5 | ||
|
|
5fa3031068 | ||
|
|
d15875c619 | ||
|
|
bea8c846b6 | ||
|
|
53002f7a00 | ||
|
|
9aa4a9414c | ||
|
|
a03c657815 | ||
|
|
91d0ed1e19 | ||
|
|
78812787be | ||
|
|
616c809c6f | ||
|
|
9257639f3a | ||
|
|
b418ac8932 | ||
|
|
b02aa3a556 | ||
|
|
8f51748ff2 | ||
|
|
b8d45ad97a | ||
|
|
6b838c4230 | ||
|
|
dbac35253c | ||
|
|
e5500a0a4f | ||
|
|
5f8c5d4943 | ||
|
|
d3049ea26e | ||
|
|
f27ed44bd8 | ||
|
|
d30f61f9ca | ||
|
|
59ec81b943 | ||
|
|
c9022d0617 | ||
|
|
7a692d2640 | ||
|
|
4f1f5ab98c | ||
|
|
3accf9794b | ||
|
|
165c9541d9 | ||
|
|
f44f258795 | ||
|
|
5a0e7415d1 | ||
|
|
8e771dc62a | ||
|
|
4b00491152 | ||
|
|
492a6962f1 | ||
|
|
b71e780584 | ||
|
|
6b2bd3dc66 | ||
|
|
0f4a9c74af | ||
|
|
dc9cbf59a1 | ||
|
|
055ad6d119 | ||
|
|
64092875ea | ||
|
|
4136f73d41 | ||
|
|
9034767182 | ||
|
|
7b258ae9a0 | ||
|
|
cf0ac04b64 | ||
|
|
05889ad7e4 | ||
|
|
540dbb012a | ||
|
|
e3d7ccb3bc | ||
|
|
beff51a8ac | ||
|
|
3f52e0a81c | ||
|
|
e4a82e6d04 | ||
|
|
c503522b51 | ||
|
|
2e9ca58f9f | ||
|
|
d170bfc801 | ||
|
|
241fdcc95e | ||
|
|
1bca9b096d | ||
|
|
cbdf8b8706 | ||
|
|
7aba6dba7c | ||
|
|
fa791e6737 | ||
|
|
0743b96fe3 | ||
|
|
f4305a9a98 | ||
|
|
21363f6dab | ||
|
|
57c077c800 | ||
|
|
7507c54c30 | ||
|
|
9bbf390152 | ||
|
|
df017f2be0 | ||
|
|
a02a8ee40b | ||
|
|
b29e7b1036 | ||
|
|
34bd633fcf | ||
|
|
0533d384d1 | ||
|
|
7643c62103 | ||
|
|
1f0bd16834 | ||
|
|
22e04f32f7 | ||
|
|
3393567535 | ||
|
|
47f64684dd | ||
|
|
64129503fd | ||
|
|
a1ba31fe8f | ||
|
|
3f28767cdc | ||
|
|
2cd5e2e3c7 | ||
|
|
40e3757aac | ||
|
|
48b5b5896a | ||
|
|
1fa91e4cee | ||
|
|
325304828d | ||
|
|
ba61081cb2 | ||
|
|
4b834c0fdb | ||
|
|
40d78cd8d9 | ||
|
|
3fdc981e22 | ||
|
|
466851c838 | ||
|
|
fc7a547775 | ||
|
|
aaaf5957a1 | ||
|
|
7b6f7a81cf | ||
|
|
ca8280f2f7 | ||
|
|
2c67c42f70 | ||
|
|
152ca9c17c | ||
|
|
f2012c3286 | ||
|
|
d3472eefa5 | ||
|
|
64a9d60e38 | ||
|
|
c8c3d2b4f8 | ||
|
|
b347a8e2b6 | ||
|
|
500da754bf | ||
|
|
b5e90d66fc | ||
|
|
d1504794f6 | ||
|
|
17afd1b62e | ||
|
|
1d9c81a7b2 | ||
|
|
3dfb8974dd | ||
|
|
c37e3e4aa2 | ||
|
|
4fc0fc09b8 | ||
|
|
3a4b4d4c0e | ||
|
|
cf8183821f | ||
|
|
55862df046 | ||
|
|
2d11184692 | ||
|
|
0c388d2f0c | ||
|
|
d20608e38b | ||
|
|
b3051081ca | ||
|
|
f603f22195 | ||
|
|
44060958d0 | ||
|
|
9b9b3a4dee | ||
|
|
12fae15085 | ||
|
|
dc3b0bb878 | ||
|
|
272fc5b2b5 | ||
|
|
33bad8ac5e | ||
|
|
f87753ac03 | ||
|
|
53902b74d8 | ||
|
|
92b6c3f4d4 | ||
|
|
b714699592 | ||
|
|
0ab037c104 | ||
|
|
f5a5bd434b | ||
|
|
ca9a36960b | ||
|
|
94eab46cec | ||
|
|
b7c5294277 | ||
|
|
fd93c24ab3 | ||
|
|
064d4471e2 | ||
|
|
e07e870a2f | ||
|
|
c75b14ffc3 | ||
|
|
b89b5baec2 | ||
|
|
161c5ac87c | ||
|
|
faec84093e | ||
|
|
612be39fbf | ||
|
|
ec8401000a | ||
|
|
11f9c5b686 | ||
|
|
31d14ee503 | ||
|
|
3febafcb92 | ||
|
|
cfc3ed95a3 | ||
|
|
e4a7d24d90 | ||
|
|
f16bed1c9c | ||
|
|
e661e104aa | ||
|
|
5830b71c5c | ||
|
|
e23366a680 | ||
|
|
abf538242c | ||
|
|
05d4aceff3 | ||
|
|
0c45b98232 | ||
|
|
f49113c3ee | ||
|
|
4489421af4 | ||
|
|
a068f91ee3 | ||
|
|
b94a529d1d | ||
|
|
8278088f6d | ||
|
|
6aacd7a76f | ||
|
|
38f757bc0f | ||
|
|
392074fa23 | ||
|
|
296ef93683 | ||
|
|
5af1720496 | ||
|
|
31e6abf15d | ||
|
|
4215a228c8 | ||
|
|
67594840a1 | ||
|
|
a068c2c111 | ||
|
|
0a2ae1cdc8 | ||
|
|
98a8ab2ac7 | ||
|
|
50b55e5f3f | ||
|
|
8de3030f39 | ||
|
|
2675a004fe | ||
|
|
a7d3dd463b | ||
|
|
26b5ba74cf | ||
|
|
ced5f7afa3 | ||
|
|
0ebcee082e | ||
|
|
63c2370cc1 | ||
|
|
fe8dddf892 | ||
|
|
e2592121c6 | ||
|
|
69605ec356 | ||
|
|
0c1e3bec44 | ||
|
|
6bca80f992 | ||
|
|
f7e09eb0da | ||
|
|
16c7d8c30b | ||
|
|
85d1842d15 | ||
|
|
1653c05505 | ||
|
|
ca98a6930d | ||
|
|
ea70a9d4ea | ||
|
|
3d6cb98e7e | ||
|
|
883503da0c | ||
|
|
8530dae3b3 | ||
|
|
0306b7822d | ||
|
|
27eacaf71b | ||
|
|
05c9b4b2da | ||
|
|
5d18a1addf | ||
|
|
e2ffb93350 | ||
|
|
1b2e49f24e | ||
|
|
5f66496544 | ||
|
|
9b9f26e77f | ||
|
|
f563bdbc31 | ||
|
|
65ca7fff81 | ||
|
|
4b4a695389 | ||
|
|
e4de4ba4ab | ||
|
|
6b740e3e42 | ||
|
|
508a897893 | ||
|
|
d64ac01a00 | ||
|
|
b9880e1d11 | ||
|
|
f3ff4244c3 | ||
|
|
7b0e053393 | ||
|
|
1ff1f113fe | ||
|
|
5f9e4139d7 | ||
|
|
bceb1219d9 | ||
|
|
ea4af2ba08 | ||
|
|
6daedaa7b8 | ||
|
|
0232102d37 | ||
|
|
d2c105bc57 | ||
|
|
d06ea22be1 | ||
|
|
f6495db7f2 | ||
|
|
37ac0c8ce7 | ||
|
|
3476774c86 | ||
|
|
bb6ca24666 | ||
|
|
5de27199b3 | ||
|
|
be7515e67a | ||
|
|
c6908d41ae | ||
|
|
2e04314bc1 | ||
|
|
97e024b349 | ||
|
|
18c1cb94c3 | ||
|
|
d52ba0f683 | ||
|
|
f64e6463ad | ||
|
|
e6455fa9e6 | ||
|
|
ef6236737b | ||
|
|
55bf1160f4 | ||
|
|
bac290e12b | ||
|
|
01cb75ae5b | ||
|
|
6723fda967 | ||
|
|
f0b263334a | ||
|
|
fa1f96f057 | ||
|
|
778a9ac843 | ||
|
|
0fd663e44e | ||
|
|
96b78fae56 | ||
|
|
4a509205e9 | ||
|
|
c5448a9adb | ||
|
|
d60308fe49 | ||
|
|
bfd16f43ac | ||
|
|
51c14e369e | ||
|
|
e651e4b77f | ||
|
|
5538f534a2 | ||
|
|
d259f603f8 | ||
|
|
29c3d2aa6d | ||
|
|
088d4fe717 | ||
|
|
463f982859 | ||
|
|
381d2881f1 | ||
|
|
3ec3f44bd0 | ||
|
|
0827d83fcd | ||
|
|
a06c1302a6 | ||
|
|
1bea8c1a8a | ||
|
|
e61505fa7b | ||
|
|
37ad1ebead | ||
|
|
3badf9e09e | ||
|
|
a40fa2d4ba | ||
|
|
390789d86e | ||
|
|
5973a7eed4 | ||
|
|
22fbe2c49c | ||
|
|
ab44fe5489 | ||
|
|
32a2b4826c | ||
|
|
f992e60dd6 | ||
|
|
7d521d3f66 | ||
|
|
6633a4ec6e | ||
|
|
34b9d06b27 | ||
|
|
d8bc3f8d70 | ||
|
|
bf34f21903 | ||
|
|
0067c614e4 | ||
|
|
d92bf0f81e | ||
|
|
031ca2c91c | ||
|
|
7d5f74e0c6 | ||
|
|
2becacf719 | ||
|
|
ea785e5d93 | ||
|
|
2b1d6d7394 | ||
|
|
395da2a92f | ||
|
|
72333deede | ||
|
|
c7e1786123 | ||
|
|
710b98e43a | ||
|
|
e2f4fd956f | ||
|
|
6d4da1fe19 | ||
|
|
54e36ce621 | ||
|
|
82a8416ed5 | ||
|
|
983f551adf | ||
|
|
d21dd3970e | ||
|
|
cb95e4541e | ||
|
|
2125359250 | ||
|
|
16d38dbcc2 | ||
|
|
aa4a5f144d | ||
|
|
0e8ba61d48 | ||
|
|
f491c98bf6 | ||
|
|
9cadde6fd5 | ||
|
|
e629e86477 | ||
|
|
f9a3afcbef | ||
|
|
26b059a699 | ||
|
|
193e338390 | ||
|
|
a0cb8e9b25 | ||
|
|
0c54815b22 | ||
|
|
cb7c14e101 | ||
|
|
4077c37e7d | ||
|
|
f11161bfbf | ||
|
|
5bc872e8be | ||
|
|
c5088ca09d | ||
|
|
212ab63216 | ||
|
|
e68e863d91 | ||
|
|
c6b210bc55 | ||
|
|
e0c0899f5b | ||
|
|
07b9586e8b | ||
|
|
3c6e3300f3 | ||
|
|
e2cb31ee4c | ||
|
|
ea4efc9441 | ||
|
|
69ba8c47f4 | ||
|
|
5e2aa247bb | ||
|
|
0aba9f1a4a | ||
|
|
cda27dc8fe | ||
|
|
71ebadaa4e | ||
|
|
0d7ba16754 | ||
|
|
0a672407dd | ||
|
|
42a49785e3 | ||
|
|
ce7f337b18 | ||
|
|
57b9ed80fb | ||
|
|
0f78eaa5cd | ||
|
|
aaab69e03b | ||
|
|
64d2e4b396 | ||
|
|
926a71ab4e | ||
|
|
6baacfc2e6 | ||
|
|
8f132621f2 | ||
|
|
16da980de3 | ||
|
|
797ff8e8c7 | ||
|
|
3a5e381f13 | ||
|
|
6dbd9aa3ba | ||
|
|
4d304817d3 | ||
|
|
31e499c9d3 | ||
|
|
10a5fd9cff | ||
|
|
17c7b42659 | ||
|
|
7fdcbf514f | ||
|
|
aa781291a8 | ||
|
|
b5c73433e2 | ||
|
|
f8d44253c5 |
50
.github/workflows/issuebot.yml
vendored
Normal file
50
.github/workflows/issuebot.yml
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
#
|
||||
name: Redeliver failed webhook deliveries
|
||||
|
||||
# This workflow runs every 6 hours or when manually triggered.
|
||||
on:
|
||||
schedule:
|
||||
- cron: '40 */6 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
# This workflow will use the built in `GITHUB_TOKEN` to check out the repository contents. This grants `GITHUB_TOKEN` permission to do that.
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
#
|
||||
jobs:
|
||||
redeliver-failed-deliveries:
|
||||
name: Redeliver failed deliveries
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
# This workflow will run a script that is stored in the repository. This step checks out the repository contents so that the workflow can access the script.
|
||||
- name: Check out repo content
|
||||
uses: actions/checkout@v4
|
||||
|
||||
# This step sets up Node.js. The script that this workflow will run uses Node.js.
|
||||
- name: Setup Node.js
|
||||
uses: actions/setup-node@v3
|
||||
with:
|
||||
node-version: '18.x'
|
||||
|
||||
# This step installs the octokit library. The script that this workflow will run uses the octokit library.
|
||||
- name: Install dependencies
|
||||
run: npm install octokit
|
||||
|
||||
# This step sets some environment variables, then runs a script to find and redeliver failed webhook deliveries.
|
||||
# - Replace `YOUR_APP_ID_SECRET_NAME` with the name of the secret where you stored your app ID.
|
||||
# - Replace `YOUR_PRIVATE_KEY_SECRET_NAME` with the name of the secret where you stored your private key.
|
||||
# - Replace `YOUR_TOKEN_SECRET_NAME` with the name of the secret where you stored your personal access token.
|
||||
# - Replace `YOUR_LAST_REDELIVERY_VARIABLE_NAME` with the name that you want to use for a configuration variable that will be stored in the repository where this workflow is stored. The name can be any string that contains only alphanumeric characters and `_`, and does not start with `GITHUB_` or a number. For more information, see "[AUTOTITLE](/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows)."
|
||||
|
||||
- name: Run script
|
||||
env:
|
||||
APP_ID: ${{ secrets.PROBOT_ID }}
|
||||
PRIVATE_KEY: ${{ secrets.PROBOT_KEY }}
|
||||
TOKEN: ${{ secrets.PROBOT_TOKEN }}
|
||||
LAST_REDELIVERY_VARIABLE_NAME: 'PROBOT_TIME'
|
||||
|
||||
WORKFLOW_REPO: ${{ github.event.repository.name }}
|
||||
WORKFLOW_REPO_OWNER: ${{ github.repository_owner }}
|
||||
run: |
|
||||
node .github/workflows/scripts/redeliver-failed-deliveries.js
|
||||
221
.github/workflows/scripts/redeliver-failed-deliveries.js
vendored
Normal file
221
.github/workflows/scripts/redeliver-failed-deliveries.js
vendored
Normal file
@@ -0,0 +1,221 @@
|
||||
// This script uses GitHub's Octokit SDK to make API requests. For more information, see "[AUTOTITLE](/rest/guides/scripting-with-the-rest-api-and-javascript)."
|
||||
const { App, Octokit } = require("octokit");
|
||||
|
||||
const sleep = ms => new Promise(r => setTimeout(r, ms));
|
||||
let secondDelivery = true;
|
||||
|
||||
//
|
||||
async function checkAndRedeliverWebhooks() {
|
||||
// Get the values of environment variables that were set by the GitHub Actions workflow.
|
||||
const APP_ID = process.env.APP_ID;
|
||||
const PRIVATE_KEY = process.env.PRIVATE_KEY;
|
||||
const TOKEN = process.env.TOKEN;
|
||||
const LAST_REDELIVERY_VARIABLE_NAME = process.env.LAST_REDELIVERY_VARIABLE_NAME;
|
||||
|
||||
const WORKFLOW_REPO_NAME = process.env.WORKFLOW_REPO;
|
||||
const WORKFLOW_REPO_OWNER = process.env.WORKFLOW_REPO_OWNER;
|
||||
|
||||
// Create an instance of the octokit `App` using the app ID and private key values that were set in the GitHub Actions workflow.
|
||||
//
|
||||
// This will be used to make API requests to the webhook-related endpoints.
|
||||
const app = new App({
|
||||
appId: APP_ID,
|
||||
privateKey: PRIVATE_KEY,
|
||||
});
|
||||
|
||||
// Create an instance of `Octokit` using the token values that were set in the GitHub Actions workflow.
|
||||
//
|
||||
// This will be used to update the configuration variable that stores the last time that this script ran.
|
||||
const octokit = new Octokit({
|
||||
auth: TOKEN,
|
||||
});
|
||||
|
||||
try {
|
||||
// Get the last time that this script ran from the configuration variable. If the variable is not defined, use the current time minus 24 hours.
|
||||
const lastStoredRedeliveryTime = await getVariable({
|
||||
variableName: LAST_REDELIVERY_VARIABLE_NAME,
|
||||
repoOwner: WORKFLOW_REPO_OWNER,
|
||||
repoName: WORKFLOW_REPO_NAME,
|
||||
octokit,
|
||||
});
|
||||
const lastWebhookRedeliveryTime = lastStoredRedeliveryTime || (Date.now() - (24 * 60 * 60 * 1000)).toString();
|
||||
|
||||
// Record the time that this script started redelivering webhooks.
|
||||
const newWebhookRedeliveryTime = Date.now().toString();
|
||||
|
||||
// Get the webhook deliveries that were delivered after `lastWebhookRedeliveryTime`.
|
||||
const deliveries = await fetchWebhookDeliveriesSince({lastWebhookRedeliveryTime, app});
|
||||
|
||||
// Consolidate deliveries that have the same globally unique identifier (GUID). The GUID is constant across redeliveries of the same delivery.
|
||||
let deliveriesByGuid = {};
|
||||
for (const delivery of deliveries) {
|
||||
deliveriesByGuid[delivery.guid]
|
||||
? deliveriesByGuid[delivery.guid].push(delivery)
|
||||
: (deliveriesByGuid[delivery.guid] = [delivery]);
|
||||
}
|
||||
|
||||
// For each GUID value, if no deliveries for that GUID have been successfully delivered within the time frame, get the delivery ID of one of the deliveries with that GUID.
|
||||
//
|
||||
// This will prevent duplicate redeliveries if a delivery has failed multiple times.
|
||||
// This will also prevent redelivery of failed deliveries that have already been successfully redelivered.
|
||||
let failedDeliveryIDs = [];
|
||||
for (const guid in deliveriesByGuid) {
|
||||
const deliveries = deliveriesByGuid[guid];
|
||||
const anySucceeded = deliveries.some(
|
||||
(delivery) => delivery.status === "OK"
|
||||
);
|
||||
if (!anySucceeded) {
|
||||
failedDeliveryIDs.push(deliveries[0].id);
|
||||
}
|
||||
}
|
||||
|
||||
// Redeliver any failed deliveries.
|
||||
for (const deliveryId of failedDeliveryIDs) {
|
||||
await redeliverWebhook({deliveryId, app});
|
||||
// its likely ProBot was asleep when the first redeliver was sent and we know PRoBot startup takes about 12s
|
||||
// so the first redeliver will likely timeout after 10s, but will have started ProBot
|
||||
if (secondDelivery) {
|
||||
secondDelivery = false;
|
||||
// so we wait 13s so that the rest of the redeliveries will succeed
|
||||
await sleep(13000);
|
||||
}
|
||||
}
|
||||
|
||||
// Update the configuration variable (or create the variable if it doesn't already exist) to store the time that this script started.
|
||||
// This value will be used next time this script runs.
|
||||
await updateVariable({
|
||||
variableName: LAST_REDELIVERY_VARIABLE_NAME,
|
||||
value: newWebhookRedeliveryTime,
|
||||
variableExists: Boolean(lastStoredRedeliveryTime),
|
||||
repoOwner: WORKFLOW_REPO_OWNER,
|
||||
repoName: WORKFLOW_REPO_NAME,
|
||||
octokit,
|
||||
});
|
||||
|
||||
// Log the number of redeliveries.
|
||||
console.log(
|
||||
`Redelivered ${
|
||||
failedDeliveryIDs.length
|
||||
} failed webhook deliveries out of ${
|
||||
deliveries.length
|
||||
} total deliveries since ${Date(lastWebhookRedeliveryTime)}.`
|
||||
);
|
||||
} catch (error) {
|
||||
// If there was an error, log the error so that it appears in the workflow run log, then throw the error so that the workflow run registers as a failure.
|
||||
if (error.response) {
|
||||
console.error(
|
||||
`Failed to check and redeliver webhooks: ${error.response.data.message}`
|
||||
);
|
||||
}
|
||||
console.error(error);
|
||||
throw(error);
|
||||
}
|
||||
}
|
||||
|
||||
// This function will fetch all of the webhook deliveries that were delivered since `lastWebhookRedeliveryTime`.
|
||||
// It uses the `octokit.paginate.iterator()` method to iterate through paginated results. For more information, see "[AUTOTITLE](/rest/guides/scripting-with-the-rest-api-and-javascript#making-paginated-requests)."
|
||||
//
|
||||
// If a page of results includes deliveries that occurred before `lastWebhookRedeliveryTime`,
|
||||
// it will store only the deliveries that occurred after `lastWebhookRedeliveryTime` and then stop.
|
||||
// Otherwise, it will store all of the deliveries from the page and request the next page.
|
||||
async function fetchWebhookDeliveriesSince({lastWebhookRedeliveryTime, app}) {
|
||||
const iterator = app.octokit.paginate.iterator(
|
||||
"GET /app/hook/deliveries",
|
||||
{
|
||||
per_page: 100,
|
||||
headers: {
|
||||
"x-github-api-version": "2022-11-28",
|
||||
},
|
||||
}
|
||||
);
|
||||
|
||||
const deliveries = [];
|
||||
|
||||
for await (const { data } of iterator) {
|
||||
const oldestDeliveryTimestamp = new Date(
|
||||
data[data.length - 1].delivered_at
|
||||
).getTime();
|
||||
|
||||
if (oldestDeliveryTimestamp < lastWebhookRedeliveryTime) {
|
||||
for (const delivery of data) {
|
||||
if (
|
||||
new Date(delivery.delivered_at).getTime() > lastWebhookRedeliveryTime
|
||||
) {
|
||||
deliveries.push(delivery);
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
} else {
|
||||
deliveries.push(...data);
|
||||
}
|
||||
}
|
||||
|
||||
return deliveries;
|
||||
}
|
||||
|
||||
// This function will redeliver a failed webhook delivery.
|
||||
async function redeliverWebhook({deliveryId, app}) {
|
||||
await app.octokit.request("POST /app/hook/deliveries/{delivery_id}/attempts", {
|
||||
delivery_id: deliveryId,
|
||||
});
|
||||
}
|
||||
|
||||
// This function gets the value of a configuration variable.
|
||||
// If the variable does not exist, the endpoint returns a 404 response and this function returns `undefined`.
|
||||
async function getVariable({ variableName, repoOwner, repoName, octokit }) {
|
||||
try {
|
||||
const {
|
||||
data: { value },
|
||||
} = await octokit.request(
|
||||
"GET /repos/{owner}/{repo}/actions/variables/{name}",
|
||||
{
|
||||
owner: repoOwner,
|
||||
repo: repoName,
|
||||
name: variableName,
|
||||
}
|
||||
);
|
||||
return value;
|
||||
} catch (error) {
|
||||
if (error.status === 404) {
|
||||
return undefined;
|
||||
} else {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This function will update a configuration variable (or create the variable if it doesn't already exist). For more information, see "[AUTOTITLE](/actions/learn-github-actions/variables#defining-configuration-variables-for-multiple-workflows)."
|
||||
async function updateVariable({
|
||||
variableName,
|
||||
value,
|
||||
variableExists,
|
||||
repoOwner,
|
||||
repoName,
|
||||
octokit,
|
||||
}) {
|
||||
if (variableExists) {
|
||||
await octokit.request(
|
||||
"PATCH /repos/{owner}/{repo}/actions/variables/{name}",
|
||||
{
|
||||
owner: repoOwner,
|
||||
repo: repoName,
|
||||
name: variableName,
|
||||
value: value,
|
||||
}
|
||||
);
|
||||
} else {
|
||||
await octokit.request("POST /repos/{owner}/{repo}/actions/variables", {
|
||||
owner: repoOwner,
|
||||
repo: repoName,
|
||||
name: variableName,
|
||||
value: value,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// This will execute the `checkAndRedeliverWebhooks` function.
|
||||
(async () => {
|
||||
await checkAndRedeliverWebhooks();
|
||||
})();
|
||||
55
README.md
55
README.md
@@ -37,7 +37,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* AudioBook Bay (ABB)
|
||||
* Badass Torrents
|
||||
* Bangumi Moe
|
||||
* BiatchTorrents
|
||||
* BigFANGroup
|
||||
* BitRu
|
||||
* BitSearch
|
||||
@@ -47,7 +46,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Byrutor
|
||||
* Cinecalidad
|
||||
* comicat
|
||||
* ConCen
|
||||
* cpasbien
|
||||
* cpasbienClone
|
||||
* CrackingPatching
|
||||
@@ -61,13 +59,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* EXT Torrents
|
||||
* ExtraTorrent.st
|
||||
* EZTV
|
||||
* Frozen Layer
|
||||
* GamesTorrents
|
||||
* GkTorrent
|
||||
* GloDLS
|
||||
* GTorrent.pro
|
||||
* Idope
|
||||
* Il Corsaro Nero
|
||||
* Internet Archive (archive.org)
|
||||
* Isohunt2
|
||||
* iTorrent
|
||||
@@ -135,7 +131,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentSir (토렌트썰)
|
||||
* TorrentView (토렌트뷰)
|
||||
* TorrentWhiz (토렌트위즈)
|
||||
* Torrentz2eu
|
||||
* Torrentz2nz
|
||||
* TrahT
|
||||
* truPornolabs
|
||||
@@ -143,6 +138,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* VSTHouse
|
||||
* VST Torrentz
|
||||
* VSTorrent
|
||||
* Wolfmax4K
|
||||
* xxxAdultTorrent
|
||||
* XXXClub
|
||||
* xxxtor
|
||||
@@ -174,7 +170,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* File-Tracker
|
||||
* Gay-Torrents.net
|
||||
* Genesis-Movement
|
||||
* HD-Club
|
||||
* HD-CzTorrent
|
||||
* HDGalaKtik
|
||||
* HellTorrents
|
||||
@@ -207,7 +202,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RUDUB (ex-BaibaKoTV)
|
||||
* Rustorka
|
||||
* RuTracker
|
||||
* SATClubbing
|
||||
* seleZen
|
||||
* Sharewood
|
||||
* SkTorrent
|
||||
@@ -216,7 +210,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Toloka.to
|
||||
* TorrentMasters
|
||||
* Torrents-Local
|
||||
* TorrentDownload
|
||||
* TribalMixes
|
||||
* Union Fansub
|
||||
* UniOtaku
|
||||
@@ -242,7 +235,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ABtorrents (ABT + RNS)
|
||||
* Acid Lounge (A-L)
|
||||
* AcrossTheTasman [![(invite needed)][inviteneeded]](#)
|
||||
* ADBT (Anime Datenbank Tracker)
|
||||
* Aftershock
|
||||
* AGSVPT (Artic Global Seed Vault)
|
||||
* Aidoru!Online
|
||||
* Aither
|
||||
* AlphaRatio (AR)
|
||||
@@ -250,7 +245,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* AnimeBytes (AB)
|
||||
* AnimeTorrents (AnT)
|
||||
* AnimeTorrents.ro (Anime Torrents Romania)
|
||||
* AnimeTracker
|
||||
* AnimeWorld
|
||||
* AniToons
|
||||
* Anthelion
|
||||
@@ -276,9 +270,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Bitded
|
||||
* Bithorlo (BHO)
|
||||
* BitHUmen [![(invite needed)][inviteneeded]](#)
|
||||
* Bit Of Valor
|
||||
* BitPorn
|
||||
* BitSexy
|
||||
* Bitspyder
|
||||
* BitTorrentFiles
|
||||
* BiTTuRK
|
||||
@@ -300,7 +292,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Carp-Hunter
|
||||
* Carpathians
|
||||
* CarPT
|
||||
* CartoonChaos (CC)
|
||||
* Cathode-Ray.Tube (CRT)
|
||||
* Central Torrent
|
||||
* CeskeForum
|
||||
@@ -310,15 +301,18 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* ChileBT
|
||||
* Cinemageddon [![(invite needed)][inviteneeded]](#)
|
||||
* CinemaMovieS_ZT
|
||||
* Cinematik [![(invite needed)][inviteneeded]](#)
|
||||
* Cinematik
|
||||
* CinemaZ (EuTorrents)
|
||||
* Classix
|
||||
* Coastal-Crew
|
||||
* ConCen [![(invite needed)][inviteneeded]](#)
|
||||
* Concertos
|
||||
* CrazySpirits
|
||||
* CrnaBerza
|
||||
* Dajiao (打胶) [![(invite needed)][inviteneeded]](#)
|
||||
* DANISH BYTES
|
||||
* Darius Tracker
|
||||
* Dark-Shadow
|
||||
* DataScene (DS)
|
||||
* DesiTorrents
|
||||
* Diablo Torrent
|
||||
@@ -332,6 +326,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Drugari
|
||||
* Ebooks-Shares
|
||||
* Empornium (EMP) [![(invite needed)][inviteneeded]](#)
|
||||
* Enthralled
|
||||
* eShareNet
|
||||
* eStone (BigTorrent)
|
||||
* Exitorrent.org [![(invite needed)][inviteneeded]](#)
|
||||
@@ -349,6 +344,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* FinVip
|
||||
* Flux-Zone
|
||||
* Free Farm (自由农场)
|
||||
* FSM
|
||||
* FunFile (FF)
|
||||
* FunkyTorrents (FT)
|
||||
* FutureTorrent [![(invite needed)][inviteneeded]](#)
|
||||
@@ -363,12 +359,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* GiroTorrent
|
||||
* GreatPosterWall (GPW)
|
||||
* GreekDiamond
|
||||
* Greek Team
|
||||
* HaiDan
|
||||
* Haitang
|
||||
* HappyFappy
|
||||
* Hares Club (白兔俱乐部) [![(invite needed)][inviteneeded]](#)
|
||||
* Hawke-uno
|
||||
* HD Dolby
|
||||
* HD-Club
|
||||
* HD-Forever (HDF)
|
||||
* HD-Olimpo
|
||||
* HD-Only (HDO)
|
||||
@@ -380,8 +376,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDAtmos
|
||||
* HDBits [![(invite needed)][inviteneeded]](#)
|
||||
* HDC (HDCiTY) [![(invite needed)][inviteneeded]](#)
|
||||
* HDChina (HDWing) [![(invite needed)][inviteneeded]](#)
|
||||
* HDFans
|
||||
* HDFun (HDZone)
|
||||
* HDHome (HDBigger) [![(invite needed)][inviteneeded]](#)
|
||||
* HDMaYi
|
||||
* HDPT [![(invite needed)][inviteneeded]](#)
|
||||
@@ -392,8 +388,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* HDTurk
|
||||
* HDU
|
||||
* hdvbits
|
||||
* HDVIDEO
|
||||
* HDZone
|
||||
* Hebits
|
||||
* HellasHut
|
||||
* HHanClub
|
||||
@@ -416,10 +410,12 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* KamePT [![(invite needed)][inviteneeded]](#)
|
||||
* Karagarga
|
||||
* Keep Friends [![(invite needed)][inviteneeded]](#)
|
||||
* KIMOJI
|
||||
* Korsar
|
||||
* KrazyZone
|
||||
* Kufei (库非)
|
||||
* Kufirc
|
||||
* Last Digital Underground (LDU)
|
||||
* LastFiles
|
||||
* Le Saloon
|
||||
* LaidBackManor
|
||||
@@ -438,11 +434,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* LST
|
||||
* M-Team TP (MTTP)
|
||||
* MaDs Revolution
|
||||
* Magico (Trellas) [![(invite needed)][inviteneeded]](#)
|
||||
* Majomparádé (TurkDepo)
|
||||
* Making Off
|
||||
* Mansão dos Animes (MDAN)
|
||||
* MegamixTracker
|
||||
* Mendigos da WEB
|
||||
* MeseVilág (Fairytale World)
|
||||
* MetalGuru [![(invite needed)][inviteneeded]](#)
|
||||
* Milkie
|
||||
@@ -453,7 +449,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* MoreThanTV (MTV)
|
||||
* MouseBits
|
||||
* Movie-Torrentz
|
||||
* MuziekFabriek
|
||||
* MyAnonamouse (MAM)
|
||||
* MySpleen [![(invite needed)][inviteneeded]](#)
|
||||
* NCore
|
||||
@@ -508,11 +503,14 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* RedBits
|
||||
* Red Leaves [![(invite needed)][inviteneeded]](#)
|
||||
* ReelFlix
|
||||
* Resurrect The Net
|
||||
* Resurrect The Net [![(invite needed)][inviteneeded]](#)
|
||||
* RetroFlix
|
||||
* RevolutionTT
|
||||
* RM-HD
|
||||
* Romanian Metal Torrents (RMT)
|
||||
* Rousi
|
||||
* RPTScene (RPTorrents)
|
||||
* SATClubbing
|
||||
* SceneHD [![(invite needed)][inviteneeded]](#)
|
||||
* SceneLinks (SL)
|
||||
* SceneRush
|
||||
@@ -521,6 +519,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* SeedFile
|
||||
* Shadowflow (影) [![(invite needed)][inviteneeded]](#)
|
||||
* Shareisland
|
||||
* SharkPT
|
||||
* Shazbat
|
||||
* SiamBIT
|
||||
* SkipTheCommercials
|
||||
@@ -533,7 +532,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* Speedmaster HD [![(invite needed)][inviteneeded]](#)
|
||||
* SpeedTorrent Reloaded
|
||||
* Spirit of Revolution [![(invite needed)][inviteneeded]](#)
|
||||
* SportHD
|
||||
* SportsCult
|
||||
* SpringSunday [![(invite needed)][inviteneeded]](#)
|
||||
* SugoiMusic
|
||||
@@ -546,6 +544,8 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TeamOS
|
||||
* TEKNO3D [![(invite needed)][inviteneeded]](#)
|
||||
* teracod (Movie Zone)
|
||||
* TGay
|
||||
* The Crazy Ones
|
||||
* The Falling Angels (TFA)
|
||||
* The Geeks
|
||||
* The New Retro
|
||||
@@ -564,6 +564,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TJUPT
|
||||
* TLFBits [![(invite needed)][inviteneeded]](#)
|
||||
* TmGHuB
|
||||
* Toca Share
|
||||
* Tornado
|
||||
* Torrent Network (TN)
|
||||
* Torrent Sector Crew (TSC)
|
||||
@@ -586,12 +587,11 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* TorrentLeech (TL)
|
||||
* TorrentLeech.pl
|
||||
* TorrentSeeds (TS)
|
||||
* TotallyKids (TK)
|
||||
* ToTheGlory (TTG) [![(invite needed)][inviteneeded]](#)
|
||||
* TrackerMK
|
||||
* TranceTraffic
|
||||
* Trellas (Magico) [![(invite needed)][inviteneeded]](#)
|
||||
* TreZzoR [![(invite needed)][inviteneeded]](#)
|
||||
* TurkSeed
|
||||
* TurkTorrent (TT)
|
||||
* TV Chaos UK (TVCUK)
|
||||
* TvRoad
|
||||
@@ -600,11 +600,9 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
|
||||
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
|
||||
* UBits
|
||||
* UHDBits
|
||||
* ULTRA HD
|
||||
* UltraHD
|
||||
* UnionGang
|
||||
* Universal-Torrents
|
||||
* UnleashTheCartoons
|
||||
* UnlimitZ
|
||||
* Upload.cx [![(invite needed)][inviteneeded]](#)
|
||||
* UTOPIA
|
||||
@@ -781,6 +779,11 @@ On a CentOS/RedHat 7 system: [jewflix.jackett](https://galaxy.ansible.com/jewfli
|
||||
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
|
||||
|
||||
|
||||
### Installation on Linux or macOS via Homebrew
|
||||
|
||||
[Homebrew Formulae - Jackett](https://formulae.brew.sh/formula/jackett)
|
||||
|
||||
|
||||
## Installation on macOS
|
||||
|
||||
### Prerequisites
|
||||
|
||||
@@ -11,6 +11,7 @@ variables:
|
||||
# system.debug: true
|
||||
|
||||
trigger:
|
||||
batch: true
|
||||
branches:
|
||||
include:
|
||||
- '*'
|
||||
|
||||
@@ -147,6 +147,10 @@ function loadJackettSettings() {
|
||||
$("#can-upgrade-from-mono").show();
|
||||
}
|
||||
|
||||
if (data.external != null && data.external === true && data.password === '') {
|
||||
$("#warning-external-access").show();
|
||||
}
|
||||
|
||||
$.each(data.notices, function (index, value) {
|
||||
console.log(value);
|
||||
doNotify(value, "danger", "glyphicon glyphicon-alert", false);
|
||||
|
||||
@@ -50,6 +50,12 @@
|
||||
</div>
|
||||
<hr />
|
||||
|
||||
<div id="warning-external-access" hidden class="alert alert-danger text-center" role="alert">
|
||||
<strong>
|
||||
<span class="glyphicon glyphicon-alert"></span> Security Risk: Your instance has external access enabled without using an admin password. <span class="glyphicon glyphicon-alert"></span>
|
||||
</strong>
|
||||
</div>
|
||||
|
||||
<div id="can-upgrade-from-mono" hidden class="alert alert-info" role="alert">
|
||||
<strong>Standalone version of Jackett is now available - Mono not required</strong> <br>
|
||||
To upgrade to the standalone version of Jackett, <a href="https://github.com/Jackett/Jackett#install-on-linux-amdx64" target="_blank" class="alert-link">click here</a> for install instructions.
|
||||
@@ -760,6 +766,6 @@
|
||||
</script>
|
||||
|
||||
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=2023071401"></script>
|
||||
<script type="text/javascript" src="../custom.js?changed=20240126v1"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -13,20 +13,14 @@ links:
|
||||
- https://x1337x.eu/
|
||||
- https://x1337x.se/
|
||||
- https://1337x.so/
|
||||
- https://1337x.unblockit.foo/
|
||||
- https://1337x.unblockit.dad/
|
||||
- https://1337x.unblockninja.com/
|
||||
- https://1337x.ninjaproxy1.com/
|
||||
- https://1337x.mrunblock.bond/
|
||||
- https://1337x.proxyninja.org/
|
||||
- https://1337x.torrentbay.st/
|
||||
legacylinks:
|
||||
- https://1337x.is/
|
||||
- https://1337x.nocensor.work/
|
||||
- https://1337x.nocensor.biz/
|
||||
- https://1337x.gd/
|
||||
- https://1337x.nocensor.sbs/
|
||||
- https://1337x.unblockit.bet/
|
||||
- https://1337x.unblockit.cat/
|
||||
- https://1337x.unblockit.nz/
|
||||
- https://1337x.nocensor.world/
|
||||
- https://1337x.unblockit.page/
|
||||
- https://1337x.unblockit.pet/
|
||||
- https://1337x.nocensor.lol/
|
||||
- https://1337x.unblockit.ink/
|
||||
@@ -34,15 +28,18 @@ legacylinks:
|
||||
- https://1337x.unblockit.bio/
|
||||
- https://1337x.unblockit.boo/
|
||||
- https://1337x.mrunblock.guru/
|
||||
- https://1337x.mrunblock.life/ # cloudflare 403
|
||||
- https://1337x.mrunblock.life/
|
||||
- https://1337x.unblockit.click/
|
||||
- https://1337x.unblockit.asia/
|
||||
- https://1337x.unblockit.mov/
|
||||
- https://1337x.unblockit.rsvp/
|
||||
- https://1337x.unblockninja.com/
|
||||
- https://1337x.unblockit.vegas/
|
||||
- https://1337x.unblockit.esq/
|
||||
- https://1337x.unblockit.zip/
|
||||
- https://1337x.unblockit.foo/
|
||||
- https://1337x.unblockit.ing/
|
||||
- https://1337x.mrunblock.bond/
|
||||
- https://1337x.unblockit.date/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -239,7 +236,7 @@ search:
|
||||
args: ["(?i)WEB\\sDL", "WEB-DL"]
|
||||
- name: re_replace
|
||||
args: ["(?i)HDTVRIP", "HDTV"]
|
||||
category_sub:
|
||||
category_optional:
|
||||
optional: true
|
||||
selector: td[class^="coll-1"] a[href^="/sub/"]
|
||||
attribute: href
|
||||
@@ -248,7 +245,7 @@ search:
|
||||
- name: split
|
||||
args: ["/", 2]
|
||||
category:
|
||||
text: "{{ if .Result.category_sub }}{{ .Result.category_sub }}{{ else }}40{{ end }}"
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}40{{ end }}"
|
||||
details:
|
||||
selector: td[class^="coll-1"] a[href^="/torrent/"]
|
||||
attribute: href
|
||||
|
||||
@@ -189,4 +189,4 @@ search:
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.8 2023-09-25
|
||||
# NexusPHP v1.8.9 2023-11-15
|
||||
|
||||
@@ -68,6 +68,10 @@ settings:
|
||||
type: info
|
||||
label: Upload Speed Limit Rule
|
||||
default: The upload bandwidth shall not exceed 120Mbps, that is, the upload speed shall not exceed 15MB/s.
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolverr</a> to access it.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
|
||||
@@ -29,13 +29,12 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -62,9 +61,23 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="usercp.php"]
|
||||
|
||||
@@ -163,7 +163,7 @@ search:
|
||||
grabs:
|
||||
selector: a[href^="snatches.php?id="]
|
||||
seeders:
|
||||
selector: a[href^="peerlist_xbt.php?id="]
|
||||
selector: td:nth-last-child(3) div:nth-last-child(2)
|
||||
leechers:
|
||||
selector: td:nth-last-child(3) div:last-child
|
||||
downloadvolumefactor:
|
||||
|
||||
@@ -5,8 +5,6 @@ description: "Acid Lounge (A-L) is a Private Torrent Tracker for 0DAY / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
certificates:
|
||||
- ed11f0187f4aafad54382796f112ecf4bec5d76b # Expired 28 Oct 2023
|
||||
links:
|
||||
- https://www.acid-lounge.org.uk/
|
||||
|
||||
@@ -143,7 +141,6 @@ search:
|
||||
selector: a[href^="download.php?"]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
selector: span.torrent_small_desc
|
||||
genre:
|
||||
selector: span.torrent_small_desc
|
||||
|
||||
@@ -53,7 +53,11 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "torrents.php?sort={{ .Config.sort }}&order={{ .Config.order}}&query={{ .Keywords }}"
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.order }}"
|
||||
query: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: table[width='100%'][align='center']:not([class]) > tbody > tr
|
||||
|
||||
178
src/Jackett.Common/Definitions/adbt.yml
Normal file
178
src/Jackett.Common/Definitions/adbt.yml
Normal file
@@ -0,0 +1,178 @@
|
||||
---
|
||||
id: adbt
|
||||
name: ADBT
|
||||
description: "ADBT (Anime Datenbank Tracker) is a GERMAN Private Tracker for Anime, Hentai and Cartoons"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://adbt.is-into-anime.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 34, cat: Console, desc: "3D Game"}
|
||||
- {id: 35, cat: Movies, desc: "3D Movie"}
|
||||
- {id: 36, cat: Audio, desc: "3D OST"}
|
||||
- {id: 37, cat: TV, desc: "3D Serie"}
|
||||
- {id: 38, cat: XXX, desc: "3D XXX"}
|
||||
- {id: 39, cat: Audio, desc: "ADBT Radio"}
|
||||
- {id: 40, cat: Audio/Video, desc: "AMV"}
|
||||
- {id: 21, cat: Console, desc: "Anime Games"}
|
||||
- {id: 41, cat: Movies, desc: "Anime Live"}
|
||||
- {id: 6, cat: TV/Anime, desc: "Anime Movies"}
|
||||
- {id: 24, cat: Audio, desc: "Anime OST"}
|
||||
- {id: 42, cat: TV/Anime, desc: "Anime OVA"}
|
||||
- {id: 12, cat: TV/Anime, desc: "Anime Serien"}
|
||||
- {id: 23, cat: Other, desc: "Anime Sonstige"}
|
||||
- {id: 28, cat: Other, desc: "Bildergalerien"}
|
||||
- {id: 43, cat: Books, desc: "Comic"}
|
||||
- {id: 44, cat: Books, desc: "Doujinshi"}
|
||||
- {id: 53, cat: XXX, desc: "Hentai Doujinshi"}
|
||||
- {id: 27, cat: Console, desc: "Hentai Games"}
|
||||
- {id: 45, cat: Books, desc: "Hentai Light Novel"}
|
||||
- {id: 54, cat: Books, desc: "Hentai Manga"}
|
||||
- {id: 25, cat: Movies, desc: "Hentai Movies"}
|
||||
- {id: 4, cat: TV, desc: "Hentai Serien"}
|
||||
- {id: 46, cat: Other, desc: "Hentai Visual Novel"}
|
||||
- {id: 47, cat: Audio, desc: "J-Music"}
|
||||
- {id: 48, cat: Books, desc: "Light Novel"}
|
||||
- {id: 33, cat: Books, desc: "Manga"}
|
||||
- {id: 49, cat: Audio, desc: "Music"}
|
||||
- {id: 9, cat: Other, desc: "Sonstiges"}
|
||||
- {id: 50, cat: Other, desc: "Visual Novel"}
|
||||
- {id: 51, cat: Console, desc: "Zeichentrick Game"}
|
||||
- {id: 31, cat: Movies, desc: "Zeichentrick Movie"}
|
||||
- {id: 52, cat: Audio, desc: "Zeichentrick OST"}
|
||||
- {id: 30, cat: TV, desc: "Zeichentrick Serie"}
|
||||
- {id: 32, cat: XXX, desc: "Zeichentrick XXX"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: onlyupload
|
||||
type: checkbox
|
||||
label: Search OnlyUpload only
|
||||
default: false
|
||||
- name: info_free
|
||||
type: info
|
||||
label: About OnlyUpload at ADBT
|
||||
default: "<ul><li>OnlyUpload are torrents where download is not counted but upload is. Good for building your Ratio up. (On the Jackett dashboard search results these are tagged as Freeleech).</li></ul>"
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents pro Seite:</b> (Torrents per Page) setting to <b>100</b> on your Profile. The default is <i>15</i>.
|
||||
- name: info_layout
|
||||
type: info
|
||||
label: Torrent Page layout
|
||||
default: Only the <b>Platzsparendes Layout mit PopUp für zusätzliche Informationen (Space saving layout using pop-ups for detailed information)</b> on your Profile is supported by this indexer. <i>Tabellarisches Layout, sehr breite Darstellung (Schedular layout, width display)</i> will return no results.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.tableinborder:contains("Login fehlgeschlagen!") > tbody > tr > td.tablea
|
||||
test:
|
||||
path: index.php?
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
showsearch: 1
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 UpOn, 3 dead
|
||||
incldead: "{{ if .Config.onlyupload }}2{{ else }}1{{ end }}"
|
||||
# 0 title, 1 title + descr, 2 descr
|
||||
suchwo: 0
|
||||
# search by type: - all, etc
|
||||
tt: "-"
|
||||
# search in series: - none, etc
|
||||
se: "-"
|
||||
# 0 all, etc
|
||||
team: 0
|
||||
# 0 all, etc
|
||||
subcat: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
# site does not support imdbid searching or display imdb links in results.
|
||||
|
||||
rows:
|
||||
selector: table.tableinborder:has(colgroup) > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download/"]
|
||||
attribute: href
|
||||
size:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td > b
|
||||
files:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td > b:nth-child(2)
|
||||
seeders:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > b > font
|
||||
leechers:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(2) > a + b > font
|
||||
grabs:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(3) > b
|
||||
date:
|
||||
selector: td.tablea > table > tbody > tr:nth-child(2) > td:nth-child(5)
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\u00a0", " "]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/upon.gif"]: 0 # only upload is counted
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# NetVision (custom)
|
||||
@@ -1,29 +1,40 @@
|
||||
---
|
||||
id: hdvideo
|
||||
name: HDVIDEO
|
||||
description: "HDVIDEO is a CHINESE Private torrent tracker for MOVIES / TV / GENERAL"
|
||||
id: agsvpt
|
||||
name: AGSVPT
|
||||
description: "AGSVPT (Arctic Global Seed Vault) is a CHINESE Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://hdvideo.one/
|
||||
- https://abroad.agsvpt.com/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies/电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series/电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries/纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime/动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos/演唱会"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports/体育"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio/音乐"}
|
||||
- {id: 401, cat: Movies, desc: "Movie(电影)", default: true}
|
||||
- {id: 402, cat: TV, desc: "TV Series(电视剧)", default: true}
|
||||
- {id: 403, cat: TV, desc: "TV Shows(综艺)", default: true}
|
||||
- {id: 405, cat: TV/Anime, desc: "Anime(动漫)", default: true}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries(纪录片)", default: true}
|
||||
- {id: 419, cat: TV, desc: "Playlet(短剧)", default: true}
|
||||
- {id: 411, cat: Audio, desc: "Music(音乐))", default: true}
|
||||
- {id: 406, cat: Audio/Video, desc: "MV(演唱", default: true}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports(体育)", default: true}
|
||||
- {id: 408, cat: Audio/Audiobook, desc: "Audio(音频)", default: true}
|
||||
# special
|
||||
- {id: 413, cat: PC/Games, desc: "Game(游戏)", default: false}
|
||||
- {id: 416, cat: Books/Comics, desc: "Comic(漫画)", default: false}
|
||||
- {id: 412, cat: PC/0day, desc: "Software(软件)", default: false}
|
||||
- {id: 418, cat: Other, desc: "Picture(图片)", default: false}
|
||||
- {id: 415, cat: Books/EBook, desc: "E-Book(电子书/有声书)", default: false}
|
||||
- {id: 417, cat: Other, desc: "Education(学习资料)", default: false}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, doubanid]
|
||||
movie-search: [q, imdbid, doubanid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
@@ -38,7 +49,7 @@ settings:
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HDVIDEO Web Site. Otherwise just leave it empty."
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the AGSVPT Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -62,16 +73,12 @@ settings:
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
default: For best results, change the <b>每页种子数:每页显示</b><i>(Torrents per page:)</i> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
path: agsvpt
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
@@ -83,6 +90,8 @@ login:
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
message:
|
||||
selector: td.text
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -90,6 +99,9 @@ login:
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
categories: [401, 402, 403, 405, 404, 419, 411, 406, 407, 408]
|
||||
- path: special.php
|
||||
categories: [413, 416, 412, 418, 415, 417]
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
@@ -128,14 +140,9 @@ search:
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
# site currently only has a badge and rating, the id is not present. just in case a future update.
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img[data-src]
|
||||
attribute: data-src
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
@@ -179,7 +186,20 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
description_verified:
|
||||
case:
|
||||
span[title="通过"]: "Verified:"
|
||||
span[title="未审"]: "Unverified:"
|
||||
span[title="拒绝"]: "Banned:"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-06-18
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.8 2023-09-25
|
||||
@@ -163,6 +163,6 @@ search:
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 5 days (as seconds = 3 x 24 x 60 x 60)
|
||||
# 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
text: 432000
|
||||
# json UNIT3D 7.1.0b
|
||||
# json UNIT3D 7.2.5
|
||||
|
||||
@@ -88,11 +88,10 @@ search:
|
||||
selector: article
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
optional: true
|
||||
selector: a[href*="category="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 54
|
||||
case:
|
||||
a[href$="3d_hentai"]: 51
|
||||
a[href$="3dcg_game"]: 55
|
||||
@@ -111,6 +110,8 @@ search:
|
||||
a[href$="original_hentai"]: 48
|
||||
a[href$="rus-game"]: 57
|
||||
a[href$="uncensored"]: 45
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}54{{ end }}"
|
||||
title:
|
||||
selector: h2.title a
|
||||
details:
|
||||
@@ -124,7 +125,6 @@ search:
|
||||
attribute: src
|
||||
description:
|
||||
selector: div[itemprop="description"]
|
||||
optional: true
|
||||
date:
|
||||
selector: li:has(img#adddate)
|
||||
filters:
|
||||
|
||||
@@ -11,11 +11,13 @@ links:
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Anime: TV/Anime
|
||||
anime: TV/Anime
|
||||
books: Books
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
book-search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
@@ -37,11 +39,12 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Anime
|
||||
selector: span.badge.badge-primary
|
||||
title:
|
||||
selector: div.flex.flex-wrap ~ p
|
||||
selector: a[href*="/view/"]
|
||||
details:
|
||||
text: /
|
||||
selector: a[href*="/view/"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
@@ -62,6 +65,15 @@ search:
|
||||
text: 1
|
||||
leechers:
|
||||
text: 1
|
||||
genre:
|
||||
selector: span.badge.badge-secondary
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["non english", "non_english"]
|
||||
- name: replace
|
||||
args: ["music video", "music_video"]
|
||||
- name: replace
|
||||
args: ["Anime Time", "Anime_Time"]
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -41,7 +41,9 @@ caps:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}?s={{ .Keywords}}{{ else }}{{ end }}"
|
||||
- path: /
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: table tbody tr:has(td.torrents_small_type_data1)
|
||||
|
||||
@@ -60,7 +60,8 @@ search:
|
||||
q: "{{ .Keywords }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
cat: "{{ join .Categories \",\" }}"
|
||||
# category filtering is disabled since it seems to rely on the AND operator that prevents some releases to show on search.
|
||||
# cat: "{{ join .Categories \",\" }}"
|
||||
limit: 100
|
||||
offset: 0
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ caps:
|
||||
- {id: 57, cat: TV/Foreign, desc: "مسلسلات آسيوية (Asian Series)"}
|
||||
- {id: 42, cat: Movies/Foreign, desc: "افلام اجنبيه (Foreign)"}
|
||||
- {id: 74, cat: Movies/HD, desc: "جودة عالية HD"}
|
||||
- {id: 76, cat: Movies/3D, desc: "&ثلاثي الابعاد 3D (3D)"}
|
||||
- {id: 76, cat: Movies/3D, desc: "ثلاثي الابعاد (3D)"}
|
||||
- {id: 59, cat: Movies/Foreign, desc: "افلام آسيوية (Asian Movies)"}
|
||||
- {id: 86, cat: Movies/Foreign, desc: "افلام هنديه (Indian Movies)"}
|
||||
# انمي مدبلج عربي Anime Arabic dubbed
|
||||
@@ -88,7 +88,6 @@ caps:
|
||||
- {id: 65, cat: Other, desc: "صور (Images)"}
|
||||
- {id: 56, cat: Other, desc: "رياضي (Sport)"}
|
||||
- {id: 46, cat: Other, desc: "منوع (Misc)"}
|
||||
- {id: 112, cat: Other, desc: "رمضان 2023"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -127,8 +127,42 @@ search:
|
||||
date:
|
||||
selector: time
|
||||
filters:
|
||||
- name: append
|
||||
args: " ago"
|
||||
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portuguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch|Chinese|Japanese|Swedish
|
||||
- name: re_replace
|
||||
args: ["(?i)(önce|tagasi|geleden|fa|temu|siden|há|atrás|nazpět|назад|acum|în urmă|hace|il y a|vor|преди|前|sedan)", " ago"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saniye|sekundit|sekunder|secondi|sekund|segundos|sekundami|секунд|secunde|secondes|Sekunden|секунди|seconden|秒前)", "seconds"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten|minuter)", "minutes"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut|分钟|分)", " minute"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden|timmar)", "hours"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur|小时|時間|timme)", " hour"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen|dagar)", "days"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден|天|日)", " day"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken|veckor)", "weeks"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица|周|週間|vecka)", " week"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (ay)", "month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden|månader)", "months"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|Monat|месец|maand|个月|ヶ月|månad)", " month"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(aastat|anni|lata|anos|roky|года|ani|años|ans|Jahren|години)", " years"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(yil|aasta|år|anno|rok|ano|год|año|Jahr|година|jaar|年)", " year"]
|
||||
- name: re_replace
|
||||
args: ["(?i) (an)", "year"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(För |und)", ""] # Misc removals
|
||||
- name: timeago
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[class*="fa-id-badge text-orange"]: 0 # 24 Hour FreeLeech From BON Store
|
||||
|
||||
@@ -91,11 +91,10 @@ search:
|
||||
selector: table.torrenttable_helper > tbody > tr:has(img)
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
selector: img[class^="cat-"]
|
||||
attribute: class
|
||||
optional: true
|
||||
default: 12
|
||||
case:
|
||||
img.cat-anime: 1
|
||||
img.cat-hk: 2
|
||||
@@ -113,6 +112,8 @@ search:
|
||||
img.cat-pinku: 12
|
||||
img.cat-drama: 15
|
||||
img.cat-ost: 16
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}12{{ end }}"
|
||||
title:
|
||||
selector: span[id]
|
||||
details:
|
||||
|
||||
@@ -317,6 +317,10 @@ search:
|
||||
selector: td[title^="Replies:"]
|
||||
optional: true
|
||||
default: 0
|
||||
description:
|
||||
case:
|
||||
span.tor-approved: Verified
|
||||
span.tor-not-approved: Unverified
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -51,6 +51,7 @@ caps:
|
||||
- {id: 9, cat: TV, desc: "TV-Boxsets"}
|
||||
- {id: 11, cat: TV, desc: "TV/x264"}
|
||||
- {id: 10, cat: TV, desc: "TV/Xvid"}
|
||||
- {id: 73, cat: Console, desc: "Wolfanoz"}
|
||||
- {id: 14, cat: TV/Sport, desc: "WWE"}
|
||||
- {id: 26, cat: Console, desc: "Xbox"}
|
||||
- {id: 12, cat: Console, desc: "XBOX360"}
|
||||
|
||||
@@ -8,8 +8,6 @@ encoding: UTF-8
|
||||
requestDelay: 5
|
||||
links:
|
||||
- https://badasstorrents.com/
|
||||
- https://badasstorrents.mrunblock.bond/
|
||||
- https://badasstorrents.nocensor.cloud/
|
||||
legacylinks:
|
||||
- https://badasstorrents.nocensor.work/
|
||||
- https://badasstorrents.nocensor.biz/
|
||||
@@ -20,6 +18,8 @@ legacylinks:
|
||||
- https://badasstorrents.mrunblock.guru/
|
||||
- https://badasstorrents.mrunblock.life/
|
||||
- https://badasstorrents.nocensor.click/
|
||||
- https://badasstorrents.mrunblock.bond/
|
||||
- https://badasstorrents.nocensor.cloud/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -68,8 +68,12 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "torrents{{ if .Keywords }}/search/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "torrents{{ if .Keywords }}/search/{{ .Keywords }}{{ else }}{{ end }}/26"
|
||||
# search has 10 torrents per page, latest has 100 torrents per page.
|
||||
- path: "{{ if .Keywords }}search/{{ .Keywords }}{{ else }}latest.html{{ end }}"
|
||||
- path: "{{ if .Keywords }}/search/{{ .Keywords }}&page=10{{ else }}{{ end }}"
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["[\\s]+", "-"]
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr:has(a[href*="/torrent/"])
|
||||
@@ -78,7 +82,7 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/cat/"]
|
||||
selector: a[href*="/category/"]
|
||||
title:
|
||||
selector: a[href*="/torrent/"]
|
||||
details:
|
||||
@@ -88,15 +92,15 @@ search:
|
||||
selector: a[href*="/torrent/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
selector: td:nth-child(3)
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
selector: td:nth-child(4)
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
selector: td:nth-child(5)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
selector: td:nth-child(6)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -5,6 +5,7 @@ description: "Bangumi Moe is a Public torrent site for ANIME"
|
||||
language: en-US
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 3
|
||||
links:
|
||||
- https://bangumi.moe/
|
||||
|
||||
@@ -60,7 +61,6 @@ search:
|
||||
args: "src=\\\"(.+?)\\\""
|
||||
description:
|
||||
selector: category_tag.locale.en
|
||||
optional: true
|
||||
date:
|
||||
# 2021-10-19T06:10:15.772Z
|
||||
selector: publish_time
|
||||
|
||||
@@ -98,7 +98,8 @@ search:
|
||||
# does not support imdbid searches
|
||||
|
||||
rows:
|
||||
selector: "td.text table tbody tr:has(a[href^=\"details.php?id=\"]):not(:has(a[href=\"browse.php?cat=0\"]))"
|
||||
selector: "div.torrents-container > table > tbody > tr > td.text > table > tbody > tr:has(a[href^=\"details.php?id=\"]):not(:has(a[href=\"browse.php?cat=0\"]))"
|
||||
after: 1
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -108,11 +109,8 @@ search:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href^="details.php?id="][title]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "Név: (.+?)(\\n|$)"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
@@ -126,30 +124,35 @@ search:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
selector: td:nth-last-child(6) > a
|
||||
attribute: title
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
files:
|
||||
selector: td:nth-last-child(7)
|
||||
selector: td:nth-last-child(8)
|
||||
size:
|
||||
selector: td:nth-last-child(4) b
|
||||
selector: td:nth-last-child(5) b
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
selector: td:nth-last-child(4)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
selector: td:nth-last-child(3)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
selector: td:nth-last-child(2)
|
||||
description:
|
||||
case:
|
||||
i.fa-check: Verified
|
||||
i.fa-question: Unverified
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
font:contains("x0"): 0
|
||||
"span[style=\"font-size: 10px;\"]:contains(\"0x\")": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
font:contains("x2"): 2
|
||||
font:contains("x4"): 4
|
||||
"span[style=\"font-size: 10px;\"]:contains(\"2x\")": 2
|
||||
"span[style=\"font-size: 10px;\"]:contains(\"4x\")": 4
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
|
||||
@@ -123,14 +123,15 @@ search:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 38
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}38{{ end }}"
|
||||
title_default:
|
||||
# can be abbreviated
|
||||
selector: a[href^="details.php?id="]
|
||||
@@ -181,6 +182,10 @@ search:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
description:
|
||||
case:
|
||||
img[src="pic/yes.png"]: Verified
|
||||
img[src="pic/nincs.png"]: Unverified
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
|
||||
@@ -1,133 +0,0 @@
|
||||
---
|
||||
id: beyond-hd
|
||||
name: Beyond-HD
|
||||
description: "Without BeyondHD, your HDTV is just a TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://beyond-hd.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Movies"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: info_oid
|
||||
type: info
|
||||
label: "About 2FA"
|
||||
default: "If you want to enable 2FA then use the Beyond-HD (API) indexer instead."
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
form: form[action$="/login"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[src^="/captcha?_CAPTCHA"]
|
||||
input: key
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
remember: on
|
||||
selectorinputs:
|
||||
_token:
|
||||
selector: input[name="_token"]
|
||||
attribute: value
|
||||
error:
|
||||
- selector: form[action$="/login"] .text-red
|
||||
- selector: script:contains("toastr.error")
|
||||
message:
|
||||
selector: script:contains("toastr.error")
|
||||
# test:
|
||||
# path: torrents
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}categories[]={{.}}&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}" # for dashboard imdbid search
|
||||
imdb: "{{ .Query.IMDBIDShort }}"
|
||||
tmdb: "{{ .Query.TMDBID }}"
|
||||
sorting: "{{ .Config.sort }}"
|
||||
direction: "{{ .Config.type }}"
|
||||
qty: 100
|
||||
|
||||
rows:
|
||||
selector: div.table-torrents > table > tbody > tr[id^="torrentposter"]
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="/categories/"]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 1
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "/categories/.*?\\.(\\d+)"
|
||||
title:
|
||||
selector: a.torrent-name
|
||||
details:
|
||||
selector: a.torrent-name
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href*="/download/"]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:not(a[href$="/history"]) span.text-orange
|
||||
filters:
|
||||
- name: timeago
|
||||
size:
|
||||
selector: td span.text-blue
|
||||
seeders:
|
||||
selector: a[href$="/peers"] span.text-green
|
||||
leechers:
|
||||
selector: a[href$="/peers"] span.text-red
|
||||
grabs:
|
||||
selector: a[href$="/history"]
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
tmdbid:
|
||||
selector: a[href*="themoviedb.org/movie/"], a[href*="themoviedb.org/tv/"]
|
||||
attribute: href
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
i[data-original-title="100% Free"]: 0
|
||||
i[data-original-title="100% Free (Limited UL)"]: 0
|
||||
i[data-original-title="25% Promo"]: 0.75
|
||||
i[data-original-title="50% Promo"]: 0.5
|
||||
i[data-original-title="75% Promo"]: 0.25
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# UNIT3D (custom)
|
||||
@@ -1,67 +0,0 @@
|
||||
---
|
||||
id: biatch
|
||||
name: BiatchTorrents
|
||||
description: "BiatchTorrents is a FRENCH Public torrent site for MOVIES / TV / GENERAL"
|
||||
type: public
|
||||
language: fr-FR
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://biat.ch/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
Other: Other
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings: []
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: search
|
||||
method: get
|
||||
response:
|
||||
type: json
|
||||
|
||||
inputs:
|
||||
$raw: "format=json&q={{ .Keywords }}"
|
||||
keywordsfilters:
|
||||
# ignore ' (e.g. search for america's Next Top Model)
|
||||
- name: re_replace
|
||||
args: ["[^\\w]+", " "]
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: id
|
||||
category:
|
||||
text: Other
|
||||
title:
|
||||
selector: name
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}"
|
||||
download:
|
||||
text: "download?id={{ .Result._id }}"
|
||||
infohash:
|
||||
text: "{{ .Result._id }}"
|
||||
date:
|
||||
selector: date
|
||||
size:
|
||||
selector: size
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\w)o", "$1B"]
|
||||
grabs:
|
||||
selector: completed
|
||||
seeders:
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: leechers
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# json engine n/a
|
||||
@@ -30,7 +30,7 @@ caps:
|
||||
- {id: 71, cat: Audio/Lossless, desc: "FLAC-Eng", default: true}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék", default: true}
|
||||
- {id: 81, cat: PC/0day, desc: "Program", default: true}
|
||||
- {id: 14, cat: PC, desc: "Program-Egyéb", default: true}
|
||||
- {id: 14, cat: Other, desc: "Egyéb", default: true}
|
||||
- {id: 66, cat: XXX/ImageSet, desc: "XXX", default: false}
|
||||
- {id: 33, cat: XXX/SD, desc: "XXX-SD", default: false}
|
||||
- {id: 89, cat: XXX/x264, desc: "XXX-HD", default: false}
|
||||
|
||||
@@ -151,6 +151,10 @@ search:
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
description:
|
||||
case:
|
||||
img[src="./themes/Born/nemlatta.png"]: Unverified
|
||||
"*": Verified
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[title="Ingyenes letöltés"]: 0
|
||||
|
||||
@@ -1,161 +0,0 @@
|
||||
---
|
||||
id: bitofvalor
|
||||
name: Bit Of Valor
|
||||
description: "Bit Of Valor is a HUNGARIAN Private Tracker for MOVIES / TV"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: ISO-8859-2
|
||||
links:
|
||||
- https://bitvalor.hu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 26, cat: Books, desc: "E-Book/ENG"}
|
||||
- {id: 27, cat: Books, desc: "E-Book/HUN"}
|
||||
- {id: 28, cat: PC/Games, desc: "Játék/ISO"}
|
||||
- {id: 29, cat: PC/Games, desc: "Játék/RIP"}
|
||||
- {id: 30, cat: Movies/SD, desc: "Cam/ENG"}
|
||||
- {id: 31, cat: Movies/SD, desc: "Cam/HUN"}
|
||||
- {id: 32, cat: Movies/HD, desc: "HD/ENG"}
|
||||
- {id: 33, cat: Movies/HD, desc: "HD/HUN"}
|
||||
- {id: 34, cat: Movies/DVD, desc: "Dvd9/HUN"}
|
||||
- {id: 35, cat: Movies/DVD, desc: "DVD/ENG"}
|
||||
- {id: 36, cat: Movies/DVD, desc: "DVD/HUN"}
|
||||
- {id: 37, cat: TV, desc: "Sorozat/ENG"}
|
||||
- {id: 38, cat: TV, desc: "Sorozat/HUN"}
|
||||
- {id: 39, cat: Movies/SD, desc: "Xvid/ENG"}
|
||||
- {id: 40, cat: Movies/SD, desc: "Xvid/HUN"}
|
||||
- {id: 41, cat: Audio, desc: "Zene/ENG"}
|
||||
- {id: 42, cat: Audio, desc: "Zene/HUN"}
|
||||
- {id: 43, cat: Other, desc: "Képek"}
|
||||
- {id: 44, cat: PC/Mobile-Other, desc: "Mobil"}
|
||||
- {id: 45, cat: PC, desc: "Program/ISO/RIP"}
|
||||
- {id: 46, cat: XXX/WEB-DL, desc: "XXX/Film"}
|
||||
- {id: 47, cat: XXX/ImageSet, desc: "XXX/Kép"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
book-search: [q]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search FreeLeech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: title
|
||||
4: added
|
||||
5: size
|
||||
7: seeders
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrent oldalankén:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: takelogin.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: /
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
download:
|
||||
selectors:
|
||||
- selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 all, 2 deadonly, 3 freeleech, 4 seedless
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support imdbid search nor has imdbid link in results
|
||||
|
||||
rows:
|
||||
selector: tr:has(a[onmouseover]):not(:has(td.outer))
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[onmouseover]
|
||||
details:
|
||||
selector: a[onmouseover]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) "
|
||||
download:
|
||||
selector: a[onmouseover]
|
||||
attribute: href
|
||||
date:
|
||||
selector: td:nth-child(4)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-child(5)
|
||||
grabs:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
genre:
|
||||
selector: i
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["\xA0", " "]
|
||||
- name: validate
|
||||
args: "Akció, Animációs, Kaland, Életrajzi, Vígjáték, Krimi, Dokumentum, Dráma, Családi, Fantasztikus, Film-noir, Bünügyi, Történelmi, Horror, Musical, Zenés, Misztikus, Hírek, Valóságshow, Romantikus, Sci-fi, Rövidfilm, Sport, Talkshow, Thriller, Háborús, Bemutató, XXX, Western, 60s, 70s, 80s, 90s, Alternative, Blues, Breaks, Classic, Country, Dance, Electronic, Folk, Funk, Hardcore, Hip.Hop, Haus, Metal, Pop, Pop.Rock, Rock, Soul, Techno, Disco, Trance, Live, Latin, Jazz"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# Engine n/a
|
||||
@@ -33,7 +33,7 @@ caps:
|
||||
settings:
|
||||
- name: stripcyrillic
|
||||
type: checkbox
|
||||
label: Strip Russian Letters
|
||||
label: Strip Cyrillic Letters
|
||||
default: false
|
||||
- name: addrussiantotitle
|
||||
type: checkbox
|
||||
|
||||
@@ -8,16 +8,16 @@ encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://bitsearch.to/
|
||||
- https://bitsearch.nocensor.cloud/
|
||||
- https://bitsearch.mrunblock.bond/
|
||||
legacylinks:
|
||||
- https://bitsearch.nocensor.biz/
|
||||
- https://bitsearch.nocensor.sbs/
|
||||
- https://bitsearch.nocensor.world/
|
||||
- https://bitsearch.nocensor.lol/
|
||||
- https://bitsearch.mrunblock.guru/
|
||||
- https://bitsearch.mrunblock.life/ # This web property is not accessible via this address.
|
||||
- https://bitsearch.mrunblock.life/
|
||||
- https://bitsearch.nocensor.click/
|
||||
- https://bitsearch.nocensor.cloud/
|
||||
- https://bitsearch.mrunblock.bond/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -58,6 +58,10 @@ caps:
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: prefer_magnet_links
|
||||
type: checkbox
|
||||
label: Prefer Magnet Links
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
@@ -83,6 +87,7 @@ search:
|
||||
sort: "{{ .Config.sort }}"
|
||||
order: "{{ .Config.type }}"
|
||||
limit: 100
|
||||
page: 1
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
@@ -99,9 +104,16 @@ search:
|
||||
details:
|
||||
selector: h5 a
|
||||
attribute: href
|
||||
download:
|
||||
download_optional:
|
||||
selector: a.dl-torrent
|
||||
attribute: href
|
||||
optional: true
|
||||
download:
|
||||
text: "{{ if .Config.prefer_magnet_links }}{{ else }}{{ .Result.download_optional }}{{ end }}"
|
||||
optional: true
|
||||
magnet:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
infohash:
|
||||
selector: a[href^="magnet:?xt"]
|
||||
attribute: href
|
||||
|
||||
@@ -1,186 +0,0 @@
|
||||
---
|
||||
id: bitsexy
|
||||
name: BitSexy
|
||||
description: "BitSexy is a Private Torrent Tracker for 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://bitsexy.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 33, cat: XXX, desc: "Amateur"}
|
||||
- {id: 19, cat: XXX, desc: "Anal"}
|
||||
- {id: 16, cat: XXX, desc: "Anime"}
|
||||
- {id: 17, cat: XXX, desc: "Asian"}
|
||||
- {id: 26, cat: XXX, desc: "BBW"}
|
||||
- {id: 22, cat: XXX, desc: "BDSM"}
|
||||
- {id: 18, cat: XXX, desc: "Big Tits"}
|
||||
- {id: 43, cat: XXX, desc: "Black"}
|
||||
- {id: 46, cat: XXX, desc: "Classic"}
|
||||
- {id: 41, cat: XXX, desc: "Creampie"}
|
||||
- {id: 28, cat: XXX, desc: "DVD-R"}
|
||||
- {id: 21, cat: XXX, desc: "Ebony"}
|
||||
- {id: 20, cat: XXX, desc: "Extreme"}
|
||||
- {id: 44, cat: XXX, desc: "Feature"}
|
||||
- {id: 31, cat: XXX, desc: "Fetish"}
|
||||
- {id: 35, cat: XXX, desc: "Foreign"}
|
||||
- {id: 53, cat: XXX, desc: "Gay"}
|
||||
- {id: 30, cat: XXX, desc: "Gonzo"}
|
||||
- {id: 51, cat: XXX, desc: "Handjob"}
|
||||
- {id: 36, cat: XXX, desc: "Hardcore"}
|
||||
- {id: 24, cat: XXX, desc: "Interracial"}
|
||||
- {id: 37, cat: XXX, desc: "Latina"}
|
||||
- {id: 25, cat: XXX, desc: "Lesbian"}
|
||||
- {id: 52, cat: XXX, desc: "Magazines"}
|
||||
- {id: 49, cat: XXX, desc: "Masturbation"}
|
||||
- {id: 23, cat: XXX, desc: "Mature"}
|
||||
- {id: 40, cat: XXX, desc: "MILF"}
|
||||
- {id: 38, cat: XXX, desc: "Oral"}
|
||||
- {id: 42, cat: XXX, desc: "Orgy"}
|
||||
- {id: 29, cat: XXX, desc: "Other"}
|
||||
- {id: 39, cat: XXX, desc: "Packs"}
|
||||
- {id: 27, cat: XXX, desc: "PC Games"}
|
||||
- {id: 15, cat: XXX, desc: "Pics"}
|
||||
- {id: 48, cat: XXX, desc: "POV"}
|
||||
- {id: 50, cat: XXX, desc: "Public"}
|
||||
- {id: 14, cat: XXX, desc: "Reality"}
|
||||
- {id: 47, cat: XXX, desc: "Shemale"}
|
||||
- {id: 45, cat: XXX, desc: "Softcore"}
|
||||
- {id: 55, cat: XXX, desc: "Solo"}
|
||||
- {id: 54, cat: XXX, desc: "Squirt"}
|
||||
- {id: 32, cat: XXX, desc: "Teens"}
|
||||
- {id: 34, cat: XXX, desc: "Virtual"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
4: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img.cimage
|
||||
input: captcha
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table.main:contains("failed")
|
||||
test:
|
||||
path: my.php
|
||||
selector: a[href$="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 freeleech, 4 480p, 5 720p, 6 1080p, 7 4k
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["(\\w+)", "+$1"] # prepend + to each word
|
||||
|
||||
rows:
|
||||
selector: div.torrentrow:has(a[href^="download.php?torrent="])
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=(.*?) width"
|
||||
files:
|
||||
selector: div.torrenttable:nth-last-child(7)
|
||||
date_day:
|
||||
# Today 02:40 PM
|
||||
# Yesterday 09:10 AM
|
||||
selector: div.torrenttable:nth-last-child(5):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
date_year:
|
||||
# Jul 4 2019 08:04 AM
|
||||
selector: div.torrenttable:nth-last-child(5):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM d yyyy hh:mm tt"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: div.torrenttable:nth-last-child(4)
|
||||
grabs:
|
||||
selector: div.torrenttable:nth-last-child(3)
|
||||
seeders:
|
||||
selector: div.torrenttable:nth-last-child(2)
|
||||
leechers:
|
||||
selector: div.torrenttable:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src$="/pic/freeleech.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 days (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# TBdev
|
||||
@@ -176,7 +176,6 @@ search:
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
description:
|
||||
optional: true
|
||||
selector: font[color="#990000"]
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
|
||||
@@ -165,4 +165,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 7.1.0b
|
||||
# json UNIT3D 7.1.3
|
||||
|
||||
@@ -27,6 +27,7 @@ caps:
|
||||
- {id: 14, cat: TV/Sport, desc: "HD"}
|
||||
- {id: 7, cat: TV/Sport, desc: "Misc"}
|
||||
- {id: 18, cat: TV/Sport, desc: "Instructional"}
|
||||
- {id: 19, cat: TV/Documentary, desc: "Documentary"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -30,7 +30,7 @@ settings:
|
||||
- name: info_key
|
||||
type: info
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target=\"_blank\">BrSociety</a> account <i>My Security</i> page and clicking on the <b>API Token</b> tab."
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://brsociety.club/\" target=\"_blank\">BrSociety</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -130,14 +130,15 @@ search:
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
0: 1 # normal
|
||||
1: 2 # double
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.7 but torrents must be seeded for 4 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.7
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D 6.5.0 (custom)
|
||||
# json UNIT3D 7.1.3 (custom)
|
||||
|
||||
@@ -58,6 +58,10 @@ settings:
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: info_ipv6
|
||||
type: info
|
||||
label: IPv6 only
|
||||
default: This site only accepts IPv6 addresses. If you are using IPv4 you will get a DNS Lookup Error.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
|
||||
@@ -137,7 +137,9 @@ search:
|
||||
selector: small[title]
|
||||
attribute: title
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
case:
|
||||
img[src="/pic/yes.png"]: "Verified: {{ .Result.genre }}"
|
||||
img[src="/pic/nincs.png"]: "Unverified: {{ .Result.genre }}"
|
||||
poster:
|
||||
selector: a[onmouseover]
|
||||
attribute: onmouseover
|
||||
|
||||
@@ -1,196 +0,0 @@
|
||||
---
|
||||
id: cartoonchaos
|
||||
name: CartoonChaos
|
||||
description: "CartoonChaos (CC) is a Private Torrent Tracker for ANIMATED MOVIES / TV"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://www.cartoonchaos.org/ # site does not support https NET::ERR_CERT_AUTHORITY_INVALID
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: info_results
|
||||
type: info
|
||||
label: "Search results"
|
||||
default: "Only the <b>xBtit_Default</b> style is supported with this indexer.<br />For best results, increase the torrents number in your profile to 100.<br />Default is 15."
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 3
|
||||
options:
|
||||
3: created
|
||||
5: seeders
|
||||
4: size
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: desc
|
||||
1: asc
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 30, cat: TV, desc: "Complete Sets"}
|
||||
- {id: 15, cat: TV, desc: "Educational"}
|
||||
- {id: 16, cat: TV, desc: "Kids"}
|
||||
- {id: 17, cat: TV, desc: "Mature Cartoons"}
|
||||
- {id: 41, cat: TV, desc: "Shorts"}
|
||||
- {id: 20, cat: TV/Anime, desc: "Anime Movies"}
|
||||
- {id: 21, cat: TV/Anime, desc: "Anime Series"}
|
||||
- {id: 26, cat: Movies, desc: "Animated Movies"}
|
||||
- {id: 23, cat: Audio, desc: "Sound Tracks"}
|
||||
- {id: 24, cat: Audio, desc: "Theme Tunes"}
|
||||
- {id: 43, cat: Audio/Other, desc: "Misc Audio"}
|
||||
- {id: 14, cat: TV, desc: "Banned"}
|
||||
- {id: 29, cat: TV, desc: "Public Domain"}
|
||||
- {id: 42, cat: TV/Foreign, desc: "Foreign Language"}
|
||||
- {id: 28, cat: TV, desc: "Animated Adverts"}
|
||||
- {id: 45, cat: TV/Documentary, desc: "Documentaries"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: form
|
||||
form: form[action^="index.php?page=login"]
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# http://www.cartoonchaos.org/index.php?page=torrents&search=transformers&category=30;21;20;26;15;16;17&options=0&active=0
|
||||
- path: index.php
|
||||
keywordsfilters:
|
||||
# if searching for season packs switch S01 to season 1 #11775
|
||||
- name: re_replace
|
||||
args: ["(?i)(S0)(\\d{1,2})$", "season $2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(S)(\\d{1,3})$", "season $2"]
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
# 0=title, 1=title&descr, 2=descr
|
||||
options: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
|
||||
# 0 all, 1 activeonly, 2 deadonly
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table.lista tr td table.lista tr:has(a[href^=\"index.php?page=torrent-details\"]):not(:has(a[href=\"index.php?page=torrents&category=0\"])){{ if .Config.freeleech }}:has(img[src=\"gold/gold.gif\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
title_torrent:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: f
|
||||
- name: htmldecode
|
||||
- name: re_replace
|
||||
args: ["(?i)\\.torrent$", ""]
|
||||
title_text:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
|
||||
filters:
|
||||
# #11775
|
||||
- name: re_replace # Seasons X-Y --> S0X-S0Y
|
||||
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)[-.\\s]*(?:-|to)[-.\\s]*(\\d)\\b", "S0$1-S0$2"]
|
||||
- name: re_replace # Seasons X-YY --> S0X-SYY
|
||||
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)[-.\\s]*(?:-|to)[-.\\s]*(\\d+)\\b", "S0$1-S$2"]
|
||||
- name: re_replace # Seasons XX-YY --> SXX-SYY
|
||||
args: ["(?i)\\bSeasons?[-.\\s]*(\\d+)[-.\\s]*(?:-|to)[-.\\s]*(\\d+)\\b", "S$1-S$2"]
|
||||
- name: re_replace # Season X --> S0X
|
||||
args: ["(?i)\\bSeasons?[-.\\s]*(\\d)\\b", "S0$1"]
|
||||
- name: re_replace # Season XX --> SXX
|
||||
args: ["(?i)\\bSeasons?[-.\\s]*(\\d+)\\b", "S$1"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: td a[href^="download.php"]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
filters:
|
||||
# http://anonym.to?javascript:popdetails('http://www.imdb.com/title/tt0086817');
|
||||
- name: regexp
|
||||
args: tt(\d+)
|
||||
poster:
|
||||
selector: td a[href^="index.php?page=torrent-details"]:not(a[onmouseover*="torrentimg/nocover.jpg"])
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=([^\s]+)
|
||||
size:
|
||||
selector: td:nth-child(10)
|
||||
# two flavours of dates
|
||||
date_day:
|
||||
# Yesterday at 10:03:30 PM
|
||||
selector: td:nth-child(5):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[//\xa0\\s,]+", " "]
|
||||
date_year:
|
||||
# February 09, 2019, 06:35:08 AM
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[//\xa0\\s,]+", " "]
|
||||
- name: dateparse
|
||||
args: "MMMM dd yyyy hh:mm:ss tt"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
seeders:
|
||||
selector: td:nth-child(6)
|
||||
leechers:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="gold/gold.gif"]: 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 7 day (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# xbtit 2.0.0
|
||||
@@ -125,8 +125,12 @@ search:
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Kids, Music, Mystery, News, Reality, Romance, SciFi, Soap, Talk, Thriller, War, Western"
|
||||
description:
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
|
||||
@@ -6,121 +6,161 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://cinematik.net/
|
||||
legacylinks:
|
||||
- https://www.cinematik.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: Movies, desc: "Comedy"}
|
||||
- {id: 4, cat: Movies, desc: "Action"}
|
||||
- {id: 5, cat: Movies, desc: "Horror"}
|
||||
- {id: 6, cat: Movies, desc: "Drama"}
|
||||
- {id: 7, cat: Movies, desc: "Documentary"}
|
||||
- {id: 9, cat: Movies, desc: "Crime"}
|
||||
- {id: 12, cat: Movies, desc: "Sci-Fi"}
|
||||
- {id: 17, cat: Movies, desc: "War"}
|
||||
- {id: 21, cat: Movies, desc: "Silent Films"}
|
||||
- {id: 23, cat: Movies, desc: "TV-Series"}
|
||||
- {id: 24, cat: Movies, desc: "Animation"}
|
||||
- {id: 25, cat: Movies, desc: "Exploitation"}
|
||||
- {id: 26, cat: Movies, desc: "Experimental"}
|
||||
- {id: 27, cat: Movies, desc: "Fantasy"}
|
||||
- {id: 29, cat: Movies, desc: "Short"}
|
||||
- {id: 30, cat: Movies, desc: "Western"}
|
||||
- {id: 32, cat: Movies, desc: "Foreign Languages"}
|
||||
- {id: 33, cat: Movies, desc: "Thriller"}
|
||||
- {id: 34, cat: Movies, desc: "Opera and Musical"}
|
||||
- {id: 1, cat: Movies, desc: "Movie"}
|
||||
- {id: 2, cat: TV, desc: "TV"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
movie-search: [q, imdbid]
|
||||
tv-search: [q, season, ep, imdbid, tvdbid, tmdbid]
|
||||
movie-search: [q, imdbid, tmdbid]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
- name: apikey
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: incldead
|
||||
type: select
|
||||
label: Status
|
||||
default: 1
|
||||
options:
|
||||
0: Active
|
||||
1: "Active and Inactive"
|
||||
2: Inactive
|
||||
- name: dropbumped
|
||||
type: checkbox
|
||||
label: Ignore Bumped Torrents
|
||||
default: false
|
||||
- name: info_results
|
||||
label: APIKey
|
||||
- name: info_key
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: "For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.<br>Default is <i>15</i>."
|
||||
label: About your API key
|
||||
default: "Find or Generate a new API Token by accessing your <a href=\"https://cinematik.net/\" target=\"_blank\">Cinematik</a> account <i>My Settings</i> page and clicking on the <b>API Key</b> tab."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: created_at
|
||||
options:
|
||||
created_at: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
method: form
|
||||
path: login.php
|
||||
submitpath: takelogin.php
|
||||
form: form[action="takelogin.php"]
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
path: /api/torrents
|
||||
method: get
|
||||
error:
|
||||
- selector: table:contains("Login failed!")
|
||||
test:
|
||||
path: my.php
|
||||
selector: a[href="logout.php"]
|
||||
- selector: a[href*="/login"]
|
||||
message:
|
||||
text: "The API key was not accepted by {{ .Config.sitelink }}."
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/wiki/Torrent-API-(UNIT3D-v7.0.0)
|
||||
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php#L349
|
||||
- path: "/api/torrents/filter"
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
Authorization: ["Bearer {{ .Config.apikey }}"]
|
||||
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
incldead: "{{ .Config.incldead }}"
|
||||
srchdtls: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
|
||||
# if we have an id based search, add Season and Episode as query in name for UNIT3D < v6. Else pass S/E Params for UNIT3D >= v6
|
||||
$raw: "{{ range .Categories }}&categories[]={{.}}{{end}}"
|
||||
name: "{{ .Keywords }}"
|
||||
seasonNumber: "{{ .Query.Season }}"
|
||||
episodeNumber: "{{ .Query.Ep }}"
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
"free[]": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
|
||||
keywordsfilters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
|
||||
rows:
|
||||
selector: "table[border=\"1\"] tr:not(:first-child){{ if .Config.dropbumped }}:not(:has(span.bumped)){{ else }}{{ end }}"
|
||||
selector: data
|
||||
attribute: attributes
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: 1
|
||||
selector: category_id
|
||||
title:
|
||||
selector: td:nth-child(2) a
|
||||
selector: name
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
selector: details_link
|
||||
download:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
selector: download_link
|
||||
infohash:
|
||||
selector: info_hash
|
||||
poster:
|
||||
selector: meta.poster
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["details.php?id=", "download.php?id="]
|
||||
files:
|
||||
selector: td:nth-child(5)
|
||||
size:
|
||||
selector: td:nth-child(7)
|
||||
grabs:
|
||||
selector: td:nth-child(8)
|
||||
args: ["https://via.placeholder.com/90x135", ""]
|
||||
imdbid:
|
||||
selector: imdb_id
|
||||
tmdbid:
|
||||
selector: tmdb_id
|
||||
tvdbid:
|
||||
selector: tvdb_id
|
||||
genre:
|
||||
selector: meta.genres
|
||||
filters:
|
||||
- name: regexp
|
||||
args: ([\d,]+)
|
||||
- name: re_replace
|
||||
args: ["(?i)(Science Fiction)", "Science_Fiction"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(TV Movie)", "TV_Movie"]
|
||||
- name: replace
|
||||
args: [" & ", "_&_"]
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: num_file
|
||||
seeders:
|
||||
selector: td:nth-child(9)
|
||||
selector: seeders
|
||||
leechers:
|
||||
selector: td:nth-child(10)
|
||||
selector: leechers
|
||||
grabs:
|
||||
selector: times_completed
|
||||
date:
|
||||
selector: td:nth-child(11) div.addedtor
|
||||
# "created_at": "2021-10-18T00:34:50.000000Z" is returned by Newtonsoft.Json.Linq as 18/10/2021 00:34:50
|
||||
selector: created_at
|
||||
filters:
|
||||
- name: append
|
||||
args: " +00:00" # GMT
|
||||
- name: dateparse
|
||||
args: "MM/dd/yyyy HH:mm:ss zzz"
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
selector: freeleech
|
||||
case:
|
||||
img[title^="Golden Torrent"]: 0
|
||||
img[title^="Silver Torrent"]: 0.25
|
||||
img[title^="Platinum Torrent"]: 0
|
||||
"*": 1
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns False, True
|
||||
selector: double_upload
|
||||
case:
|
||||
img[title^="Platinum Torrent"]: 2
|
||||
"*": 1
|
||||
# Engine n/a
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# global MR is 0.4 but torrents must be seeded for 7 days regardless of ratio
|
||||
# minimumratio:
|
||||
# text: 0.4
|
||||
minimumseedtime:
|
||||
# 7 days (as seconds = 7 x 24 x 60 x 60)
|
||||
text: 604800
|
||||
# json UNIT3D 7.2.5
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
id: concen
|
||||
name: ConCen
|
||||
description: "ConCen (Conspiracy Central) is a Public conspiracy related torrent index"
|
||||
description: "ConCen (Conspiracy Central) is a Private conspiracy related torrent index"
|
||||
language: en-US
|
||||
type: public
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://concen.org/
|
||||
|
||||
@@ -7,7 +7,7 @@ type: public
|
||||
encoding: UTF-8
|
||||
followredirect: true
|
||||
links:
|
||||
- https://cpasbien-vf.fr/
|
||||
- https://cpasbien-vf.pics/
|
||||
legacylinks:
|
||||
- https://www.cpasbiens.cz/
|
||||
- https://www.cpasbiens.bz/
|
||||
@@ -24,6 +24,7 @@ legacylinks:
|
||||
- https://labastidevivante.fr/
|
||||
- https://cpasbiens911.fr/
|
||||
- https://jardattraction.fr/
|
||||
- https://cpasbien-vf.fr/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
@@ -72,24 +73,34 @@ search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}index.php?do=search&subaction=search{{ else }}{{ end }}"
|
||||
method: post
|
||||
# postData is mandatory FlareSolverr/FlareSolverr#789
|
||||
allowEmptyInputs: true
|
||||
inputs:
|
||||
story: "{{ if .Keywords }}{{ .Keywords }}{{ else }}{{ end }}"
|
||||
# does not support imdbid search and does not return imdb link in results.
|
||||
keywordsfilters:
|
||||
# if searching for season packs swith S01 to saison 1 #9712
|
||||
# if searching for season packs with S01 to saison 1 #9712
|
||||
- name: re_replace
|
||||
args: ["(?i)(S0)(\\d{1,2})$", "saison $2"]
|
||||
- name: re_replace
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
args: ["(?i)\\b(?:S0?)(\\d{1,3})\\b", "saison $1"]
|
||||
|
||||
rows:
|
||||
selector: div#gauche > table > tbody > tr:has(a), div#dle-content > table > tbody > tr:has(a)
|
||||
selector: div#gauche > table > tbody > tr:has(a), div#dle-content > a.cover2
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: Other
|
||||
title_phase1:
|
||||
title_phase1_title:
|
||||
selector: a
|
||||
title_phase1_url:
|
||||
selector: a
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: torrents\d+\/(.+?)\/
|
||||
- name: replace
|
||||
args: ["-", " "]
|
||||
title_phase1:
|
||||
text: "{{ if .Result.title_phase1_title }}{{ .Result.title_phase1_title }}{{ else }}{{ .Result.title_phase1_url }}{{ end }}"
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(FRENCH|MULTI|TRUEFRENCH|VOSTFR|SUBFRENCH)\\b(.+?)(\\b(19|20\\d{2})\\b)$", "$3 $1$2"]
|
||||
@@ -113,8 +124,13 @@ search:
|
||||
download:
|
||||
selector: a
|
||||
attribute: href
|
||||
poster:
|
||||
selector: img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.poid
|
||||
optional: true
|
||||
default: "512 MB"
|
||||
date:
|
||||
text: now
|
||||
seeders:
|
||||
|
||||
@@ -55,7 +55,9 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "?s={{ .Keywords }}&"
|
||||
- path: /
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: article.post-entry
|
||||
@@ -63,14 +65,15 @@ search:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
selector: article.post-entry
|
||||
attribute: class
|
||||
optional: true
|
||||
default: other
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "category-(.+?) "
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}other{{ end }}"
|
||||
title:
|
||||
selector: h2 > a
|
||||
details:
|
||||
|
||||
@@ -115,8 +115,12 @@ search:
|
||||
filters:
|
||||
- name: validate
|
||||
args: "Action, Adventure, Animation, Comedy, Crime, Documentary, Drama, Family, Fantasy, History, Horror, Kids, Music, Mystery, News, Reality, Romance, SciFi, Soap, Talk, Thriller, War, Western"
|
||||
description:
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
|
||||
177
src/Jackett.Common/Definitions/dariustracker.yml
Normal file
177
src/Jackett.Common/Definitions/dariustracker.yml
Normal file
@@ -0,0 +1,177 @@
|
||||
---
|
||||
id: dariustracker
|
||||
name: Darius Tracker
|
||||
description: "Darius Tracker is a HUNGARIAN Private Tracker for MOVIES / TV / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dariustracker.hu/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 86, cat: Movies/SD, desc: "Film/Cam/XviD/Eng"}
|
||||
- {id: 85, cat: Movies/SD, desc: "Film/Cam/XviD/Hun"}
|
||||
- {id: 19, cat: Movies/DVD, desc: "Film/DVD-R/Eng"}
|
||||
- {id: 17, cat: Movies/DVD, desc: "Film/DVD-R/Hun"}
|
||||
- {id: 88, cat: XXX, desc: "Film/DVD/XXX"}
|
||||
- {id: 62, cat: Movies/DVD, desc: "Film/DVD9/Hun"}
|
||||
- {id: 82, cat: Movies/HD, desc: "Film/HD/Eng"}
|
||||
- {id: 83, cat: Movies/HD, desc: "Film/HD/Hun"}
|
||||
- {id: 89, cat: XXX, desc: "Film/HD/XXX"}
|
||||
- {id: 48, cat: Movies/HD, desc: "Film/x264/Eng"}
|
||||
- {id: 34, cat: Movies/HD, desc: "Film/x264/Hun"}
|
||||
- {id: 16, cat: Movies/SD, desc: "Film/XviD/Eng"}
|
||||
- {id: 15, cat: Movies/SD, desc: "Film/XviD/Hun"}
|
||||
- {id: 64, cat: Movies/SD, desc: "Film/XviD/Pack"}
|
||||
- {id: 70, cat: TV/Sport, desc: "Film/XviD/Sport"}
|
||||
- {id: 33, cat: XXX, desc: "Film/XviD/XXX"}
|
||||
- {id: 90, cat: Audio/Audiobook, desc: "Hangoskönyv"}
|
||||
- {id: 31, cat: PC/Games, desc: "Játék/Pc/Iso"}
|
||||
- {id: 29, cat: PC/Games, desc: "Játék/Pc/Rip"}
|
||||
- {id: 54, cat: Console/PS3, desc: "Játék/PS2/PS3"}
|
||||
- {id: 32, cat: Console/XBox, desc: "Játék/XBOX"}
|
||||
- {id: 50, cat: Books, desc: "Könyv/Eng"}
|
||||
- {id: 27, cat: Books, desc: "Könyv/Hun"}
|
||||
- {id: 65, cat: Other, desc: "Képek"}
|
||||
- {id: 66, cat: XXX, desc: "Képek/XXX"}
|
||||
- {id: 71, cat: Audio/Lossless, desc: "Lossless/Eng"}
|
||||
- {id: 84, cat: Audio/Lossless, desc: "Lossless/Hun"}
|
||||
- {id: 68, cat: Movies/DVD, desc: "Mese/DVD"}
|
||||
- {id: 69, cat: Movies/SD, desc: "Mese/XviD"}
|
||||
- {id: 67, cat: PC/Mobile-Other, desc: "Mobiltelefon"}
|
||||
- {id: 26, cat: Audio/MP3, desc: "Mp3/Eng"}
|
||||
- {id: 25, cat: Audio/MP3, desc: "Mp3/Hun"}
|
||||
- {id: 14, cat: PC, desc: "Program/Egyéb"}
|
||||
- {id: 81, cat: PC/ISO, desc: "Program/Iso"}
|
||||
- {id: 49, cat: PC, desc: "Program/Rip"}
|
||||
- {id: 58, cat: TV, desc: "Sorozat/Eng"}
|
||||
- {id: 22, cat: TV, desc: "Sorozat/Hun"}
|
||||
- {id: 24, cat: Audio/Video, desc: "Videóklipp"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
options:
|
||||
1: name
|
||||
5: size
|
||||
4: added
|
||||
7: seeders
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: table[cellpadding="5"]:contains("Hiba")
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://dariustracker.hu/browse.php?viewMode=&c68=1&c69=1&search=&incldead=1&sort=4&type=desc
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c[{{.}}]=1&{{end}}"
|
||||
viewMode: ""
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 active, 1 active and dead, 2 deadonly, 3 my torrents, 4 seedless
|
||||
incldead: 1
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
# does not support imdbid searches
|
||||
|
||||
rows:
|
||||
selector: "table[cellpadding=\"5\"] > tbody > tr > td > table[cellpadding=\"5\"] > tbody > tr:has(a[href^=\"download.php?torrent=\"]){{ if .Config.freeleech }}:has(img[src$=\"/arrowdown.png\"] ~ span:contains(\"0x\")){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: title
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(?i)(Név: |Első név: -)|Második név: -", ""]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: a.preview
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
files:
|
||||
selector: td:nth-last-child(7)
|
||||
date:
|
||||
selector: td:nth-last-child(5)
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:nth-last-child(4) b
|
||||
grabs:
|
||||
selector: td:nth-last-child(3)
|
||||
seeders:
|
||||
selector: td:nth-last-child(2)
|
||||
leechers:
|
||||
selector: td:nth-last-child(1)
|
||||
downloadvolumefactor:
|
||||
selector: img[src$="/arrowdown.png"] ~ span
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
uploadvolumefactor:
|
||||
selector: img[src$="/arrowup.png"] ~ span
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (\d+)
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# engine n/a
|
||||
203
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
203
src/Jackett.Common/Definitions/dark-shadow.yml
Normal file
@@ -0,0 +1,203 @@
|
||||
---
|
||||
id: dark-shadow
|
||||
name: Dark-Shadow
|
||||
description: "Dark-Shadow is a GERMAN Private site for TV / MOVIES / GENERAL"
|
||||
language: de-DE
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://dark-shadow.me/
|
||||
legacylinks:
|
||||
- https://dark-shadow.ml/
|
||||
- https://projekt.dark-shadow.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
# Movie
|
||||
- {id: 32, cat: Movies/HD, desc: "Filme HD"}
|
||||
- {id: 114, cat: Movies/UHD, desc: "Filme UHD"}
|
||||
- {id: 140, cat: Movies/BluRay, desc: "Filme BluRay"}
|
||||
- {id: 28, cat: Movies/SD, desc: "Filme SD"}
|
||||
- {id: 138, cat: Movies, desc: "Filme Pack's"}
|
||||
# Serien
|
||||
- {id: 57, cat: TV/HD, desc: "Serien HD"}
|
||||
- {id: 139, cat: TV/UHD, desc: "Serien UHD"}
|
||||
- {id: 60, cat: TV/SD, desc: "Serien SD"}
|
||||
- {id: 59, cat: TV, desc: "Serien Pack's"}
|
||||
# Audio
|
||||
- {id: 110, cat: Audio/MP3, desc: "Audio MP3"}
|
||||
- {id: 48, cat: Audio/Lossless, desc: "Audio Flac"}
|
||||
- {id: 52, cat: Audio, desc: "Audio Pack"}
|
||||
- {id: 63, cat: Audio/Audiobook, desc: "Audio Hörbuch"}
|
||||
- {id: 120, cat: Audio/Video, desc: "Audio Videos"}
|
||||
# Apps
|
||||
- {id: 12, cat: PC/0day, desc: "Apps Windows"}
|
||||
- {id: 125, cat: PC/Mac, desc: "Apps Mac-OSX"}
|
||||
- {id: 11, cat: PC/Mobile-Other, desc: "Apps Mobil"}
|
||||
- {id: 141, cat: PC/ISO, desc: "Apps Other"}
|
||||
# Doku
|
||||
- {id: 14, cat: TV/Documentary, desc: "Doku HD"}
|
||||
- {id: 15, cat: TV/Documentary, desc: "Doku SD"}
|
||||
- {id: 123, cat: TV/Documentary, desc: "Doku Pack's"}
|
||||
# Spiel
|
||||
- {id: 17, cat: PC/Games, desc: "Spiel PC"}
|
||||
- {id: 24, cat: Console, desc: "Spiel Konsole"}
|
||||
- {id: 126, cat: Console/Other, desc: "Spiel Mobil"}
|
||||
- {id: 121, cat: Console, desc: "Spiel Wimmelbild"}
|
||||
# Sport
|
||||
- {id: 61, cat: TV/Sport, desc: "Sport HD"}
|
||||
- {id: 62, cat: TV/Sport, desc: "Sport SD"}
|
||||
- {id: 144, cat: TV/Sport, desc: "Sport Wrestling"}
|
||||
# ePaper
|
||||
- {id: 96, cat: Books/Mags, desc: "ePaper Zeitungen"}
|
||||
- {id: 136, cat: Books/EBook, desc: "ePaper E-Book"}
|
||||
- {id: 137, cat: Books/Comics, desc: "ePaper Comics"}
|
||||
# XXX
|
||||
- {id: 143, cat: XXX/x264, desc: "XXX HD / SD"}
|
||||
- {id: 75, cat: XXX/Pack, desc: "XXX Pack's"}
|
||||
- {id: 142, cat: XXX/ImageSet, desc: "XXX Pic's"}
|
||||
# Internal
|
||||
- {id: 128, cat: Movies/HD, desc: "Internal Film HD"}
|
||||
- {id: 129, cat: Movies/SD, desc: "Internal Film SD"}
|
||||
- {id: 130, cat: TV/HD, desc: "Internal Serien HD"}
|
||||
- {id: 131, cat: TV/SD, desc: "Internal Serie SD"}
|
||||
- {id: 132, cat: Other, desc: "Internal Sonstiges"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeds: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="/login.php"]
|
||||
cookies: ["JAVA=OK"] # avoid jscheck redirect
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: div#login_error
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: selection.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ .Keywords }}"
|
||||
# 0 name, 1 descr, 2 both
|
||||
blah: 0
|
||||
orderby: "{{ .Config.sort }}"
|
||||
sort: "{{ .Config.type }}"
|
||||
keywordsfilters:
|
||||
# prefix and postfix percent wildcard as well as replacing spaces between words
|
||||
- name: re_replace
|
||||
args: ["\\W+", "%"]
|
||||
- name: re_replace
|
||||
args: ["^(.+)$", "%$1%"]
|
||||
|
||||
rows:
|
||||
selector: "div.selection_wrap{{ if .Config.freeleech }}:root:has(div.onlyup){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category_p1:
|
||||
selector: div.kat_cat_pic_name
|
||||
category_p2:
|
||||
selector: div.kat_cat_pic_name_b
|
||||
categorydesc:
|
||||
text: "{{ .Result.category_p1 }} {{ .Result.category_p2 }}"
|
||||
title:
|
||||
selector: a.selection_a
|
||||
filters:
|
||||
# remove [REQ] and anything else in [] that prefixes titles
|
||||
- name: re_replace
|
||||
args: ["^(\\[.*\\])(.*)", "$2"]
|
||||
details:
|
||||
selector: a.selection_a
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download_ssl.php?torrent="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div[id^="details"] img
|
||||
attribute: src
|
||||
size:
|
||||
selector: div.selection_unter_ad
|
||||
grabs:
|
||||
selector: div.selection_unter_ae
|
||||
date_day:
|
||||
# Heute 13:30:04
|
||||
# Gestern 09:10:10
|
||||
selector: div.selection_unter_ab:not(:contains("."))
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["Heute", "Today"]
|
||||
- name: replace
|
||||
args: ["Gestern", "Yesterday"]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
date_year:
|
||||
# 30.02.2018 um 23:12:50
|
||||
selector: div.selection_unter_ab:contains(".")
|
||||
optional: true
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" um", ""]
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd.MM.yyyy HH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
description:
|
||||
selector: selection_unter_af
|
||||
seeders:
|
||||
selector: div.selection_unter_aa
|
||||
leechers:
|
||||
selector: div.selection_unter_aaa
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
":root:has(div.onlyup)": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 36 hours (as seconds = 36 x 60 x 60)
|
||||
text: 129600
|
||||
# 3xT
|
||||
@@ -196,4 +196,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 2 days (as seconds = 2 x 24 x 60 x 60)
|
||||
text: 172800
|
||||
# json UNIT3D 7.0.3
|
||||
# json UNIT3D 7.2.0
|
||||
|
||||
@@ -9,25 +9,9 @@ links:
|
||||
- https://www.demonoid.is/
|
||||
- https://www.dnoid.to/
|
||||
- https://www.dnoid.pw/
|
||||
- https://demonoid.unblockit.foo/
|
||||
- https://demonoid.torrentbay.net/
|
||||
- https://demonoid.mrunblock.bond/
|
||||
- https://demonoid.nocensor.cloud/
|
||||
- https://demonoid.unblockit.dad/
|
||||
- https://demonoid.torrentbay.st/
|
||||
legacylinks:
|
||||
- https://demonoid.nocensor.biz/
|
||||
- https://demonoid.nocensor.sbs/
|
||||
- https://demonoid.unblockit.bet/
|
||||
- https://demonoid.unblockit.cat/
|
||||
- https://demonoid.unblockit.nz/
|
||||
- https://demonoid.nocensor.world/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
|
||||
- https://demonoid.unblockit.page/
|
||||
- https://demonoid.unblockit.pet/
|
||||
- https://demonoid.nocensor.lol/
|
||||
- https://demonoid.unblockit.ink/
|
||||
- https://demonoid.nocensor.art/
|
||||
- https://demonoid.unblockit.bio/
|
||||
- https://demonoid.unblockit.boo/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
|
||||
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.to/
|
||||
@@ -43,6 +27,12 @@ legacylinks:
|
||||
- https://demonoid.unblockit.vegas/
|
||||
- https://demonoid.unblockit.esq/
|
||||
- https://demonoid.unblockit.zip/
|
||||
- https://demonoid.unblockit.foo/
|
||||
- https://demonoid.unblockit.ing/
|
||||
- https://demonoid.torrentbay.net/
|
||||
- https://demonoid.mrunblock.bond/
|
||||
- https://demonoid.nocensor.cloud/
|
||||
- https://demonoid.unblockit.date/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -60,6 +60,10 @@ settings:
|
||||
options:
|
||||
POLISH: POLISH
|
||||
MULTi POLISH: MULTi POLISH
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolverr</a> to access it.
|
||||
|
||||
login:
|
||||
path: logowanie
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: diablotorrent
|
||||
name: Diablo Torrent
|
||||
description: " Diablo Torrent is a Hungarian Private site for TV / MOVIES / GENERAL"
|
||||
description: "Diablo Torrent is a Hungarian Private site for TV / MOVIES / GENERAL"
|
||||
language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -162,9 +162,13 @@ search:
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
description:
|
||||
description_text:
|
||||
selector: div.torrent_row_magyarcim
|
||||
remove: span.torrent_row_new
|
||||
description:
|
||||
case:
|
||||
img[src="/pic/browse/yes.png"]: "Verified: {{ .Result.description_text}}"
|
||||
"*": "Unverified: {{ .Result.description_text}}"
|
||||
downloadvolumefactor:
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
|
||||
@@ -128,6 +128,8 @@ search:
|
||||
|
||||
rows:
|
||||
selector: $
|
||||
filters:
|
||||
- name: andmatch
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -173,7 +173,7 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
_cat:
|
||||
category_title:
|
||||
selector: a[href^="?cat="] > img
|
||||
attribute: title
|
||||
description:
|
||||
@@ -181,7 +181,7 @@ search:
|
||||
remove: a, img
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "cat={{ .Result._cat }} - "
|
||||
args: "cat={{ .Result.category_title }} - "
|
||||
minimumratio:
|
||||
text: 0.9
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
# NexusPHP v1.8.8 2023-09-25
|
||||
|
||||
@@ -45,6 +45,7 @@ caps:
|
||||
- {id: 49, cat: Books/Technical, desc: "eLearning"}
|
||||
- {id: 68, cat: Books/Technical, desc: "eLearning Multimedia"}
|
||||
- {id: 87, cat: Audio/Audiobook, desc: "Audiolibros"}
|
||||
- {id: 0, cat: Other, desc: "Otros"} # results can have a category of 0, but searching by category 0 returns all results
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -221,8 +221,8 @@ search:
|
||||
"img[src$=\"/torrent_multiple_upload.png\"]": 2
|
||||
"*": 1
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# 110 hours (as seconds = 110 x 60 x 60)
|
||||
text: 396000
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# TSUE 2.2
|
||||
|
||||
@@ -92,6 +92,9 @@ download:
|
||||
attribute: href
|
||||
- selector: a[href^="magnet:?xt="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["(\\([\\p{IsCyrillic}\\W]+\\))|(^[\\p{IsCyrillic}\\W\\d]+\\/ )|([\\p{IsCyrillic} \\-]+,+)|([\\p{IsCyrillic}]+)", ""]
|
||||
|
||||
search:
|
||||
# https://dxp.ru/torrents.php?search=&sort=4&type=desc
|
||||
@@ -110,6 +113,9 @@ search:
|
||||
- name: re_replace
|
||||
args: ["(?i)\\b(?:[SE]\\d{1,4}){1,2}\\b\\s?", ""]
|
||||
|
||||
headers:
|
||||
Referer: ["{{ .Config.sitelink }}torrents.php"]
|
||||
|
||||
rows:
|
||||
selector: table#loading-table tbody#highlighted tr:has(a[href^="torrents.php?cat="]), table#loading-table tbody#highlighted tr:has(a[href^="details.php?id="])
|
||||
after: 1
|
||||
|
||||
@@ -87,11 +87,13 @@ search:
|
||||
# with just 5 results per page, try to grab up to 25 results
|
||||
# http://ebb.la/?s=teeth
|
||||
# http://ebb.la/page/2/?s=teeth
|
||||
- path: "{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/2/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/3/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/4/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "page/5/{{ if .Keywords }}?s={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: /
|
||||
- path: "page/2/"
|
||||
- path: "page/3/"
|
||||
- path: "page/4/"
|
||||
- path: "page/5/"
|
||||
inputs:
|
||||
s: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: "div#content > div.poststuff:has(~ div.entry a.download), div#content > div.poststuff ~ div.entry:has(a.download)"
|
||||
|
||||
@@ -26,8 +26,12 @@ download:
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "torrents.php{{ if .Keywords }}?search={{ .Keywords }}{{ else }}{{ end }}"
|
||||
- path: "torrents.php{{ if .Keywords }}?search={{ .Keywords }}&page=1{{ else }}?page=1{{ end }}"
|
||||
- path: torrents.php
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
page: 1
|
||||
inputs:
|
||||
search: "{{ .Keywords }}"
|
||||
|
||||
rows:
|
||||
selector: table.itg > tbody > tr:has(td)
|
||||
|
||||
@@ -13,6 +13,7 @@ legacylinks:
|
||||
caps:
|
||||
categorymappings:
|
||||
# from https://electro-torrent.pl/szukaj.php
|
||||
# don't forget to update the category case block below
|
||||
- {id: 1298, cat: Movies/SD, desc: "Filmy - Zwiastuny"}
|
||||
- {id: 1, cat: Movies/SD, desc: "Filmy XviD/DivX"}
|
||||
- {id: 769, cat: Movies/HD, desc: "Filmy 1080p AVC"}
|
||||
@@ -109,6 +110,7 @@ search:
|
||||
category:
|
||||
selector: div#kategoria-gatunek-1
|
||||
case:
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy - Zwiastuny\")": 1298
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy XviD/DivX\")": 1
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy 1080p AVC\")": 769
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy x264/1080p\")": 770
|
||||
@@ -124,6 +126,7 @@ search:
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy 3D\")": 5
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy IVO\")": 362
|
||||
"div#kategoria-gatunek-1:contains(\"Filmy TS/CAM\")": 696
|
||||
"div#kategoria-gatunek-1:contains(\"TV/Seriale - Warezy\")": 1255
|
||||
"div#kategoria-gatunek-1:contains(\"TV/Seriale\")": 7
|
||||
"div#kategoria-gatunek-1:contains(\"Erotyka\")": 8
|
||||
"div#kategoria-gatunek-1:contains(\"Muzyka\")": 10
|
||||
|
||||
@@ -106,16 +106,18 @@ search:
|
||||
taglist: ""
|
||||
|
||||
rows:
|
||||
# exclude redbar torrents
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
@@ -159,7 +161,10 @@ search:
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# Luminance
|
||||
|
||||
@@ -101,16 +101,18 @@ search:
|
||||
taglist: ""
|
||||
|
||||
rows:
|
||||
# exclude redbar torrents
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
category:
|
||||
@@ -154,7 +156,10 @@ search:
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# Luminance
|
||||
|
||||
@@ -77,9 +77,9 @@ settings:
|
||||
type: checkbox
|
||||
label: Add RUS to end of all titles to improve language detection by Sonarr and Radarr. Will cause English-only results to be misidentified.
|
||||
default: false
|
||||
- name: freeleech
|
||||
- name: freeleech_50
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
label: Search freeleech and 50% freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
@@ -151,7 +151,7 @@ search:
|
||||
nm: "{{ .Keywords }}"
|
||||
# search by partial word
|
||||
allw: 0
|
||||
tor_type: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
tor_type: "{{ if .Config.freeleech_50 }}1{{ else }}{{ end }}"
|
||||
|
||||
keywordsfilters:
|
||||
- name: diacritics
|
||||
|
||||
140
src/Jackett.Common/Definitions/enthralled.yml
Normal file
140
src/Jackett.Common/Definitions/enthralled.yml
Normal file
@@ -0,0 +1,140 @@
|
||||
---
|
||||
id: enthralled
|
||||
name: Enthralled
|
||||
description: "Enthralled is a Private Torrent Tracker for FETISH 3X"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.enthralled.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "FemDom"}
|
||||
- {id: 2, cat: XXX, desc: "LezDom"}
|
||||
- {id: 4, cat: XXX, desc: "POV"}
|
||||
- {id: 5, cat: XXX, desc: "Scat"}
|
||||
- {id: 3, cat: XXX, desc: "TransDom"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
path: login
|
||||
method: form
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
cinfo: "2550|1350|24|-60"
|
||||
keeploggedin: 1
|
||||
error:
|
||||
- selector: div.error
|
||||
test:
|
||||
path: index.php
|
||||
selector: "#nav_userinfo"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=\\\\\"(.*?)\\\\\""
|
||||
- name: re_replace
|
||||
args: ["\\\\(.)", "$1"]
|
||||
- name: replace
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="Freeleech"]: 0
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# Luminance
|
||||
135
src/Jackett.Common/Definitions/enthralled2fa.yml
Normal file
135
src/Jackett.Common/Definitions/enthralled2fa.yml
Normal file
@@ -0,0 +1,135 @@
|
||||
---
|
||||
id: enthralled2fa
|
||||
name: Enthralled2FA
|
||||
description: "Enthralled is a Private Torrent Tracker for FETISH 3X. Cookie Login for 2FA use."
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.enthralled.me/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "FemDom"}
|
||||
- {id: 2, cat: XXX, desc: "LezDom"}
|
||||
- {id: 4, cat: XXX, desc: "POV"}
|
||||
- {id: 5, cat: XXX, desc: "Scat"}
|
||||
- {id: 3, cat: XXX, desc: "TransDom"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info_cookie
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: time
|
||||
options:
|
||||
time: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: desc
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: index.php
|
||||
selector: "#nav_userinfo"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
|
||||
title: "{{ .Keywords }}"
|
||||
order_by: "{{ .Config.sort }}"
|
||||
order_way: "{{ .Config.type }}"
|
||||
action: advanced
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="filter_cat"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "(\\d+)]=1"
|
||||
title:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
details:
|
||||
selector: a[href^="/torrents.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="/torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "src=\\\\\"(.*?)\\\\\""
|
||||
- name: re_replace
|
||||
args: ["\\\\(.)", "$1"]
|
||||
- name: replace
|
||||
args: ["/static/common/noartwork/noimage.png", ""]
|
||||
files:
|
||||
selector: td:nth-child(3)
|
||||
date:
|
||||
selector: td:nth-child(5) > span
|
||||
attribute: title
|
||||
# auto adjusted by site account profile
|
||||
filters:
|
||||
- name: dateparse
|
||||
args: "MMM dd yyyy, HH:mm"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
grabs:
|
||||
selector: td:nth-child(7)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="Freeleech"]: 0
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# Luminance
|
||||
@@ -6,7 +6,9 @@ language: hu-HU
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://estone.cc/ # site does not support https ERR_CONNECTION_REFUSED
|
||||
- https://estone.cc/
|
||||
legacylinks:
|
||||
- http://estone.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -160,7 +162,9 @@ search:
|
||||
- name: regexp
|
||||
args: "\\((.+?)\\)"
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
case:
|
||||
img[src="pic/yes.png"]: "Verified: {{ .Result.genre }}"
|
||||
img[src="pic/nincs.png"]: "Unverified: {{ .Result.genre }}"
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
|
||||
@@ -7,18 +7,10 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://extratorrent.st/
|
||||
- https://extratorrent.unblockit.foo/
|
||||
- https://extratorrent.mrunblock.bond/
|
||||
- https://extratorrent.nocensor.cloud/
|
||||
- https://extratorrent.unblockit.dad/
|
||||
- https://extratorrent.ninjaproxy1.com/
|
||||
- https://extratorrent.proxyninja.org/
|
||||
legacylinks:
|
||||
- https://extratorrent.nocensor.work/
|
||||
- https://extratorrent.nocensor.biz/
|
||||
- https://extratorrent.nocensor.sbs/
|
||||
- https://extratorrent.unblockit.bet/
|
||||
- https://extratorrent.unblockit.cat/
|
||||
- https://extratorrent.unblockit.nz/
|
||||
- https://extratorrent.nocensor.world/
|
||||
- https://extratorrent.unblockit.page/
|
||||
- https://extratorrent.unblockit.pet/
|
||||
- https://extratorrent.nocensor.lol/
|
||||
- https://extratorrent.unblockit.ink/
|
||||
@@ -35,6 +27,11 @@ legacylinks:
|
||||
- https://extratorrent.unblockit.vegas/
|
||||
- https://extratorrent.unblockit.esq/
|
||||
- https://extratorrent.unblockit.zip/
|
||||
- https://extratorrent.unblockit.foo/
|
||||
- https://extratorrent.unblockit.ing/
|
||||
- https://extratorrent.mrunblock.bond/
|
||||
- https://extratorrent.nocensor.cloud/
|
||||
- https://extratorrent.unblockit.date/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
|
||||
@@ -135,14 +135,14 @@ search:
|
||||
size:
|
||||
selector: td:nth-of-type(10)
|
||||
remove: a
|
||||
_cat:
|
||||
category_title:
|
||||
selector: td:nth-of-type(1) a img
|
||||
attribute: alt
|
||||
description:
|
||||
selector: td:nth-of-type(4)
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "cat={{ .Result._cat }}, wait="
|
||||
args: "cat={{ .Result.category_title }}, wait="
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="img/freedownload.png"]: 0
|
||||
|
||||
@@ -9,7 +9,7 @@ requestDelay: 5
|
||||
links:
|
||||
- https://ext.to/
|
||||
- https://search.extto.com/
|
||||
- https://extranet.torrentbay.net/
|
||||
- https://extranet.torrentbay.st/
|
||||
legacylinks:
|
||||
- https://ext.unblockninja.com/
|
||||
- https://t.extto.com/
|
||||
@@ -17,6 +17,7 @@ legacylinks:
|
||||
- https://site.extto.com/
|
||||
- https://ext.torrentbay.to/
|
||||
- https://extranet.torrentbay.to/
|
||||
- https://extranet.torrentbay.net/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -121,11 +122,12 @@ search:
|
||||
selector: table.table-striped > tbody > tr
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
selector: td:nth-child(1) div div a:last-child
|
||||
attribute: href
|
||||
optional: true
|
||||
default: "/other/"
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}/other/{{ end }}"
|
||||
title:
|
||||
selector: td:nth-child(1) div a
|
||||
details:
|
||||
|
||||
@@ -11,28 +11,15 @@ links:
|
||||
- https://eztv.tf/
|
||||
- https://eztv.yt/
|
||||
- https://eztv1.xyz/
|
||||
- https://eztv.unblockit.dad/
|
||||
- https://eztv.unblockninja.com/
|
||||
- https://eztv.mrunblock.bond/
|
||||
- https://eztv.nocensor.cloud/
|
||||
- https://eztv.unblockit.foo/
|
||||
- https://eztv.ninjaproxy1.com/
|
||||
- https://eztv.proxyninja.org/
|
||||
legacylinks:
|
||||
- https://eztv.ag/ # redirects to .re
|
||||
- https://eztv.it/ # redirects to .re
|
||||
- https://eztv.ch/ # redirects to .re
|
||||
- https://eztv.io/
|
||||
- https://eztv.nocensor.biz/
|
||||
- https://eztv.nocensor.sbs/
|
||||
- https://eztv.unblockit.bet/
|
||||
- https://eztv.unblockit.cat/
|
||||
- https://eztv.unblockit.nz/
|
||||
- https://eztv.nocensor.world/
|
||||
- https://eztv.unblockit.page/
|
||||
- https://eztv.unblockit.pet/
|
||||
- https://eztv.nocensor.lol/
|
||||
- https://eztv.unblockit.ink/
|
||||
- https://eztv.nocensor.art/
|
||||
- https://eztv.unblockit.bio/
|
||||
- https://eztv.unblockit.boo/
|
||||
- https://eztv.mrunblock.guru/
|
||||
- https://eztv.unblockit.click/
|
||||
- https://eztv.unblockit.asia/
|
||||
@@ -45,6 +32,11 @@ legacylinks:
|
||||
- https://eztv.unblockit.zip/
|
||||
- https://eztv.re/
|
||||
- https://eztv.li/
|
||||
- https://eztv.unblockit.foo/
|
||||
- https://eztv.unblockit.ing/
|
||||
- https://eztv.mrunblock.bond/
|
||||
- https://eztv.nocensor.cloud/
|
||||
- https://eztv.unblockit.date/
|
||||
|
||||
caps:
|
||||
categories:
|
||||
|
||||
@@ -166,4 +166,4 @@ search:
|
||||
# Maintain global ratio above 0.5 or downloads will get disabled. No MST.
|
||||
minimumratio:
|
||||
text: 0.51
|
||||
# json UNIT3D 7.0.3
|
||||
# json UNIT3D 7.2.5
|
||||
|
||||
@@ -90,15 +90,18 @@ search:
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
# exclude redbar torrents
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
title:
|
||||
selector: a[href^="torrents.php?id="]
|
||||
category:
|
||||
@@ -143,7 +146,10 @@ search:
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
# MR is reduced but not removed if MST is met
|
||||
|
||||
@@ -12,7 +12,6 @@ caps:
|
||||
categorymappings:
|
||||
# Эксклюзив
|
||||
# Exclusive
|
||||
- {id: 697, cat: Other, desc: " |- Правила, FAQ, стол заказов, общение"}
|
||||
- {id: 387, cat: Movies/DVD, desc: " |- Отечественные фильмы DVD Master's"}
|
||||
- {id: 386, cat: Movies/DVD, desc: " |- Зарубежные фильмы DVD Master's"}
|
||||
- {id: 390, cat: TV/SD, desc: " |- Сериалы DVD Master's"}
|
||||
@@ -49,7 +48,7 @@ caps:
|
||||
- {id: 250, cat: Movies, desc: " |- Советское кино (классика)"}
|
||||
- {id: 62, cat: Movies, desc: " |- Кино для детей"}
|
||||
- {id: 962, cat: Movies, desc: " |- Антология отечественного кино"}
|
||||
- {id: 990, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы на языках ближнего.."}
|
||||
- {id: 990, cat: Movies, desc: " |- Фильмы , мультфильмы и сериалы на языках ближнего..."}
|
||||
- {id: 991, cat: Movies, desc: " |- Зарубежные фильмы , мультфильмы и сериалы в оригинале"}
|
||||
- {id: 74, cat: Movies, desc: " |- Зарубежные мультфильмы"}
|
||||
- {id: 73, cat: Movies, desc: " |- Отечественные мультфильмы"}
|
||||
@@ -334,10 +333,10 @@ caps:
|
||||
- {id: 951, cat: Audio/MP3, desc: " |- Дискографии в MP3"}
|
||||
- {id: 130, cat: Audio, desc: " |- Многоканальная музыка (Рэп, Хип-Хоп, R.n.B)"}
|
||||
- {id: 830, cat: Audio/Lossless, desc: " |- Lossless (Рэп, Хип-Хоп, R.n.B)"}
|
||||
- {id: 134, cat: Audio/MP3, desc: " |- Отечественный Рэп, Хип-Хоп (mp3)"}
|
||||
- {id: 133, cat: Audio/MP3, desc: " |- Зарубежный Рэп, Хип-Хоп (mp3)"}
|
||||
- {id: 132, cat: Audio/MP3, desc: " |- Отечественный R.n.B (mp3)"}
|
||||
- {id: 131, cat: Audio/MP3, desc: " |- Зарубежный R.n.B (mp3)"}
|
||||
- {id: 134, cat: Audio/MP3, desc: " |- Отечественный Рэп, Хип-Хоп (mр3)"}
|
||||
- {id: 133, cat: Audio/MP3, desc: " |- Зарубежный Рэп, Хип-Хоп (mр3)"}
|
||||
- {id: 132, cat: Audio/MP3, desc: " |- Отечественный R.n.B (mр3)"}
|
||||
- {id: 131, cat: Audio/MP3, desc: " |- Зарубежный R.n.B (mр3)"}
|
||||
- {id: 930, cat: Audio/MP3, desc: " |- Сборники разных исполнителей (mp3)"}
|
||||
- {id: 941, cat: Audio/Lossless, desc: " |- Дискографии в Lossless"}
|
||||
- {id: 952, cat: Audio/MP3, desc: " |- Дискографии в MP3"}
|
||||
@@ -346,8 +345,7 @@ caps:
|
||||
- {id: 149, cat: Audio/MP3, desc: " |- Аltеrnаtivе, Hard, Indереndеnt (mp3)"}
|
||||
- {id: 839, cat: Audio/MP3, desc: " |- Reggae, Ska, Dub (mp3)"}
|
||||
- {id: 148, cat: Audio/MP3, desc: " |- Punk, Hardcore, Emo (mp3)"}
|
||||
- {id: 147, cat: Audio/MP3, desc: " |- Nu Metal, Metalcore, Metal (mp3)"}
|
||||
- {id: 150, cat: Audio/MP3, desc: " |- Post-Rock (mp3)"}
|
||||
- {id: 147, cat: Audio/MP3, desc: " |- Rock, Metalcore, Metal (mp3)"}
|
||||
- {id: 931, cat: Audio/MP3, desc: " |- Сборники разных исполнителей (mp3)"}
|
||||
- {id: 942, cat: Audio/Lossless, desc: " |- Дискографии в Lossless"}
|
||||
- {id: 954, cat: Audio/MP3, desc: " |- Дискографии в MP3"}
|
||||
@@ -437,13 +435,11 @@ caps:
|
||||
- {id: 586, cat: Books, desc: " |- Авто - Тюнинг, чиптюнинг, настройка, отделка и укращения"}
|
||||
- {id: 672, cat: Books, desc: " |- Литература по медицине"}
|
||||
- {id: 793, cat: Books, desc: "Журналы научно-прикладные и познавательно-образовательные"}
|
||||
- {id: 708, cat: PC, desc: "Интерактивный и компьтерный материал"}
|
||||
- {id: 875, cat: PC, desc: " |- Интерактивные компьютерные диски для хобби"}
|
||||
- {id: 583, cat: PC, desc: " |- Интерактивные справочники и каталоги для авто/мото транспорт.."}
|
||||
- {id: 465, cat: PC, desc: " |- Интерактивные и компьютерные диски для обучения ин. языкам"}
|
||||
- {id: 674, cat: PC, desc: " |- Интерактивные и компьютерные диски по медицине"}
|
||||
- {id: 710, cat: PC, desc: " |- Прочие материалы для детей и родителей"}
|
||||
- {id: 888, cat: Books, desc: "Литература разных направлений"}
|
||||
- {id: 897, cat: Books, desc: " |- Прочее"}
|
||||
- {id: 896, cat: Books, desc: " |- Автомобили"}
|
||||
- {id: 895, cat: Books, desc: " |- Домашним мастерам"}
|
||||
@@ -465,15 +461,10 @@ caps:
|
||||
- {id: 816, cat: Audio/Audiobook, desc: " |- Современная литература"}
|
||||
- {id: 190, cat: Audio/Audiobook, desc: " |- Аудио книги для детей"}
|
||||
- {id: 191, cat: Audio/Audiobook, desc: " |- Обучающие аудиокниги и аудиоупражнения для детей"}
|
||||
- {id: 749, cat: Audio, desc: "Аудио концерты, спектакли, пьесы"}
|
||||
- {id: 687, cat: Audio, desc: " |- Аудиоспектакли и литературные чтения"}
|
||||
- {id: 751, cat: Audio, desc: " |- Аудио юмористические концерты (выступления)"}
|
||||
# Эротика
|
||||
# Erotica
|
||||
- {id: 483, cat: Other, desc: "Правила, FAQ и Предложения по улучшению раздела 'Эротик.."}
|
||||
- {id: 484, cat: Other, desc: " |- Правила и FAQ"}
|
||||
- {id: 485, cat: Other, desc: " |- Предложения по улучшению раздела 'Эротика'и форум.."}
|
||||
- {id: 688, cat: Other, desc: " |- Ищу / Предлагаю"}
|
||||
- {id: 963, cat: XXX, desc: "Эротические художественные фильмы"}
|
||||
- {id: 964, cat: XXX, desc: "Эротические документальные фильмы"}
|
||||
- {id: 178, cat: XXX, desc: "Русская эротика"}
|
||||
@@ -491,11 +482,8 @@ caps:
|
||||
- {id: 820, cat: XXX, desc: "Литература"}
|
||||
# Служебный раздел
|
||||
# Service section
|
||||
- {id: 604, cat: Other, desc: "Открытый"}
|
||||
- {id: 912, cat: Other, desc: "Нарушение правил оформления"}
|
||||
- {id: 57, cat: Other, desc: "Временный склад (TEMP)"}
|
||||
- {id: 433, cat: Other, desc: "Архив раздач"}
|
||||
- {id: 378, cat: Other, desc: "Корзина"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
@@ -22,12 +22,12 @@ settings:
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 4
|
||||
default: 1
|
||||
options:
|
||||
4: created
|
||||
1: created
|
||||
7: seeders
|
||||
5: size
|
||||
1: title
|
||||
4: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
@@ -41,23 +41,25 @@ caps:
|
||||
- {id: 33, cat: Audio/Audiobook, desc: "Audiobooks"}
|
||||
- {id: 29, cat: TV/Documentary, desc: "Documentary"}
|
||||
- {id: 24, cat: Books/EBook, desc: "Ebooks"}
|
||||
- {id: 28, cat: Movies, desc: "FE-INT"}
|
||||
- {id: 10, cat: Console, desc: "Games - Console"}
|
||||
- {id: 11, cat: PC/Games, desc: "Games - PC"}
|
||||
- {id: 26, cat: Movies, desc: "Kids"}
|
||||
- {id: 9, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 12, cat: Movies, desc: "Movie Pack"}
|
||||
- {id: 31, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 38, cat: Movies/BluRay, desc: "Movies BD"}
|
||||
- {id: 13, cat: Movies/DVD, desc: "Movies DVD-r"}
|
||||
- {id: 14, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 15, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 22, cat: Audio/Lossless, desc: "Music FLAC"}
|
||||
- {id: 23, cat: Audio/MP3, desc: "Music MP3"}
|
||||
- {id: 34, cat: Audio/Video, desc: "Music video"}
|
||||
- {id: 35, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 37, cat: TV/UHD, desc: "TV 4K"}
|
||||
- {id: 36, cat: TV/SD, desc: "TV DVD-R"}
|
||||
- {id: 19, cat: TV/HD, desc: "TV HD"}
|
||||
- {id: 16, cat: TV, desc: "TV Pack"}
|
||||
- {id: 17, cat: TV/SD, desc: "TV SD"}
|
||||
- {id: 31, cat: Movies/UHD, desc: "Ultra HD"}
|
||||
- {id: 20, cat: XXX, desc: "XXX HD"}
|
||||
- {id: 21, cat: XXX/SD, desc: "XXX SD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -82,14 +84,14 @@ login:
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://finelite.org/selaa.php?c14=1&c15=1&c31=1&search=tt6591554&hae=1&type=desc&cat=0&incldead=1&sort=4
|
||||
# https://finelite.org/selaa.php?search=&hae=0&type=desc&cat=0&incldead=0&freeleech=yes&sort=4
|
||||
# https://finelite.org/selaa.php?c14=1&c15=1&c31=1&search=tt6591554&hae=2&type=desc&cat=0&incldead=1&sort=1
|
||||
# https://finelite.org/selaa.php?search=&hae=0&type=desc&cat=0&incldead=1&freeleech=yes&sort=1
|
||||
- path: selaa.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 name, 1 name&desc, 2 descr, 3 tags, 4 imdb with rating
|
||||
hae: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
|
||||
# 0 name&descr, 1 name, 2 descr, 3 tags, 4 imdb with rating
|
||||
hae: "{{ if .Query.IMDBID }}2{{ else }}1{{ end }}"
|
||||
# 0 active, 1 incldead, 2 deadonly
|
||||
incldead: 1
|
||||
freeleech: "{{ if .Config.freeleech }}yes{{ else }}{{ end }}"
|
||||
@@ -101,11 +103,11 @@ search:
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href*="?cat="]
|
||||
selector: a[href^="selaa.php?c"]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
- name: regexp
|
||||
args: c(\d+)=1
|
||||
title:
|
||||
selector: a[href^="julkaisu.php?id="]
|
||||
details:
|
||||
@@ -144,4 +146,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 3 days (as seconds = 3 x 24 x 60 x 60)
|
||||
text: 259200
|
||||
# custom 3.1.4
|
||||
# custom 3.6.8
|
||||
|
||||
@@ -4,7 +4,7 @@ name: Flux-Zone
|
||||
description: "Flux-Zone is a ROMANIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: ro-RO
|
||||
type: private
|
||||
encoding: utf-8
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- http://fluxzone.org/
|
||||
legacylinks:
|
||||
|
||||
@@ -201,7 +201,15 @@ search:
|
||||
case:
|
||||
img[title="H&R"]: 604800
|
||||
"*": 259200
|
||||
description_verified:
|
||||
case:
|
||||
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
|
||||
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
|
||||
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.9 2023-09-29
|
||||
|
||||
@@ -1,121 +0,0 @@
|
||||
---
|
||||
id: frozenlayer
|
||||
name: Frozen Layer
|
||||
description: "Frozen Layer is a SPANISH Public torrent site focused on ANIME"
|
||||
language: es-ES
|
||||
type: public
|
||||
encoding: UTF-8
|
||||
requestDelay: 2
|
||||
links:
|
||||
- https://www.frozen-layer.com/
|
||||
|
||||
settings:
|
||||
- name: category
|
||||
type: select
|
||||
label: Category
|
||||
default: todos
|
||||
options:
|
||||
todos: todos
|
||||
anime: anime
|
||||
manga: manga
|
||||
dorama: dorama
|
||||
videojuego: videojuego
|
||||
BSO: BSO
|
||||
PV: PV
|
||||
otros: otros
|
||||
- name: info
|
||||
type: info
|
||||
label: Direct Downloads
|
||||
default: This definition filters for search results that contain .torrent and magnet only. Results for Direct Download are not supported.
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Anime, cat: TV/Anime, desc: "anime"}
|
||||
- {id: Manga, cat: TV/Anime, desc: "manga"}
|
||||
- {id: Dorama, cat: TV/Anime, desc: "dorama"}
|
||||
- {id: Videojuego, cat: TV/Anime, desc: "videojuego"}
|
||||
- {id: Bso, cat: TV/Anime, desc: "BSO"}
|
||||
- {id: Pv, cat: TV/Anime, desc: "PV"}
|
||||
- {id: Otros, cat: TV/Anime, desc: "otros"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}buscar/descargas/{{ .Config.category }}/{{ .Keywords }}?search=Buscar{{ else }}descargas{{ end }}"
|
||||
- path: "{{ if .Keywords }}buscar/descargas/{{ .Config.category }}/{{ .Keywords }}?search=Buscar&{{ else }}descargas?{{ end }}page=2"
|
||||
keywordsfilters:
|
||||
- name: re_replace # remove first season from search string
|
||||
args: ["(?i)(S1)", ""]
|
||||
- name: re_replace # switch second season from search string
|
||||
args: ["(?i)(S2)", "segunda temporada"]
|
||||
- name: re_replace # switch third season from search string
|
||||
args: ["(?i)(S3)", "tercera temporada"]
|
||||
- name: re_replace # remove E from episode number from search string
|
||||
args: ["(?i)E([0-9]+)", "$1"]
|
||||
|
||||
rows:
|
||||
selector: table#descargas > tbody > tr:has(td:has(a[href^="magnet:?"]))
|
||||
|
||||
fields:
|
||||
category:
|
||||
text: "{{ if eq .Config.category \"todos\" }}Anime{{ else }}{{ .Config.category }}{{ end }}"
|
||||
title:
|
||||
selector: td.tit a
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\/|\\(|\\)", " "]
|
||||
- name: re_replace
|
||||
args: ["([A-z]*) temporada", ""]
|
||||
- name: re_replace
|
||||
args: ["(?i)Sprimera|Ssegunda|Stercera", ""]
|
||||
- name: re_replace
|
||||
args: ["S([0-9]+) - Episodio ([0-9]+)", "$2"]
|
||||
- name: re_replace
|
||||
args: ["- Episodio ([0-9]*)", "$1"]
|
||||
- name: append
|
||||
args: " Spanish"
|
||||
details:
|
||||
selector: td.tit a
|
||||
attribute: href
|
||||
download:
|
||||
selector: td:nth-child(1) a[href$=".torrent"]
|
||||
attribute: href
|
||||
magnet:
|
||||
selector: td:nth-child(1) a[href^="magnet:?"]
|
||||
attribute: href
|
||||
date_day:
|
||||
# 1d
|
||||
# 2d 3h
|
||||
# 3 dias
|
||||
# 3h 14m
|
||||
optional: true
|
||||
selector: td.fecha:not(:contains("Jan:")):not(:contains("Feb")):not(:contains("Mar:")):not(:contains("Apr")):not(:contains("May:")):not(:contains("Jun")):not(:contains("Jul:")):not(:contains("Aug")):not(:contains("Sep:")):not(:contains("Oct")):not(:contains("Nov:")):not(:contains("Dec"))
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["días", "days ago"]
|
||||
- name: timeago
|
||||
date_year:
|
||||
# 29 Oct 17
|
||||
optional: true
|
||||
selector: td.fecha:not(:contains("d")):not(:contains("h")):not(:contains("m"))
|
||||
filters:
|
||||
- name: append
|
||||
args: " +01:00" # CET
|
||||
- name: dateparse
|
||||
args: "dd MMM yy zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_year .Result.date_day }}{{ or .Result.date_year .Result.date_day }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(7)
|
||||
leechers:
|
||||
selector: td:nth-child(8)
|
||||
downloadvolumefactor:
|
||||
text: 0
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# engine n/a
|
||||
119
src/Jackett.Common/Definitions/fsm.yml
Normal file
119
src/Jackett.Common/Definitions/fsm.yml
Normal file
@@ -0,0 +1,119 @@
|
||||
---
|
||||
id: fsm
|
||||
name: FSM
|
||||
description: "FSM is a CHINESE Private Torrent Tracker for 3X"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
requestDelay: 4
|
||||
links:
|
||||
- https://fsm.name/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 1, cat: XXX, desc: "日本AV"}
|
||||
- {id: 2, cat: XXX, desc: "国产视频"}
|
||||
- {id: 3, cat: XXX/ImageSet, desc: "写真"}
|
||||
- {id: 4, cat: XXX/Other, desc: "黄油"}
|
||||
- {id: 5, cat: XXX, desc: "里番"}
|
||||
- {id: 6, cat: XXX/Other, desc: "黄色漫画"}
|
||||
- {id: 7, cat: XXX, desc: "欧美视频"}
|
||||
- {id: 8, cat: XXX, desc: "其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
|
||||
settings:
|
||||
- name: apitoken
|
||||
type: text
|
||||
label: API Token
|
||||
- name: info_token
|
||||
type: info
|
||||
label: About your API Token
|
||||
default: "Beta API Token applications have now closed. If you haven't already received one by private message, please wait for the official launch."
|
||||
- name: passkey
|
||||
type: text
|
||||
label: Passkey
|
||||
- name: info_passkey
|
||||
type: info
|
||||
label: About your Passkey
|
||||
default: "Find your Passkey by accessing the <a href=\"https://fsm.name/Rss\" target=\"_blank\">FSM RSS</a> page."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
|
||||
login:
|
||||
path: https://api.fsm.name/Torrents/listTorrents
|
||||
method: get
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: https://api.fsm.name/Torrents/listTorrents
|
||||
response:
|
||||
type: json
|
||||
|
||||
headers:
|
||||
APITOKEN: ["{{ .Config.apitoken }}"]
|
||||
|
||||
inputs:
|
||||
type: 0
|
||||
keyword: "{{ .Keywords }}"
|
||||
# 0 all, 1 2xfree, 2 free
|
||||
systematics: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: data.list
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: type.id
|
||||
title:
|
||||
selector: title
|
||||
_id:
|
||||
selector: tid
|
||||
details:
|
||||
text: "{{ .Config.sitelink }}Torrents/details?tid={{ .Result._id }}"
|
||||
download:
|
||||
text: "/Torrents/download?tid={{ .Result._id }}&passkey={{ .Config.passkey }}"
|
||||
infohash:
|
||||
selector: fileHash
|
||||
poster:
|
||||
selector: cover
|
||||
genre:
|
||||
selector: tags
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
files:
|
||||
selector: fileCount
|
||||
seeders:
|
||||
selector: peers.upload
|
||||
leechers:
|
||||
selector: peers.download
|
||||
grabs:
|
||||
selector: finish
|
||||
date:
|
||||
selector: createdAt
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["年", "years"]
|
||||
- name: replace
|
||||
args: ["月", "months"]
|
||||
- name: replace
|
||||
args: ["天", "days"]
|
||||
- name: re_replace
|
||||
args: ["小?时", "hours"]
|
||||
- name: replace
|
||||
args: ["分", "minutes"]
|
||||
- name: replace
|
||||
args: ["前", " ago"]
|
||||
- name: timeago
|
||||
size:
|
||||
selector: fileSize
|
||||
downloadvolumefactor:
|
||||
selector: status.downCoefficient
|
||||
uploadvolumefactor:
|
||||
selector: status.upCoefficient
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
# json TNode
|
||||
@@ -151,6 +151,10 @@ search:
|
||||
selector: td:nth-child(7)
|
||||
files:
|
||||
selector: td:nth-child(4)
|
||||
description:
|
||||
case:
|
||||
img[src="pic/staff/yes.png"]: Verified
|
||||
"*": Unverified
|
||||
downloadvolumefactor:
|
||||
selector: td:nth-child(6) > span:nth-last-child(2)
|
||||
optional: true
|
||||
|
||||
@@ -8,22 +8,9 @@ encoding: UTF-8
|
||||
followredirect: true
|
||||
# to fetch current domain use https://www.protege-torrent.com/Gktorrent
|
||||
links:
|
||||
- https://www.gktorrent.vc/
|
||||
- https://gktorrent.nocensor.cloud/
|
||||
- https://gktorrent.mrunblock.bond/
|
||||
- https://www.gktorrent.vg/
|
||||
legacylinks:
|
||||
- https://www.rantop.org/
|
||||
- https://www.gktorrent.cx/
|
||||
- https://www.gktorrent.tv/
|
||||
- https://www.gktorrent.net/
|
||||
- https://www.gktorrent.biz/
|
||||
- https://www.gktorrent.io/
|
||||
- https://www.gktorrent.pw/
|
||||
- https://wvw.gktorrent.pw/
|
||||
- https://vww.gktorrent.pw/
|
||||
- https://www.gktorrent.cc/
|
||||
- https://gktorrent.nocensor.space/
|
||||
- https://www.gktorrents.com/
|
||||
- https://gktorrent.nocensor.work/
|
||||
- https://www.gktorrents.net/
|
||||
- https://gktorrent.nocensor.biz/
|
||||
@@ -32,19 +19,30 @@ legacylinks:
|
||||
- https://gktorrent.nocensor.world/
|
||||
- https://gktorrent.nocensor.lol/
|
||||
- https://gktorrent.mrunblock.guru/
|
||||
- https://gktorrent.mrunblock.life/ # cloudflare 403
|
||||
- https://gktorrent.mrunblock.life/
|
||||
- https://gktorrent.nocensor.click/
|
||||
- https://www.gktorrents.cc/
|
||||
- https://www.gktorrent.ac/
|
||||
- https://www.gktorrent.ph/
|
||||
- https://www.gktorrent.vc/
|
||||
- https://www.gktorrent.mx/
|
||||
- https://www.gktorrent.fi/
|
||||
- https://www.gktorrent.wf/
|
||||
- https://gktorrent.nocensor.cloud/
|
||||
- https://gktorrent.mrunblock.bond/
|
||||
- https://www.gktorrent.wtf/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: Films, cat: Movies, desc: "Movies"}
|
||||
- {id: Animes, cat: TV/Anime, desc: "Anime"}
|
||||
- {id: Séries, cat: TV, desc: "TV"}
|
||||
- {id: Séries, cat: TV, desc: "TV Series"}
|
||||
- {id: Spectacles, cat: TV, desc: "TV Shows"}
|
||||
- {id: Documentaires, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: Sports, cat: TV/Sport, desc: "Sport"}
|
||||
- {id: Musiques, cat: Audio, desc: "Music"}
|
||||
- {id: Ebooks, cat: Books, desc: "Books"}
|
||||
- {id: Livres, cat: Books, desc: "Books"}
|
||||
- {id: Logiciels, cat: PC, desc: "Software"}
|
||||
- {id: Jeux-PC, cat: PC/Games, desc: "PC Games"}
|
||||
- {id: Jeux-Consoles, cat: Console/XBox 360, desc: "Console Games"}
|
||||
@@ -87,6 +85,7 @@ download:
|
||||
filters:
|
||||
- name: regexp
|
||||
args: "\\s'(magnet:\\?.+?)';"
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: "{{ if .Keywords }}recherche/{{ .Keywords }}{{ else }}{{ end }}"
|
||||
@@ -98,7 +97,7 @@ search:
|
||||
args: ["(?i)(S)(\\d{1,3})$", "saison $2"]
|
||||
|
||||
rows:
|
||||
selector: table.table-hover > tbody > tr:has(a[href*=torrent])
|
||||
selector: table.table-hover > tbody > tr:has(a[onclick*="torrent/"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -125,10 +124,12 @@ search:
|
||||
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase2 }}{{ end }}"
|
||||
details:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: href
|
||||
attribute: onclick
|
||||
filters:
|
||||
- name: regexp
|
||||
args: (/?torrent/\d+)
|
||||
download:
|
||||
selector: td:nth-child(1) a
|
||||
attribute: href
|
||||
text: "{{ .Result.details }}"
|
||||
size:
|
||||
selector: td:nth-child(2)
|
||||
date:
|
||||
|
||||
@@ -7,25 +7,13 @@ type: public
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://glodls.to/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.unblockit.foo/
|
||||
- https://glotorrents.mrunblock.bond/
|
||||
- https://gtso.cc/
|
||||
- https://glotorrents.unblockit.dad/
|
||||
- https://glodls.unblockninja.com/
|
||||
- https://glotorrents.nocensor.cloud/
|
||||
- https://glodls.ninjaproxy1.com/
|
||||
legacylinks:
|
||||
- https://glodls.rocks/
|
||||
- https://gtdb.to/
|
||||
- https://glotorrents.nocensor.biz/
|
||||
- https://glotorrents.nocensor.sbs/
|
||||
- https://glotorrents.unblockit.bet/
|
||||
- https://glotorrents.unblockit.cat/
|
||||
- https://glotorrents.unblockit.nz/
|
||||
- https://glotorrents.nocensor.world/
|
||||
- https://glotorrents.unblockit.page/
|
||||
- https://glotorrents.unblockit.pet/
|
||||
- https://glotorrents.nocensor.lol/
|
||||
- https://glotorrents.unblockit.ink/
|
||||
- https://glotorrents.nocensor.art/
|
||||
- https://glotorrents.unblockit.bio/
|
||||
- https://glotorrents.unblockit.boo/
|
||||
- https://glotorrents.mrunblock.guru/
|
||||
@@ -39,6 +27,12 @@ legacylinks:
|
||||
- https://glotorrents.unblockit.vegas/
|
||||
- https://glotorrents.unblockit.esq/
|
||||
- https://glotorrents.unblockit.zip/
|
||||
- https://glotorrents.unblockit.foo/
|
||||
- https://glotorrents.unblockit.ing/
|
||||
- https://www.gtdb.to/
|
||||
- https://glotorrents.mrunblock.bond/
|
||||
- https://glotorrents.nocensor.cloud/
|
||||
- https://glotorrents.unblockit.date/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
@@ -110,14 +104,15 @@ search:
|
||||
after: 1
|
||||
|
||||
fields:
|
||||
category:
|
||||
category_optional:
|
||||
selector: a[href^="/search.php?cat="]
|
||||
attribute: href
|
||||
optional: true
|
||||
default: 33
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
category:
|
||||
text: "{{ if .Result.category_optional }}{{ .Result.category_optional }}{{ else }}33{{ end }}"
|
||||
title:
|
||||
selector: td:nth-child(2) a[title]
|
||||
attribute: title
|
||||
|
||||
@@ -1,193 +0,0 @@
|
||||
---
|
||||
id: greekteam
|
||||
name: Greek Team
|
||||
description: "Greek Team is a GREEK Private site for TV / MOVIES / GENERAL"
|
||||
language: el-GR
|
||||
type: private
|
||||
encoding: windows-1253
|
||||
links:
|
||||
- https://www.greek-team.cc/
|
||||
legacylinks:
|
||||
- http://www.greek-team.cc/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 9, cat: TV/Anime, desc: "Anime/Cartoon HD"}
|
||||
- {id: 63, cat: TV/Anime, desc: "Anime/Cartoon HDTV"}
|
||||
- {id: 35, cat: TV/Anime, desc: "Anime/Cartoon SD"}
|
||||
- {id: 59, cat: TV/Anime, desc: "Anime/Cartoon SD Emb"}
|
||||
- {id: 57, cat: TV/Anime, desc: "Anime/Cartoon TV"}
|
||||
- {id: 46, cat: PC, desc: "Applications Linux"}
|
||||
- {id: 45, cat: PC, desc: "Applications MAC"}
|
||||
- {id: 23, cat: PC, desc: "Applications Windows"}
|
||||
- {id: 10, cat: Books, desc: "Books/Magazines/English"}
|
||||
- {id: 12, cat: Books, desc: "Books/Magazines/Greek"}
|
||||
- {id: 8, cat: TV/Documentary, desc: "Documentaries"}
|
||||
- {id: 5, cat: TV/Documentary, desc: "Documentaries Greek"}
|
||||
- {id: 25, cat: TV/Documentary, desc: "Documentaries HD"}
|
||||
- {id: 27, cat: Movies/DVD, desc: "Movies DVD-R"}
|
||||
- {id: 31, cat: Console/Other, desc: "Games Other"}
|
||||
- {id: 20, cat: PC/Games, desc: "Games Windows"}
|
||||
- {id: 11, cat: Other, desc: "Misc"}
|
||||
- {id: 47, cat: PC/Mobile-Other, desc: "Mobile"}
|
||||
- {id: 53, cat: Movies/3D, desc: "Movies 3D"}
|
||||
- {id: 15, cat: Movies/UHD, desc: "Movies 4K"}
|
||||
- {id: 18, cat: Movies/BluRay, desc: "Movies Bluray"}
|
||||
- {id: 29, cat: Movies, desc: "Movies Emb Packs"}
|
||||
- {id: 19, cat: Movies/HD, desc: "Movies HD"}
|
||||
- {id: 13, cat: Movies/HD, desc: "Movies HD Emb"}
|
||||
- {id: 52, cat: Movies/HD, desc: "Movies HD Packs"}
|
||||
- {id: 40, cat: Movies/SD, desc: "Movies SD"}
|
||||
- {id: 14, cat: Movies/SD, desc: "Movies SD Emb"}
|
||||
- {id: 60, cat: Movies/SD, desc: "Movies SD Packs"}
|
||||
- {id: 22, cat: Audio, desc: "Music"}
|
||||
- {id: 2, cat: Audio, desc: "Music Discographies"}
|
||||
- {id: 48, cat: Audio, desc: "Music DJ & Promos"}
|
||||
- {id: 33, cat: Audio/Lossless, desc: "Music Flac"}
|
||||
- {id: 1, cat: Audio, desc: "Music Greek"}
|
||||
- {id: 21, cat: Audio, desc: "Music Greek Discographies"}
|
||||
- {id: 50, cat: Audio/Lossless, desc: "Music Greek Flac"}
|
||||
- {id: 16, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 6, cat: TV/Sport, desc: "Sports"}
|
||||
- {id: 54, cat: TV/Sport, desc: "Sports HD"}
|
||||
- {id: 55, cat: TV/SD, desc: "TV Greek Movies"}
|
||||
- {id: 49, cat: TV/HD, desc: "TV Greek Movies HD"}
|
||||
- {id: 3, cat: TV/SD, desc: "TV Greek Series"}
|
||||
- {id: 44, cat: TV/SD, desc: "TV Greek Packs"}
|
||||
- {id: 4, cat: TV/SD, desc: "TV Greek Shows"}
|
||||
- {id: 34, cat: TV/SD, desc: "TV Series"}
|
||||
- {id: 7, cat: TV/SD, desc: "TV Series Emb"}
|
||||
- {id: 26, cat: TV/SD, desc: "TV Series Emb Packs"}
|
||||
- {id: 36, cat: TV/HD, desc: "TV Series HD"}
|
||||
- {id: 62, cat: TV/HD, desc: "TV Series HD Packs"}
|
||||
- {id: 42, cat: TV/SD, desc: "TV Series Packs"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: added
|
||||
options:
|
||||
added: created
|
||||
seeders: seeders
|
||||
size: size
|
||||
name: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: DESC
|
||||
options:
|
||||
DESC: desc
|
||||
ASC: asc
|
||||
- name: info
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile. The default is <i>25</i>.
|
||||
|
||||
login:
|
||||
path: login.php
|
||||
method: post
|
||||
inputs:
|
||||
take_login: 1
|
||||
logout: no
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("failed"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: browse.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 active, 1 incldead, 2 onlydead, 3 free (gold)
|
||||
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
|
||||
# 0 name, 1 descr, 2 uploader
|
||||
blah: "{{ if .Query.IMDBID }}1{{ else }}0{{ end }}"
|
||||
sort: "{{ .Config.sort }}"
|
||||
d: "{{ .Config.type }}"
|
||||
# does not show IMDB but can support searching with it in descriptions
|
||||
|
||||
rows:
|
||||
selector: table.row1 > tbody > tr:has(a.torname)
|
||||
|
||||
fields:
|
||||
_id:
|
||||
selector: a.torname
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: id
|
||||
category:
|
||||
selector: a[href^="browse.php?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a.torname
|
||||
details:
|
||||
selector: a.torname
|
||||
attribute: href
|
||||
download:
|
||||
text: "download2.php?torrent={{ .Result._id }}"
|
||||
files:
|
||||
selector: td:has(a[href$="filelist=1"])
|
||||
date:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td > nobr
|
||||
filters:
|
||||
- name: append
|
||||
args: " +02:00" # EET
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
size:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td
|
||||
grabs:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td
|
||||
seeders:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td
|
||||
leechers:
|
||||
selector: td:has(a[href$="filelist=1"]) ~ td ~ td ~ td ~ td ~ td ~ td ~ td
|
||||
optional: true
|
||||
default: 0
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="pic/free.png"]: 0
|
||||
img[src="pic/freedownload.gif"]: 0 # freeleech slot exchange
|
||||
img[src="pic/personal_free.png"]: 0 # applies to VIPs only
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
case:
|
||||
img[src="pic/x2new.png"]: 0 # double uploaded with a freleech slot exchange
|
||||
"*": 1
|
||||
minimumratio:
|
||||
case:
|
||||
img[src="pic/hnrfree.png"]: 0 # exempt from H&R
|
||||
img[src="pic/hnr-50.png"]: 0.5 # min ratio is 0.5
|
||||
"*": 0.5 # rules say 0.3 but FAQ says 0.4 but H&R says 0.5 !#?
|
||||
minimumseedtime:
|
||||
case:
|
||||
img[src="pic/hnrfree.png"]: 0 # exempt from H&R
|
||||
"*": 432000 # 5 days (as seconds = 5 x 24 x 60 x 60)
|
||||
# engine n/a
|
||||
@@ -131,7 +131,6 @@ search:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
selector: div.torrent_name_col > a
|
||||
poster:
|
||||
selector: img#poster
|
||||
|
||||
@@ -19,6 +19,7 @@ caps:
|
||||
- {id: 10, cat: XXX, desc: "Pics"}
|
||||
- {id: 1, cat: XXX, desc: "Pron"}
|
||||
- {id: 8, cat: XXX, desc: "Retro"}
|
||||
- {id: 12, cat: XXX, desc: "Transsexual"}
|
||||
- {id: 7, cat: XXX, desc: "VR"}
|
||||
|
||||
modes:
|
||||
@@ -82,7 +83,7 @@ search:
|
||||
filter_freeleech: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
|
||||
rows:
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]
|
||||
selector: table#torrent_table > tbody > tr[class^="torrent row"]:has(a[href*="action=download"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
@@ -99,9 +100,12 @@ search:
|
||||
download:
|
||||
selector: a[href^="torrents.php?action=download&id="]
|
||||
attribute: href
|
||||
description:
|
||||
optional: true
|
||||
description_tags:
|
||||
selector: div.tags
|
||||
description:
|
||||
case:
|
||||
span.icon_okay: "Verified: {{ .Result.description_tags }}"
|
||||
"*": "Unverified: {{ .Result.description_tags }}"
|
||||
poster:
|
||||
selector: td:nth-child(2) > script
|
||||
filters:
|
||||
@@ -134,7 +138,10 @@ search:
|
||||
"img[alt=\"Freeleech\"]": 0
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
case:
|
||||
span.icon[title*="DoubleSeed"]: 2
|
||||
"img[alt=\"DoubleSeed\"]": 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.5
|
||||
minimumseedtime:
|
||||
|
||||
@@ -1,26 +1,25 @@
|
||||
---
|
||||
id: hddolby
|
||||
name: HDDolby
|
||||
description: "HD Dolby is a CHINESE Private Torrent Tracker for HD MOVIES / TV / GENERAL"
|
||||
id: haresclub
|
||||
name: Hares Club
|
||||
description: "Hares Club (白兔俱乐部) is a CHINESE site that focuses on 4K media."
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://www.hddolby.com/
|
||||
- https://club.hares.top/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 401, cat: Movies, desc: "Movies电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports体育"}
|
||||
- {id: 408, cat: Audio, desc: "HQ Audio音乐"}
|
||||
- {id: 409, cat: Other, desc: "Others其他"}
|
||||
- {id: 410, cat: PC/Games, desc: "Games游戏"}
|
||||
- {id: 411, cat: Other, desc: "Study学习"}
|
||||
- {id: 401, cat: Movies, desc: "Movies | 电影"}
|
||||
- {id: 402, cat: TV, desc: "TV Series | 电视剧"}
|
||||
- {id: 403, cat: TV, desc: "TV Shows | 综艺"}
|
||||
- {id: 404, cat: TV/Documentary, desc: "Documentaries | 纪录片"}
|
||||
- {id: 405, cat: TV/Anime, desc: "Animations | 动漫"}
|
||||
- {id: 406, cat: Audio/Video, desc: "Music Videos | 音乐视频"}
|
||||
- {id: 407, cat: TV/Sport, desc: "Sports | 体育"}
|
||||
- {id: 409, cat: Audio/Video, desc: "Concert | 演唱会"}
|
||||
- {id: 416, cat: TV, desc: "Show LIVE | 现场LIVE"}
|
||||
- {id: 415, cat: Other, desc: "Others | 其他"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
@@ -41,7 +40,7 @@ settings:
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HDDolby Web Site. Otherwise just leave it empty."
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the Hares Club Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -62,10 +61,6 @@ settings:
|
||||
options:
|
||||
desc: desc
|
||||
asc: asc
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolverr</a> to access it.
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
@@ -80,71 +75,75 @@ login:
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
scode: "{{ .Config.2facode }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
- selector: script:contains("'失败'")
|
||||
message:
|
||||
selector: td.text
|
||||
text: "图片代码无效!The Image code is invalid. Close the config and start again."
|
||||
- selector: script:contains("'登录失败!'")
|
||||
message:
|
||||
text: "用户名或密码不正确!或者你还没有通过验证。The username or password is incorrect! Close the config and start again."
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
selector: a[href*="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }} {{ else }}{{ .Keywords }}{{ end }}{{ if .Query.DoubanID }}{{ .Query.DoubanID }}{{ else }}{{ end }}"
|
||||
# 0=incldead, 1=active, 2=dead
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Query.DoubanID }}/{{ .Query.DoubanID }}{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0 incldead, 1 active, 2 dead
|
||||
incldead: 0
|
||||
# show promotions: 0=all, 1=normal, 2=free, 3=2x, 4=2xFree, 5=50%, 6=2x50%, 7=30%
|
||||
# 0 all, 1 normal, 2 free, 3 2x, 4 2xfree, 5 50%, 6 2x50%, 7 30%
|
||||
spstate: "{{ if .Config.freeleech }}2{{ else }}0{{ end }}"
|
||||
# 0=title, 1=descr, 3=uploader, 4=imdb URL
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}{{ end }}{{ if .Query.DoubanID }}1{{ else }}{{ end }}{{ if or .Query.IMDBID .Query.DoubanID }}{{ else }}0{{ end }}"
|
||||
# 0=AND, 1=OR, 2=Exact
|
||||
# 0 title, 1 descr, 3 uploader, 4 imdburl
|
||||
search_area: "{{ if or .Query.IMDBID .Query.DoubanID }}1{{ else }}0{{ end }}"
|
||||
# 0 AND, 1 OR, 2 exact
|
||||
search_mode: 0
|
||||
sort: "{{ .Config.sort }}"
|
||||
type: "{{ .Config.type }}"
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrents > tbody > tr:has(table.torrentname)
|
||||
selector: table.torrents > tbody > tr:has(a[href*="download.php?id="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
selector: a[href*="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title_default:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
title:
|
||||
selector: a[title][href^="details.php?id="]
|
||||
selector: a[title][href*="details.php?id="]
|
||||
attribute: title
|
||||
optional: true
|
||||
default: "{{ .Result.title_default }}"
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
selector: a[href*="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
imdbid:
|
||||
selector: a[href*="imdb.com/title/tt"]
|
||||
attribute: href
|
||||
doubanid:
|
||||
selector: a[href*="movie.douban.com/subject/"]
|
||||
selector: a[href*="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: div.layui-torrents-Stills > a
|
||||
attribute: rel
|
||||
filters:
|
||||
- name: replace
|
||||
args: ["re.php?cache=", ""]
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.rowfollow:nth-child(4) > span[title]
|
||||
selector: td:nth-last-child(6) > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
@@ -154,7 +153,7 @@ search:
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.rowfollow:nth-child(4):not(:has(span))
|
||||
selector: td:nth-last-child(6):not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
@@ -164,13 +163,13 @@ search:
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td.rowfollow:nth-child(5)
|
||||
selector: td:nth-last-child(5)
|
||||
seeders:
|
||||
selector: td.rowfollow:nth-child(6)
|
||||
selector: td:nth-last-child(4)
|
||||
leechers:
|
||||
selector: td.rowfollow:nth-child(7)
|
||||
selector: td:nth-last-child(3)
|
||||
grabs:
|
||||
selector: td.rowfollow:nth-child(8)
|
||||
selector: td:nth-last-child(2)
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img.pro_free: 0
|
||||
@@ -185,12 +184,12 @@ search:
|
||||
img.pro_free2up: 2
|
||||
img.pro_2up: 2
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 1.2
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
description_text:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
filters:
|
||||
- name: replace
|
||||
args: [" 剩余时间:", ""]
|
||||
# NexusPHP 985f0fc 2023-08-04
|
||||
description:
|
||||
case:
|
||||
i.fa-check: "Verified: {{ .Result.description_text }}"
|
||||
i.fa-question: "Unverified: {{ .Result.description_text }}"
|
||||
i.fa-times: "Banned: {{ .Result.description_text }}"
|
||||
# NexusPHP v1.6.2 2022-03-19
|
||||
@@ -6,6 +6,8 @@ language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hawke.uno/
|
||||
legacylinks:
|
||||
- https://www.hawke.uno/
|
||||
|
||||
caps:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
id: hd-club
|
||||
name: HD-CLUB
|
||||
description: "HD-CLUB is a CZECH Semi-Private site for TV / MOVIES / GENERAL"
|
||||
description: "HD-CLUB is a CZECH Private site for TV / MOVIES / GENERAL"
|
||||
language: cs-CZ
|
||||
type: semi-private
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://freecztorrent.eu/
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
---
|
||||
id: hdchina
|
||||
name: HDChina
|
||||
description: "HDChina (HDWing) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hdchina.org/
|
||||
legacylinks:
|
||||
- https://hdchina.club/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 20, cat: Movies/BluRay, desc: "Movie Full BD/原盘"}
|
||||
- {id: 17, cat: Movies/HD, desc: "Movie 1080p/电影"}
|
||||
- {id: 16, cat: Movies/HD, desc: "Movie 1080i/电影"}
|
||||
- {id: 9, cat: Movies/HD, desc: "Movie 720p/电影"}
|
||||
- {id: 13, cat: TV, desc: "EU/US TV series/欧美剧"}
|
||||
- {id: 25, cat: TV, desc: "Chinese TV series/中港台剧集"}
|
||||
- {id: 26, cat: TV, desc: "Kor Drama/韩剧"}
|
||||
- {id: 24, cat: TV, desc: "Jpn Drama/日剧"}
|
||||
- {id: 21, cat: TV, desc: "EU/US TV series pack/欧美剧集包"}
|
||||
- {id: 22, cat: TV, desc: "Chinese TV series pack/中港台剧集包"}
|
||||
- {id: 23, cat: TV, desc: "JPN/KOR drama pack/日韩剧集包"}
|
||||
- {id: 27, cat: Movies/SD, desc: "iPad Video/iPad视频"}
|
||||
- {id: 5, cat: TV/Documentary, desc: "Documentary/纪录片"}
|
||||
- {id: 15, cat: TV/Sport, desc: "Sports/体育节目"}
|
||||
- {id: 14, cat: TV/Anime, desc: "Animation/动画片"}
|
||||
- {id: 401, cat: TV, desc: "TV Shows/综艺"}
|
||||
- {id: 402, cat: Audio, desc: "Vocal Concert/演唱会"}
|
||||
- {id: 406, cat: Audio, desc: "Music Video/MV"}
|
||||
- {id: 408, cat: Audio, desc: "Music/音乐"}
|
||||
- {id: 19, cat: Audio, desc: "Audio Track/补充音轨"}
|
||||
- {id: 405, cat: Audio, desc: "Drama/戏剧"}
|
||||
- {id: 404, cat: Books, desc: "Book/书籍"}
|
||||
- {id: 409, cat: Other, desc: "Other/其他"}
|
||||
- {id: 410, cat: Movies/HD, desc: "4K UltraHD"}
|
||||
- {id: 411, cat: TV, desc: "Travel/旅游"}
|
||||
- {id: 412, cat: TV, desc: "Food/饮食"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
book-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
- name: info_tpp
|
||||
type: info
|
||||
label: Results Per Page
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href^="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
- path: torrents.php
|
||||
inputs:
|
||||
$raw: "{{ range .Categories }}cat{{.}}=1&{{end}}"
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
# 0=incldead, 1=active, 2=dead
|
||||
incldead: 0
|
||||
# 0=all, 1=normal, 2=free, 3=2x, 4=2x free, 5=50%, 6=2x 50%, 7=30%
|
||||
spstate: 0
|
||||
# 0=title, 1=descr, 3=uploader, 4=imdb URL
|
||||
search_area: "{{ if .Query.IMDBID }}4{{ else }}0{{ end }}"
|
||||
# 0=AND, 1=OR, 2=Exact
|
||||
search_mode: 0
|
||||
notnewword: 1
|
||||
|
||||
rows:
|
||||
selector: table.torrent_list > tbody > tr:has(a[href^="?cat="])
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: a[href^="?cat="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: cat
|
||||
title:
|
||||
selector: a[href^="details.php?id="]
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["\\.", " "]
|
||||
details:
|
||||
selector: a[href^="details.php?id="]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?hash="]
|
||||
attribute: href
|
||||
description:
|
||||
selector: h4
|
||||
size:
|
||||
selector: td.t_size
|
||||
grabs:
|
||||
selector: td.t_completed
|
||||
seeders:
|
||||
selector: td.t_torrents
|
||||
leechers:
|
||||
selector: td.t_leech
|
||||
date_elapsed:
|
||||
# time type: time elapsed (default)
|
||||
selector: td.t_time > span[title]
|
||||
attribute: title
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-dd HH:mm:ss zzz"
|
||||
date_added:
|
||||
# time added
|
||||
selector: td.t_time:not(:has(span))
|
||||
optional: true
|
||||
filters:
|
||||
- name: append
|
||||
args: " +08:00" # CST
|
||||
- name: dateparse
|
||||
args: "yyyy-MM-ddHH:mm:ss zzz"
|
||||
date:
|
||||
text: "{{ if or .Result.date_elapsed .Result.date_added }}{{ or .Result.date_elapsed .Result.date_added }}{{ else }}now{{ end }}"
|
||||
downloadvolumefactor:
|
||||
# DLVF and ULVF are dynamically presented via javascript so not available to cardigann
|
||||
text: 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
# NexusPHP 4e16128 (Customised)
|
||||
@@ -35,6 +35,8 @@ caps:
|
||||
- {id: 134, cat: TV/WEB-DL, desc: "TV -WEB- DL NETLIFIX"}
|
||||
- {id: 135, cat: TV/WEB-DL, desc: "TV - WEB- DL Prime"}
|
||||
- {id: 136, cat: TV/WEB-DL, desc: "TV -WEB- DL Skyshow"}
|
||||
- {id: 147, cat: TV/WEB-DL, desc: "marvel"}
|
||||
- {id: 148, cat: TV/WEB-DL, desc: "VOYO"}
|
||||
# rls track
|
||||
- {id: 131, cat: Movies, desc: "RLS For HDCZT"}
|
||||
- {id: 132, cat: Movies, desc: "Film na přání"}
|
||||
@@ -121,7 +123,7 @@ search:
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: td table.lista > tbody > tr:has(a[href^="download.php"])
|
||||
selector: td table.lista > tbody > tr:has(a[href^="download.php"]):has(a[href^="index.php?page=bookmark"])
|
||||
|
||||
fields:
|
||||
category:
|
||||
|
||||
@@ -192,7 +192,15 @@ search:
|
||||
"*": 1
|
||||
minimumratio:
|
||||
text: 0.81
|
||||
description_verified:
|
||||
case:
|
||||
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
|
||||
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
|
||||
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
|
||||
description:
|
||||
selector: td:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
# NexusPHP v1.8.4 2023-05-27
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.9 2023-11-15
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
id: hdzone
|
||||
name: HDZone
|
||||
description: "HDZone is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
id: hdfun
|
||||
name: HDFun
|
||||
description: "HDFun (HDZone) is a CHINESE Private Torrent Tracker for HD MOVIES / TV"
|
||||
language: zh-CN
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
@@ -69,13 +69,12 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -102,9 +101,23 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: torrents.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -30,13 +30,19 @@ caps:
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: cookie
|
||||
- name: username
|
||||
type: text
|
||||
label: Cookie
|
||||
- name: info
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2facode
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: How to get the Cookie
|
||||
default: "<ol><li>Login to this tracker with your browser</li><li>Open the <b>DevTools</b> panel by pressing <b>F12</b></li><li>Select the <b>Network</b> tab</li><li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)</li><li>Refresh the page by pressing <b>F5</b></li><li>Click on the first row entry</li><li>Select the <b>Headers</b> tab on the Right panel</li><li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section</li><li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</li></ol>"
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HDMaYi Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -63,9 +69,24 @@ settings:
|
||||
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
|
||||
|
||||
login:
|
||||
method: cookie
|
||||
path: login.php
|
||||
method: form
|
||||
form: form[action="takelogin.php"]
|
||||
captcha:
|
||||
type: image
|
||||
selector: img[alt="CAPTCHA"]
|
||||
input: imagestring
|
||||
inputs:
|
||||
cookie: "{{ .Config.cookie }}"
|
||||
secret: ""
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
two_step_code: "{{ .Config.2facode }}"
|
||||
logout: ""
|
||||
securelogin: ""
|
||||
ssl: yes
|
||||
trackerssl: yes
|
||||
error:
|
||||
- selector: td.embedded:has(h2:contains("失败"))
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
@@ -170,7 +191,15 @@ search:
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 24 x 60 x 60)
|
||||
text: 86400
|
||||
description_verified:
|
||||
case:
|
||||
span[title="通过"], span[title="通過"], span[title="Allowed"]: "Verified:"
|
||||
span[title="未审"], span[title="未審"], span[title="Not reviewed"]: "Unverified:"
|
||||
span[title="拒绝"], span[title="拒絕"], span[title="Denied"]: "Banned:"
|
||||
description:
|
||||
selector: td.rowfollow:nth-child(2)
|
||||
remove: a, b, font, img, span
|
||||
filters:
|
||||
- name: prepend
|
||||
args: "{{ .Result.description_verified }} "
|
||||
# NexusPHP v1.8.6 2023-08-18
|
||||
|
||||
@@ -81,7 +81,7 @@ search:
|
||||
imdbId: "{{ .Query.IMDBIDShort }}"
|
||||
tmdbId: "{{ .Query.TMDBID }}"
|
||||
tvdbId: "{{ .Query.TVDBID }}"
|
||||
free: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
|
||||
"free": "{{ if .Config.freeleech }}100{{ else }}{{ end }}"
|
||||
sortField: "{{ .Config.sort }}"
|
||||
sortDirection: "{{ .Config.type }}"
|
||||
perPage: 100
|
||||
@@ -184,14 +184,14 @@ search:
|
||||
size:
|
||||
selector: size
|
||||
downloadvolumefactor:
|
||||
# api returns 0%, 25%, 50%, 75%, 100%
|
||||
# api returns 0, 25, 50, 75, 100
|
||||
selector: freeleech
|
||||
case:
|
||||
0%: 1 # not free
|
||||
25%: 0.75
|
||||
50%: 0.5
|
||||
75%: 0.25
|
||||
100%: 0 # freeleech
|
||||
0: 1 # not free
|
||||
25: 0.75
|
||||
50: 0.5
|
||||
75: 0.25
|
||||
100: 0 # freeleech
|
||||
"*": 0 # catch errors
|
||||
uploadvolumefactor:
|
||||
# api returns 0=false, 1=true
|
||||
@@ -202,4 +202,4 @@ search:
|
||||
minimumseedtime:
|
||||
# 4 days (as seconds = 4 x 24 x 60 x 60)
|
||||
text: 345600
|
||||
# json UNIT3D 6.0.4
|
||||
# json UNIT3D 6.0.x (custom)
|
||||
|
||||
@@ -39,6 +39,13 @@ settings:
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: 2fa_code
|
||||
type: text
|
||||
label: 2FA code
|
||||
- name: info_2fa
|
||||
type: info
|
||||
label: "About 2FA code"
|
||||
default: "Only fill in the <b>2FA code</b> box if you have enabled <b>2FA</b> on the HD-Only Web Site. Otherwise just leave it empty."
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Search freeleech only
|
||||
@@ -88,6 +95,7 @@ login:
|
||||
inputs:
|
||||
username: "{{ .Config.username }}"
|
||||
password: "{{ .Config.password }}"
|
||||
twofa: "{{ .Config.2fa_code }}"
|
||||
keeplogged: 1
|
||||
error:
|
||||
- selector: form#loginform > span.warning
|
||||
|
||||
180
src/Jackett.Common/Definitions/hdspace.yml
Normal file
180
src/Jackett.Common/Definitions/hdspace.yml
Normal file
@@ -0,0 +1,180 @@
|
||||
---
|
||||
id: hdspace
|
||||
name: HD-Space
|
||||
description: "HD-Space is a Private Torrent Tracker for MOVIES / TV / GENERAL"
|
||||
language: en-US
|
||||
type: private
|
||||
encoding: UTF-8
|
||||
links:
|
||||
- https://hd-space.org/
|
||||
|
||||
caps:
|
||||
categorymappings:
|
||||
- {id: 15, cat: Movies/BluRay, desc: "Movie / Blu-ray"}
|
||||
- {id: 40, cat: Movies/HD, desc: "Movie / Remux"}
|
||||
- {id: 18, cat: Movies/HD, desc: "Movie / 720p"}
|
||||
- {id: 19, cat: Movies/HD, desc: "Movie / 1080p"}
|
||||
- {id: 46, cat: Movies/UHD, desc: "Movie / 2160p"}
|
||||
- {id: 21, cat: TV/HD, desc: "TV Show / 720p HDTV"}
|
||||
- {id: 22, cat: TV/HD, desc: "TV Show / 1080p HDTV"}
|
||||
- {id: 45, cat: TV/UHD, desc: "TV Show / 2160p HDTV"}
|
||||
- {id: 24, cat: TV/Documentary, desc: "Documentary / 720p"}
|
||||
- {id: 25, cat: TV/Documentary, desc: "Documentary / 1080p"}
|
||||
- {id: 47, cat: TV/Documentary, desc: "Documentary / 2160p"}
|
||||
- {id: 27, cat: TV/Anime, desc: "Animation / 720p"}
|
||||
- {id: 28, cat: TV/Anime, desc: "Animation / 1080p"}
|
||||
- {id: 48, cat: TV/Anime, desc: "Animation / 2160p"}
|
||||
- {id: 30, cat: Audio/Lossless, desc: "Music / HQ Audio"}
|
||||
- {id: 31, cat: Audio/Video, desc: "Music / Videos"}
|
||||
- {id: 33, cat: XXX, desc: "XXX / 720p"}
|
||||
- {id: 34, cat: XXX, desc: "XXX / 1080p"}
|
||||
- {id: 49, cat: XXX, desc: "XXX / 2160p"}
|
||||
- {id: 36, cat: Movies/Other, desc: "Trailers"}
|
||||
- {id: 37, cat: PC, desc: "Software"}
|
||||
- {id: 38, cat: Other, desc: "Others"}
|
||||
- {id: 41, cat: Movies/UHD, desc: "Movie / 4K UHD"}
|
||||
|
||||
modes:
|
||||
search: [q]
|
||||
tv-search: [q, season, ep, imdbid]
|
||||
movie-search: [q, imdbid]
|
||||
music-search: [q]
|
||||
|
||||
settings:
|
||||
- name: username
|
||||
type: text
|
||||
label: Username
|
||||
- name: password
|
||||
type: password
|
||||
label: Password
|
||||
- name: freeleech
|
||||
type: checkbox
|
||||
label: Filter freeleech only
|
||||
default: false
|
||||
- name: sort
|
||||
type: select
|
||||
label: Sort requested from site
|
||||
default: 3
|
||||
options:
|
||||
3: created
|
||||
5: seeders
|
||||
4: size
|
||||
2: title
|
||||
- name: type
|
||||
type: select
|
||||
label: Order requested from site
|
||||
default: 2
|
||||
options:
|
||||
2: desc
|
||||
1: asc
|
||||
- name: flaresolverr
|
||||
type: info
|
||||
label: FlareSolverr
|
||||
default: This site may use Cloudflare DDoS Protection, therefore Jackett requires <a href="https://github.com/Jackett/Jackett#configuring-flaresolverr" target="_blank">FlareSolverr</a> to access it.
|
||||
|
||||
login:
|
||||
path: index.php?page=login
|
||||
method: post
|
||||
inputs:
|
||||
uid: "{{ .Config.username }}"
|
||||
pwd: "{{ .Config.password }}"
|
||||
logout: ""
|
||||
error:
|
||||
- selector: tr td span[style="color:#FF0000;"]
|
||||
test:
|
||||
path: index.php
|
||||
selector: a[href="logout.php"]
|
||||
|
||||
search:
|
||||
paths:
|
||||
# https://hd-space.org/index.php?page=torrents&search=&active=0&options=0&category=15;18;19
|
||||
- path: index.php
|
||||
inputs:
|
||||
page: torrents
|
||||
search: "{{ if .Query.IMDBID }}{{ .Query.IMDBIDShort }}{{ else }}{{ .Keywords }}{{ end }}"
|
||||
category: "{{ if .Categories }}{{ range .Categories }}{{.}};{{end}}{{ else }}0{{ end }}"
|
||||
# 0 default, 1 genre, 2 imdb, 3 uploader
|
||||
options: "{{ if .Query.IMDBID }}2{{ else }}0{{ end }}"
|
||||
# 0 all, 1 activeonly, 2 deadonly
|
||||
active: 0
|
||||
order: "{{ .Config.sort }}"
|
||||
by: "{{ .Config.type }}"
|
||||
|
||||
rows:
|
||||
selector: "table.lista[width=\"100%\"] > tbody > style ~ tr{{ if .Config.freeleech }}:has(img[src=\"gold/gold.png\"]){{ else }}{{ end }}, table.lista[width=\"100%\"] > tbody > style ~ tr{{ if .Config.freeleech }}:has(img[src=\"images/sf.png\"]){{ else }}{{ end }}"
|
||||
|
||||
fields:
|
||||
category:
|
||||
selector: td a[href^="index.php?page=torrents&category="]
|
||||
attribute: href
|
||||
filters:
|
||||
- name: querystring
|
||||
args: category
|
||||
title:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
details:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: href
|
||||
download:
|
||||
selector: a[href^="download.php?id="]
|
||||
attribute: href
|
||||
poster:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: src=\./(.+?)\s
|
||||
imdbid:
|
||||
selector: td a[href^="index.php?page=torrent-details"]
|
||||
attribute: onmouseover
|
||||
filters:
|
||||
- name: regexp
|
||||
args: /(\d{8}).jpg
|
||||
date_day:
|
||||
# Today at 09:17:08
|
||||
# Yesterday at 17:11:03
|
||||
selector: td:nth-child(5):contains("day")
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[ ]at|[//\xa0\\s,]+", " "]
|
||||
date_year:
|
||||
# January 30, 2024, 20:23:21
|
||||
selector: td:nth-child(5):not(:contains("day"))
|
||||
# auto adjusted by site account profile
|
||||
optional: true
|
||||
filters:
|
||||
- name: re_replace
|
||||
args: ["[//\xa0\\s,]+", " "]
|
||||
- name: dateparse
|
||||
args: "MMMM dd yyyy HH:mm:ss"
|
||||
date:
|
||||
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
|
||||
size:
|
||||
selector: td:nth-child(6)
|
||||
seeders:
|
||||
selector: td:nth-child(8)
|
||||
leechers:
|
||||
selector: td:nth-child(9)
|
||||
grabs:
|
||||
selector: td:nth-child(10)
|
||||
genre:
|
||||
selector: td:nth-child(2)
|
||||
remove: a
|
||||
description:
|
||||
text: "{{ .Result.genre }}"
|
||||
downloadvolumefactor:
|
||||
case:
|
||||
img[src="images/sf.png"]: 0 # side freeleech
|
||||
img[src="gold/gold.png"]: 0
|
||||
img[src="gold/silver.png"]: 0.5
|
||||
"*": 1
|
||||
uploadvolumefactor:
|
||||
text: 1
|
||||
minimumratio:
|
||||
text: 1.0
|
||||
minimumseedtime:
|
||||
# 1 day (as seconds = 1 x 24 x 60 x 60)
|
||||
text: 86400
|
||||
# xbtit
|
||||
@@ -169,4 +169,4 @@ search:
|
||||
False: 1 # normal
|
||||
True: 2 # double
|
||||
# as a pay site there is no MR or MST
|
||||
# json UNIT3D 7.0.3
|
||||
# json UNIT3D 7.2.5
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user