transmission-rss 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +14 -3
- data/bin/transmission-rss +12 -0
- data/lib/transmission-rss/aggregator.rb +5 -0
- data/lib/transmission-rss/client.rb +3 -1
- data/lib/transmission-rss/config.rb +2 -0
- data/lib/transmission-rss/version.rb +1 -1
- data/transmission-rss.conf.example +4 -0
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ac9f76bca685a810ed32c80d1e43b7252d10a0088d33d4826d5b4e6c1496d753
|
4
|
+
data.tar.gz: b400a88f22877be316284d9edc0a3f13b73c014f16557adacaf2dc7fd9bc4004
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5c34f47be84831505bfdeacf16ec7ea07b38b520e86b0c25222583a667edc956a4846394355949780151cd26f180bfeac26583f437c5f2f4c7a641c7a2e748b3
|
7
|
+
data.tar.gz: 27952ef90a8ca35e7fc1897a36610dc93c735d50be9a3f926821af141f2a241a85f6dbc5d19e45d0e42960f9579a1c1f7b0f6a2e434a81a0025edd04b5231d4a
|
data/README.md
CHANGED
@@ -40,9 +40,9 @@ Installation
|
|
40
40
|
|
41
41
|
### Via Docker
|
42
42
|
|
43
|
-
docker run \
|
43
|
+
docker run -t \
|
44
44
|
-v $(pwd)/transmission-rss.conf:/etc/transmission-rss.conf \
|
45
|
-
nning2/transmission-rss
|
45
|
+
nning2/transmission-rss:v1.0.0
|
46
46
|
|
47
47
|
Configuration
|
48
48
|
-------------
|
@@ -94,7 +94,7 @@ is true:
|
|
94
94
|
### All available options
|
95
95
|
|
96
96
|
The following configuration file example contains every existing option
|
97
|
-
(although `update_interval`, `add_paused`, `server`, `log`, `fork`, and
|
97
|
+
(although `update_interval`, `add_paused`, `server`, `log`, `fork`, `single`, and
|
98
98
|
`pid_file` are default values and could be omitted). The default `log.target` is
|
99
99
|
STDERR. `privileges` is not defined by default, so the script runs as current
|
100
100
|
user/group. `login` is also not defined by default. It has to be defined, if
|
@@ -133,6 +133,7 @@ See `./transmission-rss.conf.example` for more documentation.
|
|
133
133
|
server:
|
134
134
|
host: localhost
|
135
135
|
port: 9091
|
136
|
+
tls: false
|
136
137
|
rpc_path: /transmission/rpc
|
137
138
|
|
138
139
|
login:
|
@@ -152,6 +153,8 @@ See `./transmission-rss.conf.example` for more documentation.
|
|
152
153
|
|
153
154
|
fork: false
|
154
155
|
|
156
|
+
single: false
|
157
|
+
|
155
158
|
pid_file: false
|
156
159
|
|
157
160
|
seen_file: ~/.config/transmission/seen
|
@@ -159,6 +162,8 @@ See `./transmission-rss.conf.example` for more documentation.
|
|
159
162
|
Daemonized Startup
|
160
163
|
------------------
|
161
164
|
|
165
|
+
### As a systemd service
|
166
|
+
|
162
167
|
The following content can be saved into
|
163
168
|
`/etc/systemd/system/transmission-rss.service` to create a systemd unit.
|
164
169
|
Remember checking the path in `ExecStart`.
|
@@ -178,3 +183,9 @@ Remember checking the path in `ExecStart`.
|
|
178
183
|
The unit files are reloaded by `systemctl daemon-reload`. You can then start
|
179
184
|
transmission-rss by running `systemctl start transmission-rss`. Starting on
|
180
185
|
boot, can be enabled `systemctl enable transmission-rss`.
|
186
|
+
|
187
|
+
### As a cronjob
|
188
|
+
|
189
|
+
`transmission-rss` can also be started in a single run mode, in which it runs a single loop and then exits. To do so, `transmission-rss` needs to be started with the `-s` flag. An example crontab line for running every 10 minutes can be:
|
190
|
+
|
191
|
+
`*/10 * * * * /usr/local/bin/transmission-rss -s`
|
data/bin/transmission-rss
CHANGED
@@ -20,6 +20,9 @@ end
|
|
20
20
|
# Do not fork by default.
|
21
21
|
dofork = false
|
22
22
|
|
23
|
+
# Do not run single time by default.
|
24
|
+
dosingle = false
|
25
|
+
|
23
26
|
# No PID file by default.
|
24
27
|
pid_file = false
|
25
28
|
|
@@ -33,6 +36,7 @@ Adds torrents from rss feeds to transmission web frontend.
|
|
33
36
|
|
34
37
|
-c <file> Custom config file path. Default: #{config_file}
|
35
38
|
-f Fork into background after startup.
|
39
|
+
-s Single run mode.
|
36
40
|
-h This help.
|
37
41
|
-p <file> Write PID to file.
|
38
42
|
-r Reset seenfile on startup.
|
@@ -46,6 +50,7 @@ end
|
|
46
50
|
options = GetoptLong.new \
|
47
51
|
['-c', GetoptLong::REQUIRED_ARGUMENT],
|
48
52
|
['-f', GetoptLong::NO_ARGUMENT],
|
53
|
+
['-s', GetoptLong::NO_ARGUMENT],
|
49
54
|
['-h', GetoptLong::NO_ARGUMENT],
|
50
55
|
['-p', GetoptLong::REQUIRED_ARGUMENT],
|
51
56
|
['-r', GetoptLong::NO_ARGUMENT],
|
@@ -59,6 +64,8 @@ options.each do |option, argument|
|
|
59
64
|
custom_config = true
|
60
65
|
when '-f'
|
61
66
|
dofork = true
|
67
|
+
when '-s'
|
68
|
+
dosingle = true
|
62
69
|
when '-h'
|
63
70
|
usage_message(config_file)
|
64
71
|
when '-p'
|
@@ -106,6 +113,9 @@ log.debug(config)
|
|
106
113
|
# Fork value from command line.
|
107
114
|
config.fork = dofork if dofork
|
108
115
|
|
116
|
+
# Run a single time.
|
117
|
+
config.single = dosingle if dosingle
|
118
|
+
|
109
119
|
# PID file path from command line.
|
110
120
|
config.pid_file = pid_file if pid_file
|
111
121
|
|
@@ -174,6 +184,8 @@ begin
|
|
174
184
|
log.debug('wrote pid to ' + config.pid_file)
|
175
185
|
File.write(config.pid_file, pid)
|
176
186
|
end
|
187
|
+
elsif config.single
|
188
|
+
aggregator.run(-1)
|
177
189
|
else
|
178
190
|
log.debug('pid ' + Process.pid.to_s)
|
179
191
|
|
@@ -17,6 +17,7 @@ module TransmissionRSS
|
|
17
17
|
|
18
18
|
@host = server.host || 'localhost'
|
19
19
|
@port = server.port || 9091
|
20
|
+
@tls = !!server.tls
|
20
21
|
@rpc_path = server.rpc_path || '/transmission/rpc'
|
21
22
|
@login = login
|
22
23
|
|
@@ -47,6 +48,7 @@ module TransmissionRSS
|
|
47
48
|
|
48
49
|
case type
|
49
50
|
when :url
|
51
|
+
file = URI.encode(file) if URI.decode(file) == file
|
50
52
|
arguments.filename = file
|
51
53
|
when :file
|
52
54
|
arguments.metainfo = Base64.encode64(File.read(file))
|
@@ -112,7 +114,7 @@ module TransmissionRSS
|
|
112
114
|
end
|
113
115
|
|
114
116
|
def http_request(data)
|
115
|
-
Net::HTTP.
|
117
|
+
Net::HTTP.start(@host, @port, use_ssl: @tls) do |http|
|
116
118
|
http.request(data)
|
117
119
|
end
|
118
120
|
end
|
@@ -52,6 +52,7 @@ module TransmissionRSS
|
|
52
52
|
'server' => {
|
53
53
|
'host' => 'localhost',
|
54
54
|
'port' => 9091,
|
55
|
+
'tls' => false,
|
55
56
|
'rpc_path' => '/transmission/rpc'
|
56
57
|
},
|
57
58
|
'login' => nil,
|
@@ -60,6 +61,7 @@ module TransmissionRSS
|
|
60
61
|
'level' => :debug
|
61
62
|
},
|
62
63
|
'fork' => false,
|
64
|
+
'single' => false,
|
63
65
|
'pid_file' => false,
|
64
66
|
'privileges' => {},
|
65
67
|
'seen_file' => nil
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: transmission-rss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- henning mueller
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: open_uri_redirections
|
@@ -96,8 +96,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
96
96
|
- !ruby/object:Gem::Version
|
97
97
|
version: '0'
|
98
98
|
requirements: []
|
99
|
-
|
100
|
-
rubygems_version: 2.7.6
|
99
|
+
rubygems_version: 3.0.3
|
101
100
|
signing_key:
|
102
101
|
specification_version: 4
|
103
102
|
summary: Adds torrents from rss feeds to transmission web frontend.
|