Compare commits
5 Commits
experiment
...
v0.5.2
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
003f73c456 | ||
|
|
b34935d490 | ||
|
|
dc6ee2f020 | ||
|
|
fce0fc0215 | ||
|
|
4e2fb9c74f |
@@ -163,4 +163,10 @@
|
|||||||
- Add an option to skip the repair worker for a specific arr
|
- Add an option to skip the repair worker for a specific arr
|
||||||
- Arr specific uncached downloading option
|
- Arr specific uncached downloading option
|
||||||
- Option to download uncached torrents from UI
|
- Option to download uncached torrents from UI
|
||||||
- Remove QbitTorrent Log level(Use the global log level)
|
- Remove QbitTorrent Log level(Use the global log level)
|
||||||
|
|
||||||
|
#### 0.5.1
|
||||||
|
|
||||||
|
- Faster import by prefetching newly downloaded torrents
|
||||||
|
- Fix UMASK issue due to the docker container
|
||||||
|
- Arr-Selective uncached downloading
|
||||||
29
README.md
29
README.md
@@ -6,23 +6,26 @@ This is an implementation of QbitTorrent with a **Multiple Debrid service suppor
|
|||||||
|
|
||||||
### Table of Contents
|
### Table of Contents
|
||||||
|
|
||||||
|
- [DecyphArr(Qbittorent, but with Debrid Support)](#decypharrqbittorent-but-with-debrid-support)
|
||||||
|
- [Table of Contents](#table-of-contents)
|
||||||
- [Features](#features)
|
- [Features](#features)
|
||||||
- [Supported Debrid Providers](#supported-debrid-providers)
|
- [Supported Debrid Providers](#supported-debrid-providers)
|
||||||
- [Installation](#installation)
|
- [Installation](#installation)
|
||||||
- [Docker Compose](#docker-compose)
|
- [Docker](#docker)
|
||||||
- [Binary](#binary)
|
- [Registry](#registry)
|
||||||
|
- [Tags](#tags)
|
||||||
|
- [Binary](#binary)
|
||||||
- [Usage](#usage)
|
- [Usage](#usage)
|
||||||
- [Connecting to Sonarr/Radarr](#connecting-to-sonarrradarr)
|
- [Connecting to Sonarr/Radarr](#connecting-to-sonarrradarr)
|
||||||
- [Sample Config](#sample-config)
|
- [Basic Sample Config](#basic-sample-config)
|
||||||
- [Config Notes](#config-notes)
|
- [Debrid Config](#debrid-config)
|
||||||
- [Log Level](#log-level)
|
- [Repair Config (**BETA**)](#repair-config-beta)
|
||||||
- [Max Cache Size](#max-cache-size)
|
- [Proxy Config](#proxy-config)
|
||||||
- [Debrid Config](#debrid-config)
|
- [Qbittorrent Config](#qbittorrent-config)
|
||||||
- [Proxy Config](#proxy-config)
|
- [Arrs Config](#arrs-config)
|
||||||
- [Qbittorrent Config](#qbittorrent-config)
|
|
||||||
- [Arrs Config](#arrs-config)
|
|
||||||
- [Proxy](#proxy)
|
|
||||||
- [Repair Worker](#repair-worker)
|
- [Repair Worker](#repair-worker)
|
||||||
|
- [Proxy](#proxy)
|
||||||
|
- [**Note**: Proxy has stopped working for Real Debrid, Debrid Link, and All Debrid. It still works for Torbox. This is due to the changes in the API of the Debrid Providers.](#note-proxy-has-stopped-working-for-real-debrid-debrid-link-and-all-debrid-it-still-works-for-torbox-this-is-due-to-the-changes-in-the-api-of-the-debrid-providers)
|
||||||
- [Changelog](#changelog)
|
- [Changelog](#changelog)
|
||||||
- [TODO](#todo)
|
- [TODO](#todo)
|
||||||
|
|
||||||
@@ -139,7 +142,7 @@ This is the default config file. You can create a `config.json` file in the root
|
|||||||
"qbittorrent": {
|
"qbittorrent": {
|
||||||
"port": "8282",
|
"port": "8282",
|
||||||
"download_folder": "/mnt/symlinks/",
|
"download_folder": "/mnt/symlinks/",
|
||||||
"categories": ["sonarr", "radarr"],
|
"categories": ["sonarr", "radarr"]
|
||||||
},
|
},
|
||||||
"repair": {
|
"repair": {
|
||||||
"enabled": false,
|
"enabled": false,
|
||||||
|
|||||||
@@ -16,7 +16,6 @@ import (
|
|||||||
"runtime/debug"
|
"runtime/debug"
|
||||||
"strconv"
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
func Start(ctx context.Context) error {
|
func Start(ctx context.Context) error {
|
||||||
@@ -26,8 +25,7 @@ func Start(ctx context.Context) error {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return fmt.Errorf("invalid UMASK value: %s", umaskStr)
|
return fmt.Errorf("invalid UMASK value: %s", umaskStr)
|
||||||
}
|
}
|
||||||
// Set umask
|
SetUmask(int(umask))
|
||||||
syscall.Umask(int(umask))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
cfg := config.GetConfig()
|
cfg := config.GetConfig()
|
||||||
|
|||||||
9
cmd/decypharr/umask_unix.go
Normal file
9
cmd/decypharr/umask_unix.go
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
//go:build !windows
|
||||||
|
|
||||||
|
package decypharr
|
||||||
|
|
||||||
|
import "syscall"
|
||||||
|
|
||||||
|
func SetUmask(umask int) {
|
||||||
|
syscall.Umask(umask)
|
||||||
|
}
|
||||||
8
cmd/decypharr/umask_win.go
Normal file
8
cmd/decypharr/umask_win.go
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
//go:build windows
|
||||||
|
// +build windows
|
||||||
|
|
||||||
|
package decypharr
|
||||||
|
|
||||||
|
func SetUmask(umask int) {
|
||||||
|
// No-op on Windows
|
||||||
|
}
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"arrs": [
|
"arrs": [
|
||||||
{
|
{
|
||||||
"name": "sonarr",
|
"name": "sonarr",
|
||||||
"host": "http://radarr:8989",
|
"host": "http://sonarr:8989",
|
||||||
"token": "arr_key",
|
"token": "arr_key",
|
||||||
"cleanup": true,
|
"cleanup": true,
|
||||||
"skip_repair": true,
|
"skip_repair": true,
|
||||||
@@ -71,7 +71,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "lidarr",
|
"name": "lidarr",
|
||||||
"host": "http://lidarr:7878",
|
"host": "http://lidarr:8686",
|
||||||
"token": "arr_key",
|
"token": "arr_key",
|
||||||
"cleanup": false,
|
"cleanup": false,
|
||||||
"skip_repair": true,
|
"skip_repair": true,
|
||||||
|
|||||||
@@ -252,6 +252,7 @@ func (r *RealDebrid) CheckStatus(t *torrent.Torrent, isSymlink bool) (*torrent.T
|
|||||||
if !t.DownloadUncached {
|
if !t.DownloadUncached {
|
||||||
return t, fmt.Errorf("torrent: %s not cached", t.Name)
|
return t, fmt.Errorf("torrent: %s not cached", t.Name)
|
||||||
}
|
}
|
||||||
|
break
|
||||||
} else {
|
} else {
|
||||||
return t, fmt.Errorf("torrent: %s has error: %s", t.Name, status)
|
return t, fmt.Errorf("torrent: %s has error: %s", t.Name, status)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user