Compare commits

...

59 Commits

Author SHA1 Message Date
Garfield69
9da64d5bbf amigosshare: search page changes. resolves #5004
Also the logout link has gone!!!
2019-04-01 17:32:49 +13:00
Garfield69
5d21a69b07 Revert "Revert "Revert "Add proxy warning to dashboard"""
This reverts commit a083090b5e.
2019-04-01 17:30:53 +13:00
Garfield69
a083090b5e Revert "Revert "Add proxy warning to dashboard""
This reverts commit 27ae1b3e82.
2019-04-01 15:45:32 +13:00
Garfield69
27ae1b3e82 Revert "Add proxy warning to dashboard"
This reverts commit b3d2ad94a7.
2019-04-01 12:49:07 +13:00
Garfield69
f0245900e4 Revert "custom.js: prevent null.trim error resolves #5000"
This reverts commit a61991fcdb.
2019-04-01 12:49:03 +13:00
Garfield69
4ea6ce6cc2 gktorrent: they are back onto .net domain 2019-04-01 10:59:00 +13:00
Garfield69
f905e44b09 racingforeveryone: updates for unit3d 1.9.2 2019-04-01 10:44:14 +13:00
Jorman
fa1ee57072 ilcorsaronero: update multi-page searching (#5001) 2019-04-01 09:50:34 +13:00
Jorman
da56368720 monova: date and size selector updates plus up to 5 page fetch (#5002)
Sometimes I got some error from monova, like date, size
So I update these field and I added the search and rss sync up to page 5
2019-04-01 09:06:00 +13:00
Garfield69
a61991fcdb custom.js: prevent null.trim error resolves #5000 2019-04-01 08:35:22 +13:00
WSHaRK993
8051e87d2a README: Jackett binary is now named jackett instead of JackettConsole (Linux/macOS) (#4995)
plus other cosmetic amendments
2019-04-01 08:29:31 +13:00
WSHaRK993
a0eb39f87b hdforever: Freeleech tag fix & token option (#4994) resolves #4979 2019-04-01 07:32:40 +13:00
flightlevel
b3d2ad94a7 Add proxy warning to dashboard 2019-03-31 11:50:32 +11:00
Garfield69
a6154898ed amigosshare: add info about torrent list. #4988 2019-03-30 16:34:37 +13:00
Garfield69
9b39e1c3c2 scenetime: add freeleech filter. resolves #4983 2019-03-29 16:32:35 +13:00
Garfield69
656702cde7 blutopia: changes for unit3d 1.9.2 2019-03-29 14:43:07 +13:00
Garfield69
34114c23fc channelx: updates for unit3d 1.9.2 #4924 2019-03-29 08:48:38 +13:00
Garfield69
31c629c862 Update no_information_provided.md 2019-03-29 07:25:01 +13:00
flightlevel
be34f78be0 Remove Mono from macOS instructions 2019-03-28 20:25:33 +11:00
flightlevel
219d9548a1 macOS no longer requires Mono 2019-03-28 20:23:45 +11:00
morpheus133
88a24cad1e bithumen: PublishDate to torrents from current year was handled wrongly. (#4978) 2019-03-28 09:10:52 +13:00
Garfield69
a86e1e82f2 avg: add language support for Russian and Ukranian. #4969 2019-03-28 08:54:34 +13:00
Garfield69
747394fce7 add peers.fm a private Russian tracker. Resolves #4969 2019-03-27 13:22:42 +13:00
Garfield69
09229dcf29 add avg a private Russian Games site. #4969 2019-03-27 10:41:51 +13:00
Garfield69
5afc1a1c9a torrentsectorcrew: add info about classic layout 2019-03-26 19:27:09 +13:00
Garfield69
505948b69a add tigers-dl a French Private tracker. #4961
yet to find volumefactors
2019-03-26 16:05:58 +13:00
kaso17
68e72e41cf Psytorrents: update certificate 2019-03-25 17:14:45 +01:00
kaso17
573ba5b41f BJShare: ad re-login 2019-03-25 17:14:34 +01:00
kaso17
dfd1ec375b Torrent Sector Crew: fix indexer 2019-03-25 16:56:06 +01:00
kaso17
3fa0b76b59 remove BTF invite flag 2019-03-25 15:30:21 +01:00
kaso17
c830a59d58 ImmortalSeed: fix indexer 2019-03-25 15:27:25 +01:00
kaso17
d05767fd3b Bittorrentfiles: fix links 2019-03-25 15:07:12 +01:00
flightlevel
08ab66a447 Package update 2019-03-25 19:27:28 +11:00
flightlevel
6ee45ec0b2 Updater: Don't remove jackett.dll
#4948
2019-03-25 19:22:08 +11:00
Garfield69
6d23341f06 immortalseed: try https switch for #4956
also add missing categories
2019-03-25 18:13:14 +13:00
Garfield69
58f9078d70 bittorrentfiles: fix #4952
update categories
implement imdbid searching
update/correct selectors
add missing volumefactor
fix date processing
2019-03-25 16:15:53 +13:00
Garfield69
c2ff657272 add DesiReleasers an Indian private tracker. 2019-03-25 04:51:23 +13:00
Fippsy
0d3c29df4f Add world-of-tomorrow a private German tracker. (#4951) 2019-03-25 03:39:11 +13:00
Fippsy
8d195f3c8e add das-unerwartete a private German tracker (#4950) 2019-03-25 03:29:55 +13:00
flightlevel
d5dea458cb Separate Windows Appveyor and dev builds 2019-03-24 16:22:12 +11:00
flightlevel
b9b94009bf Update readme for renamed macOS mono install script 2019-03-24 16:02:41 +11:00
flightlevel
8bfe5edc0a Update build script for macOS changes 2019-03-24 16:01:33 +11:00
flightlevel
cc2071dc53 Make macos install scripts executable 2019-03-24 15:59:36 +11:00
flightlevel
e745b02c55 Attempt to make install_service_macos .NET Core compatible 2019-03-24 15:57:11 +11:00
flightlevel
ee162756d1 Rename install_service_macos to install_service_macos_mono 2019-03-24 15:55:59 +11:00
Garfield69
9a571f6f4b Update ISSUE_TEMPLATE.md 2019-03-24 16:07:33 +13:00
Garfield69
1b740f1a04 yggtorrent: add a legacy lnik for #4946 2019-03-24 15:55:38 +13:00
Garfield69
9e695151b7 ourbits: fix size selector. resolves #4944
also update categories
turn on incldead
add login error message selector
2019-03-24 08:48:32 +13:00
Garfield69
c1c86ddd60 btgigs: correction to login error selector 2019-03-24 06:25:29 +13:00
Garfield69
328cf7090a Revert "gazelletracker: implement torznab Limit #4901"
This reverts commit bee30b2c1c.
2019-03-23 16:16:51 +13:00
Garfield69
64f461bc98 Revert "7tor: implement torznab Limit #4901"
This reverts commit 28dbb29513.
2019-03-23 16:16:41 +13:00
Garfield69
c6639e7d9b Revert "720pier: implement torznab Limit #4901"
This reverts commit cf03b6e216.
2019-03-23 16:15:48 +13:00
Garfield69
841fac48f9 Revert "rarbg: implement torznab Limit #4901"
This reverts commit 87c4f26d02.
2019-03-23 16:12:13 +13:00
Garfield69
0a2651e635 Revert "yts: implement torznab Limit #4901"
This reverts commit 022b88ea22.
2019-03-23 16:11:45 +13:00
Garfield69
bee30b2c1c gazelletracker: implement torznab Limit #4901 2019-03-23 14:50:50 +13:00
Garfield69
28dbb29513 7tor: implement torznab Limit #4901 2019-03-23 11:34:38 +13:00
Garfield69
cf03b6e216 720pier: implement torznab Limit #4901 2019-03-23 10:26:51 +13:00
Garfield69
87c4f26d02 rarbg: implement torznab Limit #4901 2019-03-23 09:46:58 +13:00
Garfield69
022b88ea22 yts: implement torznab Limit #4901 2019-03-23 09:27:58 +13:00
36 changed files with 1542 additions and 265 deletions

View File

@@ -7,7 +7,7 @@ If you are experiencing an issue with a tracker, then:
2. If you haven't already, try upgrading to the latest version of Jackett, your issue may have already been resolved.
3. If it is still not working for you, then a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
**Jackett version**:
**Mono version** (if not using Windows):
(At the bottom of your Jackett Dashboard page) **Jackett version**:
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:
-------------------------------

View File

@@ -5,5 +5,5 @@ You've created an issue, but haven't provided any details to allow the community
Provide a description of the feature request or bug, the more details the better.
If you are experiencing an issue with a tracker, a **full enhanced log must be included**. Instructions for obtaining logs are here: https://github.com/Jackett/Jackett#troubleshooting
**Jackett version**:
**Mono version** (if not using Windows):
(At the bottom of your Jackett Dashboard page) **Jackett version**:
(if you installed using Jackett.Binaries.Mono.tar.gz) **Mono version**:

View File

@@ -16,9 +16,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
#### Supported Systems
* Windows using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461).
* Linux
* macOS using Mono 5.8 or above. [Download here](http://www.mono-project.com/download/).
* Windows 7SP1 or greater using .NET 4.6.1 or above [Download here](https://www.microsoft.com/net/framework/versions/net461)
* Linux ([supported operating systems here](https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md))
* macOS 10.12 or greater
### Supported Public Trackers
* 1337x
@@ -134,6 +134,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Audiobook Torrents (ABT)
* AudioNews (AN)
* Awesome-HD (AHD)
* AVG (Audio Video Games)
* Avistaz (AsiaTorrents)
* B2S-Share
* Back-ups
@@ -151,7 +152,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* BitMeTV
* BitsPiracy
* Bitspyder
* BitTorrentFiles [![(invite needed)][inviteneeded]](#)
* BitTorrentFiles
* BitTurk
* BJ-Share (BJ)
* BlueBird
@@ -177,7 +178,9 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* CrnaBerza
* DanishBits (DB)
* Dark-Shadow
* Das Unerwartete
* DataScene (DS)
* DesiReleasers
* DesiTorrents
* Diablo Torrent
* DigitalCore
@@ -269,6 +272,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* P2PBG
* Passione Torrent <!-- maintained by bonny1992 -->
* PassThePopcorn (PTP)
* Peers.FM
* PiratBit
* PirateTheNet (PTN)
* PiXELHD (PxHD)
@@ -326,6 +330,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* The Show
* The-Torrents
* The Vault
* Tigers-dl
* Torrent Network (TN)
* Torrent Sector Crew (TSC)
* Torrent.LT
@@ -357,6 +362,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* Vizuk
* Waffles
* World-In-HD
* World-of-Tomorrow
* WorldOfP2P (WOP)
* x-ite.me (XM)
* xBytesV2
@@ -385,8 +391,8 @@ Using the all indexer has no advantages (besides reduced management overhead), o
To get all Jackett indexers including their capabilities you can use `t=indexers` on the all indexer. To get only configured/unconfigured indexers you can also add `configured=true/false` as query parameter.
## Installation on Windows
## Installation on Windows
We recommend you install Jackett as a Windows service using the supplied installer. You may also download the zipped version if you would like to configure everything manually.
To get started with using the installer for Jackett, follow the steps below:
@@ -402,24 +408,34 @@ When installed as a service the tray icon acts as a way to open/start/stop Jacke
Jackett can also be run from the command line if you would like to see log messages (Ensure the server isn't already running from the tray/service). This can be done by using "JackettConsole.exe" (for Command Prompt), found in the Jackett data folder: "%ProgramData%\Jackett".
### Install on Linux (AMDx64)
1. Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
## Install on Linux (AMDx64)
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
### Install as service
To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
### Install on Linux (ARMv7 or above)
1. Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
2. (Optional) To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
### Run without installing as a service
Download and extract the latest `Jackett.Binaries.LinuxAMDx64.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
### home directory
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
### Installation on Linux (ARMv6 or below)
## Install on Linux (ARMv7 or above)
On most operating systems all the required dependencies will already be present. In case they are not, you can refer to this page https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x#linux-distribution-dependencies
### Install as service
To install Jackett as a service, open the Terminal and run `sudo ./install_service_systemd.sh` You need root permissions to install the service. The service will start on each logon. You can always stop it by running `systemctl stop jackett.service` from Terminal. You can start it again it using `systemctl start jackett.service`. Logs are stored as usual under `~/.config/Jackett/log.txt` and also in `journalctl -u jackett.service`.
### Run without installing as a service
Download and extract the latest `Jackett.Binaries.LinuxARM32.tar.gz` or `Jackett.Binaries.LinuxARM64.tar.gz` (32 bit is the most common on ARM) release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`
### home directory
If you want to run it with a user without a /home directory you need to add `Environment=XDG_CONFIG_HOME=/path/to/folder` to your systemd file, this folder will be used to store your config files.
## Installation on Linux (ARMv6 or below)
1. Install [Mono 5.8](http://www.mono-project.com/download/#download-lin) or better (using the latest stable release is recommended)
* Follow the instructions on the mono website and install the `mono-devel` and the `ca-certificates-mono` packages.
* On Red Hat/CentOS/openSUSE/Fedora the `mono-locale-extras` package is also required.
@@ -434,20 +450,21 @@ If you want to run it with a user without a /home directory you need to add `Env
Mono must be compiled with the Roslyn compiler (default), using MCS will cause "An error has occurred." errors (See https://github.com/Jackett/Jackett/issues/2704).
### Installation on Linux via Ansible
On a RHEL/Centos 7 system: [linuxhq.jackett](https://galaxy.ansible.com/linuxhq/jackett)
On an Ubuntu 16 system: [chrisjohnson00.jackett](https://galaxy.ansible.com/chrisjohnson00/jackett)
## Installation on macOS
### Prerequisites
Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better (using the latest pkg installer is recommended).
* Setup ssl support by running `curl -sS https://curl.haxx.se/ca/cacert.pem | cert-sync --user /dev/stdin`
macOS 10.12 or greater
### Install as service
1. Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
1. Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases).
2. Open the extracted folder and double-click on `install_service_macos`.
3. If the installation was a success, you can close the Terminal window.
@@ -455,14 +472,17 @@ The service will start on each logon. You can always stop it by running `launchc
Logs are stored as usual under `~/.config/Jackett/log.txt`.
### Run without installing as a service
Download and extract the latest `Jackett.Binaries.Mono.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett using mono with the command `mono --debug JackettConsole.exe`.
Download and extract the latest `Jackett.Binaries.macOS.tar.gz` release from the [releases page](https://github.com/Jackett/Jackett/releases) and run Jackett with the command `./jackett`.
## Installation using Docker
Detailed instructions are available at [LinuxServer.io Jackett Docker](https://hub.docker.com/r/linuxserver/jackett/). The Jackett Docker is highly recommended, especially if you are having Mono stability issues or having issues running Mono on your system eg. QNAP, Synology. Thanks to [LinuxServer.io](https://linuxserver.io)
## Installation on Synology
Jackett is available as beta package from [SynoCommunity](https://synocommunity.com/)
## Running Jackett behind a reverse proxy
When running jackett behind a reverse proxy make sure that the original hostname of the request is passed to Jackett. If HTTPS is used also set the X-Forwarded-Proto header to "https". Don't forget to adjust the "Base Path Override" Jackett option accordingly.
@@ -555,7 +575,7 @@ cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r osx-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/JackettConsole # run jackett
./Jackett.Server/bin/Debug/netcoreapp2.2/osx-x64/jackett # run jackett
```
### Linux
@@ -568,14 +588,8 @@ cd Jackett/src
# dotnet core version
dotnet publish Jackett.Server -f netcoreapp2.2 --self-contained -r linux-x64 -c Debug # takes care of everything
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/JackettConsole # run jackett
./Jackett.Server/bin/Debug/netcoreapp2.2/linux-x64/jackett # run jackett
```
<!--
# mono version (currently broken)
nuget restore Jackett.sln # prepare dependencies
msbuild Jackett.Server/Jackett.Server.csproj /t:Build /p:Configuration=Debug # compile
mono Jackett.Server/bin/Debug/JackettServer.exe # run jackett
-->
## Screenshots

View File

@@ -21,7 +21,7 @@ dotnet_csproj:
file_version: '{version}'
informational_version: '{version}'
build_script:
- ps: .\build.ps1 --target=Default
- ps: .\build.ps1 --target=Windows-Appveyor
- sh: ./build.sh --target=Linux
test: off
before_deploy:

View File

@@ -126,7 +126,7 @@ Task("Package-Mono-Full-Framework")
CopyFiles("./src/Jackett.Updater/bin/" + configuration + "/net461" + "/JackettUpdater.*", buildOutputPath); //builds against multiple frameworks
CopyFileToDirectory("./install_service_macos", buildOutputPath);
CopyFileToDirectory("./install_service_macos_mono", buildOutputPath);
CopyFileToDirectory("./install_service_systemd_mono.sh", buildOutputPath);
CopyFileToDirectory("./Upstart.config", buildOutputPath);
@@ -165,7 +165,7 @@ Task("Package-DotNetCore-macOS")
CopyFileToDirectory("./install_service_macos", buildOutputPath);
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Experimental.Jackett.Binaries.macOS.tar.gz");
Gzip($"./BuildOutput/{netCoreFramework}/{runtimeId}", $"./{artifactsDirName}", "Jackett", "Jackett.Binaries.macOS.tar.gz");
});
Task("Package-DotNetCore-LinuxAMDx64")
@@ -290,13 +290,23 @@ Task("Release-Notes")
});
Task("Windows-Environment")
Task("Windows-Environment-Dev")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
.IsDependentOn("Package-DotNetCore-macOS")
.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
.IsDependentOn("Package-DotNetCore-LinuxARM32")
.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
{
Information("Windows-Environment Task Completed");
});
Task("Windows-Environment-Appveyor")
.IsDependentOn("Package-Windows-Full-Framework")
.IsDependentOn("Package-Mono-Full-Framework")
//.IsDependentOn("Package-DotNetCore-macOS")
//.IsDependentOn("Package-DotNetCore-LinuxAMDx64")
//.IsDependentOn("Package-DotNetCore-LinuxARM32")
//.IsDependentOn("Package-DotNetCore-LinuxARM64")
.IsDependentOn("Appveyor-Push-Artifacts")
.IsDependentOn("Release-Notes")
.Does(() =>
@@ -429,12 +439,19 @@ private void DotNetCorePublish(string projectPath, string framework, string runt
//////////////////////////////////////////////////////////////////////
Task("Default")
.IsDependentOn("Windows-Environment")
.IsDependentOn("Windows-Environment-Dev")
.Does(() =>
{
Information("Default Task Completed");
});
Task("Windows-Appveyor")
.IsDependentOn("Windows-Environment-Appveyor")
.Does(() =>
{
Information("Windows Appveyor Task Completed");
});
Task("Linux")
.IsDependentOn("Linux-Environment")
.Does(() =>

View File

@@ -12,16 +12,12 @@ launchctl remove org.user.Jackett
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
if [ ! -f ./jackett ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate ./jackett - Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
@@ -38,7 +34,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
<string>/usr/bin:/bin:/usr/sbin:/sbin</string>
</dict>
<key>KeepAlive</key>
<true/>
@@ -46,9 +42,7 @@ cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<string>org.user.Jackett</string>
<key>ProgramArguments</key>
<array>
<string>${monodir}/mono</string>
<string>--debug</string>
<string>JackettConsole.exe</string>
<string>${jackettdir}/jackett</string>
<string>--NoRestart</string>
</array>
<key>RunAtLoad</key>
@@ -70,7 +64,6 @@ else
cat << EOL
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
Mono directory: \`${monodir}\`
Jackett directory: \`${jackettdir}\`
EOL

77
install_service_macos_mono Executable file
View File

@@ -0,0 +1,77 @@
#!/bin/bash
#Setting up colors
BOLDRED="$(printf '\033[1;31m')"
BOLDGREEN="$(printf '\033[1;32m')"
NC="$(printf '\033[0m')" # No Color
# Stop and unload the service if it's running
launchctl remove org.user.Jackett
# Move working directory to Jackett's
cd "$(dirname "$0")"
# Check if we're running from Jackett's directory
if [ ! -f ./JackettConsole.exe ]; then
echo "${BOLDRED}ERROR${NC}: Couldn't locate JackettConsole.exe. Is the script in the right directory?"
exit 1
fi
jackettdir="$(pwd)"
# Check if mono is installed
command -v mono >/dev/null 2>&1 || { echo >&2 "${BOLDRED}ERROR${NC}: Jackett requires Mono but it's not installed. Aborting."; exit 1; }
monodir="$(dirname $(command -v mono))"
# Check that no other service called Jackett is already running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDRED}ERROR${NC}: Jackett already seems to be running as a service. Please stop it before running this script again."
exit 1
fi
# Write the plist to LaunchAgents
mkdir -p ~/Library/LaunchAgents/
cat >~/Library/LaunchAgents/org.user.Jackett.plist <<EOL
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EnvironmentVariables</key>
<dict>
<key>PATH</key>
<string>/usr/bin:/bin:/usr/sbin:/sbin:${monodir}</string>
</dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>org.user.Jackett</string>
<key>ProgramArguments</key>
<array>
<string>${monodir}/mono</string>
<string>--debug</string>
<string>JackettConsole.exe</string>
<string>--NoRestart</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WorkingDirectory</key>
<string>${jackettdir}</string>
</dict>
</plist>
EOL
# Run the agent
launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist
# Check that it's running
if [[ $(launchctl list | grep org.user.Jackett) ]]; then
echo "${BOLDGREEN}Agent successfully installed and launched!${NC}"
else
cat << EOL
${BOLDRED}ERROR${NC}: Could not launch agent. The installation might have failed.
Please open an issue on https://github.com/Jackett/Jackett/issues and paste following information:
Mono directory: \`${monodir}\`
Jackett directory: \`${jackettdir}\`
EOL
fi

View File

@@ -6,88 +6,99 @@
type: private
encoding: UTF-8
links:
- https://bittorrentfiles.me/
legacylinks:
- https://www.Bittorrentfiles.me/
caps:
categorymappings:
# Movie
- {id: 48, cat: Movies/HD, desc: "1080p"}
- {id: 31, cat: Movies/3D, desc: "3D"}
- {id: 21, cat: Movies/HD, desc: "720p"}
- {id: 28, cat: Movies/SD, desc: "AVI"}
- {id: 20, cat: Movies/DVD, desc: "DVD-R"}
- {id: 40, cat: Movies/HD, desc: "h264/x264"}
- {id: 30, cat: Movies/HD, desc: "HD/BD"}
- {id: 49, cat: Movies/Foreign, desc: "International"}
- {id: 78, cat: Movies/HD, desc: "UHD"}
- {id: 48, cat: Movies/HD, desc: "Movie 1080p"}
- {id: 31, cat: Movies/3D, desc: "Movie 3D"}
- {id: 21, cat: Movies/HD, desc: "Movie 720p"}
- {id: 28, cat: Movies/SD, desc: "Movie AVI"}
- {id: 20, cat: Movies/DVD, desc: "Movie DVD-R"}
- {id: 40, cat: Movies/HD, desc: Movie "h264/x264"}
- {id: 30, cat: Movies/HD, desc: "Movie HD/BD"}
- {id: 49, cat: Movies/Foreign, desc: "Movie International"}
- {id: 78, cat: Movies/UHD, desc: "Movie UHD"}
- {id: 85, cat: Movies/HD, desc: "Movie x265"}
# Serien
- {id: 79, cat: TV/HD, desc: "Staffeln HD"}
- {id: 56, cat: TV/SD, desc: "Staffeln SD"}
- {id: 88, cat: TV/UHD, desc: "Staffeln UHD"}
- {id: 86, cat: TV/HD, desc: "Folgen UHD"}
- {id: 54, cat: TV/HD, desc: "Folgen HD"}
- {id: 80, cat: TV/HD, desc: "Folgen HD/BD"}
- {id: 7, cat: TV/SD, desc: "Folgen SD"}
- {id: 55, cat: TV/Foreign, desc: "International"}
- {id: 55, cat: TV/Foreign, desc: "Folgen International"}
# Doku
- {id: 64, cat: TV/Documentary, desc: "HD"}
- {id: 36, cat: TV/Documentary, desc: "SD"}
- {id: 81, cat: TV/Documentary, desc: "3D"}
- {id: 82, cat: TV/Documentary, desc: "Packs"}
- {id: 91, cat: TV/Documentary, desc: "Doku UHD"}
- {id: 64, cat: TV/Documentary, desc: "Doku HD"}
- {id: 36, cat: TV/Documentary, desc: "Doku SD"}
- {id: 81, cat: TV/Documentary, desc: "Doku 3D"}
- {id: 82, cat: TV/Documentary, desc: "Doku Packs"}
# Spiele
- {id: 4, cat: PC/Games, desc: "Windows"}
- {id: 72, cat: Console/XBox360, desc: "XBOX 360"}
- {id: 44, cat: Console/XBoxOne, desc: "XBOX One"}
- {id: 43, cat: Console/Wii, desc: "Wii"}
- {id: 69, cat: Console, desc: "PS2"}
- {id: 70, cat: Console/PS3, desc: "PS3"}
- {id: 70, cat: Console/PS4, desc: "PS4"}
- {id: 70, cat: Console/PSP, desc: "PSP"}
- {id: 42, cat: Console/Other, desc: "Misc"}
- {id: 4, cat: PC/Games, desc: "Spiele Windows"}
- {id: 92, cat: PC/Mac, desc: "Spiele Mac"}
- {id: 93, cat: PC, desc: "Spiele Linux"}
- {id: 97, cat: Console/XBox, desc: "Spiele XBOX"}
- {id: 94, cat: PC/Phone-Other, desc: "Spiele Mobile"}
- {id: 95, cat: Console/NDS, desc: "Spiele Nintendo"}
- {id: 96, cat: Console/PSP, desc: "Spiele Playstation"}
- {id: 42, cat: Console/Other, desc: "Spiele Andere"}
# Musik
- {id: 66, cat: Audio, desc: "Alben"}
- {id: 75, cat: Audio, desc: "Singles"}
- {id: 50, cat: Audio, desc: "Charts"}
- {id: 52, cat: Audio, desc: "Packs"}
- {id: 53, cat: Audio/Video, desc: "Video"}
- {id: 61, cat: Audio/Video, desc: "DVD-R"}
- {id: 83, cat: Audio, desc: "Flac"}
- {id: 68, cat: Audio, desc: "Live"}
- {id: 6, cat: Audio, desc: "Misc"}
- {id: 51, cat: Audio, desc: "OST"}
- {id: 67, cat: Audio, desc: "Sampler"}
- {id: 66, cat: Audio, desc: "Musik Alben"}
- {id: 75, cat: Audio, desc: "Musik Singles"}
- {id: 50, cat: Audio, desc: "Musik Charts"}
- {id: 52, cat: Audio, desc: "Musik Packs"}
- {id: 53, cat: Audio/Video, desc: "Musik Video"}
- {id: 61, cat: Audio/Video, desc: "Musik DVD-R"}
- {id: 83, cat: Audio/Lossless, desc: "Musik Flac"}
- {id: 68, cat: Audio, desc: "Musik Live"}
- {id: 6, cat: Audio, desc: "Musik Misc"}
- {id: 51, cat: Audio, desc: "Musik OST"}
- {id: 67, cat: Audio, desc: "Musik Sampler"}
# App
- {id: 22, cat: PC/0day, desc: "Windows"}
- {id: 62, cat: PC/Mac, desc: "Mac OS"}
- {id: 63, cat: PC/0day, desc: "Linux"}
- {id: 34, cat: PC, desc: "Andere"}
- {id: 98, cat: PC/0day, desc: "App Windows"}
- {id: 62, cat: PC/Mac, desc: "App Mac OS"}
- {id: 63, cat: PC/0day, desc: "App Linux"}
- {id: 34, cat: PC, desc: "App Andere"}
# Sport
- {id: 74, cat: TV/Sport, desc: "HD"}
- {id: 39, cat: TV/Sport, desc: "SD"}
- {id: 74, cat: TV/Sport, desc: "Sport HD"}
- {id: 39, cat: TV/Sport, desc: "Sport SD"}
# Sonstiges
- {id: 41, cat: Books/Comics, desc: "A-Book"}
- {id: 33, cat: TV/Anime, desc: "Anime"}
- {id: 35, cat: Books, desc: "e-Book"}
- {id: 65, cat: Other, desc: "E-Learning"}
- {id: 65, cat: PC, desc: "Mobile"}
- {id: 9, cat: Other, desc: "Other"}
- {id: 41, cat: Books/Comics, desc: "Sonstiges A-Book"}
- {id: 33, cat: TV/Anime, desc: "Sonstiges Anime"}
- {id: 35, cat: Books/Ebook, desc: "Sonstiges e-Book-DE"}
- {id: 90, cat: Books/Ebook, desc: "Sonstiges e-Book-INT"}
- {id: 65, cat: Other, desc: "Sonstiges E-Learning"}
- {id: 37, cat: PC, desc: "Sonstiges Mobile"}
- {id: 87, cat: Books/Magazines, desc: "Sonstiges E-Paper"}
- {id: 38, cat: Other, desc: "Sonstiges Kids"}
- {id: 47, cat: Other, desc: "Sonstiges Line"}
- {id: 9, cat: Other, desc: "Sonstiges Andere"}
#XXX
- {id: 58, cat: Books/Comics, desc: "HD"}
- {id: 33, cat: XXX, desc: "Hentai"}
- {id: 35, cat: XXX/Other, desc: "Other"}
- {id: 65, cat: XXX/Packs, desc: "Pack"}
- {id: 65, cat: XXX, desc: "SD"}
- {id: 58, cat: Books/Comics, desc: "XXX HD"}
- {id: 46, cat: XXX, desc: "XXX Hentai"}
- {id: 35, cat: XXX/Other, desc: "XXX Andere"}
- {id: 59, cat: XXX/Packs, desc: "XXX Pack"}
- {id: 27, cat: XXX, desc: "XXX SD"}
- {id: 76, cat: XXX, desc: "XXX Andere"}
modes:
search: [q]
tv-search: [q, season, ep]
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: user
@@ -113,8 +124,11 @@
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
search: "{{if .Query.IMDBID}}{{.Query.IMDBID}}{{else}}{{.Keywords}}{{end}}"
# 0=title 1=descr 2=nfo 3=all
search_where: "{{if .Query.IMDBID}}3{{else}}0{{end}}"
# 0=active 1=all 2=dead 4=upload 5=doubleup 6=halfdown 7=highlight =request
status: 1
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="details.php"])
@@ -134,10 +148,16 @@
download:
selector: a[href^="/download.php"]
attribute: href
files:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(4)
text: 0
grabs:
selector: a[title="Snatcher"]
optional: true
files:
text: 0
files:
selector: a[title="Files"]
optional: true
size:
selector: td:nth-child(6)
filters:
@@ -146,24 +166,42 @@
- name: replace
args: [",", "."]
seeders:
selector: td:nth-child(2) > a
text: 0
seeders:
selector: a[title="Seeder"]
optional: true
leechers:
selector: td:nth-child(3)
text: 0
leechers:
selector: a[title="Leecher"]
optional: true
# 2 flavours of dates
date:
selector: td:nth-child(10)
# Heute 13:30:04
# Gestern 09:10:10
selector: td:nth-child(10):contains("Heute"), td:nth-child(10):contains("Gestern")
optional: true
filters:
- name: split
args: ["by", 0]
args: ["b", 0]
- name: replace
args: ["Heute", "Today"]
- name: replace
args: ["Gestern", "Yesterday"]
date:
# 30.02.2018 23:12:50
selector: td:nth-child(10):contains("."):contains(":")
optional: true
filters:
- name: split
args: ["b", 0]
- name: dateparse
args: "02.01.2006 15:04:05"
downloadvolumefactor:
case:
img[alt="OU"]: "0"
img[alt="D/2"]: "0.5"
img[alt="D / 2"]: "0.5"
"*": "1"
uploadvolumefactor:
case:

View File

@@ -0,0 +1,124 @@
---
site: Das-Unerwartete
name: Das Unerwartete
description: "Das Unerwartete is a Private GERMAN tracker"
language: de-de
type: private
encoding: UTF-8
links:
- https://dasunerwartete.nl
caps:
categorymappings:
- {id: 112, cat: Audio/Audiobook, desc: "Hoerbuecher/Hoerspiele"}
- {id: 51, cat: Audio, desc: "Musik"}
- {id: 124, cat: Audio/Video, desc: "Musikvideo"}
- {id: 103, cat: Movies/DVD, desc: "DVD"}
- {id: 88, cat: Movies, desc: "Kids Only"}
- {id: 43, cat: Movies, desc: "Movie Packs"}
- {id: 105, cat: Movies/HD, desc: "Movie/1080 P"}
- {id: 107, cat: Movies/HD, desc: "Movie/3D"}
- {id: 102, cat: Movies/HD, desc: "Movie/720 P"}
- {id: 101, cat: Movies/BluRay, desc: "Movie/Blueray - HD"}
- {id: 108, cat: Movies, desc: "Movie/Bollywood"}
- {id: 93, cat: TV/Documentary, desc: "Movie/Dokus"}
- {id: 125, cat: Movies/Foreign, desc: "Movie/International"}
- {id: 91, cat: Movies/SD, desc: "Movie/SD"}
- {id: 114, cat: Movies, desc: "Movie/TV-Rip"}
- {id: 132, cat: Movies/HD, desc: "Movie/UHD"}
- {id: 110, cat: Movies/HD, desc: "x264"}
- {id: 106, cat: Console/PS3, desc: "Games/PS3"}
- {id: 109, cat: Console/PSP, desc: "Games/PSP"}
- {id: 113, cat: Console/Wii, desc: "Games/Wii"}
- {id: 86, cat: PC/Games, desc: "Games/Windows"}
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
- {id: 104, cat: Console/XBox360, desc: "Games/Xbox360"}
- {id: 116, cat: PC/Games, desc: "Linux/Spiele"}
- {id: 53, cat: PC/Phone-Android, desc: "Android/Appz/Games/Navi"}
- {id: 126, cat: PC, desc: "Win/Mac/linux"}
- {id: 129, cat: TV/HD, desc: "Serien/Folgen HD"}
- {id: 61, cat: TV/SD, desc: "Serien/Folgen SD"}
- {id: 131, cat: TV/HD, desc: "Serien/Staffeln HD"}
- {id: 130, cat: TV/SD, desc: "Serien/Staffeln SD"}
- {id: 94, cat: Books/Ebook, desc: "Ebooks"}
- {id: 96, cat: TV/Anime, desc: "Anime / Hentai"}
- {id: 9, cat: Other/Misc, desc: "Sonstiges"}
- {id: 115, cat: TV/Sport, desc: "Sport"}
- {id: 69, cat: XXX, desc: "XXX"}
- {id: 122, cat: Books/Magazines, desc: "Zeitschriften/Zeitungen"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: login.php
method: form
form: form
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
error:
- selector: .tablea:contains("Benutzername oder Passwort ungültig")
test:
path: browse.php
search:
path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Query.Keywords }}"
incldead: "1"
rows:
selector: table.tableinborder > tbody > tr:has(a[href^="download.php"])
fields:
title:
selector: a[href^="details.php"]
filters:
- name: replace
args: [".torrent", ""]
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
files:
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(2)
grabs:
selector: .tablea tr:nth-child(2) td:nth-child(3) b
size:
selector: .tablea tr:nth-child(2) td:nth-child(1) b:nth-child(1)
filters:
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(1) font
leechers:
selector: .tablea tr:nth-child(2) td:nth-child(2) b:nth-child(3) font
downloadvolumefactor:
case:
img[src="pic/oupic.gif"]: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -10,6 +10,18 @@
legacylinks:
- http://amigos-share.club/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "Set <b>Exibição De Torrents</b> to <b>Lista</b> in your <b>Minhas Configurações</b>.<br />Using <b>Capas</b> is not supported and will return 0 results."
caps:
categorymappings:
- {id: 107, cat: XXX, desc: "Adultos: Gay"}
@@ -131,7 +143,7 @@
- selector: div.alert-error
test:
path: index.php
selector: a[href="account-logout.php"]
# selector: a[href="account-logout.php"]
ratio:
path: index.php
@@ -157,13 +169,13 @@
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
incldead: 0
incldead: 1
freeleech: 0
lang: 0
sort: "id"
order: "desc"
rows:
selector: table.table-striped > tbody > tr:has(a[href^="torrents-details.php?id="])
selector: table > tbody > tr:has(a[href^="torrents-details.php?id="])
fields:
title:
selector: a[href^="torrents-details.php?id="]
@@ -281,14 +293,14 @@
date:
text: now
size:
selector: td:nth-child(2) span.label-info
selector: td:nth-child(2) span.badge-info
seeders:
selector: td:nth-child(4)
leechers:
selector: td:nth-child(5)
downloadvolumefactor:
case:
"span.label-success i:contains(\"FREE\")": "0"
"span.badge-success:contains(\"FREE\")": "0"
"*": "1"
uploadvolumefactor:
case:

View File

@@ -0,0 +1,338 @@
---
site: avg
name: AVG
description: "Audio Video Games (BestRepack) is a RUSSIAN Private Torrent Tracker for GAMES"
language: ru-ru
type: private
encoding: UTF-8
links:
- https://avg.club/
caps:
categorymappings:
- {id: 110, cat: PC/Games, desc: "Репаки от R.G. Catalyst"}
- {id: 146, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
- {id: 112, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
- {id: 113, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
- {id: 114, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
- {id: 118, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
- {id: 120, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
- {id: 122, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
- {id: 124, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
- {id: 126, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
- {id: 147, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Горячие новинки"}
- {id: 115, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Action"}
- {id: 116, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Fighting"}
- {id: 117, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst RPG"}
- {id: 119, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Аркады"}
- {id: 121, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Квесты и приключения"}
- {id: 123, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Стратегии"}
- {id: 125, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Симуляторы"}
- {id: 127, cat: PC/Games, desc: "Игры PC (Репаки) от R.G. Catalyst Гонки"}
- {id: 9, cat: PC/Games, desc: "Игры PC (Репаки) Горячие новинки"}
- {id: 2, cat: PC/Games, desc: "Игры PC (Репаки) Action"}
- {id: 8, cat: PC/Games, desc: "Игры PC (Репаки) Fighting"}
- {id: 3, cat: PC/Games, desc: "Игры PC (Репаки) RPG"}
- {id: 7, cat: PC/Games, desc: "Игры PC (Репаки) Аркады"}
- {id: 6, cat: PC/Games, desc: "Игры PC (Репаки) Квесты и приключения"}
- {id: 4, cat: PC/Games, desc: "Игры PC (Репаки) Стратегии"}
- {id: 5, cat: PC/Games, desc: "Игры PC (Репаки) Симуляторы"}
- {id: 73, cat: PC/Games, desc: "Игры PC (Репаки) Гонки"}
- {id: 149, cat: PC/Games, desc: "Игры PC (Репаки) «Стройбат»"}
- {id: 148, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
- {id: 129, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
- {id: 131, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
- {id: 133, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
- {id: 135, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
- {id: 137, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
- {id: 139, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
- {id: 141, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
- {id: 143, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
- {id: 19, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты)"}
- {id: 130, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Action"}
- {id: 132, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Fighting"}
- {id: 134, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) RPG"}
- {id: 136, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Аркады"}
- {id: 138, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Квесты и приключения"}
- {id: 140, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Стратегии"}
- {id: 142, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Симуляторы"}
- {id: 144, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Гонки"}
- {id: 145, cat: PC/Games, desc: "Игры PC (Оригиналы) Релизы с GOG.com (игры без защиты) Linux / MacOS"}
- {id: 10, cat: PC/Games, desc: "Игры PC (Оригиналы) Горячие новинки"}
- {id: 11, cat: PC/Games, desc: "Игры PC (Оригиналы) Action"}
- {id: 12, cat: PC/Games, desc: "Игры PC (Оригиналы) Fighting"}
- {id: 13, cat: PC/Games, desc: "Игры PC (Оригиналы) RPG"}
- {id: 14, cat: PC/Games, desc: "Игры PC (Оригиналы) Аркады"}
- {id: 15, cat: PC/Games, desc: "Игры PC (Оригиналы) Квесты и приключения"}
- {id: 16, cat: PC/Games, desc: "Игры PC (Оригиналы) Стратегии"}
- {id: 17, cat: PC/Games, desc: "Игры PC (Оригиналы) Симуляторы"}
- {id: 74, cat: PC/Games, desc: "Игры PC (Оригиналы) Гонки"}
- {id: 98, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для Linux"}
- {id: 99, cat: PC/Games, desc: "Игры PC (Оригиналы) Игры для MacOS"}
- {id: 70, cat: Console/Xbox, desc: "Игры для консолей Xbox"}
- {id: 71, cat: Console/PSP, desc: "Игры для консолей Playstation"}
- {id: 72, cat: Console/Other, desc: "Игры для консолей Другие консоли"}
- {id: 34, cat: Movies, desc: "Кинематограф Новинки"}
- {id: 109, cat: Movies/HD, desc: "Кинематограф Новинки HD Remux / Blu-Ray Discs"}
- {id: 108, cat: Movies/HD, desc: "Кинематограф Новинки HD Rips (720p,1080p)"}
- {id: 20, cat: Movies, desc: "Кинематограф Отечественное кино"}
- {id: 21, cat: Movies, desc: "Кинематограф Зарубежное кино"}
- {id: 28, cat: TV, desc: "Отечественные сериалы"}
- {id: 27, cat: TV, desc: "Зарубежные сериалы"}
- {id: 29, cat: TV, desc: "Мультфильмы"}
- {id: 30, cat: TV, desc: "Мультсериалы"}
- {id: 37, cat: TV, desc: "Документальное кино"}
- {id: 38, cat: TV, desc: "Концерты и передачи"}
- {id: 67, cat: TV/Anime, desc: "Аниме Релизы"}
- {id: 45, cat: Audio, desc: "Музыка Тяжелая и альтернативная музыка"}
- {id: 85, cat: Audio, desc: "Музыка Эстрадная и поп-музыка"}
- {id: 77, cat: Audio, desc: "Музыка Электронная музыка"}
- {id: 58, cat: Audio, desc: "Музыка Рэп, хип-хоп, R`n`B"}
- {id: 78, cat: Audio, desc: "Музыка Фолк, этническая и народная музыка"}
- {id: 42, cat: Audio, desc: "Музыка Классическая и академическая музыка"}
- {id: 82, cat: Audio, desc: "Музыка New Age, Chillout, музыка для медитации"}
- {id: 79, cat: Audio, desc: "Музыка Джаз, блюз"}
- {id: 80, cat: Audio, desc: "Музыка Авторская песня, шансон"}
- {id: 49, cat: Audio, desc: "Музыка Саундтреки"}
- {id: 50, cat: Audio, desc: "Музыка Саундтреки Саундтреки к фильмам, мультфильмам, сериалам"}
- {id: 51, cat: Audio, desc: "Музыка Саундтреки Саундтреки к играм"}
- {id: 81, cat: Audio, desc: "Музыка Прочая музыка"}
- {id: 83, cat: Audio, desc: "Музыка Прочая музыка Неофициальные сборники"}
- {id: 156, cat: PC, desc: "Программное обеспечение Live CD, DVD, USB версии"}
- {id: 157, cat: PC, desc: "Программное обеспечение Windows 10 и более поздние"}
- {id: 158, cat: PC, desc: "Программное обеспечение Windows 8.1 и более ранние"}
- {id: 159, cat: PC, desc: "Программное обеспечение Обновления и языковые пакеты"}
- {id: 160, cat: PC, desc: "Программное обеспечение Серверные версии"}
- {id: 193, cat: PC/Mac, desc: "Программное обеспечение macOS"}
- {id: 194, cat: PC/Mac, desc: "Программное обеспечение macOS Stable (Release)"}
- {id: 195, cat: PC/Mac, desc: "Программное обеспечение macOS Dev (Beta)"}
- {id: 164, cat: PC/Mac, desc: "Программное обеспечение macOS Дистрибутивы Linux"}
- {id: 163, cat: PC/Mac, desc: "Программное обеспечение macOS *nix OS"}
- {id: 162, cat: PC/Mac, desc: "Программное обеспечение macOS Программное обеспечение"}
- {id: 165, cat: PC, desc: "Программное обеспечение Мультимедиа и графика"}
- {id: 172, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Аудио-редакторы"}
- {id: 171, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Видео-редакторы"}
- {id: 170, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Графические редакторы"}
- {id: 169, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для аудио"}
- {id: 168, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для видео"}
- {id: 167, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Материалы для графики"}
- {id: 166, cat: PC, desc: "Программное обеспечение Мультимедиа и графика Моделирование, рендеринг, плагины"}
- {id: 173, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка"}
- {id: 177, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка DDK/SDK"}
- {id: 178, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Веб-редакторы"}
- {id: 176, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Системы управления базами данных (СУБД)"}
- {id: 175, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компиляторы и среды разработки"}
- {id: 174, cat: PC, desc: "Программное обеспечение Программирование и веб-разработка Компоненты и дополнения"}
- {id: 179, cat: PC/0day, desc: "Программное обеспечение Windows Software"}
- {id: 188, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
- {id: 187, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
- {id: 186, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
- {id: 185, cat: PC/0day, desc: "Программное обеспечение Windows Software Переводчики и словари"}
- {id: 184, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
- {id: 183, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
- {id: 182, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
- {id: 181, cat: PC/0day, desc: "Программное обеспечение Windows Software Эмуляторы"}
- {id: 180, cat: PC/0day, desc: "Программное обеспечение Windows Software Прочие приложения"}
- {id: 197, cat: PC/0day, desc: "Программное обеспечение Windows Software Архиваторы и файловые менеджеры"}
- {id: 203, cat: PC/0day, desc: "Программное обеспечение Windows Software Проигрыватели и кодеки"}
- {id: 202, cat: PC/0day, desc: "Программное обеспечение Windows Software Офисные приложения и редакторы"}
- {id: 201, cat: PC/0day, desc: "Программное обеспечение Windows Software Работа с носителями и медиа"}
- {id: 200, cat: PC/0day, desc: "Программное обеспечение Windows Software Информационная безопасность"}
- {id: 199, cat: PC/0day, desc: "Программное обеспечение Windows Software Интернет-приложения"}
- {id: 198, cat: PC/0day, desc: "Программное обеспечение Windows Software Системные приложения"}
- {id: 22, cat: Other, desc: "Прочее Оформление релизов"}
- {id: 53, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (игры)"}
- {id: 54, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (кино/мультфильмы/аниме)"}
- {id: 55, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (музыка)"}
- {id: 192, cat: Other, desc: "Прочее Оформление релизов Оформление релизов (софт)"}
- {id: 31, cat: Other, desc: "Прочее Обновления/DLC"}
- {id: 102, cat: Other, desc: "Прочее Обновления/DLC для MacOS"}
- {id: 101, cat: Other, desc: "Прочее Обновления/DLC для Linux"}
- {id: 100, cat: Other, desc: "Прочее Обновления/DLC для Windows"}
- {id: 76, cat: Other, desc: "Прочее Языковые пакеты"}
- {id: 103, cat: Other, desc: "Прочее Языковые пакеты для MacOS"}
- {id: 104, cat: Other, desc: "Прочее Языковые пакеты для Linux"}
- {id: 105, cat: Other, desc: "Прочее Языковые пакеты для Windows"}
- {id: 84, cat: Other, desc: "Прочее Демо-, альфа-, бета-версии"}
- {id: 32, cat: Other, desc: "Прочее NoCD/NoDVD"}
- {id: 75, cat: Other, desc: "Прочее Моды"}
- {id: 106, cat: Other, desc: "Прочее Моды Моды для Titan Quest (+ Immortal Throne)"}
- {id: 95, cat: Other, desc: "Прочее Моды Моды для Dungeon Siege"}
- {id: 94, cat: Other, desc: "Прочее Моды Моды для Resident Evil 4"}
- {id: 93, cat: Other, desc: "Прочее Моды Моды для Doom III"}
- {id: 92, cat: Other, desc: "Прочее Моды Плагины для TESV Skyrim"}
- {id: 91, cat: Other, desc: "Прочее Моды Плагины для TESIV Oblivion"}
- {id: 90, cat: Other, desc: "Прочее Моды Плагины для TESIII Morrowind"}
- {id: 97, cat: Other, desc: "Прочее Пиратки"}
modes:
search: [q]
login:
path: login.php
method: post
inputs:
"login_username": "{{ .Config.username }}"
"login_password": "{{ .Config.password }}"
autologin: 1
login: "Log in"
error:
- selector: table.error tr td div.msg:not(:contains(">>>"))
test:
path: tracker.php
selector: a[href="./login.php?logout=1"]
search:
paths:
- path: tracker.php
method: post
inputs:
$raw: "{{ if .Categories }}{{ range .Categories }}f[]={{.}}&{{end}}{{else}}f[]=-1{{end}}"
prev_allw: 1
prev_a: 0
prev_dla: 0
prev_dlc: 0
prev_dld: 0
prev_dlw: 0
prev_my: 0
prev_new: 0
prev_sd: 0
prev_da: 1
prev_dc: 0
prev_df: 1
prev_ds: 0
prev_tor_type: 0
# sort by 1=registered 2=topicTitle 4=completed 10=seed 11=leech 12=up 13=down 5=replies 6=views 7=size 8=lastPost 9=seedLastSeen
o: 1
# 1=asc 2=desc
s: 2
# show category
dc: 0
# show forum
df: 1
# show author
da: 1
# show speed
ds: 0
# -1=all time
tm: -1
# seed not seen -1=disregard
sns: -1
# group releases -1=not selected
srg: -1
nm: "{{ .Keywords }}"
# find a username
pn: ""
submit: " Search "
rows:
selector: tr[id^="tor_"]
fields:
title:
selector: td a.genmed b
details:
selector: td a.genmed
attribute: href
download:
selector: td a.tr-dl
attribute: href
category:
selector: td a.gen
attribute: href
filters:
- name: querystring
args: f
size:
selector: td a.tr-dl
seeders:
selector: td.seedmed
leechers:
selector: td.leechmed
# Russian and Ukranian and English languages are supported
grabs:
optional: true
selector: td[title^="Ответов"]
grabs:
optional: true
selector: td[title^="Відповідей"]
grabs:
optional: true
selector: td[title^="Replies"]
# date for English
date:
selector: td[title="Added"] p:last-of-type
optional: true
filters:
- name: dateparse
args: "2-01-06"
# date for Russian
date:
selector: td[title="Добавлен"] p:last-of-type
optional: true
filters:
# replace month abbreviations
- name: replace
args: ["Янв", "Jan"]
- name: replace
args: ["Фев", "Feb"]
- name: replace
args: ["Мар", "Mar"]
- name: replace
args: ["Апр", "Apr"]
- name: replace
args: ["Май", "May"]
- name: replace
args: ["Июн", "Jun"]
- name: replace
args: ["Июл", "Jul"]
- name: replace
args: ["Авг", "Aug"]
- name: replace
args: ["Сен", "Sep"]
- name: replace
args: ["Окт", "Oct"]
- name: replace
args: ["Ноя", "Nov"]
- name: replace
args: ["Дек", "Dec"]
- name: dateparse
args: "2-Jan-06"
# date for Ukrainian
date:
selector: td[title="Додано"] p:last-of-type
optional: true
filters:
- name: replace
args: ["Січ", "Jan"]
- name: replace
args: ["Лют", "Feb"]
- name: replace
args: ["Бер", "Mar"]
- name: replace
args: ["Кві", "Apr"]
- name: replace
args: ["Травень", "May"]
- name: replace
args: ["Чер", "Jun"]
- name: replace
args: ["Лип", "Jul"]
- name: replace
args: ["Сер", "Aug"]
- name: replace
args: ["Вер", "Sep"]
- name: replace
args: ["Жов", "Oct"]
- name: replace
args: ["Лис", "Nov"]
- name: replace
args: ["Грудень", "Dec"]
- name: dateparse
args: "2-Jan-06"
downloadvolumefactor:
case:
img[src="styles/images/tor_gold.gif"]: "0"
img[src="styles/images/tor_silver.gif"]: "0.5"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -135,13 +135,24 @@
- name: replace
args: ["×", ""]
date:
selector: td:nth-child(5)
selector: td:nth-child(5):contains('.')
optional: true
remove: font
filters:
- name: replace
args: [". ", " "]
- name: prepend
args: "2019."
- name: re_replace
args: ["([0-9]{4}).([0-9]+).([0-9]+) (.*)", "$2.$3.$1 $4"]
date:
selector: td:nth-child(5):contains('ma'), td:nth-child(5):contains("tegnap"), td:nth-child(5):contains('-')
optional: true
remove: font
filters:
- name: replace
args: ["ma", "today"]
- name: replace
args: ["tegnap", "yesterday"]
description:
selector: td:nth-child(2) > div

View File

@@ -25,8 +25,9 @@
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action*="/login"] .text-red
- selector: div.has-error
test:
path: torrents
@@ -36,12 +37,13 @@
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sorting: created_at
sort: created_at
direction: desc
qty: 100
rows:
@@ -61,6 +63,13 @@
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
filters:
- name: replace
args: ["https://via.placeholder.com/600x900", ""]
size:
selector: td:nth-child(5)
seeders:
@@ -74,7 +83,7 @@
args: ([\d\.]+)
imdb:
optional: true
selector: a[href^="https://www.imdb.com/title/"]
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
@@ -117,4 +126,4 @@
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D
# UNIT3D 1.9.2

View File

@@ -46,7 +46,7 @@
password__dupa: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("failed"))
- selector: td.embedded:has(h2:contains("Error"))aD
- selector: td.embedded:has(h2:contains("Error"))
test:
selector: a[href^="logout.php"]
path: browse.php

View File

@@ -28,7 +28,7 @@
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action*="/login"] .text-red
- selector: div.has-error
test:
path: torrents
selector: a[href$="/logout"]
@@ -84,15 +84,15 @@
args: ["https://via.placeholder.com/600x900", ""]
size:
selector: td:nth-child(5)
grabs:
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
@@ -138,4 +138,4 @@
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D 1.9.1
# UNIT3D 1.9.2

View File

@@ -0,0 +1,140 @@
---
site: desireleasers
name: DesiReleasers
description: "DesiReleasers is an INDIAN Private Torrent Tracker for INDIAN MOVIES"
language: en-us
type: private
encoding: UTF-8
links:
- https://desireleasers.be/
caps:
categorymappings:
- {id: 1, cat: Movies, desc: "Movies"}
- {id: 2, cat: TV, desc: "TV"}
- {id: 3, cat: Audio, desc: "Music"}
- {id: 4, cat: Audio/Video, desc: "Music Videos"}
modes:
search: [q]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
settings:
- name: cookie
type: text
label: Cookie
- name: info
type: info
label: How to get the Cookie
default: "<ol><li>Login to this tracker in 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<li>Refresh the page by pressing <b>F5</b><li>Select the <b>Headers</b> tab<li>Find 'cookie:' in the <b>Request Headers</b> section<li>Copy & paste the whole cookie string to here</ol>"
login:
method: cookie
inputs:
cookie: "{{ .Config.cookie }}"
test:
test:
path: torrents
selector: a[href$="/logout"]
ratio:
path: torrents
selector: li:has(i.fa-sync-alt)
filters:
- name: regexp
args: "Ratio : (\\d+)"
search:
paths:
- path: filterTorrents
inputs:
$raw: "{{range .Categories}}categories[]={{.}}&{{end}}"
search: "{{if .Query.IMDBID}}{{else}}{{ .Keywords }}{{end}}"
description: ""
uploader: ""
imdb: "{{ .Query.IMDBIDShort }}"
tvdb: ""
tmdb: ""
mal: ""
sort: created_at
direction: desc
qty: 100
rows:
selector: table > tbody > tr
fields:
category:
selector: a[href*="/categories/"]
attribute: href
filters:
- name: regexp
args: "/categories/.*?\\.(\\d+)"
title:
selector: a.view-torrent
download:
selector: a[href*="/download/"]
attribute: href
details:
selector: a.view-torrent
attribute: href
banner:
optional: true
selector: div.torrent-poster img
attribute: src
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
attribute: href
date:
selector: time
filters:
# translations for Turkish|Estonian|Danish|Italian|Polish|Norwegian|Portoguese|Czech|Russian|Romanian|Spanish|French|German|Bulgarian|Dutch
- name: re_replace
args: ["(önce|tagasi|geleden|fa|temu|siden|atrás|nazpět|назад|acum|hace|il y a|vor|преди)", "ago"]
- name: re_replace
args: ["(dakika|minut|minuto|minuta|minutt|минута|Minute|minuut)", "minute"]
- name: re_replace
args: ["(dakika|minutit|minutter|minuti|minuty|minutos|минуты|минут|Minuten|минути|minuten)", "minutes"]
- name: re_replace
args: ["(saat|tund|time|ora|godzina|hora|hodina|час|oră|heure|Stunde|uur)", "hour"]
- name: re_replace
args: ["(saat|tundi|timer|ore|godziny|horas|hodiny|hoden|часа|часов|ore|heures|Stunden)", "hours"]
- name: re_replace
args: ["(gün|päev|dag|giorno|dzień|dia|den|день|zi|día|jour|Tag|ден)", "day"]
- name: re_replace
args: ["(gün|päeva|dage|giorni|dni|dias|dny|дня|дней|zile|días|jours|Tagen|дни|dagen)", "days"]
- name: re_replace
args: ["(hafta|nädal|uge|settimana|tydzień|uke|semana|týden|неделю|săptămână|semaine|Woche|седмица)", "week"]
- name: re_replace
args: ["(hafta|nädalat|uger|settimane|tygodnie|uker|semanas|týdny|недели|недель|săptămâni|semaines|Wochen|седмици|weken)", "weeks"]
- name: re_replace
args: [" (ay|kuu|måned|mese|miesiąc|mês|měsíc|месяц|lună|mes|mois|Monat|месец|maand)", "month"]
- name: re_replace
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D 1.9.1

View File

@@ -7,7 +7,7 @@
encoding: UTF-8
followredirect: true
links:
- https://www.gktorrent.tv/
- https://www.gktorrent.net/
legacylinks:
- https://www.gktorrent.com/
- http://www.gktorrent.com/
@@ -23,8 +23,9 @@
- https://www.gktorrent.org/
- https://www.gktorrent.me/
- https://www.rantop.org/
- https://www.gktorrent.net/
- https://www.gktorrent.cx/
- https://www.gktorrent.tv/
caps:
categorymappings:
- {id: movies, cat: Movies, desc: "Movies"}

View File

@@ -8,6 +8,18 @@
links:
- https://hdf.world/
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: usetoken
type: checkbox
label: Always try to use the FreeLeech Token
default: false
caps:
categories:
1: Movies
@@ -49,9 +61,17 @@
rows:
selector: table#torrent_table > tbody > tr.torrent
fields:
download:
download-regular:
selector: a[href^="torrents.php?action=download&"]
attribute: href
download-usetoken:
selector: a[href^="torrents.php?action=download&"]
attribute: href
filters:
- name: append
args: "&usetoken=1"
download:
text: "{{if .Config.usetoken}}{{ .Result.download-usetoken }}{{else}}{{ .Result.download-regular }}{{end}}"
title:
selector: div.group_info
remove: span:nth-child(1), div.tags
@@ -210,7 +230,7 @@
selector: td:nth-child(8)
downloadvolumefactor:
case:
"div.group_info:contains(\"Free\")": "0"
"div.group_info:contains(\"/ Free\")": "0"
"div.group_info:contains(\"↓75%\")": "0.75"
"div.group_info:contains(\"↓50%\")": "0.50"
"div.group_info:contains(\"↓25%\")": "0.25"

View File

@@ -59,16 +59,12 @@
# - path: "{{if .Keywords}}argh.php?search={{ .Keywords}}
# {{else}}/recenti
# {{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=0{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=1{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=2{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=3{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=4{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=5{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=6{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=7{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=8{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=9{{else}}/recenti{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=0{{else}}/browse/0{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=1{{else}}/browse/1{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=2{{else}}/browse/2{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=3{{else}}/browse/3{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=4{{else}}/browse/4{{end}}"
- path: "{{if .Keywords}}advsearch.php?&category={{range .Categories}}{{.}};{{end}}&search={{ .Keywords}}&order=data&by=DESC&page=5{{else}}/browse/5{{end}}"
keywordsfilters:
- name: diacritics
args: replace

View File

@@ -34,9 +34,15 @@
paths:
# https://monova.to/search?term=vikings+s05e05
# https://monova.to/video
- path: "{{if .Keywords}}search?term={{.Keywords}}{{else}}video{{end}}"
# https://monova.org/video?page=2
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=1{{else}}video?page=1{{end}}"
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=2{{else}}video?page=2{{end}}"
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=3{{else}}video?page=3{{end}}"
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=4{{else}}video?page=4{{end}}"
- path: "{{if .Keywords}}search?term={{.Keywords}}?page=5{{else}}video?page=5{{end}}"
rows:
selector: tr.desktop:not(tr.success)
#selector: tr.desktop:not(tr.success)
selector: tr.desktop
filters:
- name: andmatch
fields:
@@ -56,7 +62,11 @@
selector: td.torrent_name a
attribute: href
size:
optional: true
selector: td.center-align
filters:
- name: replace
args: ["N/A","500 MB"]
seeders:
text: "1"
leechers:
@@ -66,9 +76,14 @@
uploadvolumefactor:
text: "1"
date:
optional: true
selector: td.torrent_name
remove: a
filters:
- name: replace
args: ["added ",""]
- name: replace
args: [" ago.*$",""]
- name: replace
args: ["min.","minutes"]
- name: timeago

View File

@@ -10,23 +10,17 @@
caps:
categorymappings:
- {id: 401, cat: Movies/BluRay, desc: "Movies Blu-ray"}
- {id: 402, cat: Movies/HD, desc: "Movies REMUX"}
- {id: 419, cat: Movies/HD, desc: "Movies 1080p"}
- {id: 404, cat: Movies/HD, desc: "Movies 720p"}
- {id: 405, cat: Movies/3D, desc: "Movies 3D"}
- {id: 406, cat: Movies/DVD, desc: "Movies DVD"}
- {id: 407, cat: Movies/WEBDL, desc: "Movies WEB-DL"}
- {id: 408, cat: Movies/SD, desc: "Movies HDTV"}
- {id: 409, cat: Movies/Other, desc: "Movies iPad"}
- {id: 401, cat: Movies, desc: "Movies"}
- {id: 402, cat: Movies/3D, desc: "Movies 3D"}
- {id: 405, cat: TV, desc: "TV Packs"}
- {id: 410, cat: TV/Documentary, desc: "Documentaries"}
- {id: 411, cat: TV/Anime, desc: "Animations"}
- {id: 412, cat: TV, desc: "TV Series"}
- {id: 412, cat: TV, desc: "TV Episodes"}
- {id: 413, cat: TV, desc: "TV Shows"}
- {id: 414, cat: Audio/Video, desc: "Music Videos"}
- {id: 415, cat: TV/Sport, desc: "Sports"}
- {id: 416, cat: Audio, desc: "Music"}
- {id: 420, cat: Other, desc: "Other"}
- {id: 419, cat: TV, desc: "Concert"}
modes:
search: [q]
@@ -41,8 +35,20 @@
password: "{{ .Config.password }}"
error:
- selector: td.embedded:has(h2:contains("登录失败"))
message:
selector: td.text
test:
path: torrents.php
selector: a[href="logout.php"]
ratio:
path: torrents.php
selector: span.medium:has(a[href="logout.php"])
filters:
- name: replace
args: ["分享率:", "Ratio: "] # for simplified chinese language setting
- name: regexp
args: "Ratio: (\\d+)"
search:
paths:
@@ -51,8 +57,14 @@
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
incldead: "1"
# 0=including dead 1=active 2=dead
incldead: 0
# show promotions: 0=all 1=normal 2=free 3=2x 4=2xFree 5=50% 6=2x50% 7=30%
spstate: 0
# 0=title 1=descr 3=uploader 4=imdb URL
search_area: "{{ if .Query.IMDBID }}4{{else}}0{{end}}"
# 0=AND 1=OR 2=Exact
search_mode: 0
rows:
selector: table.torrents > tbody > tr:has(table.torrentname)
fields:
@@ -74,26 +86,22 @@
download:
selector: a[href^="download.php?id="]
attribute: href
imdb:
optional: true
selector: div.imdb_100 > a
attribute: href
size:
selector: td:nth-child(5)
grabs:
selector: td:nth-child(8)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
date:
selector: td:nth-child(4) > span[title]
selector: td.rowfollow:nth-child(4) > span[title]
attribute: title
filters:
- name: append
args: " +08:00"
- name: dateparse
args: "2006-01-02 15:04:05 -07:00"
size:
selector: td.rowfollow:nth-child(5)
seeders:
selector: td.rowfollow:nth-child(6)
leechers:
selector: td.rowfollow:nth-child(7)
grabs:
selector: td.rowfollow:nth-child(8)
downloadvolumefactor:
case:
img.pro_free: "0"
@@ -109,5 +117,6 @@
img.pro_2up: "2"
"*": "1"
description:
selector: td:nth-child(2)
selector: td.rowfollow:nth-child(2)
remove: a, img
# NexusPHP Standard v1.5 Beta 4

View File

@@ -0,0 +1,126 @@
---
site: peersfm
name: Peers.FM
description: "Peers.FM is a RUSSIAN Private Torrent Tracker for MOVIES / TV / GENERAL"
language: ru-ru
type: private
encoding: windows-1251
links:
- https://peers.fm/
caps:
categorymappings:
- {id: 18, cat: TV/Anime, desc: "Anime"}
- {id: 17, cat: PC, desc: "Database"}
- {id: 25, cat: TV, desc: "EDU"}
- {id: 14, cat: Movies/HD, desc: "HD Видео"}
- {id: 7, cat: Other, desc: "Images"}
- {id: 15, cat: PC/Mac, desc: "Mac"}
- {id: 26, cat: PC/Phone-Other, desc: "Mobile"}
- {id: 24, cat: TV, desc: "TV Show"}
- {id: 1, cat: PC, desc: "WaReZ"}
- {id: 10, cat: XXX, desc: "XXX"}
- {id: 9, cat: Audio/Audiobook, desc: "Аудиокниги"}
- {id: 3, cat: PC/Games, desc: "Игры/GameZ"}
- {id: 2, cat: Audio/Video, desc: "Клипы/Концерты"}
- {id: 8, cat: Books/Magazines, desc: "Книги/Журналы"}
- {id: 20, cat: Audio/Lossless, desc: "Музыка/Lossless"}
- {id: 11, cat: Audio/Mp3, desc: "Музыка/Mp3"}
- {id: 13, cat: TV, desc: "Мультфильмы"}
- {id: 12, cat: Other, desc: "Разное/Miscellaneous"}
- {id: 4, cat: Movies/DVD, desc: "Фильмы DVD"}
- {id: 6, cat: Movies, desc: "Фильмы MPEG4"}
modes:
search: [q]
tv-search: [q, season, ep]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
SSL: 1
error:
- selector: table[width="400"] tr td
test:
path: browse.php
selector: a[href="/logout.php"]
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}c{{.}}=1&{{end}}"
search: "{{ .Keywords }}"
# 0=active 1=incl dead 2=only dead 3=FREE
incldead: 1
rows:
selector: table[width="940px"] > tbody > tr:has(a[href^="details.php?id="])
fields:
title:
selector: a[href^="details.php?id="]
details:
selector: a[href^="details.php?id="]
attribute: href
category:
selector: a[href^="browse.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
download:
selector: a[href^="download.php/"]
attribute: href
grabs:
selector: a[href^="download.php/"]
filters:
- name: regexp
args: (\d+)
size:
selector: td:nth-child(6)
date:
selector: td:nth-child(5)
filters:
# replace month abbreviations
- name: replace
args: ["янв", "Jan"]
- name: replace
args: ["фев", "Feb"]
- name: replace
args: ["мар", "Mar"]
- name: replace
args: ["апр", "Apr"]
- name: replace
args: ["май", "May"]
- name: replace
args: ["июн", "Jun"]
- name: replace
args: ["июл", "Jul"]
- name: replace
args: ["авг", "Aug"]
- name: replace
args: ["сен", "Sep"]
- name: replace
args: ["окт", "Oct"]
- name: replace
args: ["ноя", "Nov"]
- name: replace
args: ["дек", "Dec"]
- name: dateparse
args: "15:04:0502 Jan 2006"
seeders:
selector: td:nth-child(8)
leechers:
selector: td:nth-child(9)
downloadvolumefactor:
case:
img[src="pic/free_100.png"]: "0"
img[src="pic/free_75.png"]: "0.25"
img[src="pic/free_50.png"]: "0.5"
img[src="pic/free_25.png"]: "0.75"
"*": "1"
uploadvolumefactor:
case:
"*": "1"

View File

@@ -50,7 +50,7 @@
password: "{{ .Config.password }}"
remember: 1
error:
- selector: form[action$="/login"] .text-red
- selector: div.has-error
test:
path: torrents
selector: a[href$="/logout"]
@@ -96,11 +96,11 @@
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(7)
leechers:
selector: td:nth-child(8)
grabs:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d\.]+)
@@ -132,12 +132,17 @@
args: [" (ay|kuud|måneder|mesi|miesiące|meses|měsíce|месяца|месяцев|luni|meses|mois|Monaten|месеца|maanden)", "months"]
downloadvolumefactor:
case:
"i[data-original-title=\"100% Free\"]": "0" # Single Torrent Freeleech
"i[data-original-title=\"Personal Freeleech\"]": "0" # 24 Hour FreeLeech From BON Store
"i[data-original-title=\"Special Freeleech\"]": "0" # Special FreeLeech For Certain User Groups
"i[data-original-title=\"Freeleech Token\"]": "0" # Freeleech From Token
"i[data-original-title=\"Global FreeLeech\"]": "0" # Global Freeleech
"i[data-original-title=\"Freeleech\"]": "0" # Freeleech
"i[data-original-title=\"Featured\"]": "0" # Featured Torrent
"*": "1"
uploadvolumefactor:
case:
"i[data-original-title=\"Double upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Double Upload\"]": "2" # Single Torrent Double Upload
"i[data-original-title=\"Global Double Upload\"]": "2" # Global Double Upload
"i[data-original-title=\"Featured\"]": "2" # Featured Torrent
"*": "1"
# UNIT3D
# UNIT3D 1.9.2

View File

@@ -0,0 +1,169 @@
---
site: tigers-dl
name: Tigers-dl
description: "Tigers-dl is a FRENCH Private Torrent Tracker for MOVIES / TV / GENERAL"
language: fr-fr
type: private
encoding: UTF-8
links:
- https://www.tigers-dl.net/
caps:
categorymappings:
# Cam et Screener
- {id: 81, cat: Movies, desc: "Cam ts / tc / Fr"}
- {id: 82, cat: Movies, desc: "Cam ts / tc / US"}
# Movies
- {id: 11, cat: Movies, desc: "Action"}
- {id: 13, cat: Movies, desc: "Animation"}
- {id: 14, cat: Movies, desc: "Arts Martiaux"}
- {id: 15, cat: Movies, desc: "Aventure"}
- {id: 16, cat: Movies, desc: "Biographies"}
- {id: 17, cat: Movies, desc: "Comedie dramatique"}
- {id: 18, cat: Movies, desc: "Comedie musicale"}
- {id: 19, cat: Movies, desc: "Comedie"}
- {id: 20, cat: Movies, desc: "Divers"}
- {id: 21, cat: Movies, desc: "Documentaires"}
- {id: 22, cat: Movies, desc: "Drame"}
- {id: 23, cat: Movies, desc: "Epouvante-horreur"}
- {id: 24, cat: Movies, desc: "Espionnage"}
- {id: 25, cat: Movies, desc: "Famille"}
- {id: 26, cat: Movies, desc: "Fantastique"}
- {id: 27, cat: Movies, desc: "Guerre"}
- {id: 28, cat: Movies, desc: "Historique"}
- {id: 29, cat: Movies, desc: "Musical"}
- {id: 30, cat: Movies, desc: "Peplum"}
- {id: 31, cat: Movies, desc: "Policier"}
- {id: 32, cat: Movies, desc: "Romance"}
- {id: 33, cat: Movies, desc: "Science fiction"}
- {id: 34, cat: Movies, desc: "Thriller"}
- {id: 35, cat: Movies, desc: "Western"}
- {id: 42, cat: Movies, desc: "Coffret"}
- {id: 43, cat: Movies, desc: "Trilogie"}
- {id: 71, cat: Movies, desc: "Anciens Films"}
# Music / Concert
- {id: 37, cat: Audio/MP3, desc: "Music Mp3"}
- {id: 38, cat: Audio, desc: "Concerts"}
- {id: 39, cat: Audio, desc: "Megamix"}
- {id: 40, cat: Audio, desc: "Compilation"}
- {id: 41, cat: Audio, desc: "Spectacles"}
# Animation
- {id: 45, cat: TV, desc: "wall disney"}
- {id: 46, cat: TV, desc: "Dessins animé"}
- {id: 47, cat: TV/Anime, desc: "Manga"}
# Apps
- {id: 7, cat: PC/0day, desc: "Apps Win"}
- {id: 8, cat: PC, desc: "Apps Linux"}
- {id: 9, cat: PC/Mac, desc: "Apps Mac"}
- {id: 77, cat: PC/Phone-Other, desc: "Mobile"}
# Games
- {id: 49, cat: PC/Games, desc: "Jeux PC"}
- {id: 50, cat: Console/PSP, desc: "PSP"}
- {id: 51, cat: Console/Wii, desc: "wii"}
- {id: 52, cat: Console/PS3, desc: "PS3"}
- {id: 53, cat: Console/PS4, desc: "PS4"}
- {id: 61, cat: Console/Xbox, desc: "Xbox 360"}
# E-BOOKS
- {id: 55, cat: Books, desc: "Livres français"}
- {id: 56, cat: Books, desc: "BD"}
- {id: 57, cat: Books, desc: "Journaux"}
- {id: 58, cat: Books, desc: "Magazines"}
- {id: 59, cat: Books, desc: "Cuisine"}
- {id: 60, cat: Books, desc: "Science"}
- {id: 76, cat: Books, desc: "Informatiques"}
# Series TV
- {id: 63, cat: TV/SD, desc: "Séries VF"}
- {id: 64, cat: TV/HD, desc: "Séries VF 720p"}
- {id: 65, cat: TV/HD, desc: "Séries VF 1080p"}
- {id: 66, cat: TV/SD, desc: "Séries VOSTFR"}
- {id: 67, cat: TV/HD, desc: "Séries VOSTFR 720p"}
- {id: 68, cat: TV/HD, desc: "Séries VOSTFR 1080p"}
- {id: 69, cat: TV/SD, desc: "Séries VO"}
- {id: 70, cat: TV, desc: "Anciennes Séries !!!"}
# Movies Porno
- {id: 73, cat: XXX, desc: "Films porno - V.I.P"}
- {id: 74, cat: XXX, desc: "BD porno"}
- {id: 75, cat: XXX, desc: "Manga"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
login:
path: index.php?page=login
method: form
form: form[action="index.php?page=login"]
inputs:
uid: "{{ .Config.username }}"
pwd: "{{ .Config.password }}"
error:
- selector: td.lista span[style="color:#FF0000;"]
test:
path: index.php
selector: :has(a[href="logout.php"])
search:
paths:
# https://www.tigers-dl.net/index.php?page=torrents&search=venom&category=0&active=0&order=3&by=2
- path: index.php
inputs:
page: "torrents"
category: "{{range .Categories}}{{.}};{{end}}"
search: "{{.Keywords}}"
# 0=all 1=active only 2=dead only
active: 0
# 1=cat. 2=name 3=age 4=size 5=seed 6=leech 7=comm
order: 3
# 1=desc 2=asc
by: 2
rows:
selector: table.lista tr:has(a[href^="index.php?page=torrent-details"])
fields:
title:
selector: td a[href*="torrent-details"]
details:
selector: td a[href*="torrent-details"]
attribute: href
category:
selector: td a[href*="category="]
attribute: href
filters:
- name: querystring
args: category
download:
selector: td a[href^="download.php?id="]
attribute: href
banner:
selector: td a[href*="id="]
attribute: onmouseover
filters:
- name: regexp
args: "src=(.+?) width="
size:
selector: td:nth-child(5)
seeders:
selector: td:nth-child(6)
leechers:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
date:
selector: td:nth-child(9) img
attribute: alt
filters:
- name: timeago
downloadvolumefactor:
text: "1"
uploadvolumefactor:
text: "1"

View File

@@ -82,7 +82,10 @@
- name: password
type: password
label: Password
- name: info_results
type: info
label: "Search results"
default: "<ol><li>Only the Classic profile is supported.<li>Make sure to set the <b>TorrentList-Layout</b> option in your profile to <b>Klassisches Layout, sehr breite Darstellung.</b><li>And for best results set the <b>Torrents pro Seite</b> to <b>100.</b></ol>"
login:
path: landing.php
method: form
@@ -117,98 +120,60 @@
orderby: "added"
sort: "desc"
rows:
selector: table.tableinborder:has(a[href^="download_ssl.php"])
selector: table.tablebrowse > tbody > tr:has(a[href^="download_ssl.php"])
fields:
title:
selector: a[title][href^="details.php"]
attribute: title
category:
selector: td[style][colspan]
case:
td[style$="#000033;"]:contains("Android"): 65
td[style$="#000033;"]:contains("iOS"): 83
td[style$="#000033;"]:contains("Linux"): 107
td[style$="#000033;"]:contains("MAC"): 48
td[style$="#000033;"]:contains("Sonstige"): 109
td[style$="#000033;"]:contains("Win"): 22
td[style$="#1d2f8c;"]:contains("aBooks"): 24
td[style$="#1d2f8c;"]:contains("Disco's"): 104
td[style$="#1d2f8c;"]:contains("Hörspiel"): 38
td[style$="#1d2f8c;"]:contains("Musik"): 6
td[style$="#1d2f8c;"]:contains("Tracks"): 82
td[style$="#1d2f8c;"]:contains("Videos"): 29
td[style$="#000000;"]:contains("3D"): 113
td[style$="#000000;"]:contains("HD"): 76
td[style$="#000000;"]:contains("Packs"): 78
td[style$="#000000;"]:contains("SD"): 75
td[style$="#000000;"]:contains("Sonstige"): 114
td[style$="#000000;"]:contains("Untouched"): 77
td[style$="#55316e;"]:contains("1080p"): 54
td[style$="#55316e;"]:contains("3D"): 5
td[style$="#55316e;"]:contains("720p"): 55
td[style$="#55316e;"]:contains("Anime"): 111
td[style$="#55316e;"]:contains("BluRay"): 43
td[style$="#55316e;"]:contains("DVDR"): 20
td[style$="#55316e;"]:contains("Int"): 120
td[style$="#55316e;"]:contains("Remux"): 119
td[style$="#55316e;"]:contains("UHD"): 121
td[style$="#55316e;"]:contains("UHD Remux"): 124
td[style$="#55316e;"]:contains("SD"): 36
td[style$="#620000;"]:contains("Anime"): 112
td[style$="#620000;"]:contains("HD"): 69
td[style$="#620000;"]:contains("Int"): 72
td[style$="#620000;"]:contains("Packs"): 68
td[style$="#620000;"]:contains("SD"): 66
td[style$="#620000;"]:contains("TV-Shows"): 108
td[style$="#003300;"]:contains("Diverses"): 117
td[style$="#003300;"]:contains("eBooks"): 28
td[style$="#003300;"]:contains("Sport"): 42
td[style$="#003300;"]:contains("Tutorials"): 103
td[style$="#003300;"]:contains("Wallpaper"): 9
td[style$="#FF00FF;"]:contains("XXX"): 64
td[style$="#FF3300;"]:contains("MAC"): 115
td[style$="#FF3300;"]:contains("Nintendo"): 37
td[style$="#FF3300;"]:contains("PC"): 4
td[style$="#FF3300;"]:contains("PSX"): 58
td[style$="#FF3300;"]:contains("Sonstige"): 116
td[style$="#FF3300;"]:contains("XBOX"): 50
selector: a[href*="cat="]
attribute: href
filters:
- name: querystring
args: cat
comments:
selector: a[href*="&tocomm="]
attribute: href
download:
selector: a[href^="download_ssl.php"]
attribute: href
banner:
selector: a.thumbnail > span > img
attribute: src
grabs:
selector: td:has(a[href*="&tosnatchers="])
selector: td:nth-child(9)
filters:
- name: regexp
args: "(\\d+) x"
args: "(\\d+)"
size:
selector: td:has(a[href*="&filelist="])
selector: td:nth-child(6)
filters:
- name: regexp
args: "(.*?) in"
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
files:
selector: td:has(a[href*="&filelist="]) > b
selector: a[href*="&filelist=1"]
seeders:
selector: td:has(a[href*="&toseeders="]) > font
selector: td:has(a[href*="&toseeders="])
filters:
- name: regexp
args: "(\\d+)"
leechers:
selector: td:has(a[href*="&todlers="]) > font
selector: td:has(a[href*="&todlers="])
filters:
- name: regexp
args: "(\\d+)"
date:
selector: td:has(a[href*="&tocomm="]) ~ td
selector: td:nth-child(5)
filters:
- name: re_replace
args: ["\\s", " "]
- name: dateparse
args: "02.01.2006 15:04:05"
args: "02.01.200615:04:05"
downloadvolumefactor:
case:
img[src="pic/oupic.gif"]: "0"
img[src="pic/-40.gif"]: "0.6"
"font[color=\"#730d1e\"]:contains(\"[OnlyUpload]\")": "0"
"*": "1"
uploadvolumefactor:
case:

View File

@@ -0,0 +1,143 @@
---
site: world-of-tomorrow
name: world-of-tomorrow
description: "world-of-tomorrow is a Private GERMAN tracker"
language: de-de
type: private
encoding: UTF-8
followredirect: true
links:
- https://world-of-tomorrow.eu
caps:
categorymappings:
# Movie
- {id: 47, cat: Movies/HD, desc: "Bluray"}
- {id: 48, cat: Movies/HD, desc: "720p"}
- {id: 49, cat: Movies/HD, desc: "1080p"}
- {id: 11, cat: Movies/SD, desc: "DVD-R"}
- {id: 60, cat: Movies/HD, desc: "HDTV"}
- {id: 62, cat: Movies/SD, desc: "SD"}
- {id: 89, cat: Movies/HD, desc: "UHD"}
- {id: 91, cat: Movies, desc: "Packs"}
# Serien
- {id: 16, cat: TV, desc: "Serien-Packs"}
- {id: 64, cat: TV/Documentary, desc: "Serien-Doku"}
- {id: 77, cat: TV/SD, desc: "Serien-SD"}
- {id: 78, cat: TV/HD, desc: "Serien-720p"}
- {id: 79, cat: TV/HD, desc: "Serien-1080p"}
- {id: 95, cat: TV/HD, desc: "Serien-2160p"}
# Games
- {id: 4, cat: PC/Games, desc: "Windows"}
- {id: 84, cat: Console/PS3, desc: "PS3/PS4"}
- {id: 84, cat: Console/PS4, desc: "PS3/PS4"}
- {id: 85, cat: Console/Xbox 360, desc: "Xbox-360"}
- {id: 92, cat: PC/Games, desc: "Wimmelbild"}
# Musik
- {id: 14, cat: Audio/MP3, desc: "MP3"}
- {id: 36, cat: Audio/Audiobook, desc: "Hörbuch"}
- {id: 71, cat: Audio, desc: "Soundtracks"}
- {id: 70, cat: Audio, desc: "Flac"}
- {id: 72, cat: Audio, desc: "Musik-Packs"}
- {id: 93, cat: Audio/Video, desc: "Musik-Videos"}
# Programme
- {id: 18, cat: PC, desc: "Appz-Sonstige"}
- {id: 28, cat: PC, desc: "Windows"}
# Sport
- {id: 23, cat: TV/Sport, desc: "Wrestling"}
- {id: 74, cat: TV/Sport, desc: "Fussball"}
- {id: 75, cat: TV/Sport, desc: "Formel 1"}
# Misc
- {id: 88, cat: XXX, desc: "XXX"}
- {id: 19, cat: Books/Ebook, desc: "Ebooks"}
- {id: 87, cat: TV/Anime, desc: "Anime/Zeichentrick"}
- {id: 96, cat: Other/Misc, desc: "Sonstiges"}
modes:
search: [q]
tv-search: [q, season, ep]
movie-search: [q]
settings:
- name: username
type: text
label: Username
- name: password
type: password
label: Password
- name: secure_code
type: password
label: "Secure Code"
login:
path: login.php
method: form
form: form
inputs:
take: "yes"
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
secure_code: "{{ .Config.secure_code }}"
test:
path: sessioncheck.php
search:
path: tfiles.php
inputs:
search: "{{ .Query.Keywords }}"
incldead: "1"
showsearch: 0
rows:
selector: table.table-bordered > tbody > tr
fields:
title:
selector: a[href^="details.php"]
category:
selector: a[href^="tfiles.php?cat="]
attribute: href
filters:
- name: querystring
args: cat
details:
selector: a[href^="details.php"]
attribute: href
download:
selector: a[href^="download.php"]
attribute: href
grabs:
selector: span:nth-child(5)
filters:
- name: split
args: [":",1]
size:
selector: span:nth-child(2)
filters:
- name: split
args: [":",1]
- name: replace
args: [".", ""]
- name: replace
args: [",", "."]
seeders:
selector: span:nth-child(3)
filters:
- name: split
args: [":",1]
leechers:
selector: span:nth-child(4)
filters:
- name: split
args: [":",1]
date:
selector: td:nth-child(3)
remove: center, br
filters:
- name: dateparse
args: "02.01.2006 15:04:05"

View File

@@ -25,6 +25,8 @@
- https://ygg.to/
- https://www.ygg.to/
- https://ww3.yggtorrent.gg/
- http://www2.yggtorrent.gg/
caps:
categorymappings:
- {id: 2145, cat: TV, desc: "Film/Vidéo"}

View File

@@ -139,6 +139,12 @@ namespace Jackett.Common.Indexers
if (string.IsNullOrWhiteSpace(query.SearchTerm) && !query.IsImdbQuery)
{
var results = await RequestStringWithCookies(TodayUrl);
if (results.IsRedirect)
{
// re-login
await ApplyConfiguration(null);
results = await RequestStringWithCookies(TodayUrl);
}
try
{
const string rowsSelector = "table.torrent_table > tbody > tr:not(tr.colhead)";
@@ -274,6 +280,12 @@ namespace Jackett.Common.Indexers
searchUrl += "?" + queryCollection.GetQueryString();
var results = await RequestStringWithCookies(searchUrl);
if (results.IsRedirect)
{
// re-login
await ApplyConfiguration(null);
results = await RequestStringWithCookies(searchUrl);
}
try
{
const string rowsSelector = "table.torrent_table > tbody > tr:not(tr.colhead)";

View File

@@ -21,6 +21,10 @@ namespace Jackett.Common.Indexers
private string LoginUrl { get { return SiteLink + "takelogin.php"; } }
private string QueryString { get { return "?do=search&keywords={0}&search_type=t_name&category=0&include_dead_torrents=no"; } }
public override string[] LegacySiteLinks { get; protected set; } = new string[] {
"http://immortalseed.me/",
};
private new ConfigurationDataBasicLogin configData
{
get { return (ConfigurationDataBasicLogin)base.configData; }
@@ -30,7 +34,7 @@ namespace Jackett.Common.Indexers
public ImmortalSeed(IIndexerConfigurationService configService, Utils.Clients.WebClient wc, Logger l, IProtectionService ps)
: base(name: "ImmortalSeed",
description: "ImmortalSeed (iS) is a Private Torrent Tracker for MOVIES / TV / GENERAL",
link: "http://immortalseed.me/",
link: "https://immortalseed.me/",
caps: TorznabUtil.CreateDefaultTorznabTVCaps(),
configService: configService,
client: wc,
@@ -77,6 +81,14 @@ namespace Jackett.Common.Indexers
AddCategoryMapping(9, TorznabCatType.TVSD, "TV - Standard Definition - XviD");
AddCategoryMapping(4, TorznabCatType.TVHD, "TV Season Packs - HD");
AddCategoryMapping(6, TorznabCatType.TVSD, "TV Season Packs - SD");
AddCategoryMapping(22, TorznabCatType.BooksEbook, "Ebooks");
AddCategoryMapping(26, TorznabCatType.PCGames, "Games-PC ISO");
AddCategoryMapping(46, TorznabCatType.BooksMagazines, "Magazines");
AddCategoryMapping(50, TorznabCatType.PCPhoneIOS, "IOS");
AddCategoryMapping(51, TorznabCatType.PCPhoneAndroid, "Android");
AddCategoryMapping(52, TorznabCatType.PC0day, "Windows");
AddCategoryMapping(53, TorznabCatType.TVDocumentary, "Documentary - SD");
AddCategoryMapping(58, TorznabCatType.TVSport, "Olympics");
}
public override async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson)
@@ -130,7 +142,7 @@ namespace Jackett.Common.Indexers
var qRow = row.Cq();
var qDetails = qRow.Find("div > a[href*=\"details.php?id=\"]"); // details link, release name get's shortened if it's to long
var qTitle = qRow.Find("td:eq(1) .tooltip-content div:eq(0)"); // use Title from tooltip
var qTitle = qRow.Find(".tooltip-content > div:eq(0)"); // use Title from tooltip
if (!qTitle.Any()) // fallback to Details link if there's no tooltip
{
qTitle = qDetails;
@@ -141,7 +153,7 @@ namespace Jackett.Common.Indexers
if (qDesciption.Any())
release.Description = qDesciption.Get(1).InnerText.Trim();
var qLink = row.Cq().Find("td:eq(2) a:eq(1)");
var qLink = row.Cq().Find("a[href*=\"download.php\"]");
release.Link = new Uri(qLink.Attr("href"));
release.Guid = release.Link;
release.Comments = new Uri(qDetails.Attr("href"));
@@ -175,7 +187,11 @@ namespace Jackett.Common.Indexers
else
release.DownloadVolumeFactor = 1;
release.UploadVolumeFactor = 1;
if (qRow.Find("img[title^=\"x2 Torrent\"]").Length >= 1)
release.UploadVolumeFactor = 2;
else
release.UploadVolumeFactor = 1;
releases.Add(release);
}

View File

@@ -10,7 +10,7 @@ namespace Jackett.Common.Indexers
public class Psytorrents : GazelleTracker
{
private static readonly string[] certificateHashs = new string[] {
"455333CC651C249E1A91DFF8EFC2A5F8044FE956", // expired
"8375026D07C1EAE2DCE7157ABF255357366AE341", // expired
};
public Psytorrents(IIndexerConfigurationService configService, WebClient webClient, Logger logger, IProtectionService protectionService)

View File

@@ -8,6 +8,7 @@ using System.Threading.Tasks;
using CsQuery;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Models.IndexerConfig.Bespoke;
using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients;
@@ -23,9 +24,10 @@ namespace Jackett.Common.Indexers
private string SearchUrl { get { return SiteLink + "browse.php"; } }
private string DownloadUrl { get { return SiteLink + "download.php/{0}/download.torrent"; } }
private new ConfigurationDataRecaptchaLogin configData
private new ConfigurationDataSceneTime configData
{
get { return (ConfigurationDataRecaptchaLogin)base.configData; }
get { return (ConfigurationDataSceneTime)base.configData; }
set { base.configData = value; }
}
@@ -38,7 +40,7 @@ namespace Jackett.Common.Indexers
client: w,
logger: l,
p: ps,
configData: new ConfigurationDataRecaptchaLogin("For best results, change the 'Torrents per page' setting to the maximum in your profile on the SceneTime webpage."))
configData: new ConfigurationDataSceneTime())
{
Encoding = Encoding.GetEncoding("iso-8859-1");
Language = "en-us";
@@ -183,6 +185,11 @@ namespace Jackett.Common.Indexers
qParams.Add("search", query.GetQueryString());
}
// If Only Freeleech Enabled
if (configData.Freeleech.Value)
{
qParams.Add("freeleech", "on");
}
var searchUrl = SearchUrl + "?" + qParams.GetQueryString();
var results = await RequestStringWithCookies(searchUrl);

View File

@@ -8,7 +8,7 @@
<ItemGroup>
<PackageReference Include="AngleSharp" Version="0.11.0" />
<PackageReference Include="Autofac" Version="4.9.1" />
<PackageReference Include="Autofac" Version="4.9.2" />
<PackageReference Include="AutoMapper" Version="8.0.0" />
<PackageReference Include="BencodeNET" Version="2.3.0" />
<PackageReference Include="CloudFlareUtilities" Version="1.3.0" />
@@ -20,11 +20,11 @@
<PackageReference Include="Microsoft.CSharp" Version="4.5.0" />
<PackageReference Include="MimeMapping" Version="1.0.1.12" />
<PackageReference Include="Newtonsoft.Json" Version="12.0.1" />
<PackageReference Include="NLog" Version="4.5.11" />
<PackageReference Include="NLog" Version="4.6.0" />
<PackageReference Include="SharpZipLib" Version="1.1.0" />
<PackageReference Include="System.IO.FileSystem.AccessControl" Version="4.5.0" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="4.5.0" />
<PackageReference Include="YamlDotNet" Version="5.4.0" />
<PackageReference Include="YamlDotNet" Version="6.0.0" />
</ItemGroup>
<ItemGroup>

View File

@@ -0,0 +1,21 @@
namespace Jackett.Common.Models.IndexerConfig.Bespoke
{
public class ConfigurationDataSceneTime : ConfigurationData
{
public StringItem Username { get; private set; }
public StringItem Password { get; private set; }
public RecaptchaItem Captcha { get; private set; }
public BoolItem Freeleech { get; private set; }
public DisplayItem Instructions { get; private set; }
public ConfigurationDataSceneTime()
: base()
{
Username = new StringItem { Name = "Username" };
Password = new StringItem { Name = "Password" };
Captcha = new RecaptchaItem() { Name = "Recaptcha" };
Freeleech = new BoolItem() { Name = "Freeleech Only (Optional)", Value = false };
Instructions = new DisplayItem("For best results, change the 'Torrents per page' setting to the maximum in your profile on the SceneTime webpage.") { Name = "" };
}
}
}

View File

@@ -27,7 +27,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="4.9.1" />
<PackageReference Include="Autofac" Version="4.9.2" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="4.4.0" />
<PackageReference Include="AutoMapper" Version="8.0.0" />
<PackageReference Include="CommandLineParser" Version="2.4.3" />
@@ -39,8 +39,8 @@
<PackageReference Include="Microsoft.AspNetCore.Rewrite" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.2.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="2.2.0" />
<PackageReference Include="NLog" Version="4.5.11" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.0" />
<PackageReference Include="NLog" Version="4.6.0" />
<PackageReference Include="NLog.Web.AspNetCore" Version="4.8.1" />
<PackageReference Include="System.ServiceProcess.ServiceController" Version="4.5.0" />
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.5.1" />
</ItemGroup>

View File

@@ -21,14 +21,14 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Autofac" Version="4.9.1" />
<PackageReference Include="Autofac" Version="4.9.2" />
<PackageReference Include="FluentAssertions" Version="5.6.0" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection" Version="2.2.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.0.1" />
<PackageReference Include="MSTest.TestAdapter" Version="1.4.0" />
<PackageReference Include="MSTest.TestFramework" Version="1.4.0" />
<PackageReference Include="NUnit" Version="3.11.0" />
<PackageReference Include="NUnit.ConsoleRunner" Version="3.9.0" />
<PackageReference Include="NUnit.ConsoleRunner" Version="3.10.0" />
<PackageReference Include="NUnit3TestAdapter" Version="3.13.0" />
</ItemGroup>

View File

@@ -269,9 +269,6 @@ namespace Jackett.Updater
"appsettings.Development.json",
"CurlSharp.dll",
"CurlSharp.pdb",
"Jackett.dll",
"Jackett.dll.config",
"Jackett.pdb",
"Autofac.Integration.WebApi.dll",
"Microsoft.Owin.dll",
"Microsoft.Owin.FileSystems.dll",