mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-13 15:34:07 +02:00
Compare commits
27 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
08ab66a447 | ||
![]() |
6ee45ec0b2 | ||
![]() |
6d23341f06 | ||
![]() |
58f9078d70 | ||
![]() |
c2ff657272 | ||
![]() |
0d3c29df4f | ||
![]() |
8d195f3c8e | ||
![]() |
d5dea458cb | ||
![]() |
b9b94009bf | ||
![]() |
8bfe5edc0a | ||
![]() |
cc2071dc53 | ||
![]() |
e745b02c55 | ||
![]() |
ee162756d1 | ||
![]() |
9a571f6f4b | ||
![]() |
1b740f1a04 | ||
![]() |
9e695151b7 | ||
![]() |
c1c86ddd60 | ||
![]() |
328cf7090a | ||
![]() |
64f461bc98 | ||
![]() |
c6639e7d9b | ||
![]() |
841fac48f9 | ||
![]() |
0a2651e635 | ||
![]() |
bee30b2c1c | ||
![]() |
28dbb29513 | ||
![]() |
cf03b6e216 | ||
![]() |
87c4f26d02 | ||
![]() |
022b88ea22 |
4
.github/ISSUE_TEMPLATE.md
vendored
4
.github/ISSUE_TEMPLATE.md
vendored
@@ -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**:
|
||||
|
||||
-------------------------------
|
||||
|
11
README.md
11
README.md
@@ -177,7 +177,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
|
||||
@@ -357,6 +359,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
|
||||
@@ -402,7 +405,7 @@ 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)
|
||||
## 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`.
|
||||
|
||||
@@ -410,7 +413,7 @@ On most operating systems all the required dependencies will already be present.
|
||||
|
||||
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 on Linux (ARMv7 or above)
|
||||
## 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`.
|
||||
|
||||
@@ -419,7 +422,7 @@ On most operating systems all the required dependencies will already be present.
|
||||
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)
|
||||
## 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.
|
||||
@@ -448,7 +451,7 @@ Install [Mono 5.8](http://www.mono-project.com/download/#download-mac) or better
|
||||
|
||||
### 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).
|
||||
2. Open the extracted folder and double-click on `install_service_macos`.
|
||||
2. Open the extracted folder and double-click on `install_service_macos_mono`.
|
||||
3. If the installation was a success, you can close the Terminal window.
|
||||
|
||||
The service will start on each logon. You can always stop it by running `launchctl unload ~/Library/LaunchAgents/org.user.Jackett.plist` from Terminal. You can start it again it using `launchctl load ~/Library/LaunchAgents/org.user.Jackett.plist`.
|
||||
|
@@ -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:
|
||||
|
33
build.cake
33
build.cake
@@ -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(() =>
|
||||
|
@@ -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
77
install_service_macos_mono
Executable 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
|
@@ -11,83 +11,92 @@
|
||||
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 +122,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 +146,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 +164,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:
|
||||
|
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal file
124
src/Jackett.Common/Definitions/DasUnerwartete.yml
Normal 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"
|
@@ -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
|
||||
|
@@ -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
|
||||
|
140
src/Jackett.Common/Definitions/desireleasers.yml
Normal file
140
src/Jackett.Common/Definitions/desireleasers.yml
Normal 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
|
@@ -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
|
||||
|
143
src/Jackett.Common/Definitions/world-of-tomorrow.yml
Normal file
143
src/Jackett.Common/Definitions/world-of-tomorrow.yml
Normal 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"
|
@@ -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"}
|
||||
|
@@ -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)
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
@@ -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>
|
||||
|
||||
|
@@ -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",
|
||||
|
Reference in New Issue
Block a user