Compare commits

...

21 Commits

Author SHA1 Message Date
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
Garfield69
858658cdcf add cinefilhd a private site for movies / tv. resolves #4908 2019-03-22 18:57:35 +13:00
10 changed files with 294 additions and 53 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

@@ -169,6 +169,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/
* CGPeers
* CHDBits
* ChannelX
* CiNEFiLHD
* Cinemageddon
* Cinematik
* CinemaZ (EuTorrents)
@@ -401,7 +402,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`.
@@ -409,7 +410,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`.
@@ -418,7 +419,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.
@@ -447,7 +448,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`.

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

@@ -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

@@ -0,0 +1,142 @@
---
site: cinefilhd
name: CiNEFiLHD
description: "CiNEFiLHD is a Private Torrent Tracker for MOVIES / TV / MUSIC"
language: en-us
type: private
encoding: UTF-8
links:
- http://www.cinefilhd.org/
caps:
categorymappings:
- {id: 37, cat: Movies/HD, desc: " Internal/HD-1080p"}
- {id: 17, cat: Movies/HD, desc: " Internal/HD-720p"}
- {id: 30, cat: TV/HD, desc: " Internal/HDTV"}
- {id: 15, cat: Movies/HD, desc: " Internal/mHD"}
- {id: 40, cat: Movies, desc: " Internal/Mp4"}
- {id: 26, cat: Movies, desc: " Internal/Remux"}
- {id: 45, cat: Movies/WEBDL, desc: " Internal/WEB-DL"}
- {id: 25, cat: Movies/3D, desc: " Movies/3D-Ou"}
- {id: 16, cat: Movies/3D, desc: " Movies/3D-SbS"}
- {id: 5, cat: Movies/BluRay, desc: " Movies/BluRay"}
- {id: 38, cat: Movies/HD, desc: " Movies/HD-1080p"}
- {id: 10, cat: Movies/HD, desc: " Movies/HD-720p"}
- {id: 29, cat: Movies/HD, desc: " Movies/mHD"}
- {id: 41, cat: Movies, desc: " Movies/Mp4"}
- {id: 39, cat: Movies, desc: " Movies/Remux"}
- {id: 44, cat: Movies/WEBDL, desc: " Movies/WEB-DL"}
- {id: 23, cat: Audio/Lossless, desc: " Lossless"}
- {id: 14, cat: Audio/MP3, desc: " MP3-Packs"}
- {id: 22, cat: Audio/MP3, desc: " Music-MP3"}
- {id: 43, cat: Audio/Video, desc: " Music/1080p"}
- {id: 42, cat: Audio/Video, desc: " Music/720p"}
- {id: 12, cat: TV/HD, desc: " HDTV-Packs"}
- {id: 21, cat: TV/HD, desc: " Movies/HDTV"}
modes:
search: [q, imdbid]
tv-search: [q, season, ep, imdbid]
movie-search: [q, imdbid]
login:
path: takelogin.php
method: post
inputs:
username: "{{ .Config.username }}"
password: "{{ .Config.password }}"
submitme: "LOGIN"
returnto: /
error:
- selector: h2:contains("failed")
message:
selector: td.colhead2
test:
path: browse.php
selector: :has(a[href^="logout.php?hash_please="])
ratio:
path: browse.php
selector: div div font:contains("Ratio:")
filters:
- name: regexp
args: "Ratio:\\s(.*?)\\s"
search:
paths:
- path: browse.php
inputs:
$raw: "{{range .Categories}}cat{{.}}=1&{{end}}"
search: "{{if .Query.IMDBID}}{{ .Query.IMDBID }}{{else}}{{ .Keywords }}{{end}}"
# title descr genre all
searchin: "{{ if .Query.IMDBID }}descr{{else}}title{{end}}"
# 0=active 1=incl dead 2=only dead
incldead: 1
# 0=no 1=yes
only_free: 0
rows:
selector: table.mainouter table > tbody > tr:has(a[href^="details.php?id="]), table.mainouter table > tbody > tr[id^="kdescr"]
after: 1
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^="details.php?id="]
attribute: href
filters:
- name: replace
args: ["details.php?id=", "download.php?torrent="]
banner:
selector: a[href^="details.php?id="][onmouseover]
attribute: onmouseover
filters:
# onmouseover="Tip('<img class=\'pup\' src=\'https://image.tmdb.org/t/p/original/x96AdPlpl4MjUP2DeUhRJifhCMd.jpg\' width=
- name: regexp
args: src=\\'(.*?)\\'
imdb:
optional: true
selector: a[href*="www.imdb.com/title/tt"]
files:
selector: td:nth-child(4)
# 2 flavours of dates
date:
# Today<br /> 10:20 AM
# Yesterday<br /> 08:03 PM
optional: true
selector: td:nth-child(6):contains("day")
date:
# Feb 14 2019<br /> 10:20 AM
optional: true
selector: td:nth-child(6):not(:contains("day"))
filters:
- name: dateparse
args: "Jan 2 2006 03:04 pm"
size:
selector: td:nth-child(7)
grabs:
selector: td:nth-child(8)
filters:
- name: regexp
args: ([\d,]+)
seeders:
selector: td:nth-child(9)
leechers:
selector: td:nth-child(10)
downloadvolumefactor:
case:
tr.freeleech_color: "0"
tr.highlight: "0"
"*": "1"
uploadvolumefactor:
case:
"*": "1"
# U-232 v3

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

@@ -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"}