@duplicati/ngclient 0.0.135 → 0.0.137

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.
Files changed (152) hide show
  1. package/assets/spk.woff2 +0 -0
  2. package/{chunk-FC45TEB6.js → chunk-2BX65XJQ.js} +1 -1
  3. package/{chunk-5MMV45NA.js → chunk-2G6TVFPZ.js} +1 -1
  4. package/chunk-2W6BEUGU.js +1 -0
  5. package/chunk-2YMUOQLP.js +1 -0
  6. package/{chunk-U44OBOIE.js → chunk-32366MQR.js} +1 -1
  7. package/chunk-3B3CD5KI.js +1 -0
  8. package/chunk-3JKXOOME.js +1 -0
  9. package/{chunk-D3OE4S5N.js → chunk-42LUYQ5S.js} +1 -1
  10. package/{chunk-TTFJPAWM.js → chunk-4AWC7A44.js} +1 -1
  11. package/chunk-5LGMQ3QI.js +1 -0
  12. package/chunk-6JQM2X3B.js +1 -0
  13. package/chunk-7E4SLHH6.js +1 -0
  14. package/chunk-7GUJ7DYP.js +1 -0
  15. package/{chunk-HMK6M2N7.js → chunk-7MV7VPDB.js} +1 -1
  16. package/chunk-A4BYE2OQ.js +1 -0
  17. package/{chunk-EW3XN62R.js → chunk-AFLQOHXV.js} +1 -1
  18. package/{chunk-PSPK4OPB.js → chunk-AM7RYTIO.js} +1 -1
  19. package/{chunk-5RPDEEQ3.js → chunk-B26UYXA3.js} +1 -1
  20. package/{chunk-JDCGGJ7O.js → chunk-B6OIHB5W.js} +1 -1
  21. package/{chunk-ZIJ7ZEHR.js → chunk-BCHZRC5K.js} +1 -1
  22. package/chunk-BEUZGUTP.js +1 -0
  23. package/chunk-BTMXQPBB.js +7 -0
  24. package/chunk-BUHA4W4I.js +1 -0
  25. package/chunk-CWLTHXVS.js +1 -0
  26. package/{chunk-O4HSW7GI.js → chunk-DBD6FOQL.js} +1 -1
  27. package/{chunk-XZWXLEK2.js → chunk-DDOT2PJU.js} +3 -3
  28. package/{chunk-XD6MBGQY.js → chunk-DNJOKPEL.js} +1 -1
  29. package/{chunk-5CUMYXCI.js → chunk-EKP3ML6M.js} +1 -1
  30. package/{chunk-CFESUDFC.js → chunk-EL7ZWMW3.js} +1 -1
  31. package/{chunk-IVP5ZHDB.js → chunk-ELFZD53L.js} +1 -1
  32. package/chunk-ETPRQPCV.js +1 -0
  33. package/chunk-FY7P6D7L.js +1 -0
  34. package/{chunk-OQHMS5HM.js → chunk-FZG6OXT3.js} +1 -1
  35. package/chunk-GHXNDRQC.js +1 -0
  36. package/chunk-HLYFP2CB.js +1 -0
  37. package/{chunk-UZTRBMWL.js → chunk-HN6NEFVX.js} +1 -1
  38. package/{chunk-VVJBMGZR.js → chunk-HYVO7UIG.js} +1 -1
  39. package/chunk-JFOXV66M.js +1 -0
  40. package/chunk-JHBG6CNS.js +1 -0
  41. package/chunk-JM7VAPIC.js +1 -0
  42. package/{chunk-BKHSNMGE.js → chunk-JOUBVX7V.js} +1 -1
  43. package/chunk-KTU3Q35O.js +1 -0
  44. package/chunk-KZQCOYF7.js +1 -0
  45. package/{chunk-PL2MNRTA.js → chunk-L5Y36SCW.js} +1 -1
  46. package/chunk-LDIHJZUP.js +1 -0
  47. package/chunk-LDIZ5E5Z.js +1 -0
  48. package/{chunk-NZD6UMYZ.js → chunk-MFURKVTP.js} +1 -1
  49. package/chunk-MQTQESMQ.js +1 -0
  50. package/chunk-NMNBM72U.js +1 -0
  51. package/chunk-NS4PAVKI.js +1 -0
  52. package/chunk-NSIELNIY.js +1 -0
  53. package/chunk-OZLEURDK.js +6 -0
  54. package/chunk-P4KFR7NY.js +1 -0
  55. package/chunk-P4KOC4NP.js +1 -0
  56. package/{chunk-MDO4PWV6.js → chunk-QBJGIKPM.js} +1 -1
  57. package/{chunk-EQS67O4J.js → chunk-QD2GV7XN.js} +1 -1
  58. package/chunk-QR64BSPX.js +1 -0
  59. package/{chunk-CRALFIWB.js → chunk-QVEGV6V6.js} +1 -1
  60. package/chunk-RIVEONGL.js +1 -0
  61. package/{chunk-VG6LA5R3.js → chunk-RVPCSXUI.js} +1 -1
  62. package/{chunk-WBYTRHI7.js → chunk-SLJD5T2G.js} +1 -1
  63. package/chunk-SMQWGV7N.js +1 -0
  64. package/chunk-SYUL4YZN.js +1 -0
  65. package/chunk-UM3LTU7N.js +1 -0
  66. package/{chunk-4VPA3END.js → chunk-UZK7ABRM.js} +1 -1
  67. package/chunk-V5YSQG4X.js +2 -0
  68. package/{chunk-ZUXVEXBA.js → chunk-VKUSJRIK.js} +1 -1
  69. package/{chunk-PEPDXQBY.js → chunk-VPTK3JCV.js} +1 -1
  70. package/{chunk-QNWYJ7OR.js → chunk-WF6EAWTW.js} +1 -1
  71. package/{chunk-J64ETWKB.js → chunk-WRWIBPXL.js} +1 -1
  72. package/{chunk-3Q5JEF3K.js → chunk-WXARH2SG.js} +1 -1
  73. package/{chunk-L6BZ6TEU.js → chunk-X7SFNRJF.js} +1 -1
  74. package/{chunk-TIPHYMRQ.js → chunk-XBJRRUMO.js} +1 -1
  75. package/chunk-XIIFTZ5G.js +1 -0
  76. package/chunk-XPQBJ7EY.js +1 -0
  77. package/chunk-Y5IRBMLB.js +1 -0
  78. package/chunk-Y73FO7VJ.js +1 -0
  79. package/chunk-YONVHISY.js +1 -0
  80. package/chunk-YR3TOOC3.js +1 -0
  81. package/chunk-YSJGV5SH.js +1 -0
  82. package/chunk-ZZNFOL3R.js +1 -0
  83. package/index.html +2 -2
  84. package/locale/messages.cs.json +22 -1
  85. package/locale/messages.da.json +24 -1
  86. package/locale/messages.de.json +212 -23
  87. package/locale/messages.en_GB.json +24 -1
  88. package/locale/messages.es.json +25 -1
  89. package/locale/messages.fi.json +32 -3
  90. package/locale/messages.fr.json +20 -1
  91. package/locale/messages.hu.json +26 -3
  92. package/locale/messages.it.json +40 -26
  93. package/locale/messages.ja_JP.json +28 -1
  94. package/locale/messages.nl_NL.json +166 -22
  95. package/locale/messages.pl.json +20 -1
  96. package/locale/messages.pt.json +19 -1
  97. package/locale/messages.pt_BR.json +19 -1
  98. package/locale/messages.ru.json +33 -3
  99. package/locale/messages.sr_RS.json +32 -3
  100. package/locale/messages.sv_SE.json +32 -3
  101. package/locale/messages.zh-Hans.json +25 -9
  102. package/locale/messages.zh_CN.json +27 -18
  103. package/locale/messages.zh_TW.json +25 -3
  104. package/{main-AAKJETTU.js → main-J4GINH4P.js} +1 -1
  105. package/package.json +1 -1
  106. package/styles-IH5IS4WG.css +1 -0
  107. package/chunk-3UUTPGTW.js +0 -1
  108. package/chunk-4WUC2NLU.js +0 -1
  109. package/chunk-5XSYLFRW.js +0 -1
  110. package/chunk-62DY5NTG.js +0 -1
  111. package/chunk-67XQIEG5.js +0 -1
  112. package/chunk-67YRCRMI.js +0 -7
  113. package/chunk-6HFJTYBK.js +0 -1
  114. package/chunk-7J7GUBLS.js +0 -1
  115. package/chunk-B6DE3TTE.js +0 -1
  116. package/chunk-BC3MLJH3.js +0 -1
  117. package/chunk-BHSG643V.js +0 -1
  118. package/chunk-BSRYIN2F.js +0 -1
  119. package/chunk-DE64A2ZS.js +0 -1
  120. package/chunk-DNBOZ26J.js +0 -1
  121. package/chunk-DQM3ATT4.js +0 -1
  122. package/chunk-EVINCUTE.js +0 -1
  123. package/chunk-EWZGGCZ7.js +0 -1
  124. package/chunk-FZTQVXG4.js +0 -1
  125. package/chunk-G6LCHQJE.js +0 -1
  126. package/chunk-GORQL5YP.js +0 -1
  127. package/chunk-GP2W7XZF.js +0 -1
  128. package/chunk-HD37ILAE.js +0 -6
  129. package/chunk-HE5L47WR.js +0 -1
  130. package/chunk-HJQBTK5I.js +0 -1
  131. package/chunk-HLBBIEIQ.js +0 -1
  132. package/chunk-HWUEL5ZO.js +0 -1
  133. package/chunk-IDAED3OA.js +0 -1
  134. package/chunk-IPC6G72N.js +0 -1
  135. package/chunk-JHVU3HSL.js +0 -1
  136. package/chunk-O3JEFNCL.js +0 -1
  137. package/chunk-OHEFY2D6.js +0 -1
  138. package/chunk-OTM4ZTG4.js +0 -1
  139. package/chunk-SAISKISU.js +0 -1
  140. package/chunk-SMNWIGMY.js +0 -1
  141. package/chunk-SSMDFXE3.js +0 -1
  142. package/chunk-UWF5JLY2.js +0 -1
  143. package/chunk-V6WRFB7W.js +0 -1
  144. package/chunk-VA5XDNCD.js +0 -1
  145. package/chunk-VFVXE2DC.js +0 -1
  146. package/chunk-WESN3ZUC.js +0 -1
  147. package/chunk-WZDQFHUJ.js +0 -2
  148. package/chunk-Y4IRFRVB.js +0 -1
  149. package/chunk-Y7OD7PZG.js +0 -1
  150. package/chunk-YW7YXFSC.js +0 -1
  151. package/chunk-ZCT7SRIM.js +0 -1
  152. package/styles-4QA7NM7N.css +0 -1
@@ -19,7 +19,38 @@
19
19
  "9021887951960049161": "Bekräfta borttagning",
20
20
  "4489627619329080013": "Radera säkerhetskopia",
21
21
  "8998179362936748717": "OK",
22
+ "8911059720204770105": "Sökväg",
23
+ "2188854519574316630": "Server",
24
+ "6117946241126833991": "Port",
25
+ "3063621350011509567": "Mappsökväg",
26
+ "5826944082599109984": "S3 Kompatibel",
27
+ "6225017594735493582": "Bucket namn",
28
+ "2974956065423158526": "Google Cloud Storage",
29
+ "1592625207589774627": "Google Drive",
30
+ "6135071031116720136": "Behållarnamn",
31
+ "8192419514129699261": "Kontonamn",
32
+ "5208346970841973547": "Sökväg på servern",
33
+ "8305208554017693899": "Microsoft SharePoint",
34
+ "3650610066444563362": "Microsoft SharePoint v2",
35
+ "730703184011067892": "Dropbox",
36
+ "1828758656215814459": "Box.com",
37
+ "4182355748133624753": "Jottacloud",
38
+ "2391709980016316191": "B2 Cloud Storage",
39
+ "5248717555542428023": "Användarnamn",
22
40
  "1431416938026210429": "Lösenord",
41
+ "598839942059191430": "Microsoft Office 365 Group",
42
+ "1618818512996162696": "Grupp-epost",
43
+ "5118817596420170522": "Rackspace CloudFiles",
44
+ "1879517876731100451": "Rclone",
45
+ "4206380462628164369": "Lokalt arkiv",
46
+ "9125368577826703997": "Fjärr repository",
47
+ "8720332287407681000": "Bucket",
48
+ "8893412912393613367": "WebDAV",
49
+ "5266103021965994312": "Använd SSL",
50
+ "3426168472695783385": "Alternativ FTP",
51
+ "4535111608023460568": "FTP",
52
+ "8050244774979733855": "Satellit",
53
+ "8517109745758603034": "API-nyckel",
23
54
  "441775147584593226": "Allmän inställningar för säkerhetskopia",
24
55
  "8255877266497322342": "Kryptering",
25
56
  "1755805413339441073": "Lösenfras",
@@ -49,13 +80,12 @@
49
80
  "4845030128243887325": "Månader",
50
81
  "953022389548488004": "År",
51
82
  "224973670174608722": "Källdata",
52
- "3063621350011509567": "Mappsökväg",
53
- "8911059720204770105": "Sökväg",
54
83
  "910026778839409110": "Lägg till filter",
55
84
  "5668077948386857930": "Exkludera",
56
85
  "4870633869236300156": "Gömda filer",
57
86
  "7399702730809197610": "Systemfiler",
58
87
  "7611381050409609850": "Tillfälliga filer",
88
+ "3536233353612358287": "Dator",
59
89
  "585737897051631942": "Tills den återupptas",
60
90
  "8863666082945976589": "Inga schemalagda uppgifter",
61
91
  "1567982897123322443": "Startar säkerhetskopiering ...",
@@ -101,7 +131,6 @@
101
131
  "2976874496010813887": "Säkerhetskopian var tillfällig och existerar inte längre, så logg-data går förlorad",
102
132
  "6490648157632610005": "Återställ alternativ",
103
133
  "2601306210394871786": "Hur vill du hantera existerande filer?",
104
- "7314814725704332646": "Behörigheter",
105
134
  "325172806395484991": "Välj filer",
106
135
  "527691487030937649": "Var vill du återställa från?",
107
136
  "4930506384627295710": "Inställningar",
@@ -83,11 +83,8 @@
83
83
  "5835203083538785597": "确认删除这个备份吗?",
84
84
  "4489627619329080013": "删除备份",
85
85
  "297083673179540834": "当前备份后端类型 {$START_TAG_STRONG}{$INTERPOLATION}.{$CLOSE_TAG_STRONG}{$LINE_BREAK} 想要更换后端类型吗? {$START_TAG_SPAN}点击更换{$CLOSE_TAG_SPAN}",
86
- "4502276696997510312": "其它后端",
87
86
  "6897142954122660647": "{$START_TAG_SPK_ICON}arrow-left{$CLOSE_TAG_SPK_ICON} 返回",
88
- "1985492856544078017": "{$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON} 继续",
89
87
  "7962953130203958368": "编辑目标地址",
90
- "6147192655453310156": "请小心填写,这将覆盖当前后端中的所有内容。",
91
88
  "738940470889774841": "覆写目标地址 {$START_TAG_SPK_ICON}swap{$CLOSE_TAG_SPK_ICON}",
92
89
  "1409527397857081529": "文件夹中包含备份数据",
93
90
  "8037546150888700711": "此远程后端中已经存在一个备份数据了。你必须为每一个备份选择不同的备份后端位置。",
@@ -95,19 +92,42 @@
95
92
  "6105401799842765682": "文件夹不为空",
96
93
  "3017607400660862943": "远程后端地址不为空。强烈建议选择一个空文件夹储存备份数据。",
97
94
  "8911059720204770105": "路径",
95
+ "2188854519574316630": "服务器",
96
+ "6117946241126833991": "端口",
98
97
  "3063621350011509567": "文件夹目录",
99
98
  "5826944082599109984": "S3 兼容",
99
+ "6225017594735493582": "Bucket 名称",
100
+ "2974956065423158526": "Google Cloud Storage",
101
+ "1592625207589774627": "Google Drive",
100
102
  "6135071031116720136": "容器名称",
103
+ "8192419514129699261": "用户名",
104
+ "1956226327175747295": "访问密钥",
105
+ "5208346970841973547": "服务器上路径",
106
+ "8305208554017693899": "Microsoft SharePoint",
101
107
  "3650610066444563362": "Microsoft SharePoint v2",
102
108
  "730703184011067892": "Dropbox",
109
+ "1828758656215814459": "Box.com",
103
110
  "4182355748133624753": "Jottacloud",
111
+ "2391709980016316191": "B2 Cloud Storage",
112
+ "6620903652878498037": "IDrive e2",
113
+ "5248717555542428023": "用户名",
104
114
  "1431416938026210429": "密码",
115
+ "598839942059191430": "Microsoft Office 365 群组",
116
+ "1618818512996162696": "群组邮箱",
105
117
  "1879517876731100451": "Rclone",
118
+ "4206380462628164369": "本地仓库",
119
+ "9125368577826703997": "远程仓库",
120
+ "8720332287407681000": "Bucket",
106
121
  "2724055831234181057": "版本",
122
+ "4242845413151034495": "域名",
123
+ "5934961163128207428": "租户名",
107
124
  "2702200797962830082": "Region",
108
125
  "8893412912393613367": "WebDAV",
109
126
  "5266103021965994312": "启用 SSL",
127
+ "3426168472695783385": "备用 FTP",
128
+ "4535111608023460568": "FTP",
110
129
  "8319916360691242924": "COS 机密密钥",
130
+ "5297710070167842134": "API 令牌",
111
131
  "8050244774979733855": "卫星",
112
132
  "8197963425703827499": "{$START_TAG_SPK_ICON}export{$CLOSE_TAG_SPK_ICON} 导出",
113
133
  "8665135189152588486": "{$START_TAG_SPK_ICON}terminal-window{$CLOSE_TAG_SPK_ICON} 导出为命令行",
@@ -194,6 +214,7 @@
194
214
  "312917585114633035": "周五 {$TAG_INPUT}",
195
215
  "1804157721345900735": "周六 {$TAG_INPUT}",
196
216
  "1246573047244104860": "周日 {$TAG_INPUT}",
217
+ "1985492856544078017": "{$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON} 继续",
197
218
  "8874012390997067175": "秒",
198
219
  "5531237363767747080": "分钟",
199
220
  "8070396816726827304": "小时",
@@ -211,11 +232,8 @@
211
232
  "910026778839409110": "添加过滤条件",
212
233
  "5668077948386857930": "排除",
213
234
  "5067457499210408217": "选择需要排除的文件。",
214
- "2377718349295597192": "隐藏文件 {$TAG_INPUT}",
215
235
  "4870633869236300156": "隐藏文件",
216
- "6654149289409647687": "系统文件 {$TAG_INPUT}",
217
236
  "7399702730809197610": "系统文件",
218
- "6721784118688558818": "临时文件 {$TAG_INPUT}",
219
237
  "7611381050409609850": "临时文件",
220
238
  "6151395787635493072": "文件大于",
221
239
  "7515883357904500238": "确定吗?",
@@ -223,6 +241,7 @@
223
241
  "1272370515624537561": "与服务器的连接已丢失,将于 {$START_TAG_STRONG}0:{$INTERPOLATION}{$CLOSE_TAG_STRONG} 之后重试",
224
242
  "6351291189195117165": "手动输入路径",
225
243
  "140764604930103244": "显示隐藏文件 {$INTERPOLATION}",
244
+ "3536233353612358287": "计算机",
226
245
  "5747571579646724655": "通知 {$START_TAG_BUTTON}{$START_TAG_SPK_ICON}x-circle{$CLOSE_TAG_SPK_ICON}{$CLOSE_TAG_BUTTON}",
227
246
  "6338307542699418921": "警报 {$START_TAG_BUTTON}{$START_TAG_SPK_ICON}x-circle{$CLOSE_TAG_SPK_ICON}{$CLOSE_TAG_BUTTON}",
228
247
  "1664090471564748319": "暂未收到警告",
@@ -380,12 +399,10 @@
380
399
  "2601306210394871786": "您想怎样处理已存在的文件?",
381
400
  "1422363217816215218": "覆盖 {$TAG_INPUT}",
382
401
  "2509096890282914016": "保留不同的版本,并在文件名称中添加时间戳 {$TAG_INPUT}",
383
- "7314814725704332646": "权限设置",
384
402
  "604878542023261717": "恢复原始的读/写权限 {$TAG_INPUT}",
385
403
  "7272784983659933714": "输入备份的密码 (若存在)",
386
404
  "523132197967351935": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 加密方式",
387
405
  "3080584926843453062": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 选择文件",
388
- "5150996090396714370": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 进度",
389
406
  "1814609768842652084": "加重备份文件时发生错误: {$PH}",
390
407
  "4522995268741023396": "远程备份后端已加密。请输入密码以访问备份数据。",
391
408
  "7257147754379383116": "未找到备份储存文件。",
@@ -401,7 +418,6 @@
401
418
  "8264839983147966663": "从设置文件中恢复 {$START_TAG_DIV}{$START_TAG_BUTTON}{$START_TAG_SPK_ICON}arrow-left{$CLOSE_TAG_SPK_ICON} 返回 {$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPK_ICON}download-simple{$CLOSE_TAG_SPK_ICON} 恢复 {$CLOSE_TAG_BUTTON}{$CLOSE_TAG_DIV}",
402
419
  "2351337624853836837": "选择一个设置文件",
403
420
  "527691487030937649": "您想从哪里恢复呢?",
404
- "2402347711190740688": "恢复 {$INTERPOLATION}",
405
421
  "6121258177180845233": "恢复 {$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON}",
406
422
  "3891152409365583719": "设置已保存",
407
423
  "8008550364351900929": "{$START_TAG_SPK_ICON}floppy-disk{$CLOSE_TAG_SPK_ICON} 保存设置",
@@ -83,11 +83,8 @@
83
83
  "5835203083538785597": "确认删除这个备份吗?",
84
84
  "4489627619329080013": "删除备份",
85
85
  "297083673179540834": "当前备份后端类型 {$START_TAG_STRONG}{$INTERPOLATION}.{$CLOSE_TAG_STRONG}{$LINE_BREAK} 想要更换后端类型吗? {$START_TAG_SPAN}点击更换{$CLOSE_TAG_SPAN}",
86
- "4502276696997510312": "其它后端",
87
86
  "6897142954122660647": "{$START_TAG_SPK_ICON}arrow-left{$CLOSE_TAG_SPK_ICON} 返回",
88
- "1985492856544078017": "{$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON} 继续",
89
87
  "7962953130203958368": "编辑目标地址",
90
- "6147192655453310156": "请小心填写,这将覆盖当前后端中的所有内容。",
91
88
  "738940470889774841": "覆写目标地址 {$START_TAG_SPK_ICON}swap{$CLOSE_TAG_SPK_ICON}",
92
89
  "1409527397857081529": "文件夹中包含备份数据",
93
90
  "8037546150888700711": "此远程后端中已经存在一个备份数据了。你必须为每一个备份选择不同的备份后端位置。",
@@ -95,20 +92,43 @@
95
92
  "6105401799842765682": "文件夹不为空",
96
93
  "3017607400660862943": "远程后端地址不为空。强烈建议选择一个空文件夹储存备份数据。",
97
94
  "8911059720204770105": "路径",
95
+ "2188854519574316630": "服务器",
96
+ "6117946241126833991": "端口",
98
97
  "3063621350011509567": "文件夹目录",
99
98
  "5826944082599109984": "S3 兼容",
99
+ "6225017594735493582": "Bucket 名称",
100
+ "2974956065423158526": "Google Cloud Storage",
101
+ "1592625207589774627": "Google Drive",
100
102
  "6135071031116720136": "容器名称",
103
+ "8192419514129699261": "用户名",
104
+ "1956226327175747295": "访问密钥",
105
+ "5208346970841973547": "服务器上路径",
106
+ "8305208554017693899": "Microsoft SharePoint",
101
107
  "3650610066444563362": "Microsoft SharePoint v2",
102
108
  "730703184011067892": "Dropbox",
109
+ "1828758656215814459": "Box.com",
103
110
  "4182355748133624753": "Jottacloud",
111
+ "2391709980016316191": "B2 Cloud Storage",
112
+ "6620903652878498037": "IDrive e2",
113
+ "5248717555542428023": "用户名",
104
114
  "1431416938026210429": "密码",
115
+ "598839942059191430": "Microsoft Office 365 群组",
116
+ "1618818512996162696": "群组邮箱",
105
117
  "5118817596420170522": "Rackspace CloudFiles",
106
118
  "1879517876731100451": "Rclone",
119
+ "4206380462628164369": "本地仓库",
120
+ "9125368577826703997": "远程仓库",
121
+ "8720332287407681000": "Bucket",
107
122
  "2724055831234181057": "版本",
123
+ "4242845413151034495": "域名",
124
+ "5934961163128207428": "租户名",
108
125
  "2702200797962830082": "Region",
109
126
  "8893412912393613367": "WebDAV",
110
127
  "5266103021965994312": "启用 SSL",
128
+ "3426168472695783385": "备用 FTP",
129
+ "4535111608023460568": "FTP",
111
130
  "8319916360691242924": "COS 机密密钥",
131
+ "5297710070167842134": "API 令牌",
112
132
  "8050244774979733855": "Satellite",
113
133
  "8517109745758603034": "API 密钥",
114
134
  "8197963425703827499": "{$START_TAG_SPK_ICON}export{$CLOSE_TAG_SPK_ICON} 导出",
@@ -196,6 +216,7 @@
196
216
  "312917585114633035": "周五 {$TAG_INPUT}",
197
217
  "1804157721345900735": "周六 {$TAG_INPUT}",
198
218
  "1246573047244104860": "周日 {$TAG_INPUT}",
219
+ "1985492856544078017": "{$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON} 继续",
199
220
  "8874012390997067175": "秒",
200
221
  "5531237363767747080": "分钟",
201
222
  "8070396816726827304": "小时",
@@ -213,11 +234,8 @@
213
234
  "910026778839409110": "添加过滤条件",
214
235
  "5668077948386857930": "排除",
215
236
  "5067457499210408217": "选择需要排除的文件。",
216
- "2377718349295597192": "隐藏文件 {$TAG_INPUT}",
217
237
  "4870633869236300156": "隐藏文件",
218
- "6654149289409647687": "系统文件 {$TAG_INPUT}",
219
238
  "7399702730809197610": "系统文件",
220
- "6721784118688558818": "临时文件 {$TAG_INPUT}",
221
239
  "7611381050409609850": "临时文件",
222
240
  "6151395787635493072": "文件大于",
223
241
  "7515883357904500238": "确定吗?",
@@ -225,6 +243,7 @@
225
243
  "1272370515624537561": "与服务器的连接已丢失,将于 {$START_TAG_STRONG}0:{$INTERPOLATION}{$CLOSE_TAG_STRONG} 之后重试",
226
244
  "6351291189195117165": "手动输入路径",
227
245
  "140764604930103244": "显示隐藏文件 {$INTERPOLATION}",
246
+ "3536233353612358287": "计算机",
228
247
  "5747571579646724655": "通知 {$START_TAG_BUTTON}{$START_TAG_SPK_ICON}x-circle{$CLOSE_TAG_SPK_ICON}{$CLOSE_TAG_BUTTON}",
229
248
  "6338307542699418921": "警报 {$START_TAG_BUTTON}{$START_TAG_SPK_ICON}x-circle{$CLOSE_TAG_SPK_ICON}{$CLOSE_TAG_BUTTON}",
230
249
  "1664090471564748319": "暂未收到警告",
@@ -305,15 +324,8 @@
305
324
  "2731725186793285464": "源文件大小",
306
325
  "7861281820374200555": "后端大小",
307
326
  "7410432243549869948": "用时",
308
- "8149679858799280161": "备份 ID (降序)",
309
- "3571057299734435815": "备份名称 (降序)",
310
- "1381387501087934175": "上次运行时间 (降序)",
311
- "5990428901007951478": "下次运行时间 (降序)",
312
- "261681077596084341": "计划运行 (降序)",
313
- "4897903973579744203": "后端类型 (降序)",
314
- "6113605807319696390": "源文件大小 (降序)",
315
- "7002045189944465670": "后端大小 (降序)",
316
- "8973134407260426781": "用时 (降序)",
327
+ "7276123141026532901": "后端大小 (降序)",
328
+ "2557674464792014090": "用时 (降序)",
317
329
  "1378871011999089271": "备份",
318
330
  "8999782137177065427": "备份将储存在云端,并且能够随时恢复。",
319
331
  "2189252250041336479": "添加 {$START_TAG_SPK_ICON}plus{$CLOSE_TAG_SPK_ICON}",
@@ -382,12 +394,10 @@
382
394
  "2601306210394871786": "您想怎样处理已存在的文件?",
383
395
  "1422363217816215218": "覆盖 {$TAG_INPUT}",
384
396
  "2509096890282914016": "保留不同的版本,并在文件名称中添加时间戳 {$TAG_INPUT}",
385
- "7314814725704332646": "权限设置",
386
397
  "604878542023261717": "恢复原始的读/写权限 {$TAG_INPUT}",
387
398
  "7272784983659933714": "输入备份的密码 (若存在)",
388
399
  "523132197967351935": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 加密方式",
389
400
  "3080584926843453062": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 选择文件",
390
- "5150996090396714370": "{$START_TAG_SPK_RADIO}{$CLOSE_TAG_SPK_RADIO} 进度",
391
401
  "1814609768842652084": "加重备份文件时发生错误: {$PH}",
392
402
  "4522995268741023396": "远程备份后端已加密。请输入密码以访问备份数据。",
393
403
  "7257147754379383116": "未找到备份储存文件。",
@@ -403,7 +413,6 @@
403
413
  "8264839983147966663": "从设置文件中恢复 {$START_TAG_DIV}{$START_TAG_BUTTON}{$START_TAG_SPK_ICON}arrow-left{$CLOSE_TAG_SPK_ICON} 返回 {$CLOSE_TAG_BUTTON}{$START_TAG_BUTTON_1}{$START_TAG_SPK_ICON}download-simple{$CLOSE_TAG_SPK_ICON} 恢复 {$CLOSE_TAG_BUTTON}{$CLOSE_TAG_DIV}",
404
414
  "2351337624853836837": "选择一个设置文件",
405
415
  "527691487030937649": "您想从哪里恢复呢?",
406
- "2402347711190740688": "恢复 {$INTERPOLATION}",
407
416
  "6121258177180845233": "恢复 {$START_TAG_SPK_ICON}arrow-right{$CLOSE_TAG_SPK_ICON}",
408
417
  "3891152409365583719": "设置已保存",
409
418
  "8008550364351900929": "{$START_TAG_SPK_ICON}floppy-disk{$CLOSE_TAG_SPK_ICON} 保存设置",
@@ -19,7 +19,32 @@
19
19
  "9021887951960049161": "確認刪除",
20
20
  "4489627619329080013": "刪除備份",
21
21
  "8998179362936748717": "確定",
22
+ "8911059720204770105": "路徑",
23
+ "2188854519574316630": "伺服器",
24
+ "6117946241126833991": "連接埠",
25
+ "3063621350011509567": "資料夾路徑",
26
+ "5826944082599109984": "S3 相容",
27
+ "6225017594735493582": "Bucket 名稱",
28
+ "2974956065423158526": "Google Cloud Storage",
29
+ "1592625207589774627": "Google Drive",
30
+ "6135071031116720136": "容器名稱",
31
+ "8192419514129699261": "帳號名稱",
32
+ "5208346970841973547": "伺服器路徑",
33
+ "8305208554017693899": "Microsoft SharePoint",
34
+ "730703184011067892": "Dropbox",
35
+ "1828758656215814459": "Box.com",
36
+ "4182355748133624753": "Jottacloud",
37
+ "2391709980016316191": "B2 Cloud Storage",
38
+ "5248717555542428023": "使用者",
22
39
  "1431416938026210429": "密碼",
40
+ "1618818512996162696": "群組郵件",
41
+ "1879517876731100451": "Rclone",
42
+ "4206380462628164369": "本機 repository",
43
+ "9125368577826703997": "遠端 repository",
44
+ "8893412912393613367": "WebDAV",
45
+ "5266103021965994312": "使用 SSL",
46
+ "4535111608023460568": "FTP",
47
+ "8517109745758603034": "API Key",
23
48
  "6451269955734195952": "密碼不符",
24
49
  "441775147584593226": "一般備份設定",
25
50
  "8255877266497322342": "加密方式",
@@ -50,8 +75,6 @@
50
75
  "4845030128243887325": "月",
51
76
  "953022389548488004": "年",
52
77
  "224973670174608722": "來源資料",
53
- "3063621350011509567": "資料夾路徑",
54
- "8911059720204770105": "路徑",
55
78
  "910026778839409110": "加入篩選條件",
56
79
  "5668077948386857930": "例外",
57
80
  "4870633869236300156": "隱藏檔案",
@@ -103,7 +126,6 @@
103
126
  "2976874496010813887": "這是已經不存在的臨時備份,因此已無記錄資料。",
104
127
  "6490648157632610005": "還原選項",
105
128
  "2601306210394871786": "您如何處理既有檔案?",
106
- "7314814725704332646": "權限",
107
129
  "325172806395484991": "選擇檔案",
108
130
  "527691487030937649": "您要從那裡還原?",
109
131
  "4930506384627295710": "設定",
@@ -1 +1 @@
1
- import{b as be,c as Ce}from"./chunk-WZDQFHUJ.js";import{a as he}from"./chunk-EQS67O4J.js";import{a as I}from"./chunk-NZD6UMYZ.js";import"./chunk-B6DE3TTE.js";import"./chunk-VFVXE2DC.js";import"./chunk-FC45TEB6.js";import{a as P}from"./chunk-RHW5QVAY.js";import{a as L}from"./chunk-BHSG643V.js";import{a as de}from"./chunk-3Q5JEF3K.js";import{a as b,b as C,c as ue,d as E}from"./chunk-OQHMS5HM.js";import{c as ie,d as ae,g as pe,h as ce}from"./chunk-DQM3ATT4.js";import{a as ee}from"./chunk-BSRYIN2F.js";import{c as le}from"./chunk-DNBOZ26J.js";import{a as te,b as oe,d as ne,e as re,f as se,i as me}from"./chunk-XD6MBGQY.js";import{a as ge}from"./chunk-4VPA3END.js";import{la as Y,qa as Z}from"./chunk-GP2W7XZF.js";import"./chunk-WIDMAJIO.js";import{a as ye}from"./chunk-PSPK4OPB.js";import{b as fe}from"./chunk-JDCGGJ7O.js";import{A as x,Ac as q,B as G,Bc as X,F as w,Gc as Q,L as J,N as R,P as B,S as k,V as $,X as s,_a as _,f as j,fa as K,i as D,la as d,n as F,o as U,r as S,xb as z}from"./chunk-67YRCRMI.js";import"./chunk-EUDKD2JW.js";var M=class e{#o=s(b);#s=s(C);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=_({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&z(0,"router-outlet")},dependencies:[ie],encapsulation:2})};var Se={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var h=new $("ENVIRONMENT");var A=class e{#o=s(me);isLoaded=d(!1);webmodules=d(null);preload(t=!1){let o=this.#o.getApiV1Webmodules().pipe(B(n=>this.webmodules.set(n)),w(()=>this.isLoaded.set(!0)));if(t)return o;o.subscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=k({token:e,factory:e.\u0275fac,providedIn:"root"})};var Me=()=>{let e=s(E);return e.token()?!0:e.checkProxyAuthed().pipe(R(t=>t?F(!0):e.refreshToken().pipe(S(()=>!0))))},Ae=()=>{let e=s(C),t=s(I),o=s(K),n=e.relayIsEnabled()?"longpoll":"websocket",i=[o.get(L).preload(!0),o.get(L).preloadFilterGroups(!0),o.get(A).preload(!0)];return e.configLoaded===null?x(i).pipe(S(()=>n)):e.configLoaded?.pipe(R(()=>x(i)))},Re=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-D3OE4S5N.js")},{path:"logout",loadComponent:()=>import("./chunk-QNWYJ7OR.js")},{path:"",canActivate:[Me],children:[{path:"",canActivate:[Ae],loadComponent:()=>import("./chunk-VG6LA5R3.js"),children:[{path:"",loadComponent:()=>import("./chunk-WESN3ZUC.js")},{path:"add-backup",loadComponent:()=>import("./chunk-TTFJPAWM.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-SMNWIGMY.js")},{path:"backup/import",loadComponent:()=>import("./chunk-IPC6G72N.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-OTM4ZTG4.js"),loadChildren:()=>import("./chunk-OHEFY2D6.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-OTM4ZTG4.js"),loadChildren:()=>import("./chunk-OHEFY2D6.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-YW7YXFSC.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-EWZGGCZ7.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-XZWXLEK2.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-UZTRBMWL.js")},{path:"backup/:id/delete",loadComponent:()=>import("./chunk-BC3MLJH3.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-62DY5NTG.js")},{path:"from-config",loadComponent:()=>import("./chunk-MDO4PWV6.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-3UUTPGTW.js"),loadChildren:()=>import("./chunk-FZTQVXG4.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-3UUTPGTW.js"),loadChildren:()=>import("./chunk-FZTQVXG4.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-3UUTPGTW.js"),loadChildren:()=>import("./chunk-FZTQVXG4.js")},{path:"settings",loadComponent:()=>import("./chunk-VA5XDNCD.js")},{path:"about",loadComponent:()=>import("./chunk-VVJBMGZR.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-HMK6M2N7.js")},{path:"changelog",loadComponent:()=>import("./chunk-O4HSW7GI.js")},{path:"libraries",loadComponent:()=>import("./chunk-TIPHYMRQ.js")},{path:"system-info",loadComponent:()=>import("./chunk-CRALFIWB.js")},{path:"server-settings",loadComponent:()=>import("./chunk-5CUMYXCI.js")},{path:"logs",loadChildren:()=>import("./chunk-G6LCHQJE.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-J64ETWKB.js")}]}]}]}]}];var V=null,Te=(e,t)=>{let o=s(E),n=s(ae),i=s(b),l=s(h),r=i.getItem("locale"),u=s(le),a=be(r),p=e.url==="/api/v1/auth/login",m=e.url==="/api/v1/auth/refresh",v=e.url==="/api/v1/progressstate",g=e.url==="/api/v1/remoteoperation/test",y=e.url==="/api/v1/filesystem/validate",T=e.url.startsWith("/api/v2/"),N=o.token(),H=e,W=e.headers.has("custom-proxy-check")||N===ue;if(N&&e.url.startsWith(l.baseUrl)&&!W){let c=e.headers.set("Authorization",`Bearer ${N}`);r&&r!=="en-US"&&(c=c.set("X-Ui-Language",a)),H=e.clone({headers:c})}return t(H).pipe(S(c=>{if(c.type===4&&c.status===200&&T){let f=c.body;if(f?.Success===!1)throw{status:200,message:f?.Error??"Unknown error",error:{Error:f?.Error??"Unknown error"},body:f}}return c}),G(c=>{let f=c.error?.Error||`Error Code: ${c.status}, Message: ${c.message}`;return!W&&(v&&c.status===404||g||y||u.error(f),m&&c.status===401&&(o.logout(),n.navigate(["/logout"])),!p&&!m&&c.status===401)?(V??=o.refreshToken().pipe(J()),V.pipe(R(()=>t(e.clone({headers:e.headers.set("Authorization",`Bearer ${o.token()}`)}))),w(()=>V=null))):U(()=>({error:c,message:f}))}))};var Oe="1.0.0",we=`portal-proxy-client-${P()}`,Ne=1,O=class e{#o=1e3;#s=s(h);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=Q(()=>{let t=this.#i(),o=this.#l(),n=this.#a();if(!n||!t||!o||o<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(t){let o=Uint8Array.from(atob(t),i=>i.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(t,o){let n=o?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(t),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=l=>{let r=JSON.parse(l.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let a={token:t,publicKey:"",clientVersion:Oe,protocolVersion:Ne},p=this.createResponse(r,"authportal",a);this.#t.set("welcome"),this.#e?.send(p)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let a=this.#p.pop();a&&this.#r[a.messageId]&&this.activateCommand(a)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let a=this.#r[r.messageId];if(a){if(r.errorMessage){a.reject(r.errorMessage);return}else{let p=JSON.parse(r.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),a.resolve(p)}delete this.#r[r.messageId],window.clearTimeout(a.timer)}}})}disconnectFromMachineServer(t=null){t&&console.error(t),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(t,o,n){let i={from:we,to:t.from,type:o,messageId:t.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(t,o,n,i,l,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(t),new Promise((a,p)=>{let m=P(),g={from:we,to:o,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,body:l,headers:r})},y={resolve:a,reject:p,timer:window.setTimeout(()=>{let T=this.#r[m];T&&(delete this.#r[m],T.reject("Timeout"))},u)};this.#r[m]=y,this.#n()?this.activateCommand(g):this.#p.push(g)})}activateCommand(t){this.#e?.send(JSON.stringify(t))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=k({token:e,factory:e.\u0275fac,providedIn:"root"})};function xe(e){if(typeof e!="string")return null;let o=new TextEncoder().encode(e);return window.btoa(String.fromCharCode(...o))}function ke(e,t,o){let n=e.relayconfigState.config();if(n===null)return o(t);let i=xe(t.body),l={};t.headers.keys().forEach(p=>{l[p]=t.headers.get(p)??""});let r=t.headers.get("timeout"),u=r!==null?parseInt(r):e.defaultTimeout;t.url.startsWith("/api/v1/serverstate")&&t.url.includes("longpoll=true")&&(u=1e3*99);let a=e.relayWebsocket.sendCommand(n.accessToken,n.clientId,t.method,t.url,i,l,u);return new j(p=>{a.then(m=>{let v=new te;l!=null&&Object.keys(l).forEach(y=>{v.set(y,l[y])});let g=new oe({body:m.body,status:m.code,statusText:"OK",headers:v});p.next(g),p.complete()})})}var Ee=(e,t)=>{let o={relayconfigState:s(C),defaultTimeout:s(h).defaultTimeout,relayWebsocket:s(O)},n=o.relayconfigState.config();if(o.relayconfigState.configLoaded!==null&&n===null){let i=new D;return o.relayconfigState.configLoaded.subscribe(l=>{l&&ke(o,e,t).subscribe(i)}),i}return ke(o,e,t)};var Ie={providers:[q(),pe(Re,ce()),ne(se(),re([Ee,Te])),b,{provide:h,useValue:Se},{provide:X,useValue:Ce()},he,I,fe,Z,de,Y,ge,ye]};ee(M,Ie);
1
+ import{b as be,c as Ce}from"./chunk-V5YSQG4X.js";import{a as he}from"./chunk-QD2GV7XN.js";import{a as I}from"./chunk-MFURKVTP.js";import"./chunk-KZQCOYF7.js";import"./chunk-JM7VAPIC.js";import"./chunk-2BX65XJQ.js";import{a as P}from"./chunk-RHW5QVAY.js";import{a as L}from"./chunk-6JQM2X3B.js";import{a as de}from"./chunk-WXARH2SG.js";import{a as b,b as C,c as ue,d as E}from"./chunk-FZG6OXT3.js";import{c as ie,d as ae,g as pe,h as ce}from"./chunk-2W6BEUGU.js";import{a as ee}from"./chunk-JFOXV66M.js";import{c as le}from"./chunk-Y5IRBMLB.js";import{a as te,b as oe,d as ne,e as re,f as se,i as me}from"./chunk-DNJOKPEL.js";import{a as ge}from"./chunk-UZK7ABRM.js";import{la as Y,qa as Z}from"./chunk-CWLTHXVS.js";import"./chunk-WIDMAJIO.js";import{a as ye}from"./chunk-AM7RYTIO.js";import{b as fe}from"./chunk-B6OIHB5W.js";import{A as x,Ab as z,B as G,Cc as q,Dc as X,H as w,Ic as Q,N as J,P as R,R as B,U as k,X as $,Z as s,ab as _,f as j,ha as K,i as D,n as F,na as d,o as U,r as S}from"./chunk-BTMXQPBB.js";import"./chunk-EUDKD2JW.js";var M=class e{#o=s(b);#s=s(C);ngOnInit(){this.#s.fetchConfig(),this.#o.clearAllNotCurrentVersion()}static \u0275fac=function(o){return new(o||e)};static \u0275cmp=_({type:e,selectors:[["app-root"]],decls:1,vars:0,template:function(o,n){o&1&&z(0,"router-outlet")},dependencies:[ie],encapsulation:2})};var Se={production:!0,baseUrl:"/api",machineServerUrl:"${WS_URL}",defaultTimeout:3e4};var h=new $("ENVIRONMENT");var A=class e{#o=s(me);isLoaded=d(!1);webmodules=d(null);preload(t=!1){let o=this.#o.getApiV1Webmodules().pipe(B(n=>this.webmodules.set(n)),w(()=>this.isLoaded.set(!0)));if(t)return o;o.subscribe()}static \u0275fac=function(o){return new(o||e)};static \u0275prov=k({token:e,factory:e.\u0275fac,providedIn:"root"})};var Me=()=>{let e=s(E);return e.token()?!0:e.checkProxyAuthed().pipe(R(t=>t?F(!0):e.refreshToken().pipe(S(()=>!0))))},Ae=()=>{let e=s(C),t=s(I),o=s(K),n=e.relayIsEnabled()?"longpoll":"websocket",i=[o.get(L).preload(!0),o.get(L).preloadFilterGroups(!0),o.get(A).preload(!0)];return e.configLoaded===null?x(i).pipe(S(()=>n)):e.configLoaded?.pipe(R(()=>x(i)))},Re=[{path:"",children:[{path:"login",canActivate:[],loadComponent:()=>import("./chunk-42LUYQ5S.js")},{path:"logout",loadComponent:()=>import("./chunk-WF6EAWTW.js")},{path:"",canActivate:[Me],children:[{path:"",canActivate:[Ae],loadComponent:()=>import("./chunk-RVPCSXUI.js"),children:[{path:"",loadComponent:()=>import("./chunk-KTU3Q35O.js")},{path:"add-backup",loadComponent:()=>import("./chunk-4AWC7A44.js")},{path:"backup/:id/export",loadComponent:()=>import("./chunk-YR3TOOC3.js")},{path:"backup/import",loadComponent:()=>import("./chunk-BEUZGUTP.js")},{path:"backup-draft/:id",loadComponent:()=>import("./chunk-BUHA4W4I.js"),loadChildren:()=>import("./chunk-ZZNFOL3R.js")},{path:"backup/:id",loadComponent:()=>import("./chunk-BUHA4W4I.js"),loadChildren:()=>import("./chunk-ZZNFOL3R.js")},{path:"backup/:id/log",loadComponent:()=>import("./chunk-XPQBJ7EY.js")},{path:"backup/:id/database",loadComponent:()=>import("./chunk-JHBG6CNS.js")},{path:"backup/:id/commandline",loadComponent:()=>import("./chunk-DDOT2PJU.js")},{path:"backup/:id/commandline/:runId",loadComponent:()=>import("./chunk-HN6NEFVX.js")},{path:"backup/:id/delete",loadComponent:()=>import("./chunk-YONVHISY.js")},{path:"restore",children:[{path:"",loadComponent:()=>import("./chunk-YSJGV5SH.js")},{path:"from-config",loadComponent:()=>import("./chunk-QBJGIKPM.js")}]},{path:"restore-from-files",loadComponent:()=>import("./chunk-A4BYE2OQ.js"),loadChildren:()=>import("./chunk-QR64BSPX.js")},{path:"restore-draft/:id",loadComponent:()=>import("./chunk-A4BYE2OQ.js"),loadChildren:()=>import("./chunk-QR64BSPX.js")},{path:"restore/:id",loadComponent:()=>import("./chunk-A4BYE2OQ.js"),loadChildren:()=>import("./chunk-QR64BSPX.js")},{path:"settings",loadComponent:()=>import("./chunk-RIVEONGL.js")},{path:"about",loadComponent:()=>import("./chunk-HYVO7UIG.js"),children:[{path:"",redirectTo:"general",pathMatch:"full"},{path:"general",loadComponent:()=>import("./chunk-7MV7VPDB.js")},{path:"changelog",loadComponent:()=>import("./chunk-DBD6FOQL.js")},{path:"libraries",loadComponent:()=>import("./chunk-XBJRRUMO.js")},{path:"system-info",loadComponent:()=>import("./chunk-QVEGV6V6.js")},{path:"server-settings",loadComponent:()=>import("./chunk-EKP3ML6M.js")},{path:"logs",loadChildren:()=>import("./chunk-LDIHJZUP.js")},{path:"crashlogs",loadComponent:()=>import("./chunk-WRWIBPXL.js")}]}]}]}]}];var V=null,Te=(e,t)=>{let o=s(E),n=s(ae),i=s(b),l=s(h),r=i.getItem("locale"),u=s(le),a=be(r),p=e.url==="/api/v1/auth/login",m=e.url==="/api/v1/auth/refresh",v=e.url==="/api/v1/progressstate",g=e.url==="/api/v1/remoteoperation/test",y=e.url==="/api/v1/filesystem/validate",T=e.url.startsWith("/api/v2/"),N=o.token(),H=e,W=e.headers.has("custom-proxy-check")||N===ue;if(N&&e.url.startsWith(l.baseUrl)&&!W){let c=e.headers.set("Authorization",`Bearer ${N}`);r&&r!=="en-US"&&(c=c.set("X-Ui-Language",a)),H=e.clone({headers:c})}return t(H).pipe(S(c=>{if(c.type===4&&c.status===200&&T){let f=c.body;if(f?.Success===!1)throw{status:200,message:f?.Error??"Unknown error",error:{Error:f?.Error??"Unknown error"},body:f}}return c}),G(c=>{let f=c.error?.Error||`Error Code: ${c.status}, Message: ${c.message}`;return!W&&(v&&c.status===404||g||y||u.error(f),m&&c.status===401&&(o.logout(),n.navigate(["/logout"])),!p&&!m&&c.status===401)?(V??=o.refreshToken().pipe(J()),V.pipe(R(()=>t(e.clone({headers:e.headers.set("Authorization",`Bearer ${o.token()}`)}))),w(()=>V=null))):U(()=>({error:c,message:f}))}))};var Oe="1.0.0",we=`portal-proxy-client-${P()}`,Ne=1,O=class e{#o=1e3;#s=s(h);#t=d("disconnected");#l=d(this.#o);#i=d(!1);#n=d(!1);#a=d(null);isConnectedToMachineServer=this.#n.asReadonly();wsState=this.#t.asReadonly();#p=[];#r={};#e=null;#m=new TextDecoder("utf-8");#c=null;#d=Q(()=>{let t=this.#i(),o=this.#l(),n=this.#a();if(!n||!t||!o||o<this.#o){this.#c&&window.clearInterval(this.#c);return}this.#c=window.setInterval(()=>{this.connectToMachineServer(n)},o)});utf8Atob(t){let o=Uint8Array.from(atob(t),i=>i.charCodeAt(0)),n=this.#m.decode(o);return n?JSON.parse(n):null}connectToMachineServer(t,o){let n=o?.reconnect??!1,i=this.wsState();(i==="disconnected"||i==="error"||n)&&(this.#e?.close(),this.#e=null),!this.#e&&(this.#e=new WebSocket(this.#s.machineServerUrl),this.#t.set("connecting"),this.#e.onopen=()=>{this.#t.set("connect"),this.#n.set(!0),this.#i.set(!1),this.#a.set(null)},this.#e.onclose=()=>{this.#t.set("disconnected"),this.#n.set(!1),this.#a.set(t),this.#i.set(!0)},this.#e.onerror=()=>{this.#t.set("error")},this.#e.onmessage=l=>{let r=JSON.parse(l.data);if(this.wsState()==="connect"){if(r.type!=="welcome"){this.disconnectFromMachineServer(`Unexpected message type, expected 'welcome' but got '${r.type}'`);return}let a={token:t,publicKey:"",clientVersion:Oe,protocolVersion:Ne},p=this.createResponse(r,"authportal",a);this.#t.set("welcome"),this.#e?.send(p)}else if(this.wsState()==="welcome"){if(r.type!=="authportal"){this.disconnectFromMachineServer(`Unexpected message type, expected 'authportal' but got '${r.type}'`);return}var u=JSON.parse(r.payload??"");if(u.accepted===!1){this.disconnectFromMachineServer("Authentication failed");return}for(this.#t.set("authenticated"),this.#n.set(!0);this.#p.length>0;){let a=this.#p.pop();a&&this.#r[a.messageId]&&this.activateCommand(a)}}else if(this.wsState()==="authenticated"){if(r.type!=="command"){console.warn(`Unexpected message type, expected 'command' but got '${r.type}'`);return}let a=this.#r[r.messageId];if(a){if(r.errorMessage){a.reject(r.errorMessage);return}else{let p=JSON.parse(r.payload??"");p.body=p?.body==null?null:this.utf8Atob(p.body),a.resolve(p)}delete this.#r[r.messageId],window.clearTimeout(a.timer)}}})}disconnectFromMachineServer(t=null){t&&console.error(t),this.#e?.close(),this.#e=null,this.#t.set("disconnected"),this.#n.set(!1)}createResponse(t,o,n){let i={from:we,to:t.from,type:o,messageId:t.messageId,payload:JSON.stringify(n)};return JSON.stringify(i)}sendCommand(t,o,n,i,l,r,u=5e3){return(this.wsState()==="disconnected"||this.wsState()==="error")&&this.connectToMachineServer(t),new Promise((a,p)=>{let m=P(),g={from:we,to:o,type:"command",messageId:m,payload:JSON.stringify({method:n,path:i,body:l,headers:r})},y={resolve:a,reject:p,timer:window.setTimeout(()=>{let T=this.#r[m];T&&(delete this.#r[m],T.reject("Timeout"))},u)};this.#r[m]=y,this.#n()?this.activateCommand(g):this.#p.push(g)})}activateCommand(t){this.#e?.send(JSON.stringify(t))}static \u0275fac=function(o){return new(o||e)};static \u0275prov=k({token:e,factory:e.\u0275fac,providedIn:"root"})};function xe(e){if(typeof e!="string")return null;let o=new TextEncoder().encode(e);return window.btoa(String.fromCharCode(...o))}function ke(e,t,o){let n=e.relayconfigState.config();if(n===null)return o(t);let i=xe(t.body),l={};t.headers.keys().forEach(p=>{l[p]=t.headers.get(p)??""});let r=t.headers.get("timeout"),u=r!==null?parseInt(r):e.defaultTimeout;t.url.startsWith("/api/v1/serverstate")&&t.url.includes("longpoll=true")&&(u=1e3*99);let a=e.relayWebsocket.sendCommand(n.accessToken,n.clientId,t.method,t.url,i,l,u);return new j(p=>{a.then(m=>{let v=new te;l!=null&&Object.keys(l).forEach(y=>{v.set(y,l[y])});let g=new oe({body:m.body,status:m.code,statusText:"OK",headers:v});p.next(g),p.complete()})})}var Ee=(e,t)=>{let o={relayconfigState:s(C),defaultTimeout:s(h).defaultTimeout,relayWebsocket:s(O)},n=o.relayconfigState.config();if(o.relayconfigState.configLoaded!==null&&n===null){let i=new D;return o.relayconfigState.configLoaded.subscribe(l=>{l&&ke(o,e,t).subscribe(i)}),i}return ke(o,e,t)};var Ie={providers:[q(),pe(Re,ce()),ne(se(),re([Ee,Te])),b,{provide:h,useValue:Se},{provide:X,useValue:Ce()},he,I,fe,Z,de,Y,ge,ye]};ee(M,Ie);
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.135",
2
+ "version": "0.0.137",
3
3
  "name": "@duplicati/ngclient",
4
4
  "license": "MIT",
5
5
  "contributors": [