narou 3.5.1 → 3.8.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/.circleci/config.yml +3 -3
- data/.rubocop.yml +1 -1
- data/ChangeLog.md +37 -0
- data/Gemfile.lock +74 -71
- data/README.md +4 -4
- data/lib/command/browser.rb +1 -1
- data/lib/command/diff.rb +2 -2
- data/lib/command/folder.rb +6 -1
- data/lib/command/setting.rb +2 -2
- data/lib/command/update/general_lastup_updater.rb +2 -1
- data/lib/device.rb +6 -7
- data/lib/downloader.rb +10 -3
- data/lib/helper.rb +3 -3
- data/lib/inventory.rb +2 -2
- data/lib/loadconverter.rb +3 -4
- data/lib/mailer.rb +1 -1
- data/lib/narou.rb +276 -270
- data/lib/novelconverter.rb +2 -2
- data/lib/sitesetting.rb +1 -1
- data/lib/template.rb +1 -1
- data/lib/version.rb +1 -1
- data/lib/web/appserver.rb +8 -5
- data/narou.gemspec +13 -10
- data/template/converter.rb.erb +1 -8
- metadata +78 -30
data/lib/novelconverter.rb
CHANGED
@@ -436,7 +436,7 @@ class NovelConverter
|
|
436
436
|
def load_novel_section(subtitle_info, section_save_dir)
|
437
437
|
file_subtitle = subtitle_info["file_subtitle"] || subtitle_info["subtitle"] # 互換性維持のため
|
438
438
|
path = section_save_dir.join("#{subtitle_info["index"]} #{file_subtitle}.yaml")
|
439
|
-
YAML.
|
439
|
+
YAML.unsafe_load_file(path)
|
440
440
|
rescue Errno::ENOENT => e
|
441
441
|
stream_io.puts
|
442
442
|
stream_io.error(<<~MSG.termcolor)
|
@@ -568,7 +568,7 @@ class NovelConverter
|
|
568
568
|
# 各小説用の converter.rb 変換オブジェクトを生成
|
569
569
|
#
|
570
570
|
def create_converter
|
571
|
-
load_converter(@
|
571
|
+
load_converter(@setting.archive_path).new(@setting, @inspector, @illustration)
|
572
572
|
end
|
573
573
|
|
574
574
|
#
|
data/lib/sitesetting.rb
CHANGED
data/lib/template.rb
CHANGED
@@ -50,7 +50,7 @@ class Template
|
|
50
50
|
path = dir.join(TEMPLATE_DIR, src_filename + ".erb")
|
51
51
|
next unless path.exist?
|
52
52
|
src = Helper::CacheLoader.load(path)
|
53
|
-
result = ERB.new(src,
|
53
|
+
result = ERB.new(src, trim_mode: "-").result(_binding)
|
54
54
|
return result
|
55
55
|
end
|
56
56
|
raise LoadError, "テンプレートファイルが見つかりません。(#{src_filename}.erb)"
|
data/lib/version.rb
CHANGED
data/lib/web/appserver.rb
CHANGED
@@ -187,7 +187,7 @@ class Narou::AppServer < Sinatra::Base
|
|
187
187
|
headers "Cache-Control" => "no-cache" if $development
|
188
188
|
@bootstrap_theme = case params["webui.theme"]
|
189
189
|
when nil
|
190
|
-
Narou.
|
190
|
+
Narou.theme
|
191
191
|
when "" # 環境設定画面で未設定が選択された時
|
192
192
|
nil
|
193
193
|
else
|
@@ -422,7 +422,7 @@ class Narou::AppServer < Sinatra::Base
|
|
422
422
|
postscripts_count = 0
|
423
423
|
toc["subtitles"].each do |sub|
|
424
424
|
begin
|
425
|
-
element = YAML.
|
425
|
+
element = YAML.unsafe_load_file(downloader.section_file_path(sub))["element"]
|
426
426
|
data_type = element["data_type"] || "text"
|
427
427
|
introduction = element["introduction"] || ""
|
428
428
|
postscript = element["postscript"] || ""
|
@@ -835,8 +835,10 @@ class Narou::AppServer < Sinatra::Base
|
|
835
835
|
|
836
836
|
# ダウンロード登録すると同時にグレーのボタン画像を返す
|
837
837
|
get "/api/download4ssl" do
|
838
|
+
target = params["target"] or error("need a parameter: `target'")
|
839
|
+
opt_mail = "--mail" if query_to_boolean(params["mail"])
|
838
840
|
Narou::WebWorker.push do
|
839
|
-
CommandLine.run!("download",
|
841
|
+
CommandLine.run!("download", target, opt_mail)
|
840
842
|
@@push_server.send_all(:"table.reload")
|
841
843
|
end
|
842
844
|
redirect "/resources/images/dl_button1.gif"
|
@@ -891,8 +893,9 @@ class Narou::AppServer < Sinatra::Base
|
|
891
893
|
post "/api/eject" do
|
892
894
|
do_eject = proc do
|
893
895
|
device = Narou.get_device
|
894
|
-
device
|
895
|
-
|
896
|
+
device&.eject do
|
897
|
+
puts "<bold><green>端末を取り外しました</green></bold>".termcolor
|
898
|
+
end
|
896
899
|
end
|
897
900
|
if params["enqueue"] == "true"
|
898
901
|
Narou::WebWorker.push do
|
data/narou.gemspec
CHANGED
@@ -32,12 +32,12 @@ Gem::Specification.new do |gem|
|
|
32
32
|
install_message = <<-EOS
|
33
33
|
#{"*" * 60}
|
34
34
|
|
35
|
-
3.
|
35
|
+
3.8.0: 2021/06/27
|
36
36
|
-----------------
|
37
37
|
#### 修正内容
|
38
|
-
-
|
39
|
-
|
40
|
-
-
|
38
|
+
- タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
|
39
|
+
しまう問題を修正 [CVE-2021-35514]
|
40
|
+
- この問題を発見した RyotaK に感謝します
|
41
41
|
|
42
42
|
#{"*" * 60}
|
43
43
|
EOS
|
@@ -53,25 +53,28 @@ Gem::Specification.new do |gem|
|
|
53
53
|
gem.add_runtime_dependency 'mail', '~> 2.6.0', '>= 2.6.6'
|
54
54
|
gem.add_runtime_dependency 'pony', '~> 1', '>= 1.11'
|
55
55
|
gem.add_runtime_dependency 'diff-lcs', '~> 1.2', '>= 1.2.5'
|
56
|
-
gem.add_runtime_dependency 'sinatra', '~>
|
57
|
-
gem.add_runtime_dependency 'sinatra-contrib', '~>
|
56
|
+
gem.add_runtime_dependency 'sinatra', '~> 2.0', '>= 2.0.8.1'
|
57
|
+
gem.add_runtime_dependency 'sinatra-contrib', '~> 2.0', '>= 2.0.8.1'
|
58
58
|
gem.add_runtime_dependency 'tilt', '~> 2.0', '>= 2.0.10'
|
59
|
-
gem.add_runtime_dependency '
|
59
|
+
gem.add_runtime_dependency 'sassc', '~> 2.4'
|
60
|
+
gem.add_runtime_dependency 'ffi', '~> 1.4', '>= 1.4.2'
|
60
61
|
gem.add_runtime_dependency 'haml', '>= 5.1.2', '< 6'
|
61
62
|
gem.add_runtime_dependency 'memoist', '~> 0.11.0'
|
62
63
|
gem.add_runtime_dependency 'systemu', '~> 2.6', '>= 2.6.5'
|
63
64
|
gem.add_runtime_dependency 'erubis', '~> 2.7'
|
64
65
|
gem.add_runtime_dependency 'open_uri_redirections', '~> 0.2', '>= 0.2.1'
|
65
|
-
gem.add_runtime_dependency 'activesupport', '
|
66
|
+
gem.add_runtime_dependency 'activesupport', '>= 6.1', '< 8.0'
|
66
67
|
gem.add_runtime_dependency 'unicode-display_width', '~> 1.4'
|
68
|
+
gem.add_runtime_dependency 'webrick', '~> 1.7'
|
69
|
+
gem.add_runtime_dependency 'psych', '~> 4.0'
|
67
70
|
|
68
|
-
gem.add_development_dependency 'rspec', '~> 3.
|
71
|
+
gem.add_development_dependency 'rspec', '~> 3.10'
|
69
72
|
gem.add_development_dependency 'rspec-retry', '~> 0.6'
|
70
73
|
gem.add_development_dependency 'rspec_junit_formatter', '~> 0.4'
|
71
74
|
gem.add_development_dependency 'timecop', '~> 0.9'
|
72
75
|
gem.add_development_dependency 'pry', '~> 0.12'
|
73
76
|
gem.add_development_dependency 'pry-byebug', '~> 3.8'
|
74
77
|
gem.add_development_dependency 'awesome_print', '~> 1.8'
|
75
|
-
gem.add_development_dependency 'simplecov', '~> 0.
|
78
|
+
gem.add_development_dependency 'simplecov', '~> 0.20'
|
76
79
|
end
|
77
80
|
|
data/template/converter.rb.erb
CHANGED
@@ -1,15 +1,8 @@
|
|
1
1
|
# -*- coding: utf-8 -*-
|
2
2
|
<% Template.target_binary_version(1.0) -%>
|
3
3
|
|
4
|
-
#
|
5
|
-
# 対象小説情報
|
6
|
-
# タイトル: <%= @setting["title"] %>
|
7
|
-
# 作者: <%= @setting["author"] %>
|
8
|
-
# URL: <%= @setting["toc_url"] %>
|
9
|
-
#
|
10
4
|
# 詳細については http://bit.ly/1vTEH04 を参照して下さい
|
11
|
-
|
12
|
-
converter "<%= file_title.gsub('"', '\"') %>" do
|
5
|
+
converter do
|
13
6
|
# 各種変換処理がされる「前」の生データに対しての変換処理を記述
|
14
7
|
def before(io, text_type)
|
15
8
|
super
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: narou
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- whiteleaf7
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: termcolorlight
|
@@ -116,40 +116,40 @@ dependencies:
|
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '
|
119
|
+
version: '2.0'
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
|
-
version:
|
122
|
+
version: 2.0.8.1
|
123
123
|
type: :runtime
|
124
124
|
prerelease: false
|
125
125
|
version_requirements: !ruby/object:Gem::Requirement
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '
|
129
|
+
version: '2.0'
|
130
130
|
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
|
-
version:
|
132
|
+
version: 2.0.8.1
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
134
|
name: sinatra-contrib
|
135
135
|
requirement: !ruby/object:Gem::Requirement
|
136
136
|
requirements:
|
137
137
|
- - "~>"
|
138
138
|
- !ruby/object:Gem::Version
|
139
|
-
version: '
|
139
|
+
version: '2.0'
|
140
140
|
- - ">="
|
141
141
|
- !ruby/object:Gem::Version
|
142
|
-
version:
|
142
|
+
version: 2.0.8.1
|
143
143
|
type: :runtime
|
144
144
|
prerelease: false
|
145
145
|
version_requirements: !ruby/object:Gem::Requirement
|
146
146
|
requirements:
|
147
147
|
- - "~>"
|
148
148
|
- !ruby/object:Gem::Version
|
149
|
-
version: '
|
149
|
+
version: '2.0'
|
150
150
|
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
152
|
+
version: 2.0.8.1
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
154
|
name: tilt
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
@@ -171,25 +171,39 @@ dependencies:
|
|
171
171
|
- !ruby/object:Gem::Version
|
172
172
|
version: 2.0.10
|
173
173
|
- !ruby/object:Gem::Dependency
|
174
|
-
name:
|
174
|
+
name: sassc
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
176
|
+
requirements:
|
177
|
+
- - "~>"
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '2.4'
|
180
|
+
type: :runtime
|
181
|
+
prerelease: false
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
183
|
+
requirements:
|
184
|
+
- - "~>"
|
185
|
+
- !ruby/object:Gem::Version
|
186
|
+
version: '2.4'
|
187
|
+
- !ruby/object:Gem::Dependency
|
188
|
+
name: ffi
|
175
189
|
requirement: !ruby/object:Gem::Requirement
|
176
190
|
requirements:
|
177
191
|
- - "~>"
|
178
192
|
- !ruby/object:Gem::Version
|
179
|
-
version: '
|
193
|
+
version: '1.4'
|
180
194
|
- - ">="
|
181
195
|
- !ruby/object:Gem::Version
|
182
|
-
version:
|
196
|
+
version: 1.4.2
|
183
197
|
type: :runtime
|
184
198
|
prerelease: false
|
185
199
|
version_requirements: !ruby/object:Gem::Requirement
|
186
200
|
requirements:
|
187
201
|
- - "~>"
|
188
202
|
- !ruby/object:Gem::Version
|
189
|
-
version: '
|
203
|
+
version: '1.4'
|
190
204
|
- - ">="
|
191
205
|
- !ruby/object:Gem::Version
|
192
|
-
version:
|
206
|
+
version: 1.4.2
|
193
207
|
- !ruby/object:Gem::Dependency
|
194
208
|
name: haml
|
195
209
|
requirement: !ruby/object:Gem::Requirement
|
@@ -282,16 +296,22 @@ dependencies:
|
|
282
296
|
name: activesupport
|
283
297
|
requirement: !ruby/object:Gem::Requirement
|
284
298
|
requirements:
|
285
|
-
- - "
|
299
|
+
- - ">="
|
286
300
|
- !ruby/object:Gem::Version
|
287
|
-
version: '
|
301
|
+
version: '6.1'
|
302
|
+
- - "<"
|
303
|
+
- !ruby/object:Gem::Version
|
304
|
+
version: '8.0'
|
288
305
|
type: :runtime
|
289
306
|
prerelease: false
|
290
307
|
version_requirements: !ruby/object:Gem::Requirement
|
291
308
|
requirements:
|
292
|
-
- - "
|
309
|
+
- - ">="
|
293
310
|
- !ruby/object:Gem::Version
|
294
|
-
version: '
|
311
|
+
version: '6.1'
|
312
|
+
- - "<"
|
313
|
+
- !ruby/object:Gem::Version
|
314
|
+
version: '8.0'
|
295
315
|
- !ruby/object:Gem::Dependency
|
296
316
|
name: unicode-display_width
|
297
317
|
requirement: !ruby/object:Gem::Requirement
|
@@ -306,20 +326,48 @@ dependencies:
|
|
306
326
|
- - "~>"
|
307
327
|
- !ruby/object:Gem::Version
|
308
328
|
version: '1.4'
|
329
|
+
- !ruby/object:Gem::Dependency
|
330
|
+
name: webrick
|
331
|
+
requirement: !ruby/object:Gem::Requirement
|
332
|
+
requirements:
|
333
|
+
- - "~>"
|
334
|
+
- !ruby/object:Gem::Version
|
335
|
+
version: '1.7'
|
336
|
+
type: :runtime
|
337
|
+
prerelease: false
|
338
|
+
version_requirements: !ruby/object:Gem::Requirement
|
339
|
+
requirements:
|
340
|
+
- - "~>"
|
341
|
+
- !ruby/object:Gem::Version
|
342
|
+
version: '1.7'
|
343
|
+
- !ruby/object:Gem::Dependency
|
344
|
+
name: psych
|
345
|
+
requirement: !ruby/object:Gem::Requirement
|
346
|
+
requirements:
|
347
|
+
- - "~>"
|
348
|
+
- !ruby/object:Gem::Version
|
349
|
+
version: '4.0'
|
350
|
+
type: :runtime
|
351
|
+
prerelease: false
|
352
|
+
version_requirements: !ruby/object:Gem::Requirement
|
353
|
+
requirements:
|
354
|
+
- - "~>"
|
355
|
+
- !ruby/object:Gem::Version
|
356
|
+
version: '4.0'
|
309
357
|
- !ruby/object:Gem::Dependency
|
310
358
|
name: rspec
|
311
359
|
requirement: !ruby/object:Gem::Requirement
|
312
360
|
requirements:
|
313
361
|
- - "~>"
|
314
362
|
- !ruby/object:Gem::Version
|
315
|
-
version: '3.
|
363
|
+
version: '3.10'
|
316
364
|
type: :development
|
317
365
|
prerelease: false
|
318
366
|
version_requirements: !ruby/object:Gem::Requirement
|
319
367
|
requirements:
|
320
368
|
- - "~>"
|
321
369
|
- !ruby/object:Gem::Version
|
322
|
-
version: '3.
|
370
|
+
version: '3.10'
|
323
371
|
- !ruby/object:Gem::Dependency
|
324
372
|
name: rspec-retry
|
325
373
|
requirement: !ruby/object:Gem::Requirement
|
@@ -410,14 +458,14 @@ dependencies:
|
|
410
458
|
requirements:
|
411
459
|
- - "~>"
|
412
460
|
- !ruby/object:Gem::Version
|
413
|
-
version: '0.
|
461
|
+
version: '0.20'
|
414
462
|
type: :development
|
415
463
|
prerelease: false
|
416
464
|
version_requirements: !ruby/object:Gem::Requirement
|
417
465
|
requirements:
|
418
466
|
- - "~>"
|
419
467
|
- !ruby/object:Gem::Version
|
420
|
-
version: '0.
|
468
|
+
version: '0.20'
|
421
469
|
description: 小説家になろうで公開されている小説の管理、及び電子書籍データへの変換を支援します。縦書用に特化されており、横書き用に特化されたWEB小説を違和感なく縦書で読むことが出来るようになります。
|
422
470
|
email:
|
423
471
|
- 2nd.leaf@gmail.com
|
@@ -661,12 +709,12 @@ metadata: {}
|
|
661
709
|
post_install_message: |
|
662
710
|
************************************************************
|
663
711
|
|
664
|
-
3.
|
712
|
+
3.8.0: 2021/06/27
|
665
713
|
-----------------
|
666
714
|
#### 修正内容
|
667
|
-
-
|
668
|
-
|
669
|
-
|
715
|
+
- タイトル名もしくは作者名に特定の記号を使うことで任意のコードを実行できて
|
716
|
+
しまう問題を修正 [CVE-2021-35514]
|
717
|
+
- この問題を発見した RyotaK に感謝します
|
670
718
|
|
671
719
|
************************************************************
|
672
720
|
rdoc_options: []
|
@@ -683,8 +731,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
683
731
|
- !ruby/object:Gem::Version
|
684
732
|
version: '0'
|
685
733
|
requirements: []
|
686
|
-
rubygems_version: 3.
|
687
|
-
signing_key:
|
734
|
+
rubygems_version: 3.2.15
|
735
|
+
signing_key:
|
688
736
|
specification_version: 4
|
689
737
|
summary: Narou.rb ― 小説家になろうダウンローダ&縦書用整形スクリプト
|
690
738
|
test_files: []
|