Compare commits

..

104 Commits

Author SHA1 Message Date
Garfield69
c70e8bb189 cpabien: new domain 2023-01-12 16:11:50 +13:00
Garfield69
967ce651ba torrentleech: requestdelay 4.1 resolves #13796 2023-01-12 10:18:23 +13:00
Garfield69
f050791933 pornotor: removed. resolves #7523 2023-01-12 08:33:11 +13:00
Garfield69
4521fceae4 swarmazon: removed HTML indexer. #12015
use the swarmazon API exclusively
2023-01-11 15:58:23 +13:00
Garfield69
16ae35a710 dontorrent: new domain 2023-01-11 15:43:46 +13:00
Garfield69
91cd7a82d5 nebulance: removed HTML indexer. #12125
use the Nebulance API indexer exclusively.
2023-01-11 15:18:15 +13:00
ilike2burnthing
0400bd81fd hdtorrents: restore *.net mirror, fix bluray cats
https://github.com/Prowlarr/Prowlarr/pull/1314
2023-01-10 20:05:35 +00:00
Garfield69
6aeb9e5d5b scenepalace: removed. resolves #5617 2023-01-11 09:02:25 +13:00
Garfield69
de00289965 dreamtracker: MST 4d started on 1-1-23 2023-01-10 20:56:23 +13:00
Garfield69
d0ad1f0b52 bitofvalor: prevent error when processing rows. #13890 2023-01-10 17:43:43 +13:00
Garfield69
bd24ec37cd bitofvalor: a Hungarian private site. resolves #13890 2023-01-10 17:37:46 +13:00
Bogdan
79eaf5c152 cathoderaytube: fix seasons naming (#13891) 2023-01-10 01:28:17 +00:00
Garfield69
8b76e04b7c torrent-explosiv: refresh cats 2023-01-09 16:18:44 +13:00
Garfield69
60ea6edda9 theshinning: -> 6.5.0 2023-01-09 16:18:24 +13:00
Diego Heras
54fd12428c immortalseed: improve login error message (#13887) 2023-01-08 21:08:05 +01:00
Diego Heras
b8c5a00b97 core: update FlareSolverrSharp 3.0.4 (#13886)
* Detect Cloudflare blocked pages
2023-01-08 20:41:34 +01:00
Diego Heras
5e069e5d74 rarbg: cleanup all sleeps #13663 (#13871) 2023-01-08 17:29:51 +00:00
ilike2burnthing
ac5d6f5764 immortalseed: fix login detection. resolves #13884 (#13885) 2023-01-08 16:36:44 +00:00
ilike2burnthing
1685c0c8b9 mojblink: update cats 2023-01-08 07:41:25 +00:00
ilike2burnthing
6e234ff303 sporthd: add new cat 2023-01-08 07:30:12 +00:00
ilike2burnthing
462860e6b0 myanonamouse: add MST and commented MR 2023-01-08 04:31:54 +00:00
Garfield69
c31ce0a8be subsplease: get size from magnet. resolves #13860 2023-01-08 16:16:32 +13:00
ilike2burnthing
d0ebdea164 codeql: update (#13883) 2023-01-08 02:15:41 +00:00
Diego Heras
d7c885306e chore: remove unused imports (#13882) 2023-01-08 02:14:18 +01:00
Diego Heras
33f59521aa chore: apply dotnet format (#13880) 2023-01-08 01:51:55 +01:00
ilike2burnthing
3771801c41 add xTorrenty a Polish semi-private site. resolves #13864 (#13881) 2023-01-08 00:40:52 +00:00
ilike2burnthing
6485122cd3 selezen: exclude news results 2023-01-07 21:08:19 +00:00
Diego Heras
cbd8d88bf6 ci/cd: speed up unit & integration tests (#13877) 2023-01-07 22:05:33 +01:00
Diego Heras
d751eb84dc core: update dependencies (#13872) 2023-01-07 21:41:24 +01:00
ilike2burnthing
9a69317f68 core: use programdata for windows cardigann folder. #13860 (#13875) 2023-01-07 20:37:02 +00:00
Diego Heras
761ec2b7f6 ci/cd: cleanup azure pipelines (#13874) 2023-01-07 21:34:39 +01:00
Diego Heras
92c711eb19 core: update net462 (#13873) 2023-01-07 20:38:52 +01:00
Garfield69
89d6f4a656 demonoid: add cat 0. resolves #13850 2023-01-08 08:29:41 +13:00
Garfield69
9861c2565d bulltorrent: restore date_ago. resolves #13845 2023-01-08 07:53:00 +13:00
Diego Heras
263d26f8e6 webui: fix search filter with some special characters. resolves #13628 (#13870) 2023-01-07 18:19:02 +00:00
Diego Heras
034ca38368 core: clean up indexer manager code (#13867) 2023-01-07 17:18:24 +01:00
Diego Heras
e7384b73e4 ci/cd: retry build jackett server task (#13869) 2023-01-07 17:18:09 +01:00
ilike2burnthing
f1470fc3c5 acgsou: alter user-agent
Windows UA now being blocked. If it happens again, will either have to add a UA config field or remove the indexer.
2023-01-07 16:15:22 +00:00
Diego Heras
ac535dc7ad webui: update bootstrap-multiselect 0.9.15 (#13868) 2023-01-07 16:58:47 +01:00
Diego Heras
cb10294900 core: clean up blackhole code (#13866) 2023-01-07 16:41:45 +01:00
Diego Heras
8442a7980f core: clean up torrent download code (#13865) 2023-01-07 16:34:33 +01:00
ilike2burnthing
aac2e5500e subsplease: prevent double slash in api url 2023-01-07 15:00:51 +00:00
Diego Heras
c95d268a94 ci/cd: use different build paths for each runtime (#13863) 2023-01-07 15:55:03 +01:00
Diego Heras
b6611b1bb5 core: clean up image download code (#13862) 2023-01-07 15:23:30 +01:00
ilike2burnthing
733c8d0249 ci/cd: fix .net sdk to 6.0.403. resolves #13806 (#13857) 2023-01-07 14:21:19 +00:00
Diego Heras
ad635c442b core: clean up login code (#13861) 2023-01-07 14:52:15 +01:00
Diego Heras
1ca2edf9b7 ci/cd: use a different ubuntu image to fix musl build (#13859) 2023-01-07 12:35:43 +01:00
Diego Heras
d76325d6bc ci/cd: update linux build image to ubuntu-22.04 (#13858) 2023-01-07 12:23:39 +01:00
Garfield69
f2a3de351a extremebits: CA expired. 2023-01-07 15:24:22 +13:00
ilike2burnthing
b77177bbf3 torrent9: dupe key 2023-01-06 22:11:15 +00:00
ilike2burnthing
9cfffe4ea1 torrent9: update proxy tld. #13855 2023-01-06 22:03:32 +00:00
ilike2burnthing
1036f2c462 thepiratebay: update proxies. #13855 2023-01-06 22:00:07 +00:00
Garfield69
df515dc38a rutor: go magnet only. resolves #13848 2023-01-07 10:54:54 +13:00
ilike2burnthing
9eb5d0de3f sukebeinyaasi: remove dead .lol proxy. #13855
whoops, should have been removed back with da576b43fa
2023-01-06 21:44:42 +00:00
ilike2burnthing
ba19357572 selezen: .net domain redirects to .club 2023-01-06 21:39:00 +00:00
Garfield69
db901dc3ec assorted: new unblockit domain. 2023-01-07 10:32:14 +13:00
ilike2burnthing
77a8a60136 exttorrents: update mirror and proxy subdomains. #13855 2023-01-06 21:22:13 +00:00
Garfield69
5a4b0e4e30 elitetorrent: removed. resolves #13846 #9873 2023-01-07 09:53:03 +13:00
Garfield69
35c051b97e knaben: refresh cats. resolves #13851 2023-01-07 09:46:07 +13:00
ilike2burnthing
8c57a6a03d acgsou: use windows UA to bypass linux UA block. resolves #13844 2023-01-06 20:12:41 +00:00
Garfield69
df50d290c5 xspeeds: refresh cats. resolves #13853 2023-01-07 09:11:53 +13:00
Garfield69
6f6cc47cab pretome: add new cat. resolves #13852 2023-01-07 08:45:49 +13:00
Garfield69
ee86c57ac8 torrentz2eu: fix date. resolves #13849 2023-01-07 08:14:33 +13:00
Garfield69
6cc81b6266 bulltorrent: new dates. resolves #13845 2023-01-07 08:14:04 +13:00
Garfield69
6d3b40b80d mononokebt: removed. resolves #13843 2023-01-06 14:11:55 +13:00
Garfield69
6409a8e119 oshenpt: lint fix 2023-01-06 14:02:00 +13:00
Garfield69
a1e0aa8efe oshenpt: -> v1.8.0 resolves #8449
add login 2fa, captcha
update engine tag
2023-01-06 13:50:31 +13:00
Garfield69
a9bd16f681 torrentsir: bump domain 2023-01-06 08:39:28 +13:00
Garfield69
24e3d930ec torrentqq: bump domain 2023-01-06 08:39:17 +13:00
Diego Heras
c82e4ae627 core: update FlareSolverrSharp 3.0.3 (#13840)
* This version handles the FlareSolverr timeout properly
2023-01-05 13:50:31 +01:00
Garfield69
ef71118f74 torrentsectorcrew: new layout 2023-01-05 16:39:39 +13:00
ilike2burnthing
fc4f36e68e assorted french indexers: enable allowrawsearch (#13838)
https://github.com/Prowlarr/Indexers/pull/295
2023-01-05 01:37:24 +00:00
Diego Heras
0a18ddfe4e core: update FlareSolverrSharp 3.0.1 (#13837) 2023-01-05 01:43:07 +01:00
Garfield69
89858199ed diablotorrent: refresh cats
https://github.com/Prowlarr/Indexers/pull/294
2023-01-05 08:10:38 +13:00
Garfield69
29be6f4c80 theaudioscene: removed. resolves #5669 2023-01-05 06:25:04 +13:00
Garfield69
aa72f5b80e twilightszoom: removed. resolves #7080 2023-01-05 06:20:13 +13:00
Garfield69
db6457319b p2pelite: removed. resolves #7126 2023-01-05 06:18:09 +13:00
Garfield69
ef269a1358 shizaproject: removed: resolves #13762 2023-01-05 06:10:58 +13:00
LostRager
8f7375ff90 LST: -> 6.5.0 (#13835)
fixes filtering for 100% freeleech torrents
2023-01-04 17:28:06 +13:00
Garfield69
18ac5ddf31 dontorrent: new domain 2023-01-04 14:49:48 +13:00
bakerboy448
1fd731aaf8 sharewood: enable raw search support (#13834)
Co-authored-by: ilike2burnthing <59480337+ilike2burnthing@users.noreply.github.com>
2023-01-03 23:17:41 +00:00
Bogdan
01e9a73fa7 cartoonchaos: fix title (#13832) 2023-01-03 20:39:53 +00:00
ilike2burnthing
8ffe670b29 thesceneplace: edit field names 2023-01-03 20:18:07 +00:00
Garfield69
279caca6af tests: update expected year 2023-01-03 15:59:50 +13:00
whitesnakeftw
ec8eb929e6 720pier: Switch to private, signups have been disabled for about a month or so (#13831) 2023-01-03 15:47:15 +13:00
Garfield69
9678329b2e tests: update reference year 2023-01-03 15:45:49 +13:00
Garfield69
34f77fc376 skipthetrailers: -> 6.5.0
update MST MR
2023-01-01 08:11:45 +13:00
Bogdan
1774fda60a thesceneplace: fix the apostrophe in titles(#13827) 2022-12-31 15:29:20 +13:00
ilike2burnthing
c413f72db0 Update turktorrent.yml 2022-12-30 13:03:30 +00:00
MichaIng
de6effabb2 launcher: do not mask Jackett exit code (#13815)
Currently, in the launcher script the whoami and updater loop are masking the exit code of Jackett. So even if Jackett errors out, the systemd service sees an exit code of "0", which e.g. breaks the `Restart=on-failure` in the [non-mono service template](https://github.com/Jackett/Jackett/wiki/Systemd-service#not-using-mono).

This commit stores the exit code of Jackett in a variable and exits the script explicitly with this exit code, after the updater has been waited for. This way `Restart=on-failure` again can apply and `systemctl status jackett` reports the correct status if Jackett failed.

Signed-off-by: MichaIng <micha@dietpi.com>
2022-12-30 08:17:37 +00:00
Garfield69
3a0403958a torrentqq: bump domain 2022-12-30 14:48:17 +13:00
showkubii
134c6b34a6 siambit unlimitz bitded: fix category and description (#13822) 2022-12-30 06:53:58 +13:00
ilike2burnthing
cc6acd8efb turkseed: update date selector and filter 2022-12-28 16:41:55 +00:00
ilike2burnthing
f3a785bd2d torrentproject2: drop .com domain, restore .cc 2022-12-28 16:07:08 +00:00
ilike2burnthing
33c82015af sosulki: site forces https 2022-12-28 16:01:25 +00:00
Bogdan
9490a8382f thesceneplace: Use filename from download link when possible (#13813) 2022-12-28 16:25:49 +13:00
ilike2burnthing
07081bcf42 hdgalaktik: add new mirror 2022-12-27 08:55:58 +00:00
Garfield69
5500a0e66f backups: refresh cats
add filter freeleech
fix DLVF/ULVF
add tpp info
add engine tag
2022-12-27 16:20:50 +13:00
Garfield69
451bd7809e aither: -> 6.5.0 2022-12-27 08:01:18 +13:00
Bogdan
9fece7551b abtorrents: Fixes for naming (#13810) 2022-12-27 07:05:33 +13:00
Garfield69
59c2801528 world-of-tomorrow: expired CA 2022-12-26 15:21:33 +13:00
Bogdan
d60ae9f408 digitalcore: hawke-uno: Fix searching by season/episode in combo with imdbid (#13809) 2022-12-26 12:36:40 +13:00
Garfield69
0c82b4144e hebits: switch to json. resolves #13808 2022-12-26 07:02:55 +13:00
ilike2burnthing
23f1ea6a7b broadcity: thank before download. resolves #13807 2022-12-25 06:30:20 +00:00
138 changed files with 2781 additions and 3891 deletions

View File

@@ -35,7 +35,7 @@ on:
jobs:
analyze:
name: Analyze
runs-on: windows-2019
runs-on: windows-2022
permissions:
actions: read
contents: read
@@ -62,11 +62,6 @@ jobs:
# Prefix the list here with "+" to use these queries and those in the config file.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Set up dotnet
uses: actions/setup-dotnet@v2
with:
dotnet-version: '6.0.*'
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
@@ -85,5 +80,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
uses: github/codeql-action/analyze@v2

View File

@@ -60,7 +60,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Dodder (菟丝子资源社区)
* DonTorrent
* E-Hentai
* elitetorrent
* EpubLibre
* EXT Torrents
* ExtraTorrent.st
@@ -111,7 +110,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Pornforall
* PornLeech
* PornosLab
* PornoTor
* PornoTorrent
* Portugas
* ProPorn
@@ -126,7 +124,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* seleZen
* Sexy-Pics
* Shana Project
* ShizaProject
* ShowRSS
* Solid Torrents
* sosulki
@@ -226,6 +223,7 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Torrents-Local
* TribalMixes
* Union Fansub
* xTorrenty
* YggTorrent (YGG)
* ZOMB
* Ztracker
@@ -275,6 +273,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
* BitSexy
* Bitspyder
* BitTorrentFiles
@@ -428,7 +427,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* MMA-Torrents [![(invite needed)][inviteneeded]](#)
* MNV (Max-New-Vision)
* MOJBLiNK
* Mononoké-BT [![(invite needed)][inviteneeded]](#)
* MoreThanTV (MTV)
* MouseBits
* Movie-Torrentz
@@ -444,7 +442,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* OshenPT
* Ourbits (HDPter) [![(invite needed)][inviteneeded]](#)
* P2PBG
* P2PElite
* Partis
* PassThePopcorn (PTP)
* Peeratiko
@@ -484,7 +481,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* Romanian Metal Torrents (RMT) [![(invite needed)][inviteneeded]](#)
* RPTorrents
* SceneHD [![(invite needed)][inviteneeded]](#)
* ScenePalace (SP)
* SceneRush
* SceneTime
* SDBits [![(invite needed)][inviteneeded]](#)
@@ -528,7 +524,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* The Vault [![(invite needed)][inviteneeded]](#)
* The-Crazy-Ones
* The-New-Fun
* TheAudioScene
* TheEmpire (TE)
* TheLeachZone (TLZ)
* TheScenePlace (TSP)
@@ -563,7 +558,6 @@ A third-party Golang SDK for Jackett is available from [webtor-io/go-jackett](ht
* TvRoad
* TVstore
* Twilight Torrents
* Twilights Zoom
* U2 (U2分享園@動漫花園) [![(invite needed)][inviteneeded]](#)
* UHDBits
* UnionGang

View File

@@ -7,7 +7,7 @@ variables:
jackettVersion: $(majorVersion).$(minorVersion).$(patchVersion)
buildConfiguration: Release
netCoreFramework: net6.0
netCoreSdkVersion: 6.0.x
netCoreSdkVersion: 6.0.403 # #13806 & dotnet/runtime#79796
# system.debug: true
trigger:
@@ -26,7 +26,7 @@ stages:
jobs:
- job: Build
workspace:
clean: outputs
clean: all
strategy:
matrix:
Windows:
@@ -52,50 +52,50 @@ stages:
artifactName: Jackett.Binaries.macOSARM64.tar.gz
LinuxAMDx64:
buildDescription: Linux AMD x64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-x64
archiveType: tar
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
LinuxARM32:
buildDescription: Linux ARM32
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-arm
archiveType: tar
artifactName: Jackett.Binaries.LinuxARM32.tar.gz
LinuxARM64:
buildDescription: Linux ARM64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-arm64
archiveType: tar
artifactName: Jackett.Binaries.LinuxARM64.tar.gz
LinuxMuslAMDx64:
buildDescription: Linux musl AMD x64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-musl-x64
archiveType: tar
artifactName: Jackett.Binaries.LinuxMuslAMDx64.tar.gz
LinuxMuslARM32:
buildDescription: Linux musl ARM32
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-musl-arm
archiveType: tar
artifactName: Jackett.Binaries.LinuxMuslARM32.tar.gz
LinuxMuslARM64:
buildDescription: Linux musl ARM64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-musl-arm64
archiveType: tar
artifactName: Jackett.Binaries.LinuxMuslARM64.tar.gz
Mono:
buildDescription: Mono
imageName: ubuntu-20.04
framework: net461
imageName: ubuntu-22.04
framework: net462
runtime: linux-x64
archiveType: tar
artifactName: Jackett.Binaries.Mono.tar.gz
@@ -104,7 +104,6 @@ stages:
displayName: ${{ variables.buildDescription }}
steps:
- checkout: self
clean: false
- task: UseDotNet@2
displayName: Install .NET Core SDK
@@ -113,8 +112,23 @@ stages:
version: $(netCoreSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
- task: DotNetCoreCLI@2
displayName: Build DateTimeRoutines
# this task is not mandatory since DateTimeRoutines is build in the next task, but the purpose is to fix:
# error MSB4018: System.IO.IOException: The process cannot access the file
# '/home/vsts/work/1/net6.0-linux-musl-arm/src/DateTimeRoutines/bin/Release/netstandard2.0/DateTimeRoutines.deps.json'
# because it is being used by another process.
inputs:
command: build
projects: 'src/DateTimeRoutines/DateTimeRoutines.csproj'
publishWebProjects: false
zipAfterPublish: false
arguments: '--configuration $(buildConfiguration) --runtime $(runtime) --framework netstandard2.0'
- task: DotNetCoreCLI@2
displayName: Build Jackett Server
# the retries are just in case the previous task doesn't fix the error
retryCountOnTaskFailure: 3
inputs:
command: publish
projects: 'src/Jackett.Server/Jackett.Server.csproj'
@@ -303,12 +317,11 @@ stages:
- job: Linting_Dotnet
displayName: Linting Dotnet
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-22.04
workspace:
clean: outputs
clean: all
steps:
- checkout: self
clean: false
- task: UseDotNet@2
displayName: Install .NET Core SDK
@@ -337,12 +350,11 @@ stages:
- job: Linting_YAML
displayName: Linting YAML
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-22.04
workspace:
clean: outputs
clean: all
steps:
- checkout: self
clean: false
- task: UsePythonVersion@0
displayName: Install Python
@@ -358,12 +370,11 @@ stages:
- job: Validate_YAML_Schema
displayName: Validate YAML Schema
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-22.04
workspace:
clean: outputs
clean: all
steps:
- checkout: self
clean: false
- task: Bash@3
displayName: Validate YAML Schema
@@ -393,7 +404,7 @@ stages:
jobs:
- job: UnitTest
workspace:
clean: outputs
clean: all
strategy:
matrix:
Windows:
@@ -408,20 +419,19 @@ stages:
runtime: osx-x64
LinuxAMDx64:
buildDescription: Linux AMD x64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
framework: $(netCoreFramework)
runtime: linux-x64
Mono:
buildDescription: Mono
imageName: ubuntu-20.04
framework: net461
imageName: ubuntu-22.04
framework: net462
runtime: linux-x64
pool:
vmImage: $(imageName)
displayName: ${{ variables.buildDescription }}
steps:
- checkout: self
clean: false
- task: UseDotNet@2
displayName: Install .NET Core SDK
@@ -430,15 +440,6 @@ stages:
version: $(netCoreSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
# this task is a workaround to fix a bug in Azure (not required under normal circumstances)
# https://developercommunity.visualstudio.com/content/problem/983843/dotnet-build-task-does-not-use-nugetorg-for-one-pr.html
- task: DotNetCoreCLI@2
displayName: Restore Test Project
inputs:
command: restore
projects: '**/*.Test*/*.csproj'
includeNuGetOrg: true
- task: DotNetCoreCLI@2
displayName: Unit Tests (Mono, Linux and macOS)
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
@@ -487,7 +488,7 @@ stages:
jobs:
- job: IntegrationTest
workspace:
clean: outputs
clean: all
strategy:
matrix:
Windows:
@@ -504,22 +505,21 @@ stages:
runtime: osx-x64
LinuxAMDx64:
buildDescription: Linux AMD x64
imageName: ubuntu-20.04
imageName: ubuntu-22.04
artifactName: Jackett.Binaries.LinuxAMDx64.tar.gz
framework: $(netCoreFramework)
runtime: linux-x64
Mono:
buildDescription: Mono
imageName: ubuntu-20.04
imageName: ubuntu-22.04
artifactName: Jackett.Binaries.Mono.tar.gz
framework: net461
framework: net462
runtime: linux-x64
pool:
vmImage: $(imageName)
displayName: ${{ variables.buildDescription }}
steps:
- checkout: self
clean: false
- task: DownloadBuildArtifacts@0
displayName: Download artifacts for integration tests
@@ -556,15 +556,6 @@ stages:
version: $(netCoreSdkVersion)
installationPath: $(Agent.ToolsDirectory)/dotnet
# this task is a workaround to fix a bug in Azure (not required under normal circumstances)
# https://developercommunity.visualstudio.com/content/problem/983843/dotnet-build-task-does-not-use-nugetorg-for-one-pr.html
- task: DotNetCoreCLI@2
displayName: Restore IntegrationTest Project
inputs:
command: restore
projects: '**/*IntegrationTest*/*.csproj'
includeNuGetOrg: true
- task: DotNetCoreCLI@2
displayName: Integration Tests (Mono, Linux and macOS)
condition: and(succeeded(), not(startsWith(variables['runtime'], 'win')))
@@ -592,12 +583,11 @@ stages:
jobs:
- job: Publish
workspace:
clean: outputs
clean: all
pool:
vmImage: ubuntu-20.04
vmImage: ubuntu-22.04
steps:
- checkout: self
clean: false
- task: DownloadBuildArtifacts@0
displayName: Download Artifacts for Publish

View File

@@ -8,6 +8,7 @@ JACKETT_DIR="$(dirname "$(readlink -f "$0")")"
# Launch Jackett (with CLI parameters)
"${JACKETT_DIR}/jackett" --NoRestart "$@"
ec=$?
# Get user running the service
JACKETT_USER=$(whoami)
@@ -16,3 +17,5 @@ JACKETT_USER=$(whoami)
while pgrep -u "${JACKETT_USER}" JackettUpdater > /dev/null; do
sleep 1
done
exit $ec

View File

@@ -1 +1 @@
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px 3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.radio,.multiselect-container>li>a>label.checkbox{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}
span.multiselect-native-select{position:relative}span.multiselect-native-select select{border:0!important;clip:rect(0 0 0 0)!important;height:1px!important;margin:-1px -1px -1px -3px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;left:50%;top:30px}.multiselect-container{position:absolute;list-style-type:none;margin:0;padding:0}.multiselect-container .input-group{margin:5px}.multiselect-container .multiselect-reset .input-group{width:93%}.multiselect-container>li{padding:0}.multiselect-container>li>a.multiselect-all label{font-weight:700}.multiselect-container>li.multiselect-group label{margin:0;padding:3px 20px;height:100%;font-weight:700}.multiselect-container>li.multiselect-group-clickable label{cursor:pointer}.multiselect-container>li>a{padding:0}.multiselect-container>li>a>label{margin:0;height:100%;cursor:pointer;font-weight:400;padding:3px 20px 3px 40px}.multiselect-container>li>a>label.checkbox,.multiselect-container>li>a>label.radio{margin:0}.multiselect-container>li>a>label>input[type=checkbox]{margin-bottom:5px}.btn-group>.btn-group:nth-child(2)>.multiselect.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.form-inline .multiselect-container label.checkbox,.form-inline .multiselect-container label.radio{padding:3px 20px 3px 40px}.form-inline .multiselect-container li a label.checkbox input[type=checkbox],.form-inline .multiselect-container li a label.radio input[type=radio]{margin-left:-20px;margin-right:0}

View File

@@ -1256,7 +1256,7 @@ function setSavedPresets(presets) {
}
function setSavePresetsButtonState(table, element, state = false) {
var button = element.find("button[id=jackett-search-results-datatable_savepreset_button]")
var button = element.find("button[id=jackett-search-results-datatable_savepreset_button]")
if (state) {
button.attr("class", "btn btn-danger btn-sm");
button.on("click", function () {
@@ -1403,6 +1403,8 @@ function updateSearchResultTable(element, results) {
newKeyword = "^((?!" + $.fn.dataTable.util.escapeRegex(keyword.substring(1)) + ").)*$";
else
newKeyword = '(' + keyword.split('|').map(k => $.fn.dataTable.util.escapeRegex(k)).join('|') + ')';
// fix search filters with "-", "." or "_" characters in the middle of the word => #13628
newKeyword = newKeyword.replace("\\-", "\\-\u200B?").replace("\\.", "\\.\u200B?").replace("_", "_\u200B?");
newKeywords.push(newKeyword);
});
var filterText = newKeywords.join(" ");

View File

@@ -22,7 +22,7 @@
<script type="text/javascript" src="../libs/handlebarsextend.js?changed=2017083001"></script>
<script type="text/javascript" src="../bootstrap/bootstrap.min.js?changed=2017083001"></script>
<script type="text/javascript" src="../libs/bootstrap-notify.js?changed=2017083001"></script>
<script type="text/javascript" src="../libs/bootstrap-multiselect.js?changed=2017083001"></script>
<script type="text/javascript" src="../libs/bootstrap-multiselect.js?changed=20230107001"></script>
<script type="text/javascript" src="../libs/tagify.min.js?changed=11662"></script>
<script type="text/javascript" src="../libs/jQuery.tagify.min.js?changed=11662"></script>
@@ -32,7 +32,7 @@
<link rel="stylesheet" type="text/css" href="../custom.css?changed=20220721002" media="only screen and (min-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../custom_mobile.css?changed=20220721002" media="only screen and (max-device-width: 480px)">
<link rel="stylesheet" type="text/css" href="../css/jquery.dataTables.min.css?changed=2017083001">
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=2017083001" />
<link rel="stylesheet" type="text/css" href="../css/bootstrap-multiselect.css?changed=20230107001" />
<link rel="stylesheet" type="text/css" href="../css/font-awesome.min.css?changed=2017083001">
<title>Jackett</title>
</head>
@@ -756,6 +756,6 @@
</script>
<script type="text/javascript" src="../libs/api.js?changed=2017083001"></script>
<script type="text/javascript" src="../custom.js?changed=20221221"></script>
<script type="text/javascript" src="../custom.js?changed=2023010701"></script>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -13,13 +13,12 @@ links:
- https://x1337x.ws/
- https://x1337x.eu/
- https://x1337x.se/
- https://1337x.unblockit.pet/
- https://1337x.unblockit.ink/
- https://1337x.nocensor.lol/
- https://1337x.unblockninja.com/
legacylinks:
- https://1337x.is/
- https://1337x.nocensor.work/
- https://1337x.unblockit.kim/
- https://1337x.unblockit.bz/
- https://1337x.unblockit.tv/
- https://1337x.unblockit.how/
@@ -37,6 +36,7 @@ legacylinks:
- https://1337x.unblockit.nz/
- https://1337x.nocensor.world/
- https://1337x.unblockit.page/
- https://1337x.unblockit.pet/
caps:
categorymappings:

View File

@@ -129,6 +129,7 @@ search:
args: cat
title:
selector: a[href^="details.php?id="]
remove: span
details:
selector: a[href^="details.php?id="]
attribute: href

View File

@@ -61,6 +61,10 @@ search:
# https://www.acgsou.com/search.php?keyword=test
- path: "{{ if .Keywords }}search.php?keyword={{ .Keywords }}{{ else }}1.html{{ end }}"
headers:
# site blocks Jackett's User-Agents, so slightly alter it here (e.g. Safari/537.36 > Safari/537.35)
User-Agent: ["Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.35"]
rows:
selector: table tbody tr[class^="alt"]:has(td:nth-child(3) a)

View File

@@ -79,7 +79,7 @@ search:
# 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
api_token: "{{ .Config.apikey }}"
name: "{{ .Keywords }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -168,4 +168,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 3 x 24 x 60 x 60)
text: 432000
# json UNIT3D 6.4.0
# json UNIT3D 6.5.0

View File

@@ -9,11 +9,10 @@ requestDelay: 2
links:
- https://audiobookbay.li/
- https://audiobookbay.se/
- https://audiobookbay.unblockit.pet/
- https://audiobookbay.unblockit.ink/
legacylinks:
- https://audiobookbay.la/
- http://audiobookbay.net/
- https://audiobookbay.unblockit.kim/
- https://audiobookbay.unblockit.bz/
- https://audiobookbay.unblockit.tv/
- http://audiobookbay.nl/
@@ -34,6 +33,7 @@ legacylinks:
- https://audiobookbay.unblockit.nz/
- https://audiobookbay.fi/
- https://audiobookbay.unblockit.page/
- https://audiobookbay.unblockit.pet/
caps:
categorymappings:

View File

@@ -10,33 +10,49 @@ links:
caps:
categorymappings:
- {id: 12, cat: Console, desc: "XBOX360"}
- {id: 9, cat: TV, desc: "TV-Boxsets"}
- {id: 15, cat: PC/Mobile-Android, desc: "Android"}
- {id: 35, cat: TV/Anime, desc: "Anime"}
- {id: 51, cat: PC/Mac, desc: "Apple"}
- {id: 3, cat: PC, desc: "Apps"}
- {id: 24, cat: PC, desc: "Apple"}
- {id: 11, cat: TV, desc: "TV/x264"}
- {id: 23, cat: Console, desc: "Visionary"}
- {id: 14, cat: TV/Sport, desc: "WWE"}
- {id: 26, cat: Console, desc: "Xbox"}
- {id: 13, cat: Console, desc: "XBOX-JTAG"}
- {id: 35, cat: Movies/Other, desc: "Anime"}
- {id: 64, cat: Audio/Audiobook, desc: "Audiobooks"}
- {id: 4, cat: Movies/BluRay, desc: "Blu-Ray"}
- {id: 6, cat: Movies, desc: "Movies/XVID"}
- {id: 10, cat: TV, desc: "TV/Xvid"}
- {id: 29, cat: TV/Sport, desc: "Sport"}
- {id: 40, cat: TV, desc: "Soaps"}
- {id: 27, cat: Console, desc: "Roms and Emulators"}
- {id: 30, cat: Console, desc: "Playstation"}
- {id: 7, cat: Audio, desc: "Music"}
- {id: 22, cat: Console, desc: "CoinOps"}
- {id: 42, cat: Console, desc: "CoinOPS Official"}
- {id: 65, cat: Console, desc: "CoinOps Unofficial"}
- {id: 63, cat: Books/Comics, desc: "Comics"}
- {id: 60, cat: Console, desc: "Core"}
- {id: 44, cat: Console, desc: "CP78"}
- {id: 16, cat: TV/Documentary, desc: "Docu"}
- {id: 41, cat: Console, desc: "Dragon"}
- {id: 5, cat: Books, desc: "EBooks"}
- {id: 38, cat: Console, desc: "Hyperspin Bolt-on Edition"}
- {id: 61, cat: Console, desc: "emuxtras"}
- {id: 69, cat: TV, desc: "Entertainment"}
- {id: 34, cat: TV, desc: "Kids"}
- {id: 8, cat: PC/Games, desc: "PC Games"}
- {id: 22, cat: PC/Games, desc: "CoinOPS"}
- {id: 43, cat: Console, desc: "LB No Intro"}
- {id: 33, cat: TV/Sport, desc: "MMA/Boxing"}
- {id: 32, cat: Movies, desc: "Movie Pack"}
- {id: 6, cat: Movies, desc: "Movies/XVID"}
- {id: 7, cat: Audio, desc: "Music"}
- {id: 31, cat: Console, desc: "Nintendo"}
- {id: 59, cat: Console, desc: "P-R-U"}
- {id: 8, cat: PC/Games, desc: "PC Games"}
- {id: 50, cat: Console, desc: "PlayBox"}
- {id: 30, cat: Console, desc: "Playstation"}
- {id: 62, cat: Console, desc: "RaspberryPi"}
- {id: 56, cat: Console, desc: "Retro Minis"}
- {id: 67, cat: Console, desc: "Retrobat"}
- {id: 27, cat: Console, desc: "Roms and Emulators"}
- {id: 68, cat: Console, desc: "Schmoomer's"}
- {id: 57, cat: Console, desc: "Sega"}
- {id: 40, cat: TV, desc: "Soaps"}
- {id: 29, cat: TV/Sport, desc: "Sport"}
- {id: 9, cat: TV, desc: "TV-Boxsets"}
- {id: 11, cat: TV, desc: "TV/x264"}
- {id: 10, cat: TV, desc: "TV/Xvid"}
- {id: 14, cat: TV/Sport, desc: "WWE"}
- {id: 26, cat: Console, desc: "Xbox"}
- {id: 12, cat: Console, desc: "XBOX360"}
- {id: 23, cat: XXX, desc: "xxx18+"}
modes:
search: [q]
@@ -45,6 +61,22 @@ caps:
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>40</b> on your account profile.
login:
path: takelogin.php
method: post
@@ -67,12 +99,15 @@ search:
inputs:
do: search
keywords: "{{ .Keywords }}"
# t_name, t_description, t_both, t_uploader, t_genre
search_type: t_name
category: 0 # multi cat search not supported
# yes, no
include_dead_torrents: yes
# sort is done via do=quick_sort, and freeleech sorting is part of that set
rows:
selector: table#sortabletable > tbody > tr:has(a[href*="/details.php?id="])
selector: "table#sortabletable > tbody > tr:has(a[href*=\"/details.php?id=\"]){{ if .Config.freeleech }}:has(img[src$=\"freedownload.gif\"]){{ else }}{{ end }}"
filters:
- name: andmatch
args: 66
@@ -108,6 +143,18 @@ search:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
poster:
selector: div.tooltip-content > img
attribute: src
downloadvolumefactor:
case:
img[src$="freedownload.gif"]: 0
img[src$="silverdownload.gif"]: 0.5
"*": 1
uploadvolumefactor:
case:
img[src$="x2.gif"]: 2
"*": 1
date:
selector: "td:nth-child(2) > div:has(span[style=\"float: right;\"])"
remove: span
@@ -116,14 +163,4 @@ search:
args: " +00:00" # GMT
- name: dateparse
args: "02-01-2006 15:04 -07:00"
poster:
selector: div.tooltip-content > img
attribute: src
downloadvolumefactor:
case:
img[alt^="Free Torrent "]: 0
img[alt^="Silver Torrent "]: 0.5
"*": 1
uploadvolumefactor:
text: 1
# engine tbd
# TS Special Edition v.8.0

View File

@@ -12,7 +12,7 @@ caps:
categorymappings:
- {id: 1, cat: Other, desc: "ในพระราชสำนัก (in the royal court)"}
- {id: 4, cat: TV, desc: "รายการทีวี (TV)"}
- {id: 7, cat: Movies, desc: "ภาพยนตร์ชุด (Movie Packs)"}
- {id: 7, cat: TV, desc: "ภาพยนตร์ชุด (Series)"}
- {id: 12, cat: Books/EBook, desc: "หนังสือ สื่อการสอน (Books)"}
- {id: 13, cat: Other/Misc, desc: "ทั่วไป (General)"}
- {id: 14, cat: TV/Sport, desc: "กีฬา (Sport)"}

View File

@@ -0,0 +1,161 @@
---
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: "2006-01-02 15:04:05 -07:00"
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

View File

@@ -25,7 +25,6 @@ caps:
- {id: 5, cat: Movies/WEB-DL, desc: "HD - WEB-DL"}
- {id: 14, cat: Movies/HD, desc: "HD - WEBRip"}
- {id: 40, cat: Movies/HD, desc: "PTer"}
- {id: 32, cat: PC/Games, desc: "Oyunlar (Games)"}
- {id: 9, cat: Movies/SD, desc: "SD"}
- {id: 23, cat: Movies/SD, desc: "SD - BluRay"}
- {id: 10, cat: Movies/DVD, desc: "SD - DVD"}
@@ -60,12 +59,19 @@ login:
path: index.php
selector: a[href*="/logout.php?logouthash="]
download:
before:
path: takethanks.php
method: post
inputs:
torrentid: "{{ .DownloadUri.Query.id }}"
selectors:
- selector: a[href*="download.php?id="]
attribute: href
search:
paths:
- path: browse.php
keywordsfilters:
- name: re_replace # E01 to BL01
args: ["(?i)\\bE(\\d+)\\b", "E$1"]
inputs:
# does not support multi categories so defaulting to ALL
do: search
@@ -86,14 +92,11 @@ search:
args: category
title:
selector: div[id^="port-target-"] a
filters:
- name: re_replace # BL01 to E01
args: ["(?i)\\bBL(\\d+)\\b", " E$1 "]
details:
selector: div[id^="port-target-"] a
attribute: href
download:
selector: a[href*="download.php?id="]
selector: div[id^="port-target-"] a
attribute: href
poster:
selector: div[id^="port-content-"] img

View File

@@ -88,9 +88,13 @@ search:
selector: a[href^="/torrent/"]
attribute: href
date_day:
selector: td:nth-child(2):contains("day")
selector: td:nth-child(2):contains("day"), td:nth-child(2):contains("Hoy"), td:nth-child(2):contains("Ayer")
optional: true
filters:
- name: replace
args: ["Hoy", "Today"]
- name: replace
args: ["Ayer", "Yesterday"]
- name: fuzzytime
date_ago:
selector: td:nth-child(2):contains("ago")
@@ -98,7 +102,7 @@ search:
filters:
- name: timeago
date_year:
selector: td:nth-child(2):not(:contains("ago")):not(:contains("day"))
selector: td:nth-child(2):not(:contains("ago")):not(:contains("day")):not(:contains("Hoy")):not(:contains("Ayer"))
optional: true
filters:
- name: append

View File

@@ -83,7 +83,7 @@ search:
# 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
# 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
@@ -103,6 +103,24 @@ search:
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: replace
args: ["&amp;", "&"]
- name: replace
args: ["&#039;", "'"]
- name: re_replace
args: ["(?i)\\.torrent$", ""]
title_text:
selector: td a[href^="index.php?page=torrent-details"]
filters:
# #11775
- name: re_replace
args: ["(?i)(season )", "S"]
category:
selector: td a[href^="index.php?page=torrents&category="]
attribute: href
@@ -110,11 +128,7 @@ search:
- name: querystring
args: category
title:
selector: td a[href^="index.php?page=torrent-details"]
filters:
# #11775
- name: re_replace
args: ["(?i)(season )", "S"]
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
details:
selector: td a[href^="index.php?page=torrent-details"]
attribute: href

View File

@@ -104,12 +104,18 @@ search:
title:
selector: a[href^="/torrents.php?id="]
filters:
- name: re_replace # Seasons X-Y --> SX-SY
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
- name: re_replace # Seasons X-Y --> S0X-S0Y
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d)\\b", "S0$1-S0$2"]
- name: re_replace # Seasons X-YY --> S0X-SYY
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d+)\\b", "S0$1-S$2"]
- name: re_replace # Seasons XX-YY --> SXX-SYY
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)\\b", "S$1-S$2"]
- name: re_replace # Season X --> S0X
args: ["(?i)season\\s*(\\d+)", "S$1"]
args: ["(?i)season\\s*(\\d)\\b", "S0$1"]
- name: re_replace # Season XX --> SXX
args: ["(?i)season\\s*(\\d+)\\b", "S$1"]
- name: re_replace
args: ["(?i)Complete\\s+Series", ""]
args: ["(?i)\\bComplete\\s+Series\\b", ""]
details:
selector: a[href^="/torrents.php?id="]
attribute: href

View File

@@ -7,7 +7,7 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://cpasbiens3.fr/
- https://labastidevivante.fr/
legacylinks:
- http://www.cpasbiens.cc/
- http://www.cpabien.cm/
@@ -44,6 +44,7 @@ legacylinks:
- https://www2.cpasbien-fr.fr/
- https://www.cpasbien-fr.nz/
- https://vwwvwvwvvw.cpasbien-fr.nz/
- https://cpasbiens3.fr/
caps:
categories:

View File

@@ -94,12 +94,18 @@ search:
title:
selector: a[href^="/torrents.php?id="]
filters:
- name: re_replace # Seasons X-Y --> SX-SY
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)", "S$1-S$2"]
- name: re_replace # Seasons X-Y --> S0X-S0Y
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d)\\b", "S0$1-S0$2"]
- name: re_replace # Seasons X-YY --> S0X-SYY
args: ["(?i)seasons?\\s*(\\d)\\s*-\\s*(\\d+)\\b", "S0$1-S$2"]
- name: re_replace # Seasons XX-YY --> SXX-SYY
args: ["(?i)seasons?\\s*(\\d+)\\s*-\\s*(\\d+)\\b", "S$1-S$2"]
- name: re_replace # Season X --> S0X
args: ["(?i)season\\s*(\\d+)", "S$1"]
args: ["(?i)season\\s*(\\d)\\b", "S0$1"]
- name: re_replace # Season XX --> SXX
args: ["(?i)season\\s*(\\d+)\\b", "S$1"]
- name: re_replace
args: ["(?i)Complete\\s+Series", ""]
args: ["(?i)\\bComplete\\s+Series\\b", ""]
details:
selector: a[href^="/torrents.php?id="]
attribute: href

View File

@@ -12,12 +12,11 @@ links:
- https://www.dnoid.pw/
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ly/
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.tor2web.to/
- https://demonoid.unblockit.pet/
- https://demonoid.unblockit.ink/
- https://demonoid.torrentbay.to/
- https://demonoid.nocensor.lol/
legacylinks:
- https://demonoid.nocensor.work/
- https://demonoid.unblockit.kim/
- https://demonoid.unblockit.bz/
- https://demonoid.unblockit.tv/
- https://demonoid.unblockit.how/
@@ -36,10 +35,13 @@ legacylinks:
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.ws/
- https://demonoidevmsgasmojajlhikwetsr4pxzw6xkjt3dgdv6nr5yxvsamid.onion.pet/
- https://demonoid.unblockit.page/
- https://demonoid.unblockit.pet/
caps:
categorymappings:
# fetch these from https://www.demonoid.is/cached/torrent_categories_script.js?v5
# Everything
- {id: 0, cat: Other/Misc, desc: "Miscellaneous"}
# Applications
- {id: 1, cat: PC/Mobile-Android, desc: "Applications Android"}
- {id: 2, cat: PC/Mobile-iOS, desc: "Applications phone / Ipod touch"}
@@ -369,6 +371,8 @@ search:
fields:
category:
text: 0
category|noappend:
selector: span.table__column__subtext > a:nth-child(2)
attribute: href
optional: true

View File

@@ -12,26 +12,18 @@ caps:
categorymappings:
- {id: 49, cat: Movies/SD, desc: "film / Cam"}
- {id: 21, cat: Movies/SD, desc: "film / Cam [magyar]"}
- {id: 6, cat: Movies/SD, desc: "film / DVDRip/XviD"}
- {id: 5, cat: Movies/SD, desc: "film / DVDRip/XviD [magyar]"}
- {id: 32, cat: Movies/SD, desc: "film / BDRip/XviD"}
- {id: 33, cat: Movies/SD, desc: "film / BDRip/XviD [magyar]"}
- {id: 50, cat: Movies/SD, desc: "film / BDRip/x264"}
- {id: 51, cat: Movies/SD, desc: "film / BDRip/x264 [magyar]"}
- {id: 4, cat: Movies/DVD, desc: "film / DVD-R"}
- {id: 3, cat: Movies/DVD, desc: "film / DVD-R [magyar]"}
- {id: 45, cat: Movies/DVD, desc: "film / DVD9"}
- {id: 46, cat: Movies/DVD, desc: "film / DVD9 [magyar]"}
- {id: 30, cat: Movies/HD, desc: "film / HD"}
- {id: 31, cat: Movies/HD, desc: "film / HD [magyar]"}
- {id: 48, cat: Movies/BluRay, desc: "film / Bluray"}
- {id: 47, cat: Movies/BluRay, desc: "film / Bluray [magyar]"}
- {id: 10, cat: TV/SD, desc: "Sorozat / XviD"}
- {id: 11, cat: TV/SD, desc: "Sorozat / XviD [magyar]"}
- {id: 43, cat: TV/SD, desc: "Sorozat / DVD-R"}
- {id: 41, cat: TV/SD, desc: "Sorozat / DVD-R [magyar]"}
- {id: 44, cat: TV/HD, desc: "Sorozat / HD"}
- {id: 42, cat: TV/HD, desc: "Sorozat / HD [magyar]"}
- {id: 102, cat: Movies/SD, desc: "film / SD"}
- {id: 101, cat: Movies/SD, desc: "film / SD [magyar]"}
- {id: 106, cat: Movies/DVD, desc: "film / DVD-R"}
- {id: 105, cat: Movies/DVD, desc: "film / DVD-R [magyar]"}
- {id: 104, cat: Movies/HD, desc: "film / HD"}
- {id: 103, cat: Movies/HD, desc: "film / HD [magyar]"}
- {id: 108, cat: TV/SD, desc: "Sorozat / SD"}
- {id: 107, cat: TV/SD, desc: "Sorozat / SD [magyar]"}
- {id: 110, cat: TV/SD, desc: "Sorozat / DVD-R"}
- {id: 109, cat: TV/SD, desc: "Sorozat / DVD-R [magyar]"}
- {id: 112, cat: TV/HD, desc: "Sorozat / HD"}
- {id: 111, cat: TV/HD, desc: "Sorozat / HD [magyar]"}
- {id: 8, cat: Audio/MP3, desc: "Zene / MP3"}
- {id: 9, cat: Audio/MP3, desc: "Zene / MP3 [magyar]"}
- {id: 38, cat: Audio/Lossless, desc: "Zene / Lossless"}
@@ -45,9 +37,9 @@ caps:
- {id: 16, cat: PC/ISO, desc: "Programok / PC"}
- {id: 24, cat: PC/Mobile-Other, desc: "Programok / Mobil"}
- {id: 53, cat: PC/0day, desc: "Programok / Egyéb"}
- {id: 17, cat: XXX/XviD, desc: "Pornó / XviD"}
- {id: 113, cat: XXX/XviD, desc: "Pornó / SD"}
- {id: 34, cat: XXX/DVD, desc: "Pornó / DVD-R"}
- {id: 35, cat: XXX, desc: "Pornó / HD"}
- {id: 114, cat: XXX, desc: "Pornó / HD"}
- {id: 36, cat: XXX, desc: "Pornó / Képek"}
- {id: 20, cat: Books, desc: "E-Book / Magyar"}
- {id: 52, cat: Books, desc: "E-Book / Egyéb"}

View File

@@ -110,7 +110,7 @@ search:
limit: 100
order: "{{ .Config.type }}"
page: search
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
searchText: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }} {{ else }}{{ end }}{{ .Keywords }}"
section: all
sort: "{{ .Config.sort }}"
stereoscopic: false

View File

@@ -215,4 +215,7 @@ search:
case:
"img[src$=\"/torrent_multiple_upload.png\"]": 2
"*": 1
minimumseedtime:
# 4 days (as seconds = 4 x 24 x 60 x 60)
text: 345600
# TSUE 2.2

View File

@@ -1,157 +0,0 @@
---
id: elitetorrent-biz
name: EliteTorrent.biz
description: "EliteTorrent.biz is a Public torrent site for TV, movies and documentaries"
language: es-ES
type: public
encoding: UTF-8
requestDelay: 2
links:
- https://www.elitetorrent.com/
- https://elitetorrent.nocensor.lol/
legacylinks:
- https://www.elitetorrent.nu/
- https://www.elitetorrent.tv/
- https://www.elitetorrent.li/
- https://www.elitetorrent.bz/
- https://www.elitetorrent.nl/
- https://wwvv.elitetorrent.nl/
- https://wvvw.elitetorrent.nl/
- https://vvww.elitetorrent.nl/
- https://www.elitetorrent.to/
- https://www.elitetorrent.se/
- https://elitetorrent.si/
- https://elitetorrent.nocensor.work/
- https://elitetorrent.com/
- https://elitetorrent.app/
- https://elitetorrent.nocensor.biz/
- https://elitetorrent.la/
- https://www.elitetorrent.wtf/
- https://www.elitetorrent.dev/
- https://elitetorrent.nocensor.sbs/
- https://elitetorrent.nocensor.world/
caps:
categories:
series: TV
peliculas: Movies
other: Other
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings: []
download:
selectors:
- selector: a[href^="magnet:?"]
attribute: href
search:
# site returns just 30 results, attempt to fetch up to 90
paths:
- path: /
- path: /page/2/
followredirect: true
- path: /page/3/
followredirect: true
keywordsfilters:
# most ES/ITA TV torrents are in XXxYY format, so we search without S/E prefixes and filter later
- name: re_replace
args: ["(?i)S0?(\\d{1,2})", " $1 "]
- name: re_replace
args: ["(?i)E(\\d{2,3})", " $1 "]
inputs:
s: "{{ .Keywords }}"
$raw: "&x=0&y=0"
rows:
selector: "#principal .miniboxs-ficha li:has(span:nth-of-type(2))"
filters:
- name: andmatch
fields:
category_movie:
selector: .meta a
attribute: href
filters:
- name: regexp
args: "^.*/(peliculas)/.*$"
category_tv:
selector: .meta a
attribute: href
filters:
- name: regexp
args: "^.*/(series)/.*$"
category:
text: "{{ if or .Result.category_movie .Result.category_tv }}{{ or .Result.category_movie .Result.category_tv }}{{ else }}other{{ end }}"
_quality:
selector: span:nth-of-type(2) > i
filters:
- name: replace
args: ["---", ""]
_language:
selector: span#idiomacio > i > img
attribute: title
filters:
- name: replace
args: ["Pelicula en ", ""]
- name: replace
args: ["Español Latino", "LATiN SPANiSH"]
- name: replace
args: ["Español Castellano", "SPANiSH"]
- name: replace
args: ["Ingles", "English"]
- name: replace
args: ["Subtitulado", " SPASUBS"]
- name: replace
args: ["VOSE", ""]
title:
selector: div.imagen > a
attribute: title
# normalize to SXXEYY format
filters:
- name: replace
args: [" ", " "]
- name: replace
args: ["(", ""]
- name: replace
args: [")", ""]
- name: re_replace
args: ["(\\d{2})×(\\d{2})", "S$1E$2"]
- name: re_replace
args: ["(\\d{1})×(\\d{2})", "S0$1E$2"]
- name: append
args: " {{ .Result._quality }} {{ .Result._language }}"
details:
selector: .meta a
attribute: href
download:
selector: .meta a
attribute: href
poster:
selector: .imagen img
attribute: data-src
size_optional:
selector: .voto1
optional: true
filters:
- name: replace
args: ["desc.", "512 MB"]
- name: replace
args: ["s", ""]
size:
text: "{{ if .Result.size_optional }}{{ .Result.size_optional }}{{ else }}512 MB{{ end }}"
date:
text: now
seeders:
text: 1
leechers:
text: 1
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -7,11 +7,10 @@ type: public
encoding: UTF-8
links:
- https://extratorrent.st/
- https://extratorrent.unblockit.pet/
- https://extratorrent.unblockit.ink/
- https://extratorrent.nocensor.lol/
legacylinks:
- https://extratorrent.nocensor.work/
- https://extratorrent.unblockit.kim/
- https://extratorrent.unblockit.bz/
- https://extratorrent.unblockit.tv/
- https://extratorrent.unblockit.how/
@@ -28,6 +27,7 @@ legacylinks:
- https://extratorrent.unblockit.nz/
- https://extratorrent.nocensor.world/
- https://extratorrent.unblockit.page/
- https://extratorrent.unblockit.pet/
caps:
categorymappings:

View File

@@ -5,6 +5,8 @@ description: "ExtremeBits is a Private Torrent Tracker for EXTREME SPORTS"
language: en-US
type: private
encoding: UTF-8
certificates:
- 62ab0c90c702bd458a18d778c1fd5928b3721e13 # Expired 6 January 2023
links:
- https://extremebits.net/

View File

@@ -8,12 +8,14 @@ encoding: UTF-8
requestDelay: 2
links:
- https://ext.to/
- https://site.extto.com/
- https://ext.torrentbay.to/
- https://search.extto.com/
- https://extranet.torrentbay.to/
legacylinks:
- https://ext.unblockninja.com/
- https://t.extto.com/
- https://torrent.extto.com/
- https://site.extto.com/
- https://ext.torrentbay.to/
caps:
categorymappings:

View File

@@ -13,14 +13,13 @@ links:
- https://eztv.yt/
- https://eztv1.xyz/
- https://eztv.unblockninja.com/
- https://eztv.unblockit.pet/
- https://eztv.unblockit.ink/
- https://eztv.nocensor.lol/
legacylinks:
- https://eztv.ag/ # redirects to .re
- https://eztv.it/ # redirects to .re
- https://eztv.ch/ # redirects to .re
- https://eztv.io/
- https://eztv.unblockit.kim/
- https://eztv.unblockit.bz/
- https://eztv.unblockit.tv/
- https://eztv.unblockit.how/
@@ -37,6 +36,7 @@ legacylinks:
- https://eztv.unblockit.nz/
- https://eztv.nocensor.world/
- https://eztv.unblockit.page/
- https://eztv.unblockit.pet/
caps:
categories:

View File

@@ -50,6 +50,7 @@ caps:
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: multilang

View File

@@ -10,14 +10,13 @@ links:
- https://glodls.to/
- https://gtdb.cc/
- https://www.gtdb.to/
- https://glotorrents.unblockit.pet/
- https://glotorrents.unblockit.ink/
- https://glotorrents.nocensor.lol/
- https://glodls.unblockninja.com/
legacylinks:
- https://glodls.rocks/
- https://gtdb.to/
- https://glotorrents.nocensor.work/
- https://glotorrents.unblockit.kim/
- https://glotorrents.unblockit.bz/
- https://glotorrents.unblockit.tv/
- https://glotorrents.unblockit.how/
@@ -34,6 +33,7 @@ legacylinks:
- https://glotorrents.unblockit.nz/
- https://glotorrents.nocensor.world/
- https://glotorrents.unblockit.page/
- https://glotorrents.unblockit.pet/
caps:
categorymappings:

View File

@@ -61,10 +61,24 @@ search:
paths:
# https://hdinnovations.github.io/UNIT3D-Community-Edition-Docs/api_endpoints.html
# https://github.com/HDInnovations/UNIT3D-Community-Edition/blob/master/app/Http/Controllers/API/TorrentController.php
- path: "/api/torrents/filter?api_token={{ .Config.apikey }}&name={{ if .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}&sortField={{ .Config.sort }}&sortDirection={{ .Config.type }}&perPage=100&page=1{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
- path: "/api/torrents/filter"
response:
type: json
inputs:
# 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
api_token: "{{ .Config.apikey }}"
name: "{{ .Keywords }}"
$raw: "{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
page: 1
keywordsfilters:
- name: re_replace
args: ["\\.", " "]
rows:
selector: data
attribute: attributes

View File

@@ -8,6 +8,7 @@ encoding: UTF-8
links:
- https://www.trackerpmr.com/
- https://freetmd.com/
- https://kinoradiomagia.tv/
legacylinks:
- https://hdgalaktik.com/

View File

@@ -61,11 +61,15 @@ login:
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: torrents.php
path: /
selector: a[href*="/logout.php?auth="]
search:
paths:
- path: torrents.php
- path: ajax.php
response:
type: json
inputs:
searchstr: "{{ if .Query.IMDBID }}{{ .Query.IMDBID }}{{ else }}{{ .Keywords }}{{ end }}"
order_by: "{{ .Config.sort }}"
@@ -74,29 +78,21 @@ search:
imdblt: 10
# 1 freeleech, 2 neutral, 3 50%, 4 2x, 5 3x, 9 75%, 11 only perks, 0 normal
freetorrent: "{{ if .Config.freeleech }}1{{ else }}{{ end }}"
action: advanced
searchsubmit: 1
action: browse
$raw: "{{ range .Categories }}filter_cat[{{.}}]=1&{{end}}"
rows:
selector: .torrent
selector: response.results
attribute: torrents
multiple: true
fields:
_id:
selector: torrentId
category:
selector: .tooltip
case:
"div[class*=\"movies\"]": 1
"div[class*=\"tv\"]": 2
"div[class*=\"theater\"]": 3
"div[class*=\"software\"]": 4
"div[class*=\"games\"]": 5
"div[class*=\"music\"]": 6
"div[class*=\"books\"]": 7
"div[class*=\"packs\"]": 8
"div[class*=\"porno\"]": 9
"div[class*=\"other\"]": 10
selector: ..categoryID
title_notenglish:
selector: .torrent_info:not(:contains("a")):not(:contains("e")):not(:contains("i")):not(:contains("o")):not(:contains("u")):not(:contains("y"))
selector: release:not(:contains("a")):not(:contains("e")):not(:contains("i")):not(:contains("o")):not(:contains("u")):not(:contains("y"))
optional: true
filters:
# space out the book language at the end of the title
@@ -106,7 +102,7 @@ search:
- name: re_replace
args: ["(עברית)$", " - עברית"] # Hebrew
title_english:
selector: .torrent_info
selector: release
optional: true
filters:
- name: append
@@ -116,54 +112,59 @@ search:
title:
text: "{{ if .Result.title_notenglish }}{{ .Result.title_notenglish }}{{ else }}{{ .Result.title_english }}{{ end }}"
details:
selector: a[href*="torrentid"]
attribute: href
magnet:
selector: a[href^="magnet"]
attribute: href
optional: true
text: "{{ .Config.sitelink }}torrents.php?torrentid={{ .Result._id }}"
download:
selector: a[href^="torrents.php?action=download"]
attribute: href
text: "{{ .Config.sitelink }}torrents.php?action=download&id={{ .Result._id }}"
poster:
selector: a[data-cover^="/images/"]
attribute: data-cover
selector: ..cover
imdbid:
selector: ..catalogue
files:
selector: td:nth-child(4)
selector: fileCount
date:
selector: td:nth-child(5) span
attribute: title
selector: time
filters:
- name: append
args: " +02:00" # IST
- name: dateparse
args: "02/01/2006, 15:04 -07:00"
args: "2006-01-02 15:04:05 -07:00"
size:
selector: td:nth-child(6)
selector: size
grabs:
selector: td:nth-child(7)
selector: snatches
seeders:
selector: td:nth-child(8)
selector: seeders
leechers:
selector: td:nth-child(9)
selector: leechers
description:
selector: ..tags
_half:
selector: isHalfFreeleech
_free:
selector: isFreeleech
_x2:
selector: isUploadX2
_x3:
selector: isUploadX3
_quarter:
selector: isQuarterLeech
_neutral:
selector: isNeutralLeech
_personal:
selector: isPersonalFreeleech
downloadvolumefactor_special:
optional: true
text: "{{ if eq .Result._half \"True\" }}0.5{{ else }}{{ end }}{{ if eq .Result._quarter \"True\" }}0.25{{ else }}{{ end }}{{ if eq .Result._neutral \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._free \"True\" }}0{{ else }}{{ end }}{{ if eq .Result._personal \"True\" }}0{{ else }}{{ end }}"
downloadvolumefactor:
case:
"strong.tl_notice[title*=\"חצי פריליץ'\"]": 0.5 # 50%
"strong.tl_notice[title*=\"75% פריליץ'!\"]": 0.25 # 75%
"strong.tl_notice[title*=\"נטרלי\"]": 0 # neutral
"strong.tl_notice[title*=\"פריליץ'\"]": 0 # freeleech
"*": 1
text: "{{ if .Result.downloadvolumefactor_special }}{{ .Result.downloadvolumefactor_special }}{{ else }}1{{ end }}"
uploadvolumefactor_special:
optional: true
text: "{{ if eq .Result._x3 \"True\" }}3{{ else }}{{ end }}{{ if eq .Result._x2 \"True\" }}2{{ else }}{{ end }}{{ if eq .Result._neutral \"True\" }}0{{ else }}{{ end }}"
uploadvolumefactor:
case:
"strong.tl_notice[title*=\"העלאה משולשת\"]": 3 # 3x
"strong.tl_notice[title*=\"העלאה כפולה\"]": 2 # 2x
"strong.tl_notice[title*=\"נטרלי\"]": 0 # neutral
"*": 1
text: "{{ if .Result.uploadvolumefactor_special }}{{ .Result.uploadvolumefactor_special }}{{ else }}1{{ end }}"
minimumratio:
text: 1.0
minimumseedtime:
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
description:
selector: div.tags
# Gazelle
# JSON Gazelle

View File

@@ -14,46 +14,47 @@ caps:
- {id: 1001000, cat: Audio/MP3, desc: "MP3"}
- {id: 1002000, cat: Audio/Lossless, desc: "Lossless"}
- {id: 1003000, cat: Audio/Audiobook, desc: "Audiobook"}
- {id: 1004000, cat: Audio/Video, desc: "Video"}
- {id: 1004000, cat: Audio/Video, desc: "Audio Video"}
- {id: 1005000, cat: Audio/Other, desc: "Radio"}
- {id: 1006000, cat: Audio/Other, desc: "Other"}
- {id: 1006000, cat: Audio/Other, desc: "Audio Other"}
- {id: 2000000, cat: TV, desc: "TV"}
- {id: 2001000, cat: TV/HD, desc: "HD"}
- {id: 2002000, cat: TV/SD, desc: "SD"}
- {id: 2003000, cat: TV/UHD, desc: "UHD"}
- {id: 2001000, cat: TV/HD, desc: "TV HD"}
- {id: 2002000, cat: TV/SD, desc: "TV SD"}
- {id: 2003000, cat: TV/UHD, desc: "TV UHD"}
- {id: 2004000, cat: TV/Documentary, desc: "Documentary"}
- {id: 2005000, cat: TV/Foreign, desc: "Foreign"}
- {id: 2005000, cat: TV/Foreign, desc: "TV Foreign"}
- {id: 2006000, cat: TV/Sport, desc: "Sport"}
- {id: 2007000, cat: TV/Other, desc: "Cartoon"}
- {id: 2008000, cat: TV/Other, desc: "Other"}
- {id: 2008000, cat: TV/Other, desc: "TV Other"}
- {id: 3000000, cat: Movies, desc: "Movies"}
- {id: 3001000, cat: Movies/HD, desc: "HD"}
- {id: 3002000, cat: Movies/SD, desc: "SD"}
- {id: 3003000, cat: Movies/UHD, desc: "UHD"}
- {id: 3004000, cat: Movies/DVD, desc: "DVD"}
- {id: 3005000, cat: Movies/Foreign, desc: "Foreign"}
- {id: 3006000, cat: Movies/Foreign, desc: "Bollywood"}
- {id: 3007000, cat: Movies/3D, desc: "3D"}
- {id: 3008000, cat: Movies/Other, desc: "Other"}
- {id: 3001000, cat: Movies/HD, desc: "Movies HD"}
- {id: 3002000, cat: Movies/SD, desc: "Movies SD"}
- {id: 3003000, cat: Movies/UHD, desc: "Movies UHD"}
- {id: 3004000, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 3005000, cat: Movies/Foreign, desc: "Movies Foreign"}
- {id: 3006000, cat: Movies/Foreign, desc: "Movies Bollywood"}
- {id: 3007000, cat: Movies/3D, desc: "Movies 3D"}
- {id: 3008000, cat: Movies/Other, desc: "Movies Other"}
- {id: 4000000, cat: PC, desc: "PC"}
- {id: 4001000, cat: PC/Games, desc: "Games"}
- {id: 4002000, cat: PC/0day, desc: "Software"}
- {id: 4003000, cat: PC/Mac, desc: "Mac"}
- {id: 4004000, cat: PC/ISO, desc: "Unix"}
- {id: 5000000, cat: XXX, desc: "XXX"}
- {id: 5001000, cat: XXX/x264, desc: "Video"}
- {id: 5002000, cat: XXX/ImageSet, desc: "ImageSet"}
- {id: 5003000, cat: XXX/Other, desc: "Games"}
- {id: 5004000, cat: XXX/Other, desc: "Hentai"}
- {id: 5005000, cat: XXX/Other, desc: "Other"}
- {id: 5001000, cat: XXX/x264, desc: "XXX Video"}
- {id: 5002000, cat: XXX/ImageSet, desc: "XXX ImageSet"}
- {id: 5003000, cat: XXX/Other, desc: "XXX Games"}
- {id: 5004000, cat: XXX/Other, desc: "XXX Hentai"}
- {id: 5005000, cat: XXX/Other, desc: "XXX Other"}
- {id: 6000000, cat: TV/Anime, desc: "Anime"}
- {id: 6001000, cat: TV/Anime, desc: "Subbed"}
- {id: 6002000, cat: TV/Anime, desc: "Dubbed"}
- {id: 6003000, cat: TV/Anime, desc: "Dual audio"}
- {id: 6004000, cat: TV/Anime, desc: "Raw"}
- {id: 6001000, cat: TV/Anime, desc: "Anime Subbed"}
- {id: 6002000, cat: TV/Anime, desc: "Anime Dubbed"}
- {id: 6003000, cat: TV/Anime, desc: "Anime Dual audio"}
- {id: 6004000, cat: TV/Anime, desc: "Anime Raw"}
- {id: 6005000, cat: Audio/Video, desc: "Music Video"}
- {id: 6006000, cat: Books/Other, desc: "Literature"}
- {id: 6007000, cat: Audio/Other, desc: "Music"}
- {id: 6008000, cat: TV/Anime, desc: "Anime non-english translated"}
- {id: 7000000, cat: Console, desc: "Console"}
- {id: 7001000, cat: Console/PS4, desc: "PS4"}
- {id: 7002000, cat: Console/PS3, desc: "PS3"}
@@ -73,15 +74,15 @@ caps:
- {id: 8000000, cat: PC/Mobile-Other, desc: "Mobile"}
- {id: 8001000, cat: PC/Mobile-Android, desc: "Android"}
- {id: 8002000, cat: PC/Mobile-iOS, desc: "IOS"}
- {id: 8003000, cat: PC/Mobile-Other, desc: "Other"}
- {id: 8003000, cat: PC/Mobile-Other, desc: "PC Other"}
- {id: 9000000, cat: Books, desc: "Books"}
- {id: 9001000, cat: Books/EBook, desc: "EBooks"}
- {id: 9002000, cat: Books/Comics, desc: "Comics"}
- {id: 9003000, cat: Books/Mags, desc: "Magazines"}
- {id: 9004000, cat: Books/Technical, desc: "Technical"}
- {id: 9005000, cat: Books/Other, desc: "Other"}
- {id: 9005000, cat: Books/Other, desc: "Books Other"}
- {id: 10000000, cat: Other, desc: "Other"}
- {id: 10001000, cat: Other/Misc, desc: "Misc"}
- {id: 10001000, cat: Other/Misc, desc: "Other Misc"}
modes:
search: [q]

View File

@@ -9,7 +9,7 @@ followredirect: true
# changes to this indexer should also be made to limetorrentsclone
links:
- https://www.limetorrents.lol/
- https://limetorrents.unblockit.pet/
- https://limetorrents.unblockit.ink/
- https://limetorrents.unblockninja.com/
- https://limetorrents.nocensor.lol/
legacylinks:
@@ -34,6 +34,7 @@ legacylinks:
- https://limetorrents.unblockit.nz/
- https://limetorrents.nocensor.world/
- https://limetorrents.unblockit.page/
- https://limetorrents.unblockit.pet/
caps:
categorymappings:

View File

@@ -78,7 +78,7 @@ search:
# 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
api_token: "{{ .Config.apikey }}"
name: "{{ .Keywords }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -159,4 +159,4 @@ search:
minimumseedtime:
# 5 days (as seconds = 5 x 24 x 60 x 60)
text: 432000
# json UNIT3D 6.3.0
# json UNIT3D 6.5.0

View File

@@ -11,6 +11,7 @@ links:
caps:
categorymappings:
- {id: 50, cat: Movies, desc: "BLiNK"}
- {id: 54, cat: Audio/Audiobook, desc: "eBook AUDIO"}
- {id: 20, cat: Books/EBook, desc: "eBook eBOOK"}
- {id: 52, cat: Books/Other, desc: "eBook Education"}
- {id: 53, cat: Books/Mags, desc: "eBook Magazine"}
@@ -20,6 +21,7 @@ caps:
- {id: 7, cat: PC/Games, desc: "GAMES PCRip"}
- {id: 13, cat: Console/PS3, desc: "GAMES Playstation"}
- {id: 124, cat: Console/PS4, desc: "GAMES PS4"}
- {id: 14, cat: Console/PS4, desc: "GAMES PS5"}
- {id: 16, cat: Console/PSP, desc: "GAMES PSP"}
- {id: 65, cat: Console/Wii, desc: "GAMES Wii"}
- {id: 15, cat: Console/XBox, desc: "GAMES Xbox"}
@@ -47,6 +49,7 @@ caps:
- {id: 1, cat: Movies/DVD, desc: "MOVIES DVDRip XviD"}
- {id: 48, cat: Movies/DVD, desc: "MOVIES HD2DVD"}
- {id: 123, cat: Movies/HD, desc: "MOVIES HDRip"}
- {id: 130, cat: Movies/Other, desc: "MOVIES PACK"}
- {id: 74, cat: Movies/WEB-DL, desc: "MOVIES Web-DL"}
- {id: 120, cat: Movies/HD, desc: "MOVIES x265"}
- {id: 55, cat: Audio/Video, desc: "MUSIC BD"}
@@ -63,6 +66,7 @@ caps:
- {id: 80, cat: PC/0day, desc: "PROGRAM PC Win"}
- {id: 5, cat: TV/HD, desc: "TV HDTV"}
- {id: 82, cat: TV/HD, desc: "TV HDTVRip"}
- {id: 126, cat: TV/Other, desc: "TV PACK"}
- {id: 2, cat: TV/SD, desc: "TV TVRip"}
- {id: 125, cat: TV/WEB-DL, desc: "TV Web-DL"}
- {id: 85, cat: Movies/HD, desc: "UpLINK HEVC"}

View File

@@ -1,112 +0,0 @@
---
id: mononokebt
name: Mononoké-BT
description: "Mononoke-BT is a FRENCH Private Torrent Tracker for ANIME"
language: fr-FR
type: private
encoding: iso-8859-15
links:
- http://mononoke-bt.org/
legacylinks:
- https://mononoke-bt.org/ # downloads do not supported https
caps:
categories:
1: TV/Anime
modes:
search: [q]
tv-search: [q, season, ep]
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>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
- name: vostfr
type: checkbox
label: Add VOSTFR to titles
default: false
- name: IMPORTANT_FR
type: info
label: (FR) Informations Importantes
default: Avant de pouvoir télécharger un torrent depuis Jackett, allez dans la <a href="https://mononoke-bt.org/faq.php" target="_blank">FAQ</a> et cliquer tous les 'Lu et Approuvé' de la page.
- name: IMPORTANT_EN
type: info
label: (EN) Important infos
default: Before you can even begin to download anything you need to go to the <a href="https://mononoke-bt.org/faq.php" target="_blank">FAQ</a> and click every 'Lu et Approuvé' present on the page.
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: browse2.php
download:
before:
path: gettorrent.php
method: get
inputs:
id: "{{ .DownloadUri.Query.id }}"
search:
paths:
- path: browse2.php
inputs:
search: "%{{ re_replace .Query.Keywords \"[^a-zA-Z0-9]+\" \"%\" }}%"
incldead: 1
rows:
selector: table#torrentstable > tbody > tr:has(a[href^="details.php?id="])
fields:
category:
text: 1
title_normal:
selector: a[href^="details.php?id="]
title_vostfr:
text: "{{ .Result.title_normal }} VOSTFR"
title:
text: "{{ if .Config.vostfr }}{{ .Result.title_vostfr }}{{ else }}{{ .Result.title_normal }}{{ end }}"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="gettorrent.php?id="]
attribute: href
poster:
selector: a[href^="browse2.php?cat="] > img
attribute: src
files:
selector: td:nth-child(6)
date:
selector: td:nth-child(9)
filters:
- name: append
args: " +01:00" # CET
- name: dateparse
args: "2006-01-0215:04:05 -07:00"
size:
selector: td:nth-child(10)
filters:
- name: replace
args: ["o", "b"]
grabs:
selector: td:nth-child(12)
seeders:
selector: td:nth-child(13)
leechers:
selector: td:nth-child(14)
downloadvolumefactor:
case:
img[src="/pic/icons/cadeau1.png"]: 0
img[src="/pic/icons/cadeau2.png"]: 0
img[src="/pic/icons/cadeau3.png"]: 0
"*": 1
uploadvolumefactor:
text: 1
# engine tbd

View File

@@ -36,6 +36,13 @@ settings:
- name: password
type: password
label: Password
- name: 2facode
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 OshenPT Web Site. Otherwise just leave it empty."
- name: freeleech
type: checkbox
label: Search freeleech only
@@ -62,11 +69,17 @@ settings:
default: For best results, change the <b>Torrents per page:</b> setting to <b>100</b> on your account profile.
login:
path: takelogin.php
method: post
path: login.php
method: form
form: form[action="takelogin.php"]
captcha:
type: image
selector: img[alt="CAPTCHA"]
input: imagestring
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
two_step_code: "{{ .Config.2facode }}"
logout: ""
securelogin: ""
ssl: ""
@@ -98,6 +111,12 @@ search:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
title_default:
selector: a[href^="details.php?id="]
title_optional:
@@ -106,12 +125,6 @@ search:
attribute: title
title:
text: "{{ if .Result.title_optional }}{{ .Result.title_optional }}{{ else }}{{ .Result.title_default }}{{ end }}"
category:
selector: a[href^="?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php?id="]
attribute: href
@@ -119,11 +132,16 @@ search:
selector: a[href^="download.php?id="]
attribute: href
imdbid:
selector: div.imdb_100 > a
# 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
date_elapsed:
# time type: time elapsed (default)
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
optional: true
filters:
@@ -133,7 +151,7 @@ search:
args: "2006-01-02 15:04:05 -07:00"
date_added:
# time added
selector: td:nth-child(4):not(:has(span))
selector: td.rowfollow:nth-child(4):not(:has(span))
optional: true
filters:
- name: append
@@ -143,13 +161,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:nth-child(5)
selector: td.rowfollow:nth-child(5)
seeders:
selector: td:nth-child(6)
selector: td.rowfollow:nth-child(6)
leechers:
selector: td:nth-child(7)
selector: td.rowfollow:nth-child(7)
grabs:
selector: td:nth-child(8)
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: 0
@@ -167,4 +185,4 @@ search:
description:
selector: td:nth-child(2)
remove: a, img
# NexusPHP Standard v1.5 Beta 4
# NexusPHP v1.8.0 2023-01-05

View File

@@ -1,173 +0,0 @@
---
id: p2pelite
name: P2PElite
description: "P2PElite is a Private Torrent Tracker for EBOOKS / AUDIOBOOKS"
language: en-US
type: private
encoding: UTF-8
links:
- https://p2pelite.com/
caps:
categorymappings:
- {id: 19, cat: PC, desc: "Apps"}
- {id: 11, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 40, cat: Books/EBook, desc: "Best Sellers"}
- {id: 17, cat: Books/EBook, desc: "Biographical"}
- {id: 27, cat: Books/EBook, desc: "Business/Finance"}
- {id: 8, cat: Books/EBook, desc: "Children"}
- {id: 30, cat: Books/EBook, desc: "Classic"}
- {id: 2, cat: Books/Comics, desc: "Comics/GraphicNovels/Manga"}
- {id: 14, cat: Books/EBook, desc: "Computer"}
- {id: 15, cat: Books/EBook, desc: "Cookbooks"}
- {id: 22, cat: Books/EBook, desc: "Crime/Thriller/Mystery"}
- {id: 10, cat: Books/EBook, desc: "DIY"}
- {id: 6, cat: Books/EBook, desc: "Educational"}
- {id: 12, cat: Books/Other, desc: "Educational Videos"}
- {id: 20, cat: Books/EBook, desc: "Erotica/over 18"}
- {id: 23, cat: Books/EBook, desc: "Fantasy"}
- {id: 1, cat: Books/EBook, desc: "Fiction"}
- {id: 18, cat: Books/EBook, desc: "Gardening"}
- {id: 21, cat: Books/EBook, desc: "Health"}
- {id: 33, cat: Books/EBook, desc: "Historical Fiction"}
- {id: 16, cat: Books/EBook, desc: "History"}
- {id: 4, cat: Books/EBook, desc: "Hobby/Pastimes"}
- {id: 29, cat: Books/EBook, desc: "Horror"}
- {id: 5, cat: Books/EBook, desc: "Language Learning"}
- {id: 7, cat: Books/Mags, desc: "Magazines"}
- {id: 13, cat: Books/Other, desc: "Misc"}
- {id: 34, cat: Audio, desc: "Music"}
- {id: 37, cat: Books/EBook, desc: "New Adult"}
- {id: 28, cat: Books/EBook, desc: "Non-English"}
- {id: 3, cat: Books/EBook, desc: "Non-Fiction/Reference"}
- {id: 24, cat: Books/EBook, desc: "Paranormal Romance"}
- {id: 39, cat: Books/EBook, desc: "Philosophy"}
- {id: 25, cat: Books/EBook, desc: "Romance"}
- {id: 26, cat: Books/EBook, desc: "SciFi"}
- {id: 9, cat: Books/EBook, desc: "Teens"}
- {id: 32, cat: Other, desc: "torrent not modded"}
- {id: 35, cat: Books/EBook, desc: "True Crime"}
- {id: 38, cat: Books/EBook, desc: "Urban Fantasy"}
- {id: 31, cat: Books/EBook, desc: "Western"}
modes:
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: 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
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: /
perm_ssl: 1
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: index.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 new
incldead: 1
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: "table[border=\"1\"][cellspacing=\"0\"][cellpadding=\"5\"] > tbody > tr:has(a[href^=\"download.php?torrent=\"]){{ if .Config.freeleech }}:has(a.info:contains(\"[FREE]\")){{ 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: onmouseover
filters:
- name: regexp
args: "<b>(.+?)</b>"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=\\\\'(.+?)\\\\'"
- name: replace
args: ["./pic/noposter.png", ""]
files:
selector: td:nth-last-child(8)
date_day:
selector: td:nth-last-child(6):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
selector: td:nth-last-child(6):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
a.info:contains("[FREE]"): 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# TBDEV

View File

@@ -1,9 +1,9 @@
---
id: pier720
name: 720pier
description: "720pier is a RUSSIAN Semi-Private Torrent Tracker for HD SPORTS"
description: "720pier is a RUSSIAN Private Torrent Tracker for HD SPORTS"
language: ru-RU
type: semi-private
type: private
encoding: UTF-8
links:
- https://720pier.ru/

View File

@@ -1,88 +0,0 @@
---
id: pornotor
name: Pornotor
description: "Pornotor is a RUSSIAN Public Torrent Tracker for 3X"
language: ru-RU
type: public
encoding: windows-1251
links:
- http://pornotor.org/ # site does not support https ERR_CONNECTION_REFUSED
caps:
categorymappings:
- {id: XXX, cat: XXX, desc: "XXX"}
modes:
search: [q]
settings:
- 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
search:
paths:
- path: browse.php
inputs:
search: "{{ .Keywords }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table.embedded > tbody > tr:has(a[href^="details.php?id="])
fields:
category:
text: XXX
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
_id:
selector: a[href^="details.php?id="]
attribute: href
filters:
- name: querystring
args: id
download:
text: "download.php?id={{ .Result._id }}&name=t{{ .Result._id }}.torrent"
date:
selector: font.mnav
filters:
- name: replace
args: ["Добавлен: ", ""]
- name: append
args: " +03:00" # MSK
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
size:
selector: td:nth-child(4)
seeders:
selector: td:nth-child(5)
filters:
- name: split
args: ["/", 0]
leechers:
selector: td:nth-child(5)
filters:
- name: split
args: ["/", 1]
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# TBDev

View File

@@ -74,7 +74,7 @@ search:
- path: "{{ if .Query.IMDBID }}search/0/0/010/{{ .Config.sort }}/{{ .Query.IMDBID }}{{ else }}{{ end }}{{ if .Keywords }}search/0/0/100/{{ .Config.sort }}/{{ .Keywords }}/{{ else }}{{ end }}{{ if or .Keywords .Query.IMDBID }}{{ else }}top/{{ end }}"
rows:
selector: tr:has(td:has(a.downgif))
selector: tr:has(td:has(a[href^="magnet:?xt="]))
fields:
category:
@@ -102,11 +102,7 @@ search:
details:
selector: td:nth-of-type(2) a[href^="/torrent/"]
attribute: href
download:
selector: td:nth-of-type(2) a.downgif
attribute: href
magnet:
optional: true
selector: td:nth-of-type(2) a[href^="magnet:?xt="]
attribute: href
date:

View File

@@ -1,154 +0,0 @@
---
id: scenepalace
name: ScenePalace
description: "ScenePalace (SP) is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://scenepalace.info/
caps:
categorymappings:
- {id: 14, cat: PC/0day, desc: "Apps"}
- {id: 12, cat: Books/EBook, desc: "E-BOOKS"}
- {id: 7, cat: Console, desc: "Games/Console"}
- {id: 9, cat: Console/Other, desc: "Games/Handheld"}
- {id: 10, cat: PC/Mac, desc: "Games/Mac"}
- {id: 8, cat: PC/Games, desc: "Games/PC"}
- {id: 1, cat: Other/Misc, desc: "Misc"}
- {id: 2, cat: Movies, desc: "Movies"}
- {id: 16, cat: Movies/Foreign, desc: "Movies/Foriegn Non English"}
- {id: 18, cat: Movies, desc: "Movies/Pre - 2000"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 11, cat: TV, desc: "Packs"}
- {id: 17, cat: Movies, desc: "Rare"}
- {id: 15, cat: Other, desc: "Torrents needing modded"}
- {id: 5, cat: TV, desc: "TV"}
- {id: 6, cat: XXX, desc: "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: 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:
4: created
7: seeders
5: size
1: 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="takelogin.php"]
submitpath: takelogin.php
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: browse.php
selector: a[href^="./logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 1
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: "table[border=1][cellpadding=5] > tbody > tr:has(a[href^=\"download.php?torrent=\"]){{ if .Config.freeleech }}:has(img[src$=\"/free.jpg\"]){{ else }}{{ end }}"
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[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=\\\\'(.+?)\\\\'"
- name: replace
args: ["./pic/noposter.png", ""]
files:
selector: td:nth-last-child(8)
date_day:
selector: td:nth-last-child(6):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
selector: td:nth-last-child(6):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
"img[src$=\"/free.jpg\"]": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
minimumseedtime:
# 3 days (as seconds = 3 x 24 x 60 x 60)
text: 259200
# TBDEV,U232,and Btdev (customised)

View File

@@ -7,12 +7,13 @@ type: semi-private
encoding: UTF-8
links:
- https://use.selezen.club/
- https://www.selezen.net/
- https://www.selezen.club/
- https://selezen.org/
legacylinks:
- https://www.selezen.site/
- https://mel.selezen.net/
- https://s1.selezen.site/
- https://www.selezen.net/
caps:
categorymappings:
@@ -119,7 +120,7 @@ search:
resorder: "{{ .Config.type }}"
rows:
selector: div.card:has(h4)
selector: div.card:has(h4):not(:has(a[href*="/news/"]))
fields:
category:

View File

@@ -54,6 +54,7 @@ caps:
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: username

View File

@@ -11,44 +11,44 @@ links:
caps:
categorymappings:
- {id: 1, cat: Other, desc: "@ King", default: true}
- {id: 75, cat: PC/0day, desc: "OS Windows / Office", default: true}
- {id: 10, cat: TV, desc: "Cartoons / Animation", default: true}
- {id: 9, cat: TV/Sport, desc: "Sports / Football", default: true}
- {id: 110, cat: PC/Games, desc: "Mobile games", default: true}
- {id: 7, cat: PC/Games, desc: "Games", default: true}
- {id: 40, cat: Audio/Video, desc: "clips", default: true}
- {id: 16, cat: Audio/Video, desc: "Concert", default: true}
- {id: 3, cat: Audio/Other, desc: "Karaoke / MV", default: true}
- {id: 70, cat: PC, desc: "software AntiVirus / Antispyware", default: true}
- {id: 100, cat: PC/Mobile-Other, desc: "software Mobile / Theme / Ringtone / mv", default: true}
- {id: 85, cat: PC/Mac, desc: "Mac software", default: true}
- {id: 105, cat: PC, desc: "Linux software", default: true}
- {id: 8, cat: PC, desc: "software", default: true}
- {id: 56, cat: Other, desc: "Dictionary / map", default: true}
- {id: 19, cat: TV, desc: "Talk show / comedy / radio", default: true}
- {id: 20, cat: TV, desc: "general", default: true}
- {id: 55, cat: PC/Mobile-iOS, desc: "Tablet / iPhone", default: true}
- {id: 21, cat: TV, desc: "Dharma", default: true}
- {id: 2, cat: Audio/MP3, desc: "Music", default: true}
- {id: 130, cat: Audio/Audiobook, desc: "High quality music (Lossless)", default: true}
- {id: 60, cat: Other, desc: "fonts / icons / clip art / templates", default: true}
- {id: 90, cat: Movies/UHD, desc: "4K UHD movies", default: true}
- {id: 91, cat: Movies/DVD, desc: "DVD movies", default: true}
- {id: 92, cat: Movies/HD, desc: "Hi-Def movies", default: true}
- {id: 89, cat: Movies/SD, desc: "VCD movies", default: true}
- {id: 93, cat: TV, desc: "Mother and child @ / Learning materials for children", default: true}
- {id: 4, cat: TV, desc: "TV shows / Variety / Game shows", default: true}
- {id: 50, cat: Other, desc: "Images", default: true}
- {id: 18, cat: Other, desc: "website", default: true}
- {id: 17, cat: TV/Documentary, desc: "Documentary", default: true}
- {id: 11, cat: Books/Technical, desc: "Learning materials / Books / Ebook", default: true}
- {id: 5, cat: Movies, desc: "Movies / series [Korea]", default: true}
- {id: 54, cat: Movies, desc: "Movies / Series [China]", default: true}
- {id: 51, cat: Movies, desc: "Movie series / series [Japan]", default: true}
- {id: 52, cat: Movies, desc: "Movies / Series [Western]", default: true}
- {id: 57, cat: Movies, desc: "Movies / series [other]", default: true}
- {id: 53, cat: Movies, desc: "Movie series / series / drama [Thai]", default: true}
- {id: 1, cat: Other, desc: "@พระมหากษัตริย์ (@King)", default: true}
- {id: 75, cat: PC/0day, desc: "OS วินโดว์/ออฟฟิศ (OS Windows/Office)", default: true}
- {id: 10, cat: TV/Anime, desc: "การ์ตูน/อนิเมชั่น (Cartoons/Animation)", default: true}
- {id: 9, cat: TV/Sport, desc: "กีฬา/ฟุตบอล (Sports/Football)", default: true}
- {id: 110, cat: PC/Games, desc: "เกมส์มือถือ (Mobile Games)", default: true}
- {id: 7, cat: PC/Games, desc: "เกมส์ (Games)", default: true}
- {id: 40, cat: Audio/Video, desc: "คลิป (Clips)", default: true}
- {id: 16, cat: Audio/Video, desc: "คอนเสิร์ต (Concert)", default: true}
- {id: 3, cat: Audio/Other, desc: "คาราโอเกะ/MV (Karaoke/MV)", default: true}
- {id: 70, cat: PC, desc: "ซอฟต์แวร์ AntiVirus/Antispyware (Software AntiVirus/Antispyware)", default: true}
- {id: 100, cat: PC/Mobile-Other, desc: "ซอฟต์แวร์ มือถือ/ธีม/ริงโทน/mv (Software Mobile/Theme/Ringtone/MV)", default: true}
- {id: 85, cat: PC/Mac, desc: "ซอฟต์แวร์ แม็ค (Mac Software)", default: true}
- {id: 105, cat: PC, desc: "ซอฟต์แวร์ ลินุกซ์ (Linux Software)", default: true}
- {id: 8, cat: PC, desc: "ซอฟต์แวร์ (Software)", default: true}
- {id: 56, cat: Other, desc: "ดิกชันเนอรี่/แผนที่ (Dictionary/Map)", default: true}
- {id: 19, cat: TV, desc: "ทอล์คโชว์/ตลก/วิทยุ (Talk Show/Comedy/Radio)", default: true}
- {id: 20, cat: TV, desc: "ทั่วไป (General)", default: true}
- {id: 55, cat: PC/Mobile-iOS, desc: "แท็ปเล็ต/iPhone (Tablet/iPhone)", default: true}
- {id: 21, cat: TV, desc: "ธรรมะ (Dharma)", default: true}
- {id: 2, cat: Audio/MP3, desc: "เพลง (Music)", default: true}
- {id: 130, cat: Audio/Audiobook, desc: "เพลงคุณภาพสูง (Lossless) (High Quality Music (Lossless))", default: true}
- {id: 60, cat: Other, desc: "ฟอนต์/ไอคอน/คลิปอาร์ท/เทมเพลท (Fonts/Icons/Clip Art/Templates)", default: true}
- {id: 90, cat: Movies/UHD, desc: "ภาพยนตร์ 4K UHD (4K UHD Movies)", default: true}
- {id: 91, cat: Movies/DVD, desc: "ภาพยนตร์ DVD (DVD Movies)", default: true}
- {id: 92, cat: Movies/HD, desc: "ภาพยนตร์ Hi-Def (Hi-Def Movies)", default: true}
- {id: 89, cat: Movies/SD, desc: "ภาพยนตร์ VCD (VCD Movies)", default: true}
- {id: 93, cat: TV, desc: "แม่และเด็ก@/สื่อเรียนรู้สำหรับเด็ก (Mother and Child@/Learning Materials for Children)", default: true}
- {id: 4, cat: TV, desc: "รายการทีวี/วาไรตี้/เกมโชว์ (TV Shows/Variety/Game Shows)", default: true}
- {id: 50, cat: Other, desc: "รูปภาพ (Images)", default: true}
- {id: 18, cat: Other, desc: "เว็บไซต์ (Website)", default: true}
- {id: 17, cat: TV/Documentary, desc: "สารคดี (Documentary)", default: true}
- {id: 11, cat: Books/Technical, desc: "สื่อเรียนรู้/หนังสือ/Ebook (Learning Materials/Books/Ebook)", default: true}
- {id: 5, cat: TV, desc: "หนังชุด/ซีรีส์ [เกาหลี] (Movies/Series [Korea])", default: true}
- {id: 54, cat: TV, desc: "หนังชุด/ซีรีส์ [จีน] (Movies/Series [China])", default: true}
- {id: 51, cat: TV, desc: "หนังชุด/ซีรีส์ [ญี่ปุ่น] (Movies/Series [Japan])", default: true}
- {id: 52, cat: TV, desc: "หนังชุด/ซีรีส์ [ฝรั่ง] (Movies/Series [Western])", default: true}
- {id: 57, cat: TV, desc: "หนังชุด/ซีรีส์ [อื่นๆ] (Movies/Series [other])", default: true}
- {id: 53, cat: TV, desc: "หนังชุด/ซีรีส์/ละคร [ไทย] (Movie Series/Series/Drama [Thai])", default: true}
- {id: 901, cat: XXX, desc: "XXX-Anime", default: false}
- {id: 902, cat: XXX, desc: "XXX-Game", default: false}
- {id: 903, cat: XXX, desc: "XXX-Japan censored", default: false}

View File

@@ -68,7 +68,7 @@ search:
# 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
api_token: "{{ .Config.apikey }}"
name: "{{ .Keywords }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -151,9 +151,7 @@ search:
case:
0: 1 # normal
1: 2 # double
minimumratio:
text: 1.0
minimumseedtime:
# 7 days (as seconds = 2 x 24 x 60 x 60)
text: 172800
# json UNIT3D 6.4.1
# 7 days (as seconds = 7 x 24 x 60 x 60)
text: 604800
# json UNIT3D 6.5.0

View File

@@ -6,9 +6,10 @@ language: ru-RU
type: public
encoding: UTF-8
links:
- http://sosulki.com/
- https://sosulki.com/
legacylinks:
- http://sosulki.net/
- http://sosulki.com/ # site forces https
caps:
categorymappings:
- {id: 12, cat: XXX, desc: "Порно категории"}

View File

@@ -94,6 +94,7 @@ caps:
- {id: 61, cat: TV/Sport, desc: "Rollan Garros"}
- {id: 105, cat: TV/Sport, desc: "RPFL"}
- {id: 29, cat: TV/Sport, desc: "Rugby"}
- {id: 108, cat: TV/Sport, desc: "Saudi Pro League"}
- {id: 82, cat: TV/Sport, desc: "Scotland Premiership"}
- {id: 9, cat: TV/Sport, desc: "Serie A"}
- {id: 33, cat: TV/Sport, desc: "SHL"}

View File

@@ -7,6 +7,7 @@ type: public
encoding: UTF-8
links:
- https://sukebei.nyaa.si/
legacylinks:
- https://sukebei.nyaa.lol/
settings:

View File

@@ -1,119 +0,0 @@
---
id: swarmazon
name: Swarmazon
description: "Swarmazon is a Private Torrent Tracker for MOVIES / TV / GENERAL"
language: en-US
type: private
encoding: UTF-8
links:
- https://swarmazon.club/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "Television"}
- {id: 3, cat: Other, desc: "Video Courses"}
- {id: 4, cat: Audio, desc: "Music"}
- {id: 5, cat: PC/Games, desc: "Games"}
- {id: 6, cat: PC, desc: "Software"}
- {id: 7, cat: TV/Anime, desc: "Anime"}
- {id: 8, cat: Books/EBook, desc: "E-Books"}
- {id: 9, cat: Audio/Audiobook, desc: "Audio Books"}
- {id: 10, cat: Books/Comics, desc: "Comics"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
music-search: [q]
book-search: [q]
login:
path: en/account/login.php
method: form
form: form
# captcha:
# type: image
# selector: img[alt="CAPTCHA"]
# input: captcha_challenge
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
# - selector: script:contains("The Captcha")
# message:
# text: The Captcha you entered was incorrect.
- selector: script:contains("Wrong")
message:
text: Wrong username or password.
- selector: script:contains("not found")
message:
text: User not found.
test:
path: forum/
search:
paths:
- path: "{{ if .Keywords }}en/search/search.php?category=all&query={{ .Keywords }}{{ else }}latest.php?date_range=14{{ end }}"
rows:
selector: table.table-striped > tbody > tr
filters:
- name: andmatch
fields: # some users (rank specific?) have an extra column (td:nth-child(4)) with bookmark features
categorydesc:
selector: td.Name small
filters:
- name: re_replace
args: ["(.+?)in\\s(.+?)", "$2"]
- name: replace
args: ["Freeleech", ""]
- name: replace
args: ["Seeding", ""]
- name: replace
args: ["Downloaded", ""]
- name: replace
args: ["Leeching", ""]
- name: trim
title:
selector: a[href*="/view/torrent.php?hash="]
details:
selector: a[href*="/view/torrent.php?hash="]
attribute: href
download:
selector: a[href^="/api/download.php?hash="]
attribute: href
poster:
selector: a[onmouseover]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) "
- name: replace
args: ["/images/no_poster.jpg", ""]
size:
selector: td:nth-last-child(6)
date:
selector: td:nth-last-child(5)
filters:
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
"span.badge:contains(\"Freeleech\")": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.1
# v1.22.0620

View File

@@ -1,127 +0,0 @@
---
id: theaudioscene
name: TheAudioScene
description: "TheAudioScene is a Private Torrent Tracker for AUDIO SOFTWARE / SAMPLES / ETC"
language: en-US
type: private
encoding: UTF-8
links:
- https://theaudioscene.net/
caps:
categorymappings:
- {id: 1, cat: PC, desc: "Tutorial"}
- {id: 2, cat: PC, desc: "Addon"}
- {id: 3, cat: PC, desc: "Hybrid Update"}
- {id: 4, cat: PC, desc: "Hybrid Win/Mac"}
- {id: 5, cat: PC/Mac, desc: "Mac App"}
- {id: 6, cat: PC/Mac, desc: "Mac Update"}
- {id: 7, cat: PC/Mac, desc: "Mac VST"}
- {id: 8, cat: PC/Mac, desc: "Mac VSTi"}
- {id: 9, cat: Other, desc: "Unknown"}
- {id: 10, cat: Audio, desc: "SampleCD"}
- {id: 11, cat: PC/0day, desc: "Win App"}
- {id: 12, cat: PC/0day, desc: "Win Update"}
- {id: 13, cat: PC/0day, desc: "Win VST"}
- {id: 14, cat: PC/0day, desc: "Win VSTi"}
- {id: 15, cat: PC/Mobile-Other, desc: "Handheld App"}
modes:
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>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
- name: sort
type: select
label: Sort requested from site
default: 0
options:
0: created
5: seeders
2: size
1: title
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
path: usersettings/usermessages.php?mailbox=new
search:
paths:
# https://theaudioscene.net/torrentsettings/torrentbrowse.php?SrcCat=0&SrcDat=0&SrcEnd=0&search=
- path: torrentsettings/torrentbrowse.php
inputs:
# category: 0 all
SrcCat: 0
SrcDat: "{{ .Config.sort }}"
# 0 new&old, 1 new only, 2 old only
SrcEnd: 0
search: "{{ .Keywords }}"
rows:
selector: table.tablewidthfixed tbody tr table:has(tr[onMouseOver])
dateheaders:
selector: td:contains("Added On ")
filters:
- name: replace
args: ["Added On ", ""]
- name: re_replace
args: ["(th|st|nd|rd)", ""]
- name: append
args: " -07:00" # PDT
- name: dateparse
args: "Jan 02 2006 -07:00"
fields:
title:
selector: td[id$="_1"] a
attribute: title
details:
selector: td[id$="_1"] a
attribute: href
download:
selector: td[id$="_2"] a
attribute: href
category:
selector: img[src^="/images/categories/"]
case:
img[title="Tutorial"]: 1
img[title="Addon"]: 2
img[title="Hybrid Update"]: 3
img[title="Hybrid Win/Mac"]: 4
img[title="Mac App"]: 5
img[title="Mac Update"]: 6
img[title="Mac VST"]: 7
img[title="Mac VSTi"]: 8
img[title="Unknown"]: 9
img[title="SampleCD"]: 10
img[title="Win App"]: 11
img[title="Win Update"]: 12
img[title="Win VST"]: 13
img[title="Win VSTi"]: 14
img[title="Handheld App"]: 15
date:
text: now
size:
selector: td[id$="_6"]
seeders:
selector: td[id$="_10"]
leechers:
selector: td[id$="_11"]
grabs:
selector: td[id$="_12"]
downloadvolumefactor:
text: 1
uploadvolumefactor:
text: 1
minimumratio:
text: 1.0
# engine n/a

View File

@@ -9,18 +9,11 @@ links:
- https://thepiratebay.org/
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ly/
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.tor2web.to/
- https://tpb24.ukpass.co/
- https://thepiratebay.host/
- https://thepiratebay.d4.re/
- https://tpb25.ukpass.co/
- https://tpb.skynetcloud.site/
- https://piratetoday.xyz/
- https://piratenow.xyz/
- https://pirate-proxy.page/
- https://pirate-proxy.ink/
- https://mirrorbay.top/
- https://5mins.shop/
- https://tpb.surf/
- https://tpb.monster/
- https://tpb.wtf/
- https://proxifiedpiratebay.org/
- https://unlockedpiratebay.com/
- https://tpb.one/
@@ -36,6 +29,7 @@ links:
- https://piratebay.live/
- https://piratebay.party/
- https://thepiratebay.party/
- https://ukpiratebay.org/
legacylinks:
- https://tpb19.ukpass.co/
- https://pirateproxy.tube/
@@ -57,6 +51,15 @@ legacylinks:
- https://ezrasstuff.com/
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.ws/
- https://piratebayo3klnzokct3wt5yyxb2vpebbuyjl7m623iaxmqhsd52coid.onion.pet/
- https://tpb24.ukpass.co/
- https://thepiratebay.d4.re/
- https://pirate-proxy.page/
- https://5mins.shop/
- https://tpb.surf/
- https://tpb.monster/
- https://thepiratebay.host/
- https://piratetoday.xyz/
- https://tpb.wtf/
caps:
categorymappings:

View File

@@ -110,6 +110,20 @@ search:
selector: "table.lista > tbody > tr:has(a[href^=\"index.php?page=torrent-details&id=\"]):has(td[width=\"30\"]){{ if .Config.freeleech }}:has(img[src=\"images/freeleech.gif\"]){{ else }}{{ end }}{{ if .Config.freeleech }}, table.lista > tbody > tr:has(a[href^=\"index.php?page=torrent-details&id=\"]):has(td[width=\"30\"]):has(img[src=\"images/gold.gif\"]){{ else }}{{ end }}"
fields:
title_torrent:
selector: a[href^="download.php?id="]
attribute: href
filters:
- name: querystring
args: f
- name: replace
args: ["&amp;", "&"]
- name: replace
args: ["&#039;", "'"]
- name: re_replace
args: ["(?i)\\.torrent$", ""]
title_text:
selector: a[href^="index.php?page=torrent-details&id="]
category:
selector: a[href^="index.php?page=torrents&category="]
attribute: href
@@ -117,7 +131,7 @@ search:
- name: querystring
args: category
title:
selector: a[href^="index.php?page=torrent-details&id="]
text: "{{ if .Result.title_torrent }}{{ .Result.title_torrent }}{{ else }}{{ .Result.title_text }}{{ end }}"
poster:
selector: a[href^="index.php?page=torrent-details&id="]
attribute: onmouseover

View File

@@ -80,7 +80,7 @@ search:
# 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
api_token: "{{ .Config.apikey }}"
name: "{{ .Keywords }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free=1{{ else }}{{ end }}"
$raw: "{{ if .Query.Season }}&seasonNumber={{ .Query.Season }}{{ else }}{{ end }}{{ if .Query.Ep }}&episodeNumber={{ .Query.Ep }}{{ else }}{{ end }}{{ if .Query.TMDBID }}&tmdbId={{ .Query.TMDBID }}{{ else }}{{ end }}{{ if .Query.IMDBIDShort }}&imdbId={{ .Query.IMDBIDShort }}{{ else }}{{ end }}{{ if .Query.TVDBID }}&tvdbId={{ .Query.TVDBID }}{{ else }}{{ end }}{{ range .Categories }}&categories[]={{.}}{{end}}{{ if .Config.freeleech }}&free[]=100{{ else }}{{ end }}"
sortField: "{{ .Config.sort }}"
sortDirection: "{{ .Config.type }}"
perPage: 100
@@ -164,4 +164,4 @@ search:
minimumseedtime:
# 60h (as seconds = 60 x 60 x 60)
text: 216000
# json UNIT3D 6.4.1
# json UNIT3D 6.5.0

View File

@@ -10,12 +10,11 @@ requestDelay: 2
links:
- https://www.torlock2.com/
- https://www.torlock.com/
- https://torlock.unblockit.pet/
- https://torlock.unblockit.ink/
- https://torlock.nocensor.lol/
legacylinks:
- https://torlock.com/
- https://torlock.nocensor.work/
- https://torlock.unblockit.kim/
- https://torlock.unblockit.bz/
- https://torlock.unblockit.tv/
- https://torlock.unblockit.how/
@@ -33,6 +32,7 @@ legacylinks:
- https://torlock.unblockit.nz/
- https://torlock.nocensor.world/
- https://torlock.unblockit.page/
- https://torlock.unblockit.pet/
caps:
# dont forget to update the search fields category case block

View File

@@ -21,6 +21,7 @@ caps:
- {id: 182, cat: Movies/SD, desc: "Movie Pack SD"}
- {id: 225, cat: Movies/HD, desc: "Movie Pack HD"}
- {id: 186, cat: Movies/Foreign, desc: "Movie International"}
- {id: 232, cat: Movies/Other, desc: "Movie Sonstiges"}
# Serien
- {id: 198, cat: TV/SD, desc: "Serien SD"}
- {id: 199, cat: TV/HD, desc: "Serien HD"}
@@ -55,7 +56,7 @@ caps:
- {id: 190, cat: Audio, desc: "Musik Charts"}
- {id: 191, cat: Audio/MP3, desc: "Musik Single"}
- {id: 193, cat: Audio/Lossless, desc: "Musik Flac"}
- {id: 196, cat: Audio, desc: "Musik Pack mp3"}
- {id: 196, cat: Audio, desc: "Musik mp3"}
- {id: 228, cat: Audio/Lossless, desc: "Musik Pack Flac"}
- {id: 194, cat: Audio/Video, desc: "Musik Musikvideo"}
# Sport

View File

@@ -8,9 +8,8 @@ encoding: UTF-8
followredirect: true
links:
- https://torrent9.to/
- https://www.torrent9.gg/
- https://www.torrent9.fm/
- https://torrent9.unblockninja.com/
legacylinks:
- http://www.torrent9.ec/
- http://www.torrent9.red/
@@ -43,6 +42,7 @@ legacylinks:
- https://www.torrent9.is/
- https://torrent9.li/ # not a proxy for torrent9 or torrent9clone
- https://www.oxtorrent.me/ # http 522 Connection timed out
- https://www.torrent9.gg/
caps:
# dont forget to update the search fields category case block
@@ -62,6 +62,7 @@ caps:
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: multilang

View File

@@ -57,6 +57,7 @@ caps:
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: multilang

View File

@@ -50,6 +50,7 @@ caps:
movie-search: [q]
music-search: [q]
book-search: [q]
allowrawsearch: true
settings:
- name: flaresolverr

View File

@@ -8,12 +8,11 @@ encoding: UTF-8
followredirect: true
links:
- https://www.torrentdownload.info/
- https://torrentdownload.unblockit.pet/
- https://torrentdownload.unblockit.ink/
- https://torrentdownload.nocensor.lol/
legacylinks:
- https://torrentdownload.nocensor.space/
- https://torrentdownload.nocensor.work/
- https://torrentdownload.unblockit.kim/
- https://torrentdownload.unblockit.bz/
- https://torrentdownload.unblockit.tv/
- https://torrentdownload.unblockit.how/
@@ -30,6 +29,7 @@ legacylinks:
- https://torrentdownload.unblockit.nz/
- https://torrentdownload.nocensor.world/
- https://torrentdownload.unblockit.page/
- https://torrentdownload.unblockit.pet/
caps:
categorymappings:

View File

@@ -9,14 +9,13 @@ followredirect: true
links:
- https://www.torrentdownloads.info/
- https://www.torrentdownloads.pro/
- https://torrentdownloads.unblockit.pet/
- https://torrentdownloads.unblockit.ink/
- https://torrentdownloads.nocensor.lol/
- https://torrentdownloads.unblockninja.com/
legacylinks:
- https://www.torrentdownloads.me/
- https://torrentdownloads.nocensor.space/
- https://torrentdownloads.nocensor.work/
- https://torrentdownloads.unblockit.kim/
- https://torrentdownloads.unblockit.bz/
- https://torrentdownloads.unblockit.tv/
- https://torrentdownloads.unblockit.how/
@@ -33,6 +32,7 @@ legacylinks:
- https://torrentdownloads.unblockit.nz/
- https://torrentdownloads.nocensor.world/
- https://torrentdownloads.unblockit.page/
- https://torrentdownloads.unblockit.pet/
caps:
categorymappings:

View File

@@ -9,12 +9,11 @@ followredirect: true
links:
- https://www.torrentfunk.com/
- https://www.torrentfunk2.com/
- https://torrentfunk.unblockit.pet/
- https://torrentfunk.unblockit.ink/
- https://torrentfunk.nocensor.lol/
legacylinks:
- https://torrentfunk.nocensor.space/
- https://torrentfunk.nocensor.work/
- https://torrentfunk.unblockit.kim/
- https://torrentfunk.unblockit.bz/
- https://torrentfunk.unblockit.tv/
- https://torrentfunk.unblockit.how/
@@ -31,6 +30,7 @@ legacylinks:
- https://torrentfunk.unblockit.nz/
- https://torrentfunk.nocensor.world/
- https://torrentfunk.unblockit.page/
- https://torrentfunk.unblockit.pet/
caps:
categorymappings:

View File

@@ -12,14 +12,13 @@ links:
- https://torrentgalaxy.su/
- https://tgx.rs/
- https://torrentgalaxy.unblockninja.com/
- https://torrentgalaxy.unblockit.pet/
- https://torrentgalaxy.unblockit.ink/
legacylinks:
- https://torrentgalaxy.org/ # redirects to *.to
- https://torrentgalaxy.pw/ # proxy list only
- https://tgx.unblocked.monster/
- https://torrentgalaxy.nocensor.space/
- https://torrentgalaxy.nocensor.work/
- https://torrentgalaxy.unblockit.kim/
- https://torrentgalaxy.unblockit.bz/
- https://torrentgalaxy.unblockit.tv/
- https://torrentgalaxy.unblockit.how/
@@ -36,6 +35,7 @@ legacylinks:
- https://torrentgalaxy.unblockit.cat/
- https://torrentgalaxy.unblockit.nz/
- https://torrentgalaxy.unblockit.page/
- https://torrentgalaxy.unblockit.pet/
caps:
categorymappings:

View File

@@ -5,7 +5,7 @@ description: "not here _ not scene"
language: en-US
type: private
encoding: UTF-8
requestDelay: 2.4 # #13796
requestDelay: 4.1 # #13796
links:
- https://www.torrentleech.org/
- https://www.torrentleech.cc/

View File

@@ -7,15 +7,15 @@ type: public
encoding: UTF-8
requestDelay: 2
links:
- https://torrentproject2.com/
- https://torrentproject2.net/
- https://torrentproject2.org/
- https://torrentproject.info/
- https://torrentproject.biz/
- https://torrentproject.xyz/
- https://torrentproject.cc/
legacylinks:
- https://torrentproject2.se/
- https://torrentproject.cc/
- https://torrentproject2.com/
caps:
categorymappings:

View File

@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentqq236.com/
- https://torrentqq238.com/
legacylinks:
- https://torrentqq221.com/
- https://torrentqq222.com/
- https://torrentqq223.com/
- https://torrentqq224.com/
- https://torrentqq225.com/
@@ -24,6 +22,8 @@ legacylinks:
- https://torrentqq233.com/
- https://torrentqq234.com/
- https://torrentqq235.com/
- https://torrentqq236.com/
- https://torrentqq237.com/
caps:
categorymappings:

View File

@@ -164,9 +164,9 @@ search:
selector: a.thumbnail > span > img
attribute: src
grabs:
selector: td:nth-child(9)
selector: td:nth-child(10)
size:
selector: td:nth-child(6)
selector: td:nth-child(7)
files:
selector: a[href*="&filelist=1"]
seeders:
@@ -174,7 +174,7 @@ search:
leechers:
selector: td:has(a[href*="&todlers="])
date:
selector: td:nth-child(5)
selector: td:nth-child(6)
filters:
- name: re_replace
args: ["\\s", " "]

View File

@@ -7,10 +7,8 @@ type: public
encoding: UTF-8
followredirect: true
links:
- https://torrentsir87.com/
- https://torrentsir88.com/
legacylinks:
- http://torrentsir76.com/
- https://torrentsir76.com/
- http://torrentsir77.com/
- https://torrentsir77.com/
- http://torrentsir78.com/
@@ -30,6 +28,8 @@ legacylinks:
- http://torrentsir86.com/
- https://torrentsir86.com/
- http://torrentsir87.com/
- https://torrentsir87.com/
- http://torrentsir88.com/
caps:
categorymappings:

View File

@@ -75,7 +75,7 @@ search:
selector: td:nth-child(5)
filters:
- name: re_replace
args: ["(?i)(st|nd|rd|th|')", ""]
args: ["(?i)(st|nd|rd|th|'|\\.)", ""]
- name: dateparse
args: "Jan. 02 06"
downloadvolumefactor:

View File

@@ -126,12 +126,11 @@ search:
selector: img[src*="/torrents/images/"]
attribute: src
date:
selector: td:nth-child(2)
selector: td:nth-child(2) > div:last-child
# auto adjusted by site account profile
filters:
- name: regexp
args: "(\\d{1,2}(st|nd|rd|th) [A-Za-z]{3,} \\d{4} \\d{2}:\\d{2}:\\d{2})"
- name: fuzzytime
- name: dateparse
args: "02-01-06 15:04"
size:
selector: td:nth-last-child(5)
grabs:

View File

@@ -80,6 +80,13 @@ settings:
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker with your browser<li>Open the <b>DevTools</b> panel by pressing <b>F12</b><li>Select the <b>Network</b> tab<li>Click on the <b>Doc</b> button (Chrome Browser) or <b>HTML</b> button (FireFox)<li>Refresh the page by pressing <b>F5</b><li>Click on the first row entry<li>Select the <b>Headers</b> tab on the Right panel<li>Find <b>'cookie:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole cookie string <i>(everything after 'cookie: ')</i> and <b>Paste</b> here.</ol>"
- name: useragent
type: text
label: User-Agent
- name: info_useragent
type: info
label: How to get the User-Agent
default: "<ol><li>From the same place you fetched the cookie,<li>Find <b>'user-agent:'</b> in the <b>Request Headers</b> section<li><b>Select</b> and <b>Copy</b> the whole user-agent string <i>(everything after 'user-agent: ')</i> and <b>Paste</b> here.</ol>"
- name: info_profile
type: info
label: Layout
@@ -113,6 +120,8 @@ login:
selector: div#member_info_bar
search:
headers:
User-Agent: ["{{ .Config.useragent }}"]
paths:
- path: /
inputs:

View File

@@ -1,201 +0,0 @@
---
id: twilightszoom
name: Twilights Zoom
description: "Twilights Zoom is a Private Torrent Tracker for MUSIC"
language: en-US
type: private
encoding: UTF-8
links:
- https://twilightzoom.org/
caps:
categorymappings:
- {id: 35, cat: Audio, desc: "80's Music"}
- {id: 14, cat: Audio, desc: "Alternative"}
- {id: 53, cat: PC, desc: "Appz"}
- {id: 70, cat: Audio, desc: "BlueGrass Music"}
- {id: 48, cat: Audio, desc: "Blues "}
- {id: 68, cat: Audio, desc: "Celtic"}
- {id: 19, cat: Audio, desc: "Childrens Music"}
- {id: 26, cat: Audio, desc: "Chill-Out"}
- {id: 56, cat: Audio, desc: "Christian Rock"}
- {id: 21, cat: Audio, desc: "Christmas Music"}
- {id: 3, cat: Audio, desc: "Classical / Opera"}
- {id: 20, cat: Audio, desc: "Comedy"}
- {id: 18, cat: Audio, desc: "Country"}
- {id: 4, cat: Audio, desc: "Dance"}
- {id: 84, cat: Audio, desc: "Death Metal"}
- {id: 62, cat: Audio, desc: "Discography"}
- {id: 40, cat: Audio, desc: "DJ Tools"}
- {id: 60, cat: Audio, desc: "DMC"}
- {id: 51, cat: Audio, desc: "Drum &amp;Bass"}
- {id: 39, cat: Audio, desc: "Dubstep"}
- {id: 5, cat: Audio, desc: "Easy Listening"}
- {id: 6, cat: Audio, desc: "Electronic"}
- {id: 82, cat: Audio/Lossless, desc: "FLAC"}
- {id: 37, cat: Audio, desc: "Folk"}
- {id: 44, cat: Audio, desc: "Garage Music"}
- {id: 59, cat: Audio, desc: "Hardcore"}
- {id: 7, cat: Audio, desc: "Hip Hop"}
- {id: 74, cat: Audio, desc: "Horrorcore "}
- {id: 27, cat: Audio, desc: "House"}
- {id: 8, cat: Audio, desc: "Indie"}
- {id: 73, cat: Audio, desc: "Industrial "}
- {id: 9, cat: Audio, desc: "Inspirational / Gospel"}
- {id: 61, cat: Audio, desc: "Instrumental"}
- {id: 10, cat: Audio, desc: "Jazz Music "}
- {id: 49, cat: Audio, desc: "Karaoke"}
- {id: 11, cat: Audio, desc: "Latin"}
- {id: 69, cat: Audio, desc: "Magazines"}
- {id: 25, cat: Audio, desc: "Mastermix"}
- {id: 65, cat: Audio, desc: "Member Mixes"}
- {id: 30, cat: Audio, desc: "Metal"}
- {id: 24, cat: Audio, desc: "Misc"}
- {id: 58, cat: Audio, desc: "Mixes-Mashups"}
- {id: 50, cat: Audio, desc: "Motown"}
- {id: 75, cat: Audio, desc: "Music Charts"}
- {id: 76, cat: Audio/Video, desc: "Music movies "}
- {id: 57, cat: Audio, desc: "Music Packs"}
- {id: 54, cat: Audio/Video, desc: "Music Videos"}
- {id: 78, cat: Other, desc: "Need to mod"}
- {id: 12, cat: Audio, desc: "New Age"}
- {id: 43, cat: Audio, desc: "Oldies"}
- {id: 13, cat: Audio, desc: "Pop (Popular Music)"}
- {id: 36, cat: Audio, desc: "Punk"}
- {id: 1, cat: Audio, desc: "R&B/Soul"}
- {id: 42, cat: Audio, desc: "Radio"}
- {id: 46, cat: Audio, desc: "Rap"}
- {id: 15, cat: Audio, desc: "Reggae"}
- {id: 45, cat: Audio, desc: "Regimental-Military"}
- {id: 16, cat: Audio, desc: "Rock"}
- {id: 72, cat: Audio, desc: "Rockabilly"}
- {id: 66, cat: Audio, desc: "Seasonal"}
- {id: 77, cat: Audio, desc: "Singles"}
- {id: 83, cat: Audio, desc: "Soul"}
- {id: 23, cat: Audio, desc: "Soundtracks"}
- {id: 71, cat: Audio, desc: "Techno"}
- {id: 22, cat: Other, desc: "Torrents not modded"}
- {id: 41, cat: Audio, desc: "Trance"}
- {id: 38, cat: Audio, desc: "World Music"}
modes:
search: [q]
music-search: [q, album, artist]
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
login:
path: login.php
method: form
form: form[action="takelogin.php"]
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
returnto: /
perm_ssl: 1
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))
test:
path: index.php
selector: a[href^="./logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{ range .Categories }}c{{.}}=1&{{end}}"
search: "{{ if or (.Query.Artist) (.Query.Album) }}{{ or (.Query.Artist) (.Query.Album) }}{{ else }}{{ .Keywords }}{{ end }}"
# 0 active, 1 incldead, 2 onlydead, 3 free
incldead: "{{ if .Config.freeleech }}3{{ else }}1{{ end }}"
sort: "{{ .Config.sort }}"
type: "{{ .Config.type }}"
rows:
selector: table[style="width:928px;"] > tbody > tr:has(a[href^="download.php?torrent="])
fields:
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
title:
selector: a[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "<b>(.+?)</b>"
details:
selector: a[href^="details.php?id="]
attribute: href
download:
selector: a[href^="download.php?torrent="]
attribute: href
poster:
selector: a[href^="details.php?id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=\\\\'(.+?)\\\\'"
- name: replace
args: ["./pic/noposter.png", ""]
files:
selector: td:nth-last-child(8)
date_day:
selector: td:nth-last-child(6):contains("day")
# auto adjusted by site account profile
optional: true
date_year:
selector: td:nth-last-child(6):not(:contains("day"))
# auto adjusted by site account profile
optional: true
filters:
- name: dateparse
args: "Jan 2 2006 03:04 PM"
date:
text: "{{ if or .Result.date_day .Result.date_year }}{{ or .Result.date_day .Result.date_year }}{{ else }}now{{ end }}"
size:
selector: td:nth-last-child(5)
grabs:
selector: td:nth-last-child(4)
seeders:
selector: td:nth-last-child(3)
leechers:
selector: td:nth-last-child(2)
downloadvolumefactor:
case:
"img[src=\"free.gif\"]": 0
"*": 1
uploadvolumefactor:
text: 1
minimumratio:
text: 0.5
# TBDEV,U232,and Btdev (customised)

View File

@@ -14,7 +14,7 @@ caps:
- {id: 93, cat: TV/Anime, desc: "การ์ตูน [Cartoon]"}
- {id: 112, cat: TV/Sport, desc: "กีฬา [Sport]"}
- {id: 101, cat: Other, desc: "ฟอนต์/ไอคอน/คลิปอาร์ท/เทมเพลท [Fonts, icons, clip art]"}
- {id: 90, cat: Movies, desc: "ซีรีย์ (หนังชุด) [movie series]"}
- {id: 90, cat: TV, desc: "ซีรีย์ (หนังชุด) [Series]"}
- {id: 92, cat: Console, desc: "เกมส์ (non PC) [games]"}
- {id: 91, cat: PC/Games, desc: "เกมส์ (PC) [games]"}
- {id: 100, cat: PC/Mobile-Other, desc: "โปรแกรมที่ใช้บน (มือถือ) [mobiles]"}

View File

@@ -5,6 +5,8 @@ description: "World-of-Tomorrow is a Private German tracker"
language: de-DE
type: private
encoding: ISO-8859-1
certificates:
- 824f6e356ee0189eb9517a90c695b7ac8508495c # expired 26 December 2022
links:
- https://world-of-tomorrow.eu/

View File

@@ -0,0 +1,176 @@
---
id: xtorrenty
name: xTorrenty
description: "xTorrenty is a POLISH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL"
language: pl-PL
type: semi-private
encoding: UTF-8
links:
- https://xtorrenty.org/
caps:
categorymappings:
- {id: 15, cat: Movies/SD, desc: "Filmy XviD/DivX"}
- {id: 20, cat: Movies/Other, desc: "Filmy/Bajki"}
- {id: 21, cat: Movies/DVD, desc: "Filmy DVD"}
- {id: 22, cat: Movies/SD, desc: "Filmy RMVB"}
- {id: 23, cat: Movies/HD, desc: "Filmy x264"}
- {id: 24, cat: Movies/UHD, desc: "Filmy 4K UHD"}
- {id: 25, cat: Movies/HD, desc: "Filmy HD"}
- {id: 26, cat: Movies/3D, desc: "Filmy 3D"}
- {id: 27, cat: Movies/HD, desc: "Filmy x265"}
- {id: 28, cat: Movies/SD, desc: "Filmy TS/CAM"}
- {id: 84, cat: PC/0day, desc: "Programy"}
- {id: 85, cat: Console, desc: "Konsole"}
- {id: 16, cat: PC/Games, desc: "Gry"}
- {id: 86, cat: Audio, desc: "Muzyka"}
- {id: 88, cat: Audio/Video, desc: "Teledyski"}
- {id: 89, cat: TV, desc: "TV"}
- {id: 90, cat: XXX, desc: "Erotyka"}
- {id: 91, cat: Books/EBook, desc: "Książki"}
- {id: 92, cat: Books/Comics, desc: "Komiksy"}
- {id: 93, cat: PC/Mac, desc: "Linux/Mac"}
- {id: 94, cat: TV/Sport, desc: "Sport"}
- {id: 95, cat: TV/Anime, desc: "Anime"}
- {id: 96, cat: Other, desc: "Dla dzieci"}
- {id: 97, cat: PC/Mobile-Other, desc: "GSM/PDA"}
- {id: 344, cat: Other/Misc, desc: "Inne"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
music-search: [q]
book-search: [q]
settings:
- name: email
type: text
label: Email
- name: password
type: password
label: Password
- name: multilang
type: checkbox
label: Replace MULTI by another language in release name
default: false
- name: multilanguage
type: select
label: Replace MULTI by this language
default: POLISH
options:
POLISH: POLISH
MULTI.POLISH: MULTI.POLISH
- name: sort
type: select
label: Sort requested from site
default: date
options:
date: created
title: title
- name: type
type: select
label: Order requested from site
default: desc
options:
desc: desc
asc: asc
login:
path: login.html
method: form
form: form
inputs:
login_name: "{{ .Config.email }}"
login_password: "{{ .Config.password }}"
login_not_save: ""
login: submit
test:
path: /
selector: a[href$="/index.php?action=logout"]
download:
selectors:
- selector: a[href^="/engine/download.php?id="]
attribute: href
- selector: a[href^="magnet:?xt="]
attribute: href
search:
# do=search&subaction=search&story=greyhound&titleonly=3&sortby=date&resorder=desc&showposts=1&catlist[]=23
paths:
- path: index.php
inputs:
$raw: "{{ range .Categories }}catlist[]={{.}}&{{end}}"
do: search
subaction: search
showposts: 0
# 0 in article 1 in comments 2 in static pages 3 in article titles
titleonly: "{{ if .Query.IMDBID }}0{{ else }}3{{ end }}"
story: "{{ if or .Query.IMDBID .Keywords }}{{ or .Query.IMDBID .Keywords }}{{ else }}{{ .Today.Year }}{{ end }}"
sortby: "{{ .Config.sort }}"
resorder: "{{ .Config.type }}"
rows:
selector: table > tbody > tr:has(td[class="colhead"])
fields:
category:
selector: td
case:
"td:contains(\"XviD/DivX\")": 15
"td:contains(\"Filmy/Bajki\")": 20
"td:contains(\"DVD\")": 21
"td:contains(\"RMVB\")": 22
"td:contains(\"x264\")": 23
"td:contains(\"4K UHD\")": 24
"td:contains(\"HD\")": 25
"td:contains(\"3D\")": 26
"td:contains(\"x265\")": 27
"td:contains(\"TS/CAM\")": 28
"td:contains(\"Programy\")": 84
"td:contains(\"Konsole\")": 85
"td:contains(\"Gry\")": 16
"td:contains(\"Muzyka\")": 86
"td:contains(\"Teledyski\")": 88
"td:contains(\"TV\")": 89
"td:contains(\"Erotyka\")": 90
"td:contains(\"Książki\")": 91
"td:contains(\"Komiksy\")": 92
"td:contains(\"Linux/Mac\")": 93
"td:contains(\"Sport\")": 94
"td:contains(\"Anime\")": 95
"td:contains(\"Dla dzieci\")": 96
"td:contains(\"GSM/PDA\")": 97
"td:contains(\"Inne\")": 344
title_phase1:
selector: a
title_multilang:
selector: a
filters:
- name: re_replace
args: ["(?i)(\\bmulti\\b)", "{{ .Config.multilanguage }}"]
title:
text: "{{ if .Config.multilang }}{{ .Result.title_multilang }}{{ else }}{{ .Result.title_phase1 }}{{ end }}"
details:
selector: a
attribute: href
download:
selector: a
attribute: href
date:
text: now
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
size:
selector: td:nth-child(3)
filters:
- name: append
args: "B"
downloadvolumefactor:
text: 0
uploadvolumefactor:
text: 1
# engine n/a

View File

@@ -9,7 +9,7 @@ requestDelay: 2.5 # 2.5 requests per second (2 causes problems)
links:
# dont forget to update the details, download and poster replace args
- https://yts.mx/
- https://yts.unblockit.pet/
- https://yts.unblockit.ink/
- https://yts.unblockninja.com/
- https://yts.nocensor.lol/
legacylinks:
@@ -17,7 +17,6 @@ legacylinks:
- https://yts.am/
- https://yts.lt/
- https://yts.nocensor.work/
- https://yts.unblockit.kim/
- https://yts.unblockit.bz/
- https://yts.unblockit.tv/
- https://yts.unblockit.how/
@@ -34,6 +33,7 @@ legacylinks:
- https://yts.unblockit.nz/
- https://yts.nocensor.world/
- https://yts.unblockit.page/
- https://yts.unblockit.pet/
caps:
categorymappings:

View File

@@ -33,6 +33,7 @@ caps:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
allowrawsearch: true
settings:
- name: info_8000

View File

@@ -8,9 +8,7 @@ using System.Net;
using System.Text;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using BencodeNET.Objects;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Models.IndexerConfig.Bespoke;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;

View File

@@ -1,6 +1,5 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;

View File

@@ -267,8 +267,10 @@ namespace Jackett.Common.Indexers
if (!string.IsNullOrEmpty(configData.UserAgent.Value))
{
headers = new Dictionary<string, string>();
headers.Add("User-Agent", configData.UserAgent.Value);
headers = new Dictionary<string, string>
{
{ "User-Agent", configData.UserAgent.Value }
};
}
foreach (var cat in MapTorznabCapsToTrackers(query))

View File

@@ -5,7 +5,6 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Models.IndexerConfig.Bespoke;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;

View File

@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Linq;
@@ -12,7 +11,6 @@ using AngleSharp.Html.Parser;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Newtonsoft.Json.Linq;
using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
@@ -39,7 +37,7 @@ namespace Jackett.Common.Indexers
private const string SearchUrl = "buscar/";
public override string[] AlternativeSiteLinks { get; protected set; } = {
"https://dontorrent.army/",
"https://dontorrent.beer/",
"https://todotorrents.net/",
"https://tomadivx.net/",
"https://seriesblanco.one/",
@@ -62,7 +60,9 @@ namespace Jackett.Common.Indexers
"https://dontorrent.click/",
"https://dontorrent.fail/",
"https://dontorrent.futbol/",
"https://dontorrent.mba/"
"https://dontorrent.mba/",
"https://dontorrent.army/",
"https://dontorrent.blue/"
};
private static Dictionary<string, string> CategoriesMap => new Dictionary<string, string>
@@ -80,7 +80,7 @@ namespace Jackett.Common.Indexers
: base(id: "dontorrent",
name: "DonTorrent",
description: "DonTorrent is a SPANISH public tracker for MOVIES / TV / GENERAL",
link: "https://dontorrent.army/",
link: "https://dontorrent.beer/",
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>

View File

@@ -45,12 +45,11 @@ namespace Jackett.Common.Indexers
public override string[] AlternativeSiteLinks { get; protected set; } = {
"https://www.epublibre.org/",
"https://epublibre.unblockit.pet/"
"https://epublibre.unblockit.ink/"
};
public override string[] LegacySiteLinks { get; protected set; } = {
"https://epublibre.org/",
"https://epublibre.unblockit.kim/",
"https://epublibre.unblockit.bz/",
"https://epublibre.unblockit.tv/",
"https://epublibre.unblockit.how/",
@@ -63,7 +62,8 @@ namespace Jackett.Common.Indexers
"https://epublibre.unblockit.bet/",
"https://epublibre.unblockit.cat/",
"https://epublibre.unblockit.nz/",
"https://epublibre.unblockit.page/"
"https://epublibre.unblockit.page/",
"https://epublibre.unblockit.pet/"
};
public EpubLibre(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,

View File

@@ -2,19 +2,14 @@ using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using FlareSolverrSharp.Types;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig.Bespoke;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients;
using Newtonsoft.Json.Linq;
using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;

View File

@@ -3,7 +3,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Net;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;

View File

@@ -38,13 +38,10 @@ namespace Jackett.Common.Indexers
{
"https://hdts.ru/",
"https://hd-torrents.org/",
"https://hd-torrents.net/",
"https://hd-torrents.me/"
};
public override string[] LegacySiteLinks { get; protected set; } = {
"https://hd-torrents.net/"
};
private new ConfigurationDataBasicLogin configData => (ConfigurationDataBasicLogin)base.configData;
public HDTorrents(IIndexerConfigurationService configService, WebClient w, Logger l, IProtectionService ps,
@@ -81,8 +78,8 @@ namespace Jackett.Common.Indexers
Type = "private";
// Movie
AddCategoryMapping("70", TorznabCatType.MoviesUHD, "Movie/UHD/Blu-Ray");
AddCategoryMapping("1", TorznabCatType.MoviesHD, "Movie/Blu-Ray");
AddCategoryMapping("70", TorznabCatType.MoviesBluRay, "Movie/UHD/Blu-Ray");
AddCategoryMapping("1", TorznabCatType.MoviesBluRay, "Movie/Blu-Ray");
AddCategoryMapping("71", TorznabCatType.MoviesUHD, "Movie/UHD/Remux");
AddCategoryMapping("2", TorznabCatType.MoviesHD, "Movie/Remux");
AddCategoryMapping("5", TorznabCatType.MoviesHD, "Movie/1080p/i");

View File

@@ -248,8 +248,10 @@ namespace Jackett.Common.Indexers
if (!string.IsNullOrEmpty(configData.UserAgent.Value))
{
headers = new Dictionary<string, string>();
headers.Add("User-Agent", configData.UserAgent.Value);
headers = new Dictionary<string, string>
{
{ "User-Agent", configData.UserAgent.Value }
};
}
if (query.IsImdbQuery)

View File

@@ -127,9 +127,15 @@ namespace Jackett.Common.Indexers
var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl);
await ConfigureIfOK(response.Cookies, response.ContentString.Contains("You have successfully logged in"), () =>
await ConfigureIfOK(response.Cookies, response.ContentString.Contains("logout.php"), () =>
{
var parser = new HtmlParser();
var document = parser.ParseDocument(response.ContentString);
var messageEl = document.QuerySelector("#main table");
var errorMessage = response.ContentString;
if (messageEl != null)
errorMessage = messageEl.TextContent.Trim();
throw new ExceptionWithConfigData(errorMessage, configData);
});

View File

@@ -284,6 +284,9 @@ namespace Jackett.Common.Indexers
release.DownloadVolumeFactor = item.Value<int>("free") == 1 ? 0 : 1;
release.UploadVolumeFactor = 1;
// release.MinimumRatio = 1; // global MR is 1.0 but torrents must be seeded for 3 days regardless of ratio
release.MinimumSeedTime = 259200; // 72 hours
releases.Add(release);
}
}

View File

@@ -1,186 +0,0 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Newtonsoft.Json.Linq;
using NLog;
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
public class Nebulance : BaseWebIndexer
{
private string LoginUrl => SiteLink + "login.php";
private string SearchUrl => SiteLink + "torrents.php";
private new ConfigurationDataBasicLoginWith2FA configData => (ConfigurationDataBasicLoginWith2FA)base.configData;
public Nebulance(IIndexerConfigurationService configService, Utils.Clients.WebClient c, Logger l,
IProtectionService ps, ICacheService cs)
: base(id: "nebulance",
name: "Nebulance",
description: "At Nebulance we will change the way you think about TV",
link: "https://nebulance.io/",
caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
}
},
configService: configService,
client: c,
logger: l,
p: ps,
cacheService: cs,
configData: new ConfigurationDataBasicLoginWith2FA(@"If 2FA is disabled, let the field empty.
We recommend to disable 2FA because re-login will require manual actions.
<br/>For best results, change the 'Torrents per page' setting to 100 in your profile on the NBL webpage."))
{
Encoding = Encoding.UTF8;
Language = "en-US";
Type = "private";
AddCategoryMapping(1, TorznabCatType.TV);
AddCategoryMapping(2, TorznabCatType.TVSD);
AddCategoryMapping(3, TorznabCatType.TVHD);
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
{
LoadValuesFromJson(configJson);
await DoLogin();
return IndexerConfigurationStatus.RequiresTesting;
}
private async Task DoLogin()
{
var pairs = new Dictionary<string, string> {
{ "username", configData.Username.Value },
{ "password", configData.Password.Value },
{ "twofa", configData.TwoFactorAuth.Value },
{ "keeplogged", "on" },
{ "login", "Login" }
};
CookieHeader = string.Empty;
var response = await RequestLoginAndFollowRedirect(LoginUrl, pairs, CookieHeader, true, null, LoginUrl);
await ConfigureIfOK(response.Cookies, response.ContentString != null && response.ContentString.Contains("logout.php"), () =>
{
var parser = new HtmlParser();
var document = parser.ParseDocument(response.ContentString);
var messageEl = document.QuerySelector("form > span[class='warning']");
var errorMessage = response.ContentString;
if (messageEl != null)
errorMessage = messageEl.TextContent.Trim();
throw new ExceptionWithConfigData(errorMessage, configData);
});
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = new List<ReleaseInfo>();
var searchTerm = query.GetQueryString();
if (!string.IsNullOrWhiteSpace(searchTerm)) // remove some characters
searchTerm = Regex.Replace(searchTerm, @"[-._]", " ");
var qc = new NameValueCollection
{
{"action", "basic"},
{"order_by", "time"},
{"order_way", "desc"},
{"searchtext", searchTerm}
};
var searchUrl = SearchUrl + "?" + qc.GetQueryString();
var response = await RequestWithCookiesAsync(searchUrl);
if (!response.ContentString.Contains("logout.php")) // re-login
{
await DoLogin();
response = await RequestWithCookiesAsync(searchUrl);
}
try
{
var parser = new HtmlParser();
var document = parser.ParseDocument(response.ContentString);
var rows = document.QuerySelectorAll(".torrent_table > tbody > tr[class^='torrent row']");
foreach (var row in rows)
{
var title = row.QuerySelector("a[data-src]").GetAttribute("data-src");
if (string.IsNullOrEmpty(title) || title == "0")
{
title = row.QuerySelector("a[data-src]").TextContent;
title = Regex.Replace(title, @"[\[\]\/]", "");
}
else
{
if (title.Length > 5 && title.Substring(title.Length - 5).Contains("."))
title = title.Remove(title.LastIndexOf(".", StringComparison.Ordinal));
}
var posterStr = row.QuerySelector("img")?.GetAttribute("src");
Uri.TryCreate(posterStr, UriKind.Absolute, out var poster);
var details = new Uri(SiteLink + row.QuerySelector("a[data-src]").GetAttribute("href"));
var link = new Uri(SiteLink + row.QuerySelector("a[href*='action=download']").GetAttribute("href"));
var qColSize = row.QuerySelector("td:nth-child(3)");
var size = ReleaseInfo.GetBytes(qColSize.Children[0].TextContent);
var files = ParseUtil.CoerceLong(qColSize.Children[1].TextContent.Split(':')[1].Trim());
var qPublishdate = row.QuerySelector("td:nth-child(4) span");
var publishDateStr = qPublishdate.GetAttribute("title");
var publishDate = !string.IsNullOrEmpty(publishDateStr) && publishDateStr.Contains(",")
? DateTime.ParseExact(publishDateStr, "MMM dd yyyy, HH:mm", CultureInfo.InvariantCulture)
: DateTime.ParseExact(qPublishdate.TextContent.Trim(), "MMM dd yyyy, HH:mm", CultureInfo.InvariantCulture);
var grabs = ParseUtil.CoerceLong(row.QuerySelector("td:nth-child(5)").TextContent);
var seeds = ParseUtil.CoerceLong(row.QuerySelector("td:nth-child(6)").TextContent);
var leechers = ParseUtil.CoerceLong(row.QuerySelector("td:nth-child(7)").TextContent);
var release = new ReleaseInfo
{
Title = title,
Guid = details,
Details = details,
Link = link,
Category = new List<int> { TvCategoryParser.ParseTvShowQuality(title) },
Size = size,
Files = files,
PublishDate = publishDate,
Grabs = grabs,
Seeders = seeds,
Peers = seeds + leechers,
Poster = poster,
MinimumRatio = 0, // ratioless
MinimumSeedTime = 86400, // 24 hours
DownloadVolumeFactor = 0, // ratioless tracker
UploadVolumeFactor = 1
};
releases.Add(release);
}
}
catch (Exception e)
{
OnParseError(response.ContentString, e);
}
return releases;
}
}
}

View File

@@ -1,5 +1,4 @@
using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Globalization;
@@ -11,7 +10,6 @@ using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils.Clients;
using Microsoft.AspNetCore.Http.Internal;
using Newtonsoft.Json.Linq;
using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData;

View File

@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Threading.Tasks;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;

View File

@@ -5,7 +5,6 @@ using System.Diagnostics.CodeAnalysis;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Html.Parser;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
@@ -225,16 +224,14 @@ namespace Jackett.Common.Indexers
var release = new ReleaseInfo
{
MinimumRatio = 1,
MinimumSeedTime = 0
MinimumSeedTime = 0,
// Get Category
Category = MapTrackerCatToNewznab(torrent[7].ToString()),
// Title, description and details link
Title = torrent[3].ToString(),
Description = torrent[6].ToString(),
Details = new Uri($"{SiteLink}index.html#torrent/{torrent[0]}")
};
// Get Category
release.Category = MapTrackerCatToNewznab(torrent[7].ToString());
// Title, description and details link
release.Title = torrent[3].ToString();
release.Description = torrent[6].ToString();
release.Details = new Uri($"{SiteLink}index.html#torrent/{torrent[0]}");
release.Guid = release.Details;
// Date of torrent creation

View File

@@ -1,6 +1,5 @@
using System;
using System.Collections.Generic;
using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis;
using System.Text;
using System.Text.RegularExpressions;

View File

@@ -106,6 +106,7 @@ namespace Jackett.Common.Indexers
AddCategoryMapping("cat[]=19&tags=DVDR", TorznabCatType.MoviesSD, "Movies/DVDR");
AddCategoryMapping("cat[]=19&tags=WMV", TorznabCatType.Movies, "Movies/WMV");
AddCategoryMapping("cat[]=19&tags=CAM", TorznabCatType.Movies, "Movies/CAM");
AddCategoryMapping("cat[]=19&tags=DolbyVision", TorznabCatType.Movies, "Movies/DolbyVision");
// Music
AddCategoryMapping("cat[]=6", TorznabCatType.Audio, "Music");

Some files were not shown because too many files have changed in this diff Show More