@plutonhq/core-backend 0.0.1 → 0.0.2

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 (132) hide show
  1. package/dist/controllers/SetupController.d.ts +17 -0
  2. package/dist/controllers/SetupController.d.ts.map +1 -0
  3. package/dist/controllers/SetupController.js +1 -0
  4. package/dist/controllers/SetupController.js.map +1 -0
  5. package/dist/createApp.d.ts.map +1 -1
  6. package/dist/createApp.js +1 -1
  7. package/dist/createApp.js.map +1 -1
  8. package/dist/db/index.js +1 -1
  9. package/dist/index.d.ts +0 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/jobs/index.js +2 -1
  14. package/dist/jobs/tasks/PruneDatabaseTask.js +2 -1
  15. package/dist/jobs/tasks/UpdateDevicesTask.js +2 -1
  16. package/dist/managers/BaseBackupManager.d.ts.map +1 -1
  17. package/dist/managers/BaseBackupManager.js +1 -1
  18. package/dist/managers/BaseBackupManager.js.map +1 -1
  19. package/dist/managers/BaseSnapshotManager.js +1 -1
  20. package/dist/managers/BaseSnapshotManager.js.map +1 -1
  21. package/dist/managers/SecurityKeyManager.d.ts.map +1 -1
  22. package/dist/managers/SecurityKeyManager.js +1 -1
  23. package/dist/managers/SecurityKeyManager.js.map +1 -1
  24. package/dist/managers/handlers/BackupHandler.d.ts.map +1 -1
  25. package/dist/managers/handlers/BackupHandler.js +1 -1
  26. package/dist/managers/handlers/BackupHandler.js.map +1 -1
  27. package/dist/managers/handlers/DownloadHandler.d.ts.map +1 -1
  28. package/dist/managers/handlers/DownloadHandler.js +1 -1
  29. package/dist/managers/handlers/DownloadHandler.js.map +1 -1
  30. package/dist/managers/handlers/PruneHandler.d.ts.map +1 -1
  31. package/dist/managers/handlers/PruneHandler.js +1 -1
  32. package/dist/managers/handlers/PruneHandler.js.map +1 -1
  33. package/dist/managers/handlers/RestoreHandler.d.ts.map +1 -1
  34. package/dist/managers/handlers/RestoreHandler.js +1 -1
  35. package/dist/managers/handlers/RestoreHandler.js.map +1 -1
  36. package/dist/middlewares/authMiddleware.js +1 -1
  37. package/dist/middlewares/errorHandlerMiddleware.js +1 -1
  38. package/dist/middlewares/versionMiddleware.d.ts.map +1 -1
  39. package/dist/middlewares/versionMiddleware.js +1 -1
  40. package/dist/middlewares/versionMiddleware.js.map +1 -1
  41. package/dist/routes/devices.js +1 -1
  42. package/dist/routes/index.d.ts +1 -0
  43. package/dist/routes/index.d.ts.map +1 -1
  44. package/dist/routes/index.js +1 -1
  45. package/dist/routes/index.js.map +1 -1
  46. package/dist/routes/setup.d.ts +4 -0
  47. package/dist/routes/setup.d.ts.map +1 -0
  48. package/dist/routes/setup.js +1 -0
  49. package/dist/routes/setup.js.map +1 -0
  50. package/dist/services/ConfigService.d.ts +62 -8
  51. package/dist/services/ConfigService.d.ts.map +1 -1
  52. package/dist/services/ConfigService.js +1 -1
  53. package/dist/services/ConfigService.js.map +1 -1
  54. package/dist/services/KeyringService.d.ts +81 -0
  55. package/dist/services/KeyringService.d.ts.map +1 -0
  56. package/dist/services/KeyringService.js +1 -0
  57. package/dist/services/KeyringService.js.map +1 -0
  58. package/dist/utils/AppPaths.d.ts +10 -0
  59. package/dist/utils/AppPaths.d.ts.map +1 -1
  60. package/dist/utils/AppPaths.js +1 -1
  61. package/dist/utils/AppPaths.js.map +1 -1
  62. package/dist/utils/asyncHandler.js +1 -1
  63. package/dist/utils/binaryPathResolver.d.ts +7 -3
  64. package/dist/utils/binaryPathResolver.d.ts.map +1 -1
  65. package/dist/utils/binaryPathResolver.js +1 -1
  66. package/dist/utils/binaryPathResolver.js.map +1 -1
  67. package/dist/utils/copyFiles.js +1 -1
  68. package/dist/utils/executeUserScript.d.ts +1 -1
  69. package/dist/utils/executeUserScript.d.ts.map +1 -1
  70. package/dist/utils/initSetup.js +1 -1
  71. package/dist/utils/installHelpers.d.ts +36 -0
  72. package/dist/utils/installHelpers.d.ts.map +1 -0
  73. package/dist/utils/installHelpers.js +1 -0
  74. package/dist/utils/installHelpers.js.map +1 -0
  75. package/dist/utils/logger.d.ts.map +1 -1
  76. package/dist/utils/logger.js +1 -1
  77. package/dist/utils/logger.js.map +1 -1
  78. package/dist/utils/providers/_features.js +1 -1
  79. package/dist/utils/providers/_s3Options.js +1 -1
  80. package/dist/utils/providers/azureblob.js +1 -1
  81. package/dist/utils/providers/azurefiles.js +1 -1
  82. package/dist/utils/providers/b2.js +1 -1
  83. package/dist/utils/providers/boxCom.js +1 -1
  84. package/dist/utils/providers/dropbox.js +1 -1
  85. package/dist/utils/providers/fichier.js +1 -1
  86. package/dist/utils/providers/filesCom.js +1 -1
  87. package/dist/utils/providers/ftp.js +1 -1
  88. package/dist/utils/providers/gcs.js +1 -1
  89. package/dist/utils/providers/gdrive.js +1 -1
  90. package/dist/utils/providers/gofile.js +1 -1
  91. package/dist/utils/providers/gphotos.js +1 -1
  92. package/dist/utils/providers/hdfs.js +1 -1
  93. package/dist/utils/providers/hidrive.js +1 -1
  94. package/dist/utils/providers/http.js +1 -1
  95. package/dist/utils/providers/internetarchive.js +1 -1
  96. package/dist/utils/providers/jottacloud.js +1 -1
  97. package/dist/utils/providers/koofr.js +1 -1
  98. package/dist/utils/providers/linkbox.js +1 -1
  99. package/dist/utils/providers/local.js +1 -1
  100. package/dist/utils/providers/mailru.js +1 -1
  101. package/dist/utils/providers/mega.js +1 -1
  102. package/dist/utils/providers/netstorage.js +1 -1
  103. package/dist/utils/providers/onedrive.js +1 -1
  104. package/dist/utils/providers/opendrive.js +1 -1
  105. package/dist/utils/providers/oracle.js +1 -1
  106. package/dist/utils/providers/pcloud.js +1 -1
  107. package/dist/utils/providers/pikpak.js +1 -1
  108. package/dist/utils/providers/pixeldrain.js +1 -1
  109. package/dist/utils/providers/premiumizeme.js +1 -1
  110. package/dist/utils/providers/protondrive.js +1 -1
  111. package/dist/utils/providers/putio.js +1 -1
  112. package/dist/utils/providers/qingstor.js +1 -1
  113. package/dist/utils/providers/quatrix.js +1 -1
  114. package/dist/utils/providers/seafile.js +1 -1
  115. package/dist/utils/providers/sftp.js +1 -1
  116. package/dist/utils/providers/sharefile.js +1 -1
  117. package/dist/utils/providers/sia.js +1 -1
  118. package/dist/utils/providers/smb.js +1 -1
  119. package/dist/utils/providers/storj.js +1 -1
  120. package/dist/utils/providers/sugarsync.js +1 -1
  121. package/dist/utils/providers/swift.js +1 -1
  122. package/dist/utils/providers/ulozto.js +1 -1
  123. package/dist/utils/providers/webdav.js +1 -1
  124. package/dist/utils/providers/yandex.js +1 -1
  125. package/dist/utils/providers/zoho.js +1 -1
  126. package/dist/utils/rclone/rclone.d.ts.map +1 -1
  127. package/dist/utils/rclone/rclone.js +1 -1
  128. package/dist/utils/rclone/rclone.js.map +1 -1
  129. package/dist/utils/restic/restic.d.ts.map +1 -1
  130. package/dist/utils/restic/restic.js +1 -1
  131. package/dist/utils/restic/restic.js.map +1 -1
  132. package/package.json +19 -4
@@ -11,6 +11,16 @@ declare class AppPaths {
11
11
  * Determines the base directory for all Pluton data based on the environment.
12
12
  */
13
13
  private getTheBaseDir;
14
+ /**
15
+ * Gets the directory where the executable is located.
16
+ * For pkg-packaged apps, this returns the directory containing the executable.
17
+ */
18
+ getExecutableDir(): string;
19
+ /**
20
+ * Gets the binaries directory path.
21
+ * For pkg-packaged apps, binaries are located relative to the executable.
22
+ */
23
+ getBinariesDir(): string;
14
24
  /**
15
25
  * Synchronously initializes all application paths and creates the directories.
16
26
  * This runs automatically the first time AppPaths.getInstance() is called.
@@ -1 +1 @@
1
- {"version":3,"file":"AppPaths.d.ts","sourceRoot":"","sources":["../../src/utils/AppPaths.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,cAAM,QAAQ;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO;WAIO,WAAW,IAAI,QAAQ;IAOrC;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiEtB,OAAO,CAAC,gBAAgB;IAQjB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,gBAAgB,IAAI,MAAM;IAI1B,UAAU,IAAI,MAAM;IAIpB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;IAIpB,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,MAAM;IAIpB,YAAY,IAAI,MAAM;IAKtB,YAAY,IAAI,MAAM;CAI7B;AAID,eAAO,MAAM,QAAQ,UAAyB,CAAC"}
1
+ {"version":3,"file":"AppPaths.d.ts","sourceRoot":"","sources":["../../src/utils/AppPaths.ts"],"names":[],"mappings":"AAyBA;;GAEG;AACH,cAAM,QAAQ;IACb,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAW;IAClC,OAAO,CAAC,KAAK,CAAa;IAC1B,OAAO,CAAC,aAAa,CAAS;IAG9B,OAAO;WAIO,WAAW,IAAI,QAAQ;IAOrC;;OAEG;IACH,OAAO,CAAC,aAAa;IA4BrB;;;OAGG;IACI,gBAAgB,IAAI,MAAM;IAIjC;;;OAGG;IACI,cAAc,IAAI,MAAM;IAW/B;;;OAGG;IACH,OAAO,CAAC,cAAc;IAiEtB,OAAO,CAAC,gBAAgB;IAQjB,UAAU,IAAI,MAAM;IAIpB,UAAU,IAAI,MAAM;IAIpB,QAAQ,IAAI,MAAM;IAIlB,gBAAgB,IAAI,MAAM;IAI1B,UAAU,IAAI,MAAM;IAIpB,cAAc,IAAI,MAAM;IAIxB,WAAW,IAAI,MAAM;IAIrB,UAAU,IAAI,MAAM;IAIpB,eAAe,IAAI,MAAM;IAIzB,cAAc,IAAI,MAAM;IAIxB,UAAU,IAAI,MAAM;IAIpB,YAAY,IAAI,MAAM;IAKtB,YAAY,IAAI,MAAM;CAI7B;AAID,eAAO,MAAM,QAAQ,UAAyB,CAAC"}
@@ -1 +1 @@
1
- import path from"path";import os from"os";import fs from"fs";class AppPaths{static instance;paths;isInitialized=!1;constructor(){this.initializeSync()}static getInstance(){return AppPaths.instance||(AppPaths.instance=new AppPaths),AppPaths.instance}getTheBaseDir(){if("production"!==process.env.NODE_ENV)return path.join(process.cwd(),"data");if("true"===process.env.IS_DOCKER)return"/data";if(process.env.PLUTON_DATA_DIR)return process.env.PLUTON_DATA_DIR;return"win32"===os.platform()?path.join(process.env.PROGRAMDATA||"C:\\ProgramData","Pluton"):path.join("/var/lib","Pluton".toLowerCase())}initializeSync(){if(this.isInitialized)return;const baseDir=this.getTheBaseDir(),tempBase=os.tmpdir();this.paths={base:baseDir,data:baseDir,db:path.join(baseDir,"db"),schedules:path.join(baseDir,"schedules.json"),logs:path.join(baseDir,"logs"),progress:path.join(baseDir,"progress"),stats:path.join(baseDir,"stats"),temp:path.join(tempBase,"pluton"),downloads:path.join(tempBase,"pluton","downloads"),restores:path.join(tempBase,"pluton","restores"),sync:path.join(baseDir,"sync"),config:path.join(baseDir,"config"),rescue:path.join(baseDir,"rescue")};const directoriesToCreate=[this.paths.base,this.paths.db,this.paths.logs,this.paths.progress,this.paths.stats,this.paths.temp,this.paths.downloads,this.paths.restores,this.paths.sync,this.paths.config,this.paths.rescue];for(const dir of directoriesToCreate)try{fs.mkdirSync(dir,{recursive:!0})}catch(error){if("EEXIST"!==error.code)throw error}const rcloneConfPath=path.join(this.paths.config,"rclone.conf");if(!fs.existsSync(rcloneConfPath))try{fs.writeFileSync(rcloneConfPath,"",{mode:384})}catch(error){throw error}this.isInitialized=!0}checkInitialized(){if(!this.isInitialized)throw new Error("AppPaths failed to initialize.")}getBaseDir(){return this.checkInitialized(),this.paths.base}getDataDir(){return this.checkInitialized(),this.paths.data}getDbDir(){return this.checkInitialized(),this.paths.db}getSchedulesPath(){return this.checkInitialized(),this.paths.schedules}getLogsDir(){return this.checkInitialized(),this.paths.logs}getProgressDir(){return this.checkInitialized(),this.paths.progress}getStatsDir(){return this.checkInitialized(),this.paths.stats}getTempDir(){return this.checkInitialized(),this.paths.temp}getDownloadsDir(){return this.checkInitialized(),this.paths.downloads}getRestoresDir(){return this.checkInitialized(),this.paths.restores}getSyncDir(){return this.checkInitialized(),this.paths.sync}getConfigDir(){return this.checkInitialized(),this.paths.config}getRescueDir(){return this.checkInitialized(),this.paths.rescue}}export const appPaths=AppPaths.getInstance();
1
+ import path from"path";import os from"os";import fs from"fs";class AppPaths{static instance;paths;isInitialized=!1;constructor(){this.initializeSync()}static getInstance(){return AppPaths.instance||(AppPaths.instance=new AppPaths),AppPaths.instance}getTheBaseDir(){if(!process.pkg&&"production"!==process.env.NODE_ENV)return path.join(process.cwd(),"data");if("true"===process.env.IS_DOCKER)return"/data";if(process.env.PLUTON_DATA_DIR)return process.env.PLUTON_DATA_DIR;return"win32"===os.platform()?path.join(process.env.PROGRAMDATA||"C:\\ProgramData","Pluton"):path.join("/var/lib","Pluton".toLowerCase())}getExecutableDir(){return path.dirname(process.execPath)}getBinariesDir(){if(process.pkg){const platformId=`${os.platform()}-${os.arch()}`;return path.join(this.getExecutableDir(),"binaries",platformId)}const platformId=`${os.platform()}-${os.arch()}`;return path.join(process.cwd(),"binaries",platformId)}initializeSync(){if(this.isInitialized)return;const baseDir=this.getTheBaseDir(),tempBase=os.tmpdir();this.paths={base:baseDir,data:baseDir,db:path.join(baseDir,"db"),schedules:path.join(baseDir,"schedules.json"),logs:path.join(baseDir,"logs"),progress:path.join(baseDir,"progress"),stats:path.join(baseDir,"stats"),temp:path.join(tempBase,"pluton"),downloads:path.join(tempBase,"pluton","downloads"),restores:path.join(tempBase,"pluton","restores"),sync:path.join(baseDir,"sync"),config:path.join(baseDir,"config"),rescue:path.join(baseDir,"rescue")};const directoriesToCreate=[this.paths.base,this.paths.db,this.paths.logs,this.paths.progress,this.paths.stats,this.paths.temp,this.paths.downloads,this.paths.restores,this.paths.sync,this.paths.config,this.paths.rescue];for(const dir of directoriesToCreate)try{fs.mkdirSync(dir,{recursive:!0})}catch(error){if("EEXIST"!==error.code)throw error}const rcloneConfPath=path.join(this.paths.config,"rclone.conf");if(!fs.existsSync(rcloneConfPath))try{fs.writeFileSync(rcloneConfPath,"",{mode:384})}catch(error){throw error}this.isInitialized=!0}checkInitialized(){if(!this.isInitialized)throw new Error("AppPaths failed to initialize.")}getBaseDir(){return this.checkInitialized(),this.paths.base}getDataDir(){return this.checkInitialized(),this.paths.data}getDbDir(){return this.checkInitialized(),this.paths.db}getSchedulesPath(){return this.checkInitialized(),this.paths.schedules}getLogsDir(){return this.checkInitialized(),this.paths.logs}getProgressDir(){return this.checkInitialized(),this.paths.progress}getStatsDir(){return this.checkInitialized(),this.paths.stats}getTempDir(){return this.checkInitialized(),this.paths.temp}getDownloadsDir(){return this.checkInitialized(),this.paths.downloads}getRestoresDir(){return this.checkInitialized(),this.paths.restores}getSyncDir(){return this.checkInitialized(),this.paths.sync}getConfigDir(){return this.checkInitialized(),this.paths.config}getRescueDir(){return this.checkInitialized(),this.paths.rescue}}export const appPaths=AppPaths.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"AppPaths.js","sourceRoot":"","sources":["../../src/utils/AppPaths.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppPaths.js","sourceRoot":"","sources":["../../src/utils/AppPaths.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const asyncHandler=fn=>(req,res,next)=>Promise.resolve(fn(req,res,next)).catch(next);export default asyncHandler;
1
+ export default fn=>(req,res,next)=>Promise.resolve(fn(req,res,next)).catch(next);
@@ -1,9 +1,13 @@
1
1
  /**
2
2
  * Resolves the path to a bundled binary ('restic', 'rclone' or 'rear').
3
- * In a packaged application (SEA), it assumes the installer has placed the binaries
4
- * alongside the main executable. In development, it points to the local './binaries' folder.
3
+ * Checks multiple locations in priority order:
4
+ * 1. AppImage: $APPDIR/usr/bin/binaries/{platform}-{arch}/
5
+ * 2. pkg-packaged: {executableDir}/binaries/{platform}-{arch}/
6
+ * 3. Production: {executableDir}/{binaryName}
7
+ * 4. Development: {cwd}/binaries/{platform}-{arch}/
8
+ * 5. Fallback: System PATH
5
9
  *
6
- * @param binaryName The name of the binary ('restic' or 'rclone').
10
+ * @param binaryName The name of the binary ('restic', 'rclone', or 'rear').
7
11
  * @returns The absolute path to the executable.
8
12
  */
9
13
  export declare function getBinaryPath(binaryName: 'restic' | 'rclone' | 'rear'): string;
@@ -1 +1 @@
1
- {"version":3,"file":"binaryPathResolver.d.ts","sourceRoot":"","sources":["../../src/utils/binaryPathResolver.ts"],"names":[],"mappings":"AAIA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CA2B9E"}
1
+ {"version":3,"file":"binaryPathResolver.d.ts","sourceRoot":"","sources":["../../src/utils/binaryPathResolver.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,MAAM,CAsD9E"}
@@ -1 +1 @@
1
- import path from"path";import os from"os";import fs from"fs";export function getBinaryPath(binaryName){const fileName="win32"===os.platform()?`${binaryName}.exe`:binaryName,installDir=path.dirname(process.execPath),productionPath=path.join(installDir,fileName);if(fs.existsSync(productionPath))return productionPath;const platformId=`${os.platform()}-${os.arch()}`,devPath=path.resolve(process.cwd(),"binaries",platformId,fileName);return fs.existsSync(devPath)?devPath:binaryName}
1
+ import path from"path";import os from"os";import fs from"fs";export function getBinaryPath(binaryName){const fileName="win32"===os.platform()?`${binaryName}.exe`:binaryName,platformId=`${os.platform()}-${os.arch()}`,appDir=process.env.APPDIR;if(appDir){const appImageBinaryPath=path.join(appDir,"usr","bin","binaries",platformId,fileName);if(fs.existsSync(appImageBinaryPath))return appImageBinaryPath}if(process.pkg){const execDir=path.dirname(process.execPath),pkgBinaryPath=path.join(execDir,"binaries",platformId,fileName);if(fs.existsSync(pkgBinaryPath))return pkgBinaryPath}const installDir=path.dirname(process.execPath),productionPath=path.join(installDir,fileName);if(fs.existsSync(productionPath))return productionPath;const devPath=path.resolve(process.cwd(),"binaries",platformId,fileName);return fs.existsSync(devPath)?devPath:binaryName}
@@ -1 +1 @@
1
- {"version":3,"file":"binaryPathResolver.js","sourceRoot":"","sources":["../../src/utils/binaryPathResolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAC,UAAwC;IACrE,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAE9D,8DAA8D;IAC9D,qEAAqE;IACrE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,qEAAqE;IACrE,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IACnD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9E,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,qEAAqE;IACrE,4EAA4E;IAC5E,OAAO,CAAC,IAAI,CACX,gDAAgD,QAAQ,iCAAiC,CACzF,CAAC;IACF,OAAO,UAAU,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"binaryPathResolver.js","sourceRoot":"","sources":["../../src/utils/binaryPathResolver.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,aAAa,CAAC,UAAwC;IACrE,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;IAC5C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,UAAU,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;IAC9D,MAAM,UAAU,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;IAEnD,kDAAkD;IAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC;IAClC,IAAI,MAAM,EAAE,CAAC;QACZ,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE7F,IAAI,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACvC,OAAO,kBAAkB,CAAC;QAC3B,CAAC;QAED,OAAO,CAAC,IAAI,CACX,4CAA4C,kBAAkB,iDAAiD,CAC/G,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAK,OAAe,CAAC,GAAG,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;QAE3E,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO,aAAa,CAAC;QACtB,CAAC;QAED,OAAO,CAAC,IAAI,CACX,4CAA4C,aAAa,sCAAsC,CAC/F,CAAC;IACH,CAAC;IAED,6DAA6D;IAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAClD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAEvD,IAAI,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,cAAc,CAAC;IACvB,CAAC;IAED,oEAAoE;IACpE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAE9E,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,oEAAoE;IACpE,2EAA2E;IAC3E,OAAO,CAAC,IAAI,CACX,gDAAgD,QAAQ,iCAAiC,CACzF,CAAC;IACF,OAAO,UAAU,CAAC;AACnB,CAAC"}
@@ -1 +1 @@
1
- import{spawn}from"child_process";import{access,constants}from"fs/promises";const copyFiles=(copyFrom,copyTo,overwritePolicy="always")=>"win32"===process.platform?copyFilesWindows(copyFrom,copyTo,overwritePolicy):copyFilesUnix(copyFrom,copyTo,overwritePolicy),copyFilesWindows=(sourcePath,destinationPath,overwritePolicy="always")=>{const robocopyArgsList=[sourcePath,destinationPath,"/E"];switch(overwritePolicy){case"always":robocopyArgsList.push("/COPY:DAT","/W:1","/R:1");break;case"if-changed":robocopyArgsList.push("/XO","/XC");break;case"if-newer":robocopyArgsList.push("/XO");break;case"never":robocopyArgsList.push("/XC","/XN","/XO")}const psCommand=`\n $ErrorActionPreference = 'Stop'\n try {\n $process = Start-Process robocopy -ArgumentList ${robocopyArgsList.map(arg=>`"${arg.replace(/"/g,'`"')}"`).join(", ")} -Verb runas -PassThru -Wait;\n if ($null -ne $process) {\n exit $process.ExitCode\n } else {\n Write-Error "Failed to start robocopy process or UAC was denied."\n exit 2001\n }\n } catch {\n Write-Error "PowerShell script failed: $($_.Exception.Message)"\n exit 2000\n }\n `;return new Promise((resolve,reject)=>{const subprocess=spawn("powershell.exe",["-NoProfile","-NoLogo","-Command",psCommand],{stdio:["ignore","pipe","pipe"]});let stdoutData="",stderrData="";subprocess.stdout&&subprocess.stdout.on("data",data=>{stdoutData+=data.toString()}),subprocess.stderr&&subprocess.stderr.on("data",data=>{stderrData+=data.toString()}),subprocess.on("error",err=>{reject(new Error(`Failed to start PowerShell process: ${err.message}. Stderr: ${stderrData}`))}),subprocess.on("close",code=>{if(null!==code&&code<8)resolve();else{let errorMessage=`Robocopy process exited with code ${code}.`;stderrData.trim()&&(errorMessage+=`\nPowerShell Stderr: ${stderrData.trim()}`),null!==code&&(stdoutData.trim()&&(code>=8||16===code)&&(errorMessage+=`\nPowerShell Stdout: ${stdoutData.trim()}`),2e3===code?errorMessage=`PowerShell script execution failed (code ${code}). Details: ${stderrData.trim()||stdoutData.trim()}`:2001===code&&(errorMessage=`Failed to get Robocopy process object (code ${code}), UAC might have been denied. Details: ${stderrData.trim()||stdoutData.trim()}`)),reject(new Error(errorMessage))}})})},copyFilesUnix=async(copyFrom,restorePath,overwritePolicy="always")=>{try{await access(restorePath,constants.F_OK)}catch{throw new Error(`Restore path does not exist: ${restorePath}`)}const rsyncArgs=["-a","--progress"];switch(overwritePolicy){case"always":break;case"if-changed":rsyncArgs.push("--checksum");break;case"if-newer":rsyncArgs.push("--update");break;case"never":rsyncArgs.push("--ignore-existing")}const normalizedSource=restorePath.endsWith("/")?restorePath:restorePath+"/";return rsyncArgs.push(normalizedSource,copyFrom),new Promise((resolve,reject)=>{const subprocess=spawn("rsync",rsyncArgs,{stdio:"inherit"});subprocess.on("error",err=>{if(err.message.includes("ENOENT"))return copyFilesUnixFallback(copyFrom,restorePath,overwritePolicy).then(resolve).catch(reject);reject(new Error(`Failed to start rsync: ${err.message}`))}),subprocess.on("close",code=>{0===code?resolve():reject(new Error(`rsync failed with code ${code}`))})})},copyFilesUnixFallback=(copyFrom,restorePath,overwritePolicy="always")=>{const cpArgs=["-R"];switch(overwritePolicy){case"always":cpArgs.push("-f");break;case"if-changed":case"if-newer":cpArgs.push("-u");break;case"never":cpArgs.push("-n")}const normalizedSource=restorePath.endsWith("/")?restorePath+".":restorePath+"/.";return cpArgs.push(normalizedSource,copyFrom),new Promise((resolve,reject)=>{const subprocess=spawn("cp",cpArgs,{stdio:"inherit"});subprocess.on("error",err=>{reject(new Error(`Failed to start cp: ${err.message}`))}),subprocess.on("close",code=>{0===code?resolve():reject(new Error(`cp failed with code ${code}`))})})};export default copyFiles;
1
+ import{spawn}from"child_process";import{access,constants}from"fs/promises";const copyFilesWindows=(sourcePath,destinationPath,overwritePolicy="always")=>{const robocopyArgsList=[sourcePath,destinationPath,"/E"];switch(overwritePolicy){case"always":robocopyArgsList.push("/COPY:DAT","/W:1","/R:1");break;case"if-changed":robocopyArgsList.push("/XO","/XC");break;case"if-newer":robocopyArgsList.push("/XO");break;case"never":robocopyArgsList.push("/XC","/XN","/XO")}const psCommand=`\n $ErrorActionPreference = 'Stop'\n try {\n $process = Start-Process robocopy -ArgumentList ${robocopyArgsList.map(arg=>`"${arg.replace(/"/g,'`"')}"`).join(", ")} -Verb runas -PassThru -Wait;\n if ($null -ne $process) {\n exit $process.ExitCode\n } else {\n Write-Error "Failed to start robocopy process or UAC was denied."\n exit 2001\n }\n } catch {\n Write-Error "PowerShell script failed: $($_.Exception.Message)"\n exit 2000\n }\n `;return new Promise((resolve,reject)=>{const subprocess=spawn("powershell.exe",["-NoProfile","-NoLogo","-Command",psCommand],{stdio:["ignore","pipe","pipe"]});let stdoutData="",stderrData="";subprocess.stdout&&subprocess.stdout.on("data",data=>{stdoutData+=data.toString()}),subprocess.stderr&&subprocess.stderr.on("data",data=>{stderrData+=data.toString()}),subprocess.on("error",err=>{reject(new Error(`Failed to start PowerShell process: ${err.message}. Stderr: ${stderrData}`))}),subprocess.on("close",code=>{if(null!==code&&code<8)resolve();else{let errorMessage=`Robocopy process exited with code ${code}.`;stderrData.trim()&&(errorMessage+=`\nPowerShell Stderr: ${stderrData.trim()}`),null!==code&&(stdoutData.trim()&&(code>=8||16===code)&&(errorMessage+=`\nPowerShell Stdout: ${stdoutData.trim()}`),2e3===code?errorMessage=`PowerShell script execution failed (code ${code}). Details: ${stderrData.trim()||stdoutData.trim()}`:2001===code&&(errorMessage=`Failed to get Robocopy process object (code ${code}), UAC might have been denied. Details: ${stderrData.trim()||stdoutData.trim()}`)),reject(new Error(errorMessage))}})})},copyFilesUnix=async(copyFrom,restorePath,overwritePolicy="always")=>{try{await access(restorePath,constants.F_OK)}catch{throw new Error(`Restore path does not exist: ${restorePath}`)}const rsyncArgs=["-a","--progress"];switch(overwritePolicy){case"always":break;case"if-changed":rsyncArgs.push("--checksum");break;case"if-newer":rsyncArgs.push("--update");break;case"never":rsyncArgs.push("--ignore-existing")}const normalizedSource=restorePath.endsWith("/")?restorePath:restorePath+"/";return rsyncArgs.push(normalizedSource,copyFrom),new Promise((resolve,reject)=>{const subprocess=spawn("rsync",rsyncArgs,{stdio:"inherit"});subprocess.on("error",err=>{if(err.message.includes("ENOENT"))return copyFilesUnixFallback(copyFrom,restorePath,overwritePolicy).then(resolve).catch(reject);reject(new Error(`Failed to start rsync: ${err.message}`))}),subprocess.on("close",code=>{0===code?resolve():reject(new Error(`rsync failed with code ${code}`))})})},copyFilesUnixFallback=(copyFrom,restorePath,overwritePolicy="always")=>{const cpArgs=["-R"];switch(overwritePolicy){case"always":cpArgs.push("-f");break;case"if-changed":case"if-newer":cpArgs.push("-u");break;case"never":cpArgs.push("-n")}const normalizedSource=restorePath.endsWith("/")?restorePath+".":restorePath+"/.";return cpArgs.push(normalizedSource,copyFrom),new Promise((resolve,reject)=>{const subprocess=spawn("cp",cpArgs,{stdio:"inherit"});subprocess.on("error",err=>{reject(new Error(`Failed to start cp: ${err.message}`))}),subprocess.on("close",code=>{0===code?resolve():reject(new Error(`cp failed with code ${code}`))})})};export default(copyFrom,copyTo,overwritePolicy="always")=>"win32"===process.platform?copyFilesWindows(copyFrom,copyTo,overwritePolicy):copyFilesUnix(copyFrom,copyTo,overwritePolicy);
@@ -1,4 +1,4 @@
1
- import { PlanScript } from 'src/types/plans';
1
+ import { PlanScript } from '../types/plans';
2
2
  /**
3
3
  * Executes a user-defined script in a specified shell, capturing its output
4
4
  * and handling timeouts and errors gracefully.
@@ -1 +1 @@
1
- {"version":3,"file":"executeUserScript.d.ts","sourceRoot":"","sources":["../../src/utils/executeUserScript.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFjG;AAED,wBAAsB,kBAAkB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9C,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAgDf"}
1
+ {"version":3,"file":"executeUserScript.d.ts","sourceRoot":"","sources":["../../src/utils/executeUserScript.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAmFjG;AAED,wBAAsB,kBAAkB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,UAAU,EAAE,EACrB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC9C,UAAU,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EACjD,OAAO,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,GAC7D,OAAO,CAAC,IAAI,CAAC,CAgDf"}
@@ -1 +1 @@
1
- import{eq}from"drizzle-orm";import os from"os";import path from"path";import fs from"fs/promises";import si from"systeminformation";import{settings}from"../db/schema/settings";import{storages}from"../db/schema/storages";import{BaseStorageManager}from"../managers/BaseStorageManager";import{getRcloneVersion,getResticVersion}from"../utils/versions";import{devices}from"../db/schema/devices";import{configService}from"../services/ConfigService";import{appPaths}from"./AppPaths";import{securityKeyManager}from"../managers/SecurityKeyManager";export async function initSetup(db){const setupCompletePath=path.join(appPaths.getDataDir(),".setup_complete");try{return void await fs.access(setupCompletePath)}catch(error){await runInitialSetup(db),await fs.writeFile(setupCompletePath,(new Date).toISOString())}}async function createDefaultSettings(db){if(!await db.select().from(settings).where(eq(settings.id,1)).get()){const defaultAppSettings={theme:"auto",admin_email:"",integration:{},totp:{enabled:!1,secret:"",recoveryCodes:[]},reporting:{emails:[],time:"20:00",daily:{enabled:!1},weekly:{enabled:!1},monthly:{enabled:!1}},title:configService.config.APP_TITLE||"Pluton",description:"Pluton backup for your data."};await db.insert(settings).values({settings:defaultAppSettings})}}async function createLocalStorage(db){if(!await db.select().from(storages).where(eq(storages.id,"local")).get()){await db.insert(storages).values({id:"local",name:"Local Storage",type:"local",settings:{},credentials:{},authType:"none",tags:[]});try{const storageManager=new BaseStorageManager;await storageManager.createRemote("local","local","none",{},{})}catch(error){}}}async function createMainDevice(db){if(!await db.select().from(devices).where(eq(devices.id,"main")).get()){const resticVersion=getResticVersion(),rcloneVersion=getRcloneVersion(),osInfo=await si.osInfo(),detailedOS=`${osInfo.distro} ${osInfo.release}`,tempDir=appPaths.getTempDir();await db.insert(devices).values({id:"main",agentId:"main",name:os.hostname(),ip:"127.0.0.1",hostname:os.hostname(),platform:os.platform(),os:detailedOS,versions:{restic:resticVersion,rclone:rcloneVersion,agent:""},status:"active",lastSeen:new Date,settings:{tempDir:tempDir}})}}export async function runInitialSetup(db){await securityKeyManager.setupInitialKeys(),await createMainDevice(db),await createLocalStorage(db),await createDefaultSettings(db)}
1
+ import{eq}from"drizzle-orm";import os from"os";import path from"path";import fs from"fs/promises";import si from"systeminformation";import{settings}from"../db/schema/settings";import{storages}from"../db/schema/storages";import{BaseStorageManager}from"../managers/BaseStorageManager";import{getRcloneVersion,getResticVersion}from"../utils/versions";import{devices}from"../db/schema/devices";import{configService}from"../services/ConfigService";import{appPaths}from"./AppPaths";import{securityKeyManager}from"../managers/SecurityKeyManager";export async function initSetup(db){const setupCompletePath=path.join(appPaths.getDataDir(),".setup_complete");try{return void await fs.access(setupCompletePath)}catch(error){await runInitialSetup(db),await fs.writeFile(setupCompletePath,(new Date).toISOString())}}export async function runInitialSetup(db){await securityKeyManager.setupInitialKeys(),await async function(db){if(!await db.select().from(devices).where(eq(devices.id,"main")).get()){const resticVersion=getResticVersion(),rcloneVersion=getRcloneVersion(),osInfo=await si.osInfo(),detailedOS=`${osInfo.distro} ${osInfo.release}`,tempDir=appPaths.getTempDir();await db.insert(devices).values({id:"main",agentId:"main",name:os.hostname(),ip:"127.0.0.1",hostname:os.hostname(),platform:os.platform(),os:detailedOS,versions:{restic:resticVersion,rclone:rcloneVersion,agent:""},status:"active",lastSeen:new Date,settings:{tempDir:tempDir}})}}(db),await async function(db){if(!await db.select().from(storages).where(eq(storages.id,"local")).get()){await db.insert(storages).values({id:"local",name:"Local Storage",type:"local",settings:{},credentials:{},authType:"none",tags:[]});try{const storageManager=new BaseStorageManager;await storageManager.createRemote("local","local","none",{},{})}catch(error){}}}(db),await async function(db){if(!await db.select().from(settings).where(eq(settings.id,1)).get()){const defaultAppSettings={theme:"auto",admin_email:"",integration:{},totp:{enabled:!1,secret:"",recoveryCodes:[]},reporting:{emails:[],time:"20:00",daily:{enabled:!1},weekly:{enabled:!1},monthly:{enabled:!1}},title:configService.config.APP_TITLE||"Pluton",description:"Pluton backup for your data."};await db.insert(settings).values({settings:defaultAppSettings})}}(db)}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Installation Helper Utilities
3
+ *
4
+ * Helper functions to detect installation type, platform capabilities,
5
+ * and environment configuration for the Pluton application.
6
+ */
7
+ export type InstallType = 'docker' | 'binary' | 'dev';
8
+ /**
9
+ * Check if running as a pkg-packaged binary
10
+ */
11
+ export declare function isBinaryMode(): boolean;
12
+ /**
13
+ * Check if running in Docker container
14
+ */
15
+ export declare function isDockerMode(): boolean;
16
+ /**
17
+ * Determines the installation type of the application
18
+ * @returns 'docker' | 'binary' | 'dev'
19
+ */
20
+ export declare function getInstallType(): InstallType;
21
+ /**
22
+ * Checks if running on a Linux desktop environment (not headless/server)
23
+ * by checking for common display environment variables or the PLUTON_LINUX_DESKTOP flag
24
+ * set by the AppImage installer for systemd service mode.
25
+ */
26
+ export declare function isLinuxDesktop(): boolean;
27
+ /**
28
+ * Check if running on a platform that supports keyring (Windows/macOS/Linux Desktop)
29
+ */
30
+ export declare function isKeyringPlatform(): boolean;
31
+ /**
32
+ * Check if the app requires keyring-based initial setup
33
+ * This is true when: running as binary + on a keyring-supported platform
34
+ */
35
+ export declare function requiresKeyringSetup(): boolean;
36
+ //# sourceMappingURL=installHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installHelpers.d.ts","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEtD;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,OAAO,CAEtC;AAED;;;GAGG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAQ5C;AAED;;;;GAIG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAoBxC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAK3C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
@@ -0,0 +1 @@
1
+ export function isBinaryMode(){return!!process.pkg}export function isDockerMode(){return"true"===process.env.IS_DOCKER||"1"===process.env.IS_DOCKER}export function getInstallType(){return isDockerMode()?"docker":isBinaryMode()?"binary":"dev"}export function isLinuxDesktop(){if("linux"!==process.platform)return!1;if("true"===process.env.PLUTON_LINUX_DESKTOP||"1"===process.env.PLUTON_LINUX_DESKTOP)return!0;const hasDisplay=!(!process.env.DISPLAY&&!process.env.WAYLAND_DISPLAY),hasDesktopEnv=!!(process.env.XDG_CURRENT_DESKTOP||process.env.DESKTOP_SESSION||process.env.GNOME_DESKTOP_SESSION_ID||process.env.KDE_FULL_SESSION);return hasDisplay||hasDesktopEnv}export function isKeyringPlatform(){const platform=process.platform;return"win32"===platform||"darwin"===platform||"linux"===platform&&isLinuxDesktop()}export function requiresKeyringSetup(){return isBinaryMode()&&isKeyringPlatform()}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installHelpers.js","sourceRoot":"","sources":["../../src/utils/installHelpers.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,CAAC,CAAE,OAAe,CAAC,GAAG,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC3B,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,KAAK,GAAG,CAAC;AAC1E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,IAAI,YAAY,EAAE,EAAE,CAAC;QACpB,OAAO,QAAQ,CAAC;IACjB,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc;IAC7B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAE/C,kFAAkF;IAClF,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,oBAAoB,KAAK,GAAG,EAAE,CAAC;QAC7F,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4CAA4C;IAC5C,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAE1E,kDAAkD;IAClD,MAAM,aAAa,GAAG,CAAC,CAAC,CACvB,OAAO,CAAC,GAAG,CAAC,mBAAmB;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAe;QAC3B,OAAO,CAAC,GAAG,CAAC,wBAAwB;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAC5B,CAAC;IAEF,OAAO,UAAU,IAAI,aAAa,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,OAAO,CACN,QAAQ,KAAK,OAAO,IAAI,QAAQ,KAAK,QAAQ,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,cAAc,EAAE,CAAC,CAC3F,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB;IACnC,OAAO,YAAY,EAAE,IAAI,iBAAiB,EAAE,CAAC;AAC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,QAAA,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,GAAI,WAAW,MAAM,gCAC2B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA4CvC;AAMD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,WAAW,MAAM,gCAyB1E,CAAC;AAEF,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,GACZ,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAKxB,QAAA,IAAI,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC;AACxB,QAAA,IAAI,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;AAC5B,QAAA,IAAI,kBAAkB,EAAE,IAAI,CAAC,MAAM,CAAC;AACpC,QAAA,IAAI,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;AAC9B,QAAA,IAAI,aAAa,EAAE,IAAI,CAAC,MAAM,CAAC;AAC/B,QAAA,IAAI,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,QAAA,MAAM,YAAY,GAAI,WAAW,MAAM,gCAC2B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CA0DvC;AAMD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,EAAE,SAAS,MAAM,EAAE,WAAW,MAAM,gCAsC1E,CAAC;AAEF,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,GACZ,CAAC"}
@@ -1 +1 @@
1
- import pino from"pino";import{appPaths}from"../utils/AppPaths";let logger,cronLogger,notificationLogger,serverLogger,StorageLogger,SystemLogger;const DeviceLogger=deviceId=>logger.child({module:"Device",...deviceId&&{deviceId:deviceId}});export function initializeLogger(){if(logger)return;const targets=[{target:"pino/file",options:{destination:`${appPaths.getLogsDir()}/app.log`},level:"info"}];"production"===process.env.NODE_ENV||targets.unshift({target:"pino-pretty",options:{colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"},level:"info"});const mainLogger=pino({transport:{targets:targets}});logger=mainLogger,cronLogger=logger.child({module:"CRON"}),notificationLogger=logger.child({module:"Notification"}),serverLogger=logger.child({module:"Server"}),StorageLogger=logger.child({module:"Storage"}),SystemLogger=logger.child({module:"System"})}const planLoggers={};export const planLogger=(task,planId,backupId)=>{const metadata={module:task,...planId&&{planId:planId},...backupId&&{backupId:backupId}};return planId?(planLoggers[planId]||(planLoggers[planId]=pino({transport:{targets:[{target:"pino/file",options:{destination:`${appPaths.getLogsDir()}/plan-${planId}.log`},level:"info"}]}})),planLoggers[planId].child(metadata)):logger.child(metadata)};export{logger,cronLogger,notificationLogger,serverLogger,StorageLogger,SystemLogger,DeviceLogger};
1
+ import pino from"pino";import{appPaths}from"../utils/AppPaths";let logger,cronLogger,notificationLogger,serverLogger,StorageLogger,SystemLogger;const DeviceLogger=deviceId=>logger.child({module:"Device",...deviceId&&{deviceId:deviceId}});export function initializeLogger(){if(logger)return;const logPath=appPaths.getLogsDir(),isProduction="production"===process.env.NODE_ENV;let mainLogger;if(process.pkg){const stream=pino.destination({dest:`${logPath}/app.log`,sync:!1,mkdir:!0});mainLogger=pino(stream)}else{const targets=[{target:"pino/file",options:{destination:`${logPath}/app.log`,mkdir:!0},level:"info"}];isProduction||targets.push({target:"pino-pretty",options:{colorize:!0,translateTime:"SYS:standard",ignore:"pid,hostname"},level:"info"}),mainLogger=pino({transport:{targets:targets}})}logger=mainLogger,cronLogger=logger.child({module:"CRON"}),notificationLogger=logger.child({module:"Notification"}),serverLogger=logger.child({module:"Server"}),StorageLogger=logger.child({module:"Storage"}),SystemLogger=logger.child({module:"System"})}const planLoggers={};export const planLogger=(task,planId,backupId)=>{const metadata={module:task,...planId&&{planId:planId},...backupId&&{backupId:backupId}};if(planId){if(!planLoggers[planId]){if(process.pkg){const stream=pino.destination({dest:`${appPaths.getLogsDir()}/plan-${planId}.log`,sync:!1,mkdir:!0});planLoggers[planId]=pino(stream)}else planLoggers[planId]=pino({transport:{targets:[{target:"pino/file",options:{destination:`${appPaths.getLogsDir()}/plan-${planId}.log`,mkdir:!0},level:"info"}]}})}return planLoggers[planId].child(metadata)}return logger.child(metadata)};export{logger,cronLogger,notificationLogger,serverLogger,StorageLogger,SystemLogger,DeviceLogger};
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,mFAAmF;AACnF,4DAA4D;AAC5D,IAAI,MAAmB,CAAC;AACxB,IAAI,UAAuB,CAAC;AAC5B,IAAI,kBAA+B,CAAC;AACpC,IAAI,YAAyB,CAAC;AAC9B,IAAI,aAA0B,CAAC;AAC/B,IAAI,YAAyB,CAAC;AAE9B;;;;;;;;;;GAUG;AACH,MAAM,YAAY,GAAG,CAAC,QAAiB,EAAE,EAAE,CAC1C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnE;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB;IAC/B,2FAA2F;IAC3F,IAAI,MAAM,EAAE,CAAC;QACZ,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;IAEtC,iDAAiD;IACjD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,CAAC;IAE3D,MAAM,OAAO,GAAU;QACtB;YACC,MAAM,EAAE,WAAW;YACnB,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,OAAO,UAAU,EAAE;YAC9C,KAAK,EAAE,MAAM;SACb;KACD,CAAC;IAEF,oEAAoE;IACpE,IAAI,CAAC,YAAY,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC;YACf,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACR,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,cAAc;aACtB;YACD,KAAK,EAAE,MAAM;SACb,CAAC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC;QACvB,SAAS,EAAE,EAAE,OAAO,EAAE;KACtB,CAAC,CAAC;IAEH,MAAM,GAAG,UAAU,CAAC;IAEpB,+EAA+E;IAC/E,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC9D,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;IAClD,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpD,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,uEAAuE;AACvE,MAAM,WAAW,GAAgC,EAAE,CAAC;AAEpD,mEAAmE;AACnE;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,MAAe,EAAE,QAAiB,EAAE,EAAE;IAC9E,MAAM,QAAQ,GAAG;QAChB,MAAM,EAAE,IAAI;QACZ,GAAG,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,CAAC;QACzB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;KAC7B,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACZ,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,WAAW,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC;gBAC1B,SAAS,EAAE;oBACV,OAAO,EAAE;wBACR;4BACC,MAAM,EAAE,WAAW;4BACnB,OAAO,EAAE,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,MAAM,EAAE;4BACvE,KAAK,EAAE,MAAM;yBACb;qBACD;iBACD;aACD,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,OAAO,EACN,MAAM,EACN,UAAU,EACV,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,YAAY,GACZ,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- const providerFeatures={"1fichier":{Purge:!1,Copy:!0,Move:!0,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!0},netstorage:{Purge:!0,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},s3:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!0},b2:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!0},box:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},sharefile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},dropbox:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},files:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!0},ftp:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},gofile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},gcs:{Purge:!0,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},drive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},gphotos:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!1},hdfs:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!1},hidrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},http:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},internetarchive:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!1,Hashing:!0},jottacloud:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},koofr:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},mailru:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},mega:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!1},azureBlob:{Purge:!0,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},onedrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},opendrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},swift:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!1,Hashing:!0},oracle:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},pcloud:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},pikpak:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},pixeldrain:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},premiumizeme:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},putio:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},proton:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},qingstor:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},quatrix:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},seafile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!1},sftp:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},sia:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},smb:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},sugarsync:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!1},storj:{Purge:!1,Copy:!0,Move:!0,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!1},ulozto:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},webdav:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},yandex:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},zoho:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!1},local:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},linkbox:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!1}};export default providerFeatures;
1
+ export default{"1fichier":{Purge:!1,Copy:!0,Move:!0,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!0},netstorage:{Purge:!0,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},s3:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!0},b2:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!0},box:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},sharefile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},dropbox:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},files:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!0},ftp:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},gofile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},gcs:{Purge:!0,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},drive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},gphotos:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!1},hdfs:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!1},hidrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},http:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},internetarchive:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!1,Hashing:!0},jottacloud:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},koofr:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},mailru:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},mega:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!1},azureBlob:{Purge:!0,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},onedrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},opendrive:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},swift:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!1,Hashing:!0},oracle:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},pcloud:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},pikpak:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},pixeldrain:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},premiumizeme:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},putio:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},proton:{Purge:!0,Copy:!1,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},qingstor:{Purge:!1,Copy:!0,Move:!1,DirMove:!1,CleanUp:!0,ListR:!0,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!0},quatrix:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},seafile:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!1},sftp:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},sia:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},smb:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!1},sugarsync:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!0,Hashing:!1},storj:{Purge:!1,Copy:!0,Move:!0,DirMove:!1,CleanUp:!1,ListR:!0,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!1,EmptyDir:!1,Hashing:!1},ulozto:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!0,Hashing:!0},webdav:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},yandex:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!0,ListR:!1,StreamUpload:!0,MultithreadUpload:!1,LinkSharing:!0,About:!0,EmptyDir:!0,Hashing:!0},zoho:{Purge:!0,Copy:!0,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!1},local:{Purge:!1,Copy:!1,Move:!0,DirMove:!0,CleanUp:!1,ListR:!1,StreamUpload:!0,MultithreadUpload:!0,LinkSharing:!1,About:!0,EmptyDir:!0,Hashing:!0},linkbox:{Purge:!1,Copy:!1,Move:!1,DirMove:!1,CleanUp:!1,ListR:!1,StreamUpload:!1,MultithreadUpload:!1,LinkSharing:!1,About:!1,EmptyDir:!1,Hashing:!1}};
@@ -1 +1 @@
1
- const s3Options=[{label:"Server-side Encryption",value:"server_side_encryption",fieldType:"string",required:!1,default:"",description:"The server-side encryption algorithm used when storing this object in S3.",command:"--s3-server-side-encryption"},{label:"SSE KMS ID",value:"sse_kms_key_id",fieldType:"string",required:!1,default:"",description:"If using KMS ID you must provide the ARN of Key.",command:"--s3-sse-kms-key-id"},{label:"Storage Class",value:"storage_class",fieldType:"string",required:!1,default:"",description:"The storage class to use when storing new objects in S3.",command:"--s3-storage-class"},{label:"Bucket ACL",value:"bucket_acl",fieldType:"string",required:!1,default:"",description:"Canned ACL used when creating buckets. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl",command:"--s3-bucket-acl"},{label:"Requester pays",value:"requester_pays",fieldType:"bool",required:!1,default:!1,description:"Enables requester pays option when interacting with S3 bucket.",command:"--s3-requester-pays"},{label:"Use SSE-C Algorithm",value:"sse_customer_algorithm",fieldType:"string",required:!1,default:"",description:"If using SSE-C, the server-side encryption algorithm used when storing this object in S3.",command:"--s3-sse-customer-algorithm"},{label:"SSE-C Key",value:"sse_customer_key",fieldType:"string",required:!1,default:"",description:"To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. Alternatively you can provide --sse-customer-key-base64.",command:"--s3-sse-customer-key"},{label:"SSE-C Key (Base64 Encoded)",value:"sse_customer_key_base64",fieldType:"string",required:!1,default:"",description:"If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. Alternatively you can provide --sse-customer-key.",command:"--s3-sse-customer-key-base64"},{label:"SSE-C Key (MD5 checksum)",value:"sse_customer_key_md5",fieldType:"string",required:!1,default:"",description:"If using SSE-C you may provide the secret encryption key MD5 checksum (optional). If you leave it blank, this is calculated automatically from the sse_customer_key provided.",command:"--s3-sse-customer-key-md5"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"200mi",description:"Cutoff for switching to chunked upload. Any files larger than this will be uploaded in chunks of chunk_size. The minimum is 0 and the maximum is 5 GiB.",command:"--s3-upload-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"5mi",description:'Chunk size to use for uploading. When uploading files larger than upload_cutoff or files with unknown size (e.g. from "rclone rcat" or uploaded with "rclone mount" or google photos or google docs) they will be uploaded as multipart uploads using this chunk size.',command:"--s3-chunk-size"},{label:"Max Upload Parts",value:"max_upload_parts",fieldType:"int",required:!1,default:"10000",description:"Maximum number of parts in a multipart upload. This option defines the maximum number of multipart chunks to use when doing a multipart upload.",command:"--s3-max-upload-parts"},{label:"Copy Cutoff",value:"copy_cutoff",fieldType:"sizesuffix",required:!1,default:"4.656gi",description:"Cutoff for switching to multipart copy. Any files larger than this that need to be server-side copied will be copied in chunks of this size.",command:"--s3-copy-cutoff"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Don't store MD5 checksum with object metadata. Normally rclone will calculate the MD5 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--s3-disable-checksum"},{label:"Shared Credentials File",value:"shared_credentials_file",fieldType:"string",required:!1,default:"",description:"Path to the shared credentials file. If env_auth = true then rclone can use a shared credentials file.",command:"--s3-shared-credentials-file"},{label:"Profile",value:"profile",fieldType:"string",required:!1,default:"",description:"Profile to use in the shared credentials file. If env_auth = true then rclone can use a shared credentials file. This variable controls which profile is used in that file.",command:"--s3-profile"},{label:"Session Token",value:"session_token",fieldType:"string",required:!1,default:"",description:"An AWS session token.",command:"--s3-session-token"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"4",description:"Concurrency for multipart uploads and copies. This is the number of chunks of the same file that are uploaded concurrently for multipart uploads and copies.",command:"--s3-upload-concurrency"},{label:"Force Path Style",value:"force_path_style",fieldType:"bool",required:!1,default:!0,description:"If true use path style access if false use virtual hosted style. If this is true (the default) then rclone will use path style access, if false then rclone will use virtual path style. See the AWS S3 docs for more info.",command:"--s3-force-path-style"},{label:"V2 Authentication",value:"v2_auth",fieldType:"bool",required:!1,default:!1,description:"If true use v2 authentication. If this is false (the default) then rclone will use v4 authentication. If it is set then rclone will use v2 authentication.",command:"--s3-v2-auth"},{label:"Use Dual-Stack endpoint",value:"use_dual_stack",fieldType:"bool",required:!1,default:!1,description:"If true use AWS S3 dual-stack endpoint (IPv6 support). See AWS Docs on Dualstack Endpoints",command:"--s3-use-dual-stack"},{label:"Use Accelerated endpoint",value:"use_accelerate_endpoint",fieldType:"bool",required:!1,default:!1,description:"If true use the AWS S3 accelerated endpoint. See: AWS S3 Transfer acceleration",command:"--s3-use-accelerate-endpoint"},{label:"Leave Parts On Error",value:"leave_parts_on_error",fieldType:"bool",required:!1,default:!1,description:"If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. It should be set to true for resuming uploads across different sessions.",command:"--s3-leave-parts-on-error"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"1000",description:'Size of listing chunk (response list for each ListObject S3 request). This option is also known as "MaxKeys", "max-items", or "page-size" from the AWS S3 specification. Most services truncate the response list to 1000 objects even if requested more than that. In AWS S3 this is a global maximum and cannot be changed, see AWS S3. In Ceph, this can be increased with the "rgw list buckets max chunk" option.',command:"--s3-list-chunk"},{label:"List Version",value:"list_version",fieldType:"int",required:!1,default:"0",description:"Version of ListObjects to use: 1,2 or 0 for auto. When S3 originally launched it only provided the ListObjects call to enumerate objects in a bucket.",command:"--s3-list-version"},{label:"List URL Encode",value:"list_url_encode",fieldType:"tristate",required:!1,default:"unset",description:"Whether to url encode listings: true/false/unset Some providers support URL encoding listings and where this is available this is more reliable when using control characters in file names. If this is set to unset (the default) then rclone will choose according to the provider setting what to apply, but you can override rclone's choice here.",command:"--s3-list-url-encode"},{label:"No Check Bucket",value:"no_check_bucket",fieldType:"bool",required:!1,default:!1,description:"If set, don't attempt to check the bucket exists or create it. This can be useful when trying to minimise the number of transactions rclone does if you know the bucket exists already.",command:"--s3-no-check-bucket"},{label:"No Head",value:"no_head",fieldType:"bool",required:!1,default:!1,description:"If set, don't HEAD uploaded objects to check integrity. This can be useful when trying to minimise the number of transactions rclone does.",command:"--s3-no-head"},{label:"No Head Object",value:"no_head_object",fieldType:"bool",required:!1,default:!1,description:"If set, do not do HEAD before GET when getting objects.",command:"--s3-no-head-object"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--s3-encoding"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--s3-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--s3-memory-pool-use-mmap"},{label:"Disable HTTP2",value:"disable_http2",fieldType:"bool",required:!1,default:!1,description:"Disable usage of http2 for S3 backends. There is currently an unsolved issue with the s3 (specifically minio) backend and HTTP/2. HTTP/2 is enabled by default for the s3 backend but can be disabled here. When the issue is solved this flag will be removed.",command:"--s3-disable-http2"},{label:"Download URL",value:"download_url",fieldType:"string",required:!1,default:"",description:"Custom endpoint for downloads. This is usually set to a CloudFront CDN URL as AWS S3 offers cheaper egress for data downloaded through the CloudFront network.",command:"--s3-download-url"},{label:"Directory Markers",value:"directory_markers",fieldType:"bool",required:!1,default:!1,description:'Upload an empty object with a trailing slash when a new directory is created Empty folders are unsupported for bucket based storages, this option creates an empty object ending with "/", to persist the folder.',command:"--s3-directory-markers"},{label:"Use Multipart ETag",value:"use_multipart_etag",fieldType:"tristate",required:!1,default:"unset",description:"Whether to use ETag in multipart uploads for verification This should be true, false or left unset to use the default for the provider.",command:"--s3-use-multipart-etag"},{label:"Use Unsigned Payload",value:"use_unsigned_payload",fieldType:"tristate",required:!1,default:"unset",description:"Whether to use an unsigned payload in PutObject Rclone has to avoid the AWS SDK seeking the body when calling PutObject. The AWS provider can add checksums in the trailer to avoid seeking but other providers can't.",command:"--s3-use-unsigned-payload"},{label:"Use Presigned Request",value:"use_presigned_request",fieldType:"bool",required:!1,default:!1,description:"Whether to use a presigned request or PutObject for single part uploads If this is false rclone will use PutObject from the AWS SDK to upload an object.",command:"--s3-use-presigned-request"},{label:"Include Versions",value:"versions",fieldType:"bool",required:!1,default:!1,description:"Include old versions in directory listings.",command:"--s3-versions"},{label:"Version At",value:"version_at",fieldType:"time",required:!1,default:"off",description:'Show file versions as they were at the specified time. The parameter should be a date, "2006-01-02", datetime "2006-01-02 15:04:05" or a duration for that long ago, eg "100d" or "1h".',command:"--s3-version-at"},{label:"Show deleted file markers",value:"version_deleted",fieldType:"bool",required:!1,default:!1,description:"Show deleted file markers when using versions. This shows deleted file markers in the listing when using versions. These will appear as 0 size files. The only operation which can be performed on them is deletion.",command:"--s3-version-deleted"},{label:"Decompress",value:"decompress",fieldType:"bool",required:!1,default:!1,description:'If set this will decompress gzip encoded objects. It is possible to upload objects to S3 with "Content-Encoding: gzip" set. Normally rclone will download these files as compressed objects.',command:"--s3-decompress"},{label:"Might GZIP",value:"might_gzip",fieldType:"tristate",required:!1,default:"unset",description:"Set this if the backend might gzip objects. Normally providers will not alter objects when they are downloaded. If an object was not uploaded with Content-Encoding: gzip then it won't be set on download.",command:"--s3-might-gzip"},{label:"Use Accept Encoding GZIP",value:"use_accept_encoding_gzip",fieldType:"tristate",required:!1,default:"unset",description:"Whether to send Accept-Encoding: gzip header. By default, rclone will append Accept-Encoding: gzip to the request to download compressed objects whenever possible.",command:"--s3-use-accept-encoding-gzip"},{label:"No System Metadata",value:"no_system_metadata",fieldType:"bool",required:!1,default:!1,description:"Suppress setting and reading of system metadata",command:"--s3-no-system-metadata"},{label:"STS Endpoint",value:"sts_endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for STS (deprecated). Leave blank if using AWS to use the default endpoint for the region.",command:"--s3-sts-endpoint"},{label:"Use Already Exists",value:"use_already_exists",fieldType:"tristate",required:!1,default:"unset",description:"Set if rclone should report BucketAlreadyExists errors on bucket creation. At some point during the evolution of the s3 protocol, AWS started returning an AlreadyOwnedByYou error when attempting to create a bucket that the user already owned, rather than a BucketAlreadyExists error.",command:"--s3-use-already-exists"},{label:"Use Multipart Uploads",value:"use_multipart_uploads",fieldType:"tristate",required:!1,default:"unset",description:"Set if rclone should use multipart uploads. You can change this if you want to disable the use of multipart uploads. This shouldn't be necessary in normal operation.",command:"--s3-use-multipart-uploads"},{label:"Directory Bucket",value:"directory_bucket",fieldType:"bool",required:!1,default:!1,description:"Set to use AWS Directory Buckets If you are using an AWS Directory Bucket then set this flag.",command:"--s3-directory-bucket"},{label:"SDK Log Mode",value:"sdk_log_mode",fieldType:"bits",required:!1,default:"off",description:"Set to debug the SDK This can be set to a comma separated list of the following functions:",command:"--s3-sdk-log-mode"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--s3-description"}];export default s3Options;
1
+ export default[{label:"Server-side Encryption",value:"server_side_encryption",fieldType:"string",required:!1,default:"",description:"The server-side encryption algorithm used when storing this object in S3.",command:"--s3-server-side-encryption"},{label:"SSE KMS ID",value:"sse_kms_key_id",fieldType:"string",required:!1,default:"",description:"If using KMS ID you must provide the ARN of Key.",command:"--s3-sse-kms-key-id"},{label:"Storage Class",value:"storage_class",fieldType:"string",required:!1,default:"",description:"The storage class to use when storing new objects in S3.",command:"--s3-storage-class"},{label:"Bucket ACL",value:"bucket_acl",fieldType:"string",required:!1,default:"",description:"Canned ACL used when creating buckets. For more info visit https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#canned-acl",command:"--s3-bucket-acl"},{label:"Requester pays",value:"requester_pays",fieldType:"bool",required:!1,default:!1,description:"Enables requester pays option when interacting with S3 bucket.",command:"--s3-requester-pays"},{label:"Use SSE-C Algorithm",value:"sse_customer_algorithm",fieldType:"string",required:!1,default:"",description:"If using SSE-C, the server-side encryption algorithm used when storing this object in S3.",command:"--s3-sse-customer-algorithm"},{label:"SSE-C Key",value:"sse_customer_key",fieldType:"string",required:!1,default:"",description:"To use SSE-C you may provide the secret encryption key used to encrypt/decrypt your data. Alternatively you can provide --sse-customer-key-base64.",command:"--s3-sse-customer-key"},{label:"SSE-C Key (Base64 Encoded)",value:"sse_customer_key_base64",fieldType:"string",required:!1,default:"",description:"If using SSE-C you must provide the secret encryption key encoded in base64 format to encrypt/decrypt your data. Alternatively you can provide --sse-customer-key.",command:"--s3-sse-customer-key-base64"},{label:"SSE-C Key (MD5 checksum)",value:"sse_customer_key_md5",fieldType:"string",required:!1,default:"",description:"If using SSE-C you may provide the secret encryption key MD5 checksum (optional). If you leave it blank, this is calculated automatically from the sse_customer_key provided.",command:"--s3-sse-customer-key-md5"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"200mi",description:"Cutoff for switching to chunked upload. Any files larger than this will be uploaded in chunks of chunk_size. The minimum is 0 and the maximum is 5 GiB.",command:"--s3-upload-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"5mi",description:'Chunk size to use for uploading. When uploading files larger than upload_cutoff or files with unknown size (e.g. from "rclone rcat" or uploaded with "rclone mount" or google photos or google docs) they will be uploaded as multipart uploads using this chunk size.',command:"--s3-chunk-size"},{label:"Max Upload Parts",value:"max_upload_parts",fieldType:"int",required:!1,default:"10000",description:"Maximum number of parts in a multipart upload. This option defines the maximum number of multipart chunks to use when doing a multipart upload.",command:"--s3-max-upload-parts"},{label:"Copy Cutoff",value:"copy_cutoff",fieldType:"sizesuffix",required:!1,default:"4.656gi",description:"Cutoff for switching to multipart copy. Any files larger than this that need to be server-side copied will be copied in chunks of this size.",command:"--s3-copy-cutoff"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Don't store MD5 checksum with object metadata. Normally rclone will calculate the MD5 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--s3-disable-checksum"},{label:"Shared Credentials File",value:"shared_credentials_file",fieldType:"string",required:!1,default:"",description:"Path to the shared credentials file. If env_auth = true then rclone can use a shared credentials file.",command:"--s3-shared-credentials-file"},{label:"Profile",value:"profile",fieldType:"string",required:!1,default:"",description:"Profile to use in the shared credentials file. If env_auth = true then rclone can use a shared credentials file. This variable controls which profile is used in that file.",command:"--s3-profile"},{label:"Session Token",value:"session_token",fieldType:"string",required:!1,default:"",description:"An AWS session token.",command:"--s3-session-token"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"4",description:"Concurrency for multipart uploads and copies. This is the number of chunks of the same file that are uploaded concurrently for multipart uploads and copies.",command:"--s3-upload-concurrency"},{label:"Force Path Style",value:"force_path_style",fieldType:"bool",required:!1,default:!0,description:"If true use path style access if false use virtual hosted style. If this is true (the default) then rclone will use path style access, if false then rclone will use virtual path style. See the AWS S3 docs for more info.",command:"--s3-force-path-style"},{label:"V2 Authentication",value:"v2_auth",fieldType:"bool",required:!1,default:!1,description:"If true use v2 authentication. If this is false (the default) then rclone will use v4 authentication. If it is set then rclone will use v2 authentication.",command:"--s3-v2-auth"},{label:"Use Dual-Stack endpoint",value:"use_dual_stack",fieldType:"bool",required:!1,default:!1,description:"If true use AWS S3 dual-stack endpoint (IPv6 support). See AWS Docs on Dualstack Endpoints",command:"--s3-use-dual-stack"},{label:"Use Accelerated endpoint",value:"use_accelerate_endpoint",fieldType:"bool",required:!1,default:!1,description:"If true use the AWS S3 accelerated endpoint. See: AWS S3 Transfer acceleration",command:"--s3-use-accelerate-endpoint"},{label:"Leave Parts On Error",value:"leave_parts_on_error",fieldType:"bool",required:!1,default:!1,description:"If true avoid calling abort upload on a failure, leaving all successfully uploaded parts on S3 for manual recovery. It should be set to true for resuming uploads across different sessions.",command:"--s3-leave-parts-on-error"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"1000",description:'Size of listing chunk (response list for each ListObject S3 request). This option is also known as "MaxKeys", "max-items", or "page-size" from the AWS S3 specification. Most services truncate the response list to 1000 objects even if requested more than that. In AWS S3 this is a global maximum and cannot be changed, see AWS S3. In Ceph, this can be increased with the "rgw list buckets max chunk" option.',command:"--s3-list-chunk"},{label:"List Version",value:"list_version",fieldType:"int",required:!1,default:"0",description:"Version of ListObjects to use: 1,2 or 0 for auto. When S3 originally launched it only provided the ListObjects call to enumerate objects in a bucket.",command:"--s3-list-version"},{label:"List URL Encode",value:"list_url_encode",fieldType:"tristate",required:!1,default:"unset",description:"Whether to url encode listings: true/false/unset Some providers support URL encoding listings and where this is available this is more reliable when using control characters in file names. If this is set to unset (the default) then rclone will choose according to the provider setting what to apply, but you can override rclone's choice here.",command:"--s3-list-url-encode"},{label:"No Check Bucket",value:"no_check_bucket",fieldType:"bool",required:!1,default:!1,description:"If set, don't attempt to check the bucket exists or create it. This can be useful when trying to minimise the number of transactions rclone does if you know the bucket exists already.",command:"--s3-no-check-bucket"},{label:"No Head",value:"no_head",fieldType:"bool",required:!1,default:!1,description:"If set, don't HEAD uploaded objects to check integrity. This can be useful when trying to minimise the number of transactions rclone does.",command:"--s3-no-head"},{label:"No Head Object",value:"no_head_object",fieldType:"bool",required:!1,default:!1,description:"If set, do not do HEAD before GET when getting objects.",command:"--s3-no-head-object"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--s3-encoding"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--s3-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--s3-memory-pool-use-mmap"},{label:"Disable HTTP2",value:"disable_http2",fieldType:"bool",required:!1,default:!1,description:"Disable usage of http2 for S3 backends. There is currently an unsolved issue with the s3 (specifically minio) backend and HTTP/2. HTTP/2 is enabled by default for the s3 backend but can be disabled here. When the issue is solved this flag will be removed.",command:"--s3-disable-http2"},{label:"Download URL",value:"download_url",fieldType:"string",required:!1,default:"",description:"Custom endpoint for downloads. This is usually set to a CloudFront CDN URL as AWS S3 offers cheaper egress for data downloaded through the CloudFront network.",command:"--s3-download-url"},{label:"Directory Markers",value:"directory_markers",fieldType:"bool",required:!1,default:!1,description:'Upload an empty object with a trailing slash when a new directory is created Empty folders are unsupported for bucket based storages, this option creates an empty object ending with "/", to persist the folder.',command:"--s3-directory-markers"},{label:"Use Multipart ETag",value:"use_multipart_etag",fieldType:"tristate",required:!1,default:"unset",description:"Whether to use ETag in multipart uploads for verification This should be true, false or left unset to use the default for the provider.",command:"--s3-use-multipart-etag"},{label:"Use Unsigned Payload",value:"use_unsigned_payload",fieldType:"tristate",required:!1,default:"unset",description:"Whether to use an unsigned payload in PutObject Rclone has to avoid the AWS SDK seeking the body when calling PutObject. The AWS provider can add checksums in the trailer to avoid seeking but other providers can't.",command:"--s3-use-unsigned-payload"},{label:"Use Presigned Request",value:"use_presigned_request",fieldType:"bool",required:!1,default:!1,description:"Whether to use a presigned request or PutObject for single part uploads If this is false rclone will use PutObject from the AWS SDK to upload an object.",command:"--s3-use-presigned-request"},{label:"Include Versions",value:"versions",fieldType:"bool",required:!1,default:!1,description:"Include old versions in directory listings.",command:"--s3-versions"},{label:"Version At",value:"version_at",fieldType:"time",required:!1,default:"off",description:'Show file versions as they were at the specified time. The parameter should be a date, "2006-01-02", datetime "2006-01-02 15:04:05" or a duration for that long ago, eg "100d" or "1h".',command:"--s3-version-at"},{label:"Show deleted file markers",value:"version_deleted",fieldType:"bool",required:!1,default:!1,description:"Show deleted file markers when using versions. This shows deleted file markers in the listing when using versions. These will appear as 0 size files. The only operation which can be performed on them is deletion.",command:"--s3-version-deleted"},{label:"Decompress",value:"decompress",fieldType:"bool",required:!1,default:!1,description:'If set this will decompress gzip encoded objects. It is possible to upload objects to S3 with "Content-Encoding: gzip" set. Normally rclone will download these files as compressed objects.',command:"--s3-decompress"},{label:"Might GZIP",value:"might_gzip",fieldType:"tristate",required:!1,default:"unset",description:"Set this if the backend might gzip objects. Normally providers will not alter objects when they are downloaded. If an object was not uploaded with Content-Encoding: gzip then it won't be set on download.",command:"--s3-might-gzip"},{label:"Use Accept Encoding GZIP",value:"use_accept_encoding_gzip",fieldType:"tristate",required:!1,default:"unset",description:"Whether to send Accept-Encoding: gzip header. By default, rclone will append Accept-Encoding: gzip to the request to download compressed objects whenever possible.",command:"--s3-use-accept-encoding-gzip"},{label:"No System Metadata",value:"no_system_metadata",fieldType:"bool",required:!1,default:!1,description:"Suppress setting and reading of system metadata",command:"--s3-no-system-metadata"},{label:"STS Endpoint",value:"sts_endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for STS (deprecated). Leave blank if using AWS to use the default endpoint for the region.",command:"--s3-sts-endpoint"},{label:"Use Already Exists",value:"use_already_exists",fieldType:"tristate",required:!1,default:"unset",description:"Set if rclone should report BucketAlreadyExists errors on bucket creation. At some point during the evolution of the s3 protocol, AWS started returning an AlreadyOwnedByYou error when attempting to create a bucket that the user already owned, rather than a BucketAlreadyExists error.",command:"--s3-use-already-exists"},{label:"Use Multipart Uploads",value:"use_multipart_uploads",fieldType:"tristate",required:!1,default:"unset",description:"Set if rclone should use multipart uploads. You can change this if you want to disable the use of multipart uploads. This shouldn't be necessary in normal operation.",command:"--s3-use-multipart-uploads"},{label:"Directory Bucket",value:"directory_bucket",fieldType:"bool",required:!1,default:!1,description:"Set to use AWS Directory Buckets If you are using an AWS Directory Bucket then set this flag.",command:"--s3-directory-bucket"},{label:"SDK Log Mode",value:"sdk_log_mode",fieldType:"bits",required:!1,default:"off",description:"Set to debug the SDK This can be set to a comma separated list of the following functions:",command:"--s3-sdk-log-mode"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--s3-description"}];
@@ -1 +1 @@
1
- const azureblobSettings=[{label:"Storage Account Name",value:"account",fieldType:"string",required:!0,default:"",description:"Azure Storage Account Name. Set this to the Azure Storage Account Name in use.",command:"--azureblob-account"},{label:"Storage Account Key",value:"key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Storage Account Shared Key. Leave blank to use SAS URL or Emulator.",command:"--azureblob-key"},{label:"Environment Auth",value:"env_auth",fieldType:"bool",required:!1,default:!1,description:"Read credentials from runtime (environment variables, CLI or MSI). See the authentication docs for full info.",command:"--azureblob-env-auth"},{label:"SAS URL",value:"sas_url",fieldType:"string",required:!1,default:"",description:"SAS URL for container level access only. Leave blank if using account/key or Emulator.",command:"--azureblob-sas-url"},{label:"Tenant ID",value:"tenant",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"ID of the service principal's tenant. Also called its directory ID. Set this if using",command:"--azureblob-tenant"},{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"The ID of the client in use. Set this if using",command:"--azureblob-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",required:!1,default:"",description:"One of the service principal's client secrets Set this if using",command:"--azureblob-client-secret"},{label:"Client Certificate Path",value:"client_certificate_path",fieldType:"string",required:!1,default:"",description:"Path to a PEM or PKCS12 certificate file including the private key. Set this if using",command:"--azureblob-client-certificate-path"},{label:"Client Certificate Password",value:"client_certificate_password",fieldType:"string",required:!1,default:"",description:"Password for the certificate file (optional). Optionally set this if using",command:"--azureblob-client-certificate-password"},{label:"Send Certificate Chain",value:"client_send_certificate_chain",fieldType:"bool",required:!1,default:!1,description:"Send the certificate chain when using certificate auth. Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to true, authentication requests include the x5c header.",command:"--azureblob-client-send-certificate-chain"},{label:"Username",value:"username",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"User name (usually an email address) Set this if using",command:"--azureblob-username"},{label:"Password",value:"password",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"The user's password. Set this if using",command:"--azureblob-password"},{label:"Service Principal File",value:"service_principal_file",fieldType:"string",required:!1,default:"",description:"Path to file containing credentials for use with a service principal. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.",command:"--azureblob-service-principal-file"},{label:"Disable Instance Discovery",value:"disable_instance_discovery",fieldType:"bool",required:!1,default:!1,description:"Skip requesting Microsoft Entra instance metadata This should be set true only by applications authenticating in disconnected clouds, or private clouds such as Azure Stack.",command:"--azureblob-disable-instance-discovery"},{label:"Use MSI",value:"use_msi",fieldType:"bool",required:!1,default:!1,description:"Use a managed service identity to authenticate (only works in Azure). When true, use a managed service identity to authenticate to Azure Storage instead of a SAS token or account key.",command:"--azureblob-use-msi"},{label:"MSI Object ID",value:"msi_object_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.",command:"--azureblob-msi-object-id"},{label:"MSI Client ID",value:"msi_client_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.",command:"--azureblob-msi-client-id"},{label:"MSI Resource ID",value:"msi_mi_res_id",fieldType:"string",required:!1,default:"",description:"Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.",command:"--azureblob-msi-mi-res-id"},{label:"Use Emulator",value:"use_emulator",fieldType:"bool",required:!1,default:!1,description:"Uses local storage emulator if provided as 'true'. Leave blank if using real azure storage endpoint.",command:"--azureblob-use-emulator"},{label:"Use Azure CLI",value:"use_az",fieldType:"bool",required:!1,default:!1,description:"Use Azure CLI tool az for authentication Set to use the Azure CLI tool az as the sole means of authentication.",command:"--azureblob-use-az"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--azureblob-endpoint"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"string",required:!1,default:"",description:"Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).",command:"--azureblob-upload-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"4mi",description:'Upload chunk size. Note that this is stored in memory and there may be up to "--transfers" * "--azureblob-upload-concurrency" chunks stored at once in memory.',command:"--azureblob-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"16",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--azureblob-upload-concurrency"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"5000",description:'Size of blob list. This sets the number of blobs requested in each listing chunk. Default is the maximum, 5000. "List blobs" requests are permitted 2 minutes per megabyte to complete. If an operation is taking longer than 2 minutes per megabyte on average, it will time out ( source ). This can be used to limit the number of blobs items to return, to avoid the time out.',command:"--azureblob-list-chunk"},{label:"Access Tier",value:"access_tier",fieldType:"string",required:!1,default:"",description:"Access tier of blob: hot, cool, cold or archive. Archived blobs can be restored by setting access tier to hot, cool or cold. Leave blank if you intend to use default access tier, which is set at account level",command:"--azureblob-access-tier"},{label:"Archive Tier Delete",value:"archive_tier_delete",fieldType:"bool",required:!1,default:!1,description:"Delete archive tier blobs before overwriting. Archive tier blobs cannot be updated. So without this flag, if you attempt to update an archive tier blob, then rclone will produce the error:",command:"--azureblob-archive-tier-delete"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Don't store MD5 checksum with object metadata. Normally rclone will calculate the MD5 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--azureblob-disable-checksum"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--azureblob-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--azureblob-memory-pool-use-mmap"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,rightperiod,invalidutf8",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--azureblob-encoding"},{label:"Public Access",value:"public_access",fieldType:"string",required:!1,default:"",description:"Public access level of a container: blob or container.",command:"--azureblob-public-access"},{label:"Directory Markers",value:"directory_markers",fieldType:"bool",required:!1,default:!1,description:'Upload an empty object with a trailing slash when a new directory is created Empty folders are unsupported for bucket based storages, this option creates an empty object ending with "/", to persist the folder.',command:"--azureblob-directory-markers"},{label:"No Check Container",value:"no_check_container",fieldType:"bool",required:!1,default:!1,description:"If set, don't attempt to check the container exists or create it. This can be useful when trying to minimize the number of transactions rclone does if you know the container exists already.",command:"--azureblob-no-check-container"},{label:"No Head Object",value:"no_head_object",fieldType:"bool",required:!1,default:!1,description:"If set, do not do HEAD before GET when getting objects.",command:"--azureblob-no-head-object"},{label:"Delete Snapshots",value:"delete_snapshots",fieldType:"string",required:!1,default:"",description:"Set to specify how to deal with snapshots on blob deletion.",command:"--azureblob-delete-snapshots"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--azureblob-description"}];export default azureblobSettings;
1
+ export default[{label:"Storage Account Name",value:"account",fieldType:"string",required:!0,default:"",description:"Azure Storage Account Name. Set this to the Azure Storage Account Name in use.",command:"--azureblob-account"},{label:"Storage Account Key",value:"key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Storage Account Shared Key. Leave blank to use SAS URL or Emulator.",command:"--azureblob-key"},{label:"Environment Auth",value:"env_auth",fieldType:"bool",required:!1,default:!1,description:"Read credentials from runtime (environment variables, CLI or MSI). See the authentication docs for full info.",command:"--azureblob-env-auth"},{label:"SAS URL",value:"sas_url",fieldType:"string",required:!1,default:"",description:"SAS URL for container level access only. Leave blank if using account/key or Emulator.",command:"--azureblob-sas-url"},{label:"Tenant ID",value:"tenant",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"ID of the service principal's tenant. Also called its directory ID. Set this if using",command:"--azureblob-tenant"},{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"The ID of the client in use. Set this if using",command:"--azureblob-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",required:!1,default:"",description:"One of the service principal's client secrets Set this if using",command:"--azureblob-client-secret"},{label:"Client Certificate Path",value:"client_certificate_path",fieldType:"string",required:!1,default:"",description:"Path to a PEM or PKCS12 certificate file including the private key. Set this if using",command:"--azureblob-client-certificate-path"},{label:"Client Certificate Password",value:"client_certificate_password",fieldType:"string",required:!1,default:"",description:"Password for the certificate file (optional). Optionally set this if using",command:"--azureblob-client-certificate-password"},{label:"Send Certificate Chain",value:"client_send_certificate_chain",fieldType:"bool",required:!1,default:!1,description:"Send the certificate chain when using certificate auth. Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to true, authentication requests include the x5c header.",command:"--azureblob-client-send-certificate-chain"},{label:"Username",value:"username",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"User name (usually an email address) Set this if using",command:"--azureblob-username"},{label:"Password",value:"password",fieldType:"string",authFieldType:"password",required:!1,default:"",description:"The user's password. Set this if using",command:"--azureblob-password"},{label:"Service Principal File",value:"service_principal_file",fieldType:"string",required:!1,default:"",description:"Path to file containing credentials for use with a service principal. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.",command:"--azureblob-service-principal-file"},{label:"Disable Instance Discovery",value:"disable_instance_discovery",fieldType:"bool",required:!1,default:!1,description:"Skip requesting Microsoft Entra instance metadata This should be set true only by applications authenticating in disconnected clouds, or private clouds such as Azure Stack.",command:"--azureblob-disable-instance-discovery"},{label:"Use MSI",value:"use_msi",fieldType:"bool",required:!1,default:!1,description:"Use a managed service identity to authenticate (only works in Azure). When true, use a managed service identity to authenticate to Azure Storage instead of a SAS token or account key.",command:"--azureblob-use-msi"},{label:"MSI Object ID",value:"msi_object_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.",command:"--azureblob-msi-object-id"},{label:"MSI Client ID",value:"msi_client_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.",command:"--azureblob-msi-client-id"},{label:"MSI Resource ID",value:"msi_mi_res_id",fieldType:"string",required:!1,default:"",description:"Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.",command:"--azureblob-msi-mi-res-id"},{label:"Use Emulator",value:"use_emulator",fieldType:"bool",required:!1,default:!1,description:"Uses local storage emulator if provided as 'true'. Leave blank if using real azure storage endpoint.",command:"--azureblob-use-emulator"},{label:"Use Azure CLI",value:"use_az",fieldType:"bool",required:!1,default:!1,description:"Use Azure CLI tool az for authentication Set to use the Azure CLI tool az as the sole means of authentication.",command:"--azureblob-use-az"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--azureblob-endpoint"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"string",required:!1,default:"",description:"Cutoff for switching to chunked upload (<= 256 MiB) (deprecated).",command:"--azureblob-upload-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"4mi",description:'Upload chunk size. Note that this is stored in memory and there may be up to "--transfers" * "--azureblob-upload-concurrency" chunks stored at once in memory.',command:"--azureblob-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"16",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--azureblob-upload-concurrency"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"5000",description:'Size of blob list. This sets the number of blobs requested in each listing chunk. Default is the maximum, 5000. "List blobs" requests are permitted 2 minutes per megabyte to complete. If an operation is taking longer than 2 minutes per megabyte on average, it will time out ( source ). This can be used to limit the number of blobs items to return, to avoid the time out.',command:"--azureblob-list-chunk"},{label:"Access Tier",value:"access_tier",fieldType:"string",required:!1,default:"",description:"Access tier of blob: hot, cool, cold or archive. Archived blobs can be restored by setting access tier to hot, cool or cold. Leave blank if you intend to use default access tier, which is set at account level",command:"--azureblob-access-tier"},{label:"Archive Tier Delete",value:"archive_tier_delete",fieldType:"bool",required:!1,default:!1,description:"Delete archive tier blobs before overwriting. Archive tier blobs cannot be updated. So without this flag, if you attempt to update an archive tier blob, then rclone will produce the error:",command:"--azureblob-archive-tier-delete"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Don't store MD5 checksum with object metadata. Normally rclone will calculate the MD5 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--azureblob-disable-checksum"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--azureblob-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--azureblob-memory-pool-use-mmap"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,rightperiod,invalidutf8",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--azureblob-encoding"},{label:"Public Access",value:"public_access",fieldType:"string",required:!1,default:"",description:"Public access level of a container: blob or container.",command:"--azureblob-public-access"},{label:"Directory Markers",value:"directory_markers",fieldType:"bool",required:!1,default:!1,description:'Upload an empty object with a trailing slash when a new directory is created Empty folders are unsupported for bucket based storages, this option creates an empty object ending with "/", to persist the folder.',command:"--azureblob-directory-markers"},{label:"No Check Container",value:"no_check_container",fieldType:"bool",required:!1,default:!1,description:"If set, don't attempt to check the container exists or create it. This can be useful when trying to minimize the number of transactions rclone does if you know the container exists already.",command:"--azureblob-no-check-container"},{label:"No Head Object",value:"no_head_object",fieldType:"bool",required:!1,default:!1,description:"If set, do not do HEAD before GET when getting objects.",command:"--azureblob-no-head-object"},{label:"Delete Snapshots",value:"delete_snapshots",fieldType:"string",required:!1,default:"",description:"Set to specify how to deal with snapshots on blob deletion.",command:"--azureblob-delete-snapshots"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--azureblob-description"}];
@@ -1 +1 @@
1
- const azurefilesSettings=[{label:"Storage Account Name",value:"account",fieldType:"string",required:!0,default:"",description:"Azure Storage Account Name. Set this to the Azure Storage Account Name in use.",command:"--azurefiles-account"},{label:"Share Name",value:"share_name",fieldType:"string",required:!0,default:"",description:"Azure Files Share Name. This is required and is the name of the share to access.",command:"--azurefiles-share-name"},{label:"Storage Account Key",value:"key",fieldType:"string",required:!0,default:"",description:"Storage Account Shared Key. Leave blank to use SAS URL or connection string.",command:"--azurefiles-key"},{label:"SAS URL",value:"sas_url",fieldType:"string",required:!1,default:"",description:"SAS URL. Leave blank if using account/key or connection string.",command:"--azurefiles-sas-url"},{label:"Connection String",value:"connection_string",fieldType:"string",required:!1,default:"",description:"Azure Files Connection String.",command:"--azurefiles-connection-string"},{label:"Environment Auth",value:"env_auth",fieldType:"bool",required:!1,default:!1,description:"Read credentials from runtime (environment variables, CLI or MSI). See the authentication docs for full info.",command:"--azurefiles-env-auth"},{label:"Tenant ID",value:"tenant",fieldType:"string",required:!1,default:"",description:"ID of the service principal's tenant. Also called its directory ID. Set this if using",command:"--azurefiles-tenant"},{label:"Client ID",value:"client_id",fieldType:"string",required:!1,default:"",description:"The ID of the client in use. Set this if using",command:"--azurefiles-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",required:!1,default:"",description:"One of the service principal's client secrets Set this if using",command:"--azurefiles-client-secret"},{label:"Client Certificate Path",value:"client_certificate_path",fieldType:"string",required:!1,default:"",description:"Path to a PEM or PKCS12 certificate file including the private key. Set this if using",command:"--azurefiles-client-certificate-path"},{label:"Client Certificate Password",value:"client_certificate_password",fieldType:"string",required:!1,default:"",description:"Password for the certificate file (optional). Optionally set this if using",command:"--azurefiles-client-certificate-password"},{label:"Send Certificate Chain",value:"client_send_certificate_chain",fieldType:"bool",required:!1,default:!1,description:"Send the certificate chain when using certificate auth. Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to true, authentication requests include the x5c header.",command:"--azurefiles-client-send-certificate-chain"},{label:"Username",value:"username",fieldType:"string",required:!1,default:"",description:"User name (usually an email address) Set this if using",command:"--azurefiles-username"},{label:"Password",value:"password",fieldType:"string",required:!1,default:"",description:"The user's password Set this if using",command:"--azurefiles-password"},{label:"Service Principal File",value:"service_principal_file",fieldType:"string",required:!1,default:"",description:"Path to file containing credentials for use with a service principal. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.",command:"--azurefiles-service-principal-file"},{label:"Use MSI",value:"use_msi",fieldType:"bool",required:!1,default:!1,description:"Use a managed service identity to authenticate (only works in Azure). When true, use a managed service identity to authenticate to Azure Storage instead of a SAS token or account key.",command:"--azurefiles-use-msi"},{label:"MSI Object ID",value:"msi_object_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.",command:"--azurefiles-msi-object-id"},{label:"MSI Client ID",value:"msi_client_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.",command:"--azurefiles-msi-client-id"},{label:"MSI Resource ID",value:"msi_mi_res_id",fieldType:"string",required:!1,default:"",description:"Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.",command:"--azurefiles-msi-mi-res-id"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--azurefiles-endpoint"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"4mi",description:'Upload chunk size. Note that this is stored in memory and there may be up to "--transfers" * "--azurefile-upload-concurrency" chunks stored at once in memory.',command:"--azurefiles-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"16",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--azurefiles-upload-concurrency"},{label:"Max Stream Size",value:"max_stream_size",fieldType:"sizesuffix",required:!1,default:"10gi",description:"Max size for streamed files. Azure files needs to know in advance how big the file will be. When rclone doesn't know it uses this value instead.",command:"--azurefiles-max-stream-size"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,ltgt,doublequote,colon,question,asterisk,pipe,backslash,del,ctl,rightperiod,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--azurefiles-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--azurefiles-description"}];export default azurefilesSettings;
1
+ export default[{label:"Storage Account Name",value:"account",fieldType:"string",required:!0,default:"",description:"Azure Storage Account Name. Set this to the Azure Storage Account Name in use.",command:"--azurefiles-account"},{label:"Share Name",value:"share_name",fieldType:"string",required:!0,default:"",description:"Azure Files Share Name. This is required and is the name of the share to access.",command:"--azurefiles-share-name"},{label:"Storage Account Key",value:"key",fieldType:"string",required:!0,default:"",description:"Storage Account Shared Key. Leave blank to use SAS URL or connection string.",command:"--azurefiles-key"},{label:"SAS URL",value:"sas_url",fieldType:"string",required:!1,default:"",description:"SAS URL. Leave blank if using account/key or connection string.",command:"--azurefiles-sas-url"},{label:"Connection String",value:"connection_string",fieldType:"string",required:!1,default:"",description:"Azure Files Connection String.",command:"--azurefiles-connection-string"},{label:"Environment Auth",value:"env_auth",fieldType:"bool",required:!1,default:!1,description:"Read credentials from runtime (environment variables, CLI or MSI). See the authentication docs for full info.",command:"--azurefiles-env-auth"},{label:"Tenant ID",value:"tenant",fieldType:"string",required:!1,default:"",description:"ID of the service principal's tenant. Also called its directory ID. Set this if using",command:"--azurefiles-tenant"},{label:"Client ID",value:"client_id",fieldType:"string",required:!1,default:"",description:"The ID of the client in use. Set this if using",command:"--azurefiles-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",required:!1,default:"",description:"One of the service principal's client secrets Set this if using",command:"--azurefiles-client-secret"},{label:"Client Certificate Path",value:"client_certificate_path",fieldType:"string",required:!1,default:"",description:"Path to a PEM or PKCS12 certificate file including the private key. Set this if using",command:"--azurefiles-client-certificate-path"},{label:"Client Certificate Password",value:"client_certificate_password",fieldType:"string",required:!1,default:"",description:"Password for the certificate file (optional). Optionally set this if using",command:"--azurefiles-client-certificate-password"},{label:"Send Certificate Chain",value:"client_send_certificate_chain",fieldType:"bool",required:!1,default:!1,description:"Send the certificate chain when using certificate auth. Specifies whether an authentication request will include an x5c header to support subject name / issuer based authentication. When set to true, authentication requests include the x5c header.",command:"--azurefiles-client-send-certificate-chain"},{label:"Username",value:"username",fieldType:"string",required:!1,default:"",description:"User name (usually an email address) Set this if using",command:"--azurefiles-username"},{label:"Password",value:"password",fieldType:"string",required:!1,default:"",description:"The user's password Set this if using",command:"--azurefiles-password"},{label:"Service Principal File",value:"service_principal_file",fieldType:"string",required:!1,default:"",description:"Path to file containing credentials for use with a service principal. Leave blank normally. Needed only if you want to use a service principal instead of interactive login.",command:"--azurefiles-service-principal-file"},{label:"Use MSI",value:"use_msi",fieldType:"bool",required:!1,default:!1,description:"Use a managed service identity to authenticate (only works in Azure). When true, use a managed service identity to authenticate to Azure Storage instead of a SAS token or account key.",command:"--azurefiles-use-msi"},{label:"MSI Object ID",value:"msi_object_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_mi_res_id specified.",command:"--azurefiles-msi-object-id"},{label:"MSI Client ID",value:"msi_client_id",fieldType:"string",required:!1,default:"",description:"Object ID of the user-assigned MSI to use, if any. Leave blank if msi_object_id or msi_mi_res_id specified.",command:"--azurefiles-msi-client-id"},{label:"MSI Resource ID",value:"msi_mi_res_id",fieldType:"string",required:!1,default:"",description:"Azure resource ID of the user-assigned MSI to use, if any. Leave blank if msi_client_id or msi_object_id specified.",command:"--azurefiles-msi-mi-res-id"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--azurefiles-endpoint"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"4mi",description:'Upload chunk size. Note that this is stored in memory and there may be up to "--transfers" * "--azurefile-upload-concurrency" chunks stored at once in memory.',command:"--azurefiles-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"16",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--azurefiles-upload-concurrency"},{label:"Max Stream Size",value:"max_stream_size",fieldType:"sizesuffix",required:!1,default:"10gi",description:"Max size for streamed files. Azure files needs to know in advance how big the file will be. When rclone doesn't know it uses this value instead.",command:"--azurefiles-max-stream-size"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,ltgt,doublequote,colon,question,asterisk,pipe,backslash,del,ctl,rightperiod,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--azurefiles-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--azurefiles-description"}];
@@ -1 +1 @@
1
- const b2Settings=[{label:"Account ID",value:"account",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Account ID or Application Key ID.",command:"--b2-account"},{label:"Application Key",value:"key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Application Key.",command:"--b2-key"},{label:"Hard Delete",value:"hard_delete",fieldType:"bool",required:!1,default:!1,description:"Permanently delete files on remote removal, otherwise hide files.",command:"--b2-hard-delete"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--b2-endpoint"},{label:"Test Mode",value:"test_mode",fieldType:"string",required:!1,default:"",description:"A flag string for X-Bz-Test-Mode header for debugging. This is for debugging purposes only. Setting it to one of the strings below will cause b2 to return specific errors: fail_some_uploads, expire_some_account_authorization_tokens, force_cap_exceeded",command:"--b2-test-mode"},{label:"Include Versions",value:"versions",fieldType:"bool",required:!1,default:!1,description:"Include old versions in directory listings. Note that when using this no file write operations are permitted, so you can't upload files or delete them.",command:"--b2-versions"},{label:"Version At",value:"version_at",fieldType:"time",required:!1,default:"off",description:"Show file versions as they were at the specified time. Note that when using this no file write operations are permitted, so you can't upload files or delete them.",command:"--b2-version-at"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"200mi",description:'Cutoff for switching to chunked upload. Files above this size will be uploaded in chunks of "--b2-chunk-size".',command:"--b2-upload-cutoff"},{label:"Copy Cutoff",value:"copy_cutoff",fieldType:"sizesuffix",required:!1,default:"4gi",description:"Cutoff for switching to multipart copy. Any files larger than this that need to be server-side copied will be copied in chunks of this size.",command:"--b2-copy-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"96mi",description:"Upload chunk size. When uploading large files, chunk the file into this size.",command:"--b2-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"4",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--b2-upload-concurrency"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Disable checksums for large (> upload cutoff) files. Normally rclone will calculate the SHA1 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--b2-disable-checksum"},{label:"Download URL",value:"download_url",fieldType:"string",required:!1,default:"",description:'Custom endpoint for downloads. This is usually set to a Cloudflare CDN URL as Backblaze offers free egress for data downloaded through the Cloudflare network. Rclone works with private buckets by sending an "Authorization" header. If the custom endpoint rewrites the requests for authentication, e.g., in Cloudflare Workers, this header needs to be handled properly. Leave blank if you want to use the endpoint provided by Backblaze.',command:"--b2-download-url"},{label:"Download Auth Duration",value:"download_auth_duration",fieldType:"duration",required:!1,default:"1w",description:'Time before the public link authorization token will expire in s or suffix ms|s|m|h|d. This is used in combination with "rclone link" for making files accessible to the public and sets the duration before the download authorization token will expire.',command:"--b2-download-auth-duration"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--b2-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--b2-memory-pool-use-mmap"},{label:"Lifecycle",value:"lifecycle",fieldType:"int",required:!1,default:"0",description:"Set the number of days deleted files should be kept when creating a bucket. On bucket creation, this parameter is used to create a lifecycle rule for the entire bucket.",command:"--b2-lifecycle"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--b2-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--b2-description"}];export default b2Settings;
1
+ export default[{label:"Account ID",value:"account",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Account ID or Application Key ID.",command:"--b2-account"},{label:"Application Key",value:"key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Application Key.",command:"--b2-key"},{label:"Hard Delete",value:"hard_delete",fieldType:"bool",required:!1,default:!1,description:"Permanently delete files on remote removal, otherwise hide files.",command:"--b2-hard-delete"},{label:"Endpoint",value:"endpoint",fieldType:"string",required:!1,default:"",description:"Endpoint for the service. Leave blank normally.",command:"--b2-endpoint"},{label:"Test Mode",value:"test_mode",fieldType:"string",required:!1,default:"",description:"A flag string for X-Bz-Test-Mode header for debugging. This is for debugging purposes only. Setting it to one of the strings below will cause b2 to return specific errors: fail_some_uploads, expire_some_account_authorization_tokens, force_cap_exceeded",command:"--b2-test-mode"},{label:"Include Versions",value:"versions",fieldType:"bool",required:!1,default:!1,description:"Include old versions in directory listings. Note that when using this no file write operations are permitted, so you can't upload files or delete them.",command:"--b2-versions"},{label:"Version At",value:"version_at",fieldType:"time",required:!1,default:"off",description:"Show file versions as they were at the specified time. Note that when using this no file write operations are permitted, so you can't upload files or delete them.",command:"--b2-version-at"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"200mi",description:'Cutoff for switching to chunked upload. Files above this size will be uploaded in chunks of "--b2-chunk-size".',command:"--b2-upload-cutoff"},{label:"Copy Cutoff",value:"copy_cutoff",fieldType:"sizesuffix",required:!1,default:"4gi",description:"Cutoff for switching to multipart copy. Any files larger than this that need to be server-side copied will be copied in chunks of this size.",command:"--b2-copy-cutoff"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"96mi",description:"Upload chunk size. When uploading large files, chunk the file into this size.",command:"--b2-chunk-size"},{label:"Upload Concurrency",value:"upload_concurrency",fieldType:"int",required:!1,default:"4",description:"Concurrency for multipart uploads. This is the number of chunks of the same file that are uploaded concurrently.",command:"--b2-upload-concurrency"},{label:"Disable Checksum",value:"disable_checksum",fieldType:"bool",required:!1,default:!1,description:"Disable checksums for large (> upload cutoff) files. Normally rclone will calculate the SHA1 checksum of the input before uploading it so it can add it to metadata on the object. This is great for data integrity checking but can cause long delays for large files to start uploading.",command:"--b2-disable-checksum"},{label:"Download URL",value:"download_url",fieldType:"string",required:!1,default:"",description:'Custom endpoint for downloads. This is usually set to a Cloudflare CDN URL as Backblaze offers free egress for data downloaded through the Cloudflare network. Rclone works with private buckets by sending an "Authorization" header. If the custom endpoint rewrites the requests for authentication, e.g., in Cloudflare Workers, this header needs to be handled properly. Leave blank if you want to use the endpoint provided by Backblaze.',command:"--b2-download-url"},{label:"Download Auth Duration",value:"download_auth_duration",fieldType:"duration",required:!1,default:"1w",description:'Time before the public link authorization token will expire in s or suffix ms|s|m|h|d. This is used in combination with "rclone link" for making files accessible to the public and sets the duration before the download authorization token will expire.',command:"--b2-download-auth-duration"},{label:"Memory Pool Flush Time",value:"memory_pool_flush_time",fieldType:"duration",required:!1,default:"1m0s",description:"How often internal memory buffer pools will be flushed. (no longer used)",command:"--b2-memory-pool-flush-time"},{label:"Memory Pool Use MMAP",value:"memory_pool_use_mmap",fieldType:"bool",required:!1,default:!1,description:"Whether to use mmap buffers in internal memory pool. (no longer used)",command:"--b2-memory-pool-use-mmap"},{label:"Lifecycle",value:"lifecycle",fieldType:"int",required:!1,default:"0",description:"Set the number of days deleted files should be kept when creating a bucket. On bucket creation, this parameter is used to create a lifecycle rule for the entire bucket.",command:"--b2-lifecycle"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--b2-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--b2-description"}];
@@ -1 +1 @@
1
- const boxSettings=[{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"OAuth Client Id",command:"--box-client-id"},{label:"Client Secret",value:"client_secret",authFieldType:"client",fieldType:"string",required:!0,default:"",description:"OAuth Client Secret",command:"--box-client-secret"},{label:"Config File",value:"box_config_file",fieldType:"string",required:!1,default:"",description:"Box App config.json location. Leave blank normally.",command:"--box-box-config-file"},{label:"OAuth Access Token",value:"token",fieldType:"string",authFieldType:"oauth",required:!1,default:"",description:"OAuth Access Token as a JSON blob.",command:"--box-token"},{label:"Auth URL",value:"auth_url",fieldType:"string",required:!1,default:"",description:"Auth server URL. Leave blank to use the provider defaults.",command:"--box-auth-url"},{label:"Token URL",value:"token_url",fieldType:"string",required:!1,default:"",description:"Token server url. Leave blank to use the provider defaults.",command:"--box-token-url"},{label:"Client Credentials",value:"client_credentials",authFieldType:"client",fieldType:"bool",required:!1,default:!1,description:"Use client credentials OAuth flow. This will use the OAUTH2 client Credentials Flow as described in RFC 6749.",command:"--box-client-credentials"},{label:"Root Folder ID",value:"root_folder_id",fieldType:"string",required:!1,default:"0",description:"Fill in for rclone to use a non root folder as its starting point.",command:"--box-root-folder-id"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"50mi",description:"Cutoff for switching to multipart upload (>= 50 MiB).",command:"--box-upload-cutoff"},{label:"Commit Retries",value:"commit_retries",fieldType:"int",required:!1,default:"100",description:"Max number of times to try committing a multipart file.",command:"--box-commit-retries"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"1000",description:"Size of listing chunk 1-1000.",command:"--box-list-chunk"},{label:"Owned By",value:"owned_by",fieldType:"string",required:!1,default:"",description:"Only show items owned by the login (email address) passed in.",command:"--box-owned-by"},{label:"Impersonate User",value:"impersonate",fieldType:"string",required:!1,default:"",description:"Impersonate this user ID when using a service account. Setting this flag allows rclone, when using a JWT service account, to act on behalf of another user by setting the as-user header.",command:"--box-impersonate"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--box-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--box-description"}];export default boxSettings;
1
+ export default[{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"OAuth Client Id",command:"--box-client-id"},{label:"Client Secret",value:"client_secret",authFieldType:"client",fieldType:"string",required:!0,default:"",description:"OAuth Client Secret",command:"--box-client-secret"},{label:"Config File",value:"box_config_file",fieldType:"string",required:!1,default:"",description:"Box App config.json location. Leave blank normally.",command:"--box-box-config-file"},{label:"OAuth Access Token",value:"token",fieldType:"string",authFieldType:"oauth",required:!1,default:"",description:"OAuth Access Token as a JSON blob.",command:"--box-token"},{label:"Auth URL",value:"auth_url",fieldType:"string",required:!1,default:"",description:"Auth server URL. Leave blank to use the provider defaults.",command:"--box-auth-url"},{label:"Token URL",value:"token_url",fieldType:"string",required:!1,default:"",description:"Token server url. Leave blank to use the provider defaults.",command:"--box-token-url"},{label:"Client Credentials",value:"client_credentials",authFieldType:"client",fieldType:"bool",required:!1,default:!1,description:"Use client credentials OAuth flow. This will use the OAUTH2 client Credentials Flow as described in RFC 6749.",command:"--box-client-credentials"},{label:"Root Folder ID",value:"root_folder_id",fieldType:"string",required:!1,default:"0",description:"Fill in for rclone to use a non root folder as its starting point.",command:"--box-root-folder-id"},{label:"Upload Cutoff",value:"upload_cutoff",fieldType:"sizesuffix",required:!1,default:"50mi",description:"Cutoff for switching to multipart upload (>= 50 MiB).",command:"--box-upload-cutoff"},{label:"Commit Retries",value:"commit_retries",fieldType:"int",required:!1,default:"100",description:"Max number of times to try committing a multipart file.",command:"--box-commit-retries"},{label:"List Chunk",value:"list_chunk",fieldType:"int",required:!1,default:"1000",description:"Size of listing chunk 1-1000.",command:"--box-list-chunk"},{label:"Owned By",value:"owned_by",fieldType:"string",required:!1,default:"",description:"Only show items owned by the login (email address) passed in.",command:"--box-owned-by"},{label:"Impersonate User",value:"impersonate",fieldType:"string",required:!1,default:"",description:"Impersonate this user ID when using a service account. Setting this flag allows rclone, when using a JWT service account, to act on behalf of another user by setting the as-user header.",command:"--box-impersonate"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,ctl,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--box-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--box-description"}];
@@ -1 +1 @@
1
- const dropboxSettings=[{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"client",required:!1,default:"",description:"OAuth Client Id. Leave blank normally.",command:"--dropbox-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"OAuth Client Secret. Leave blank normally.",command:"--dropbox-client-secret"},{label:"OAuth Access Token",value:"token",fieldType:"string",authFieldType:"oauth",required:!0,default:"",description:"OAuth Access Token as a JSON blob.",command:"--dropbox-token"},{label:"Auth URL",value:"auth_url",fieldType:"string",required:!1,default:"",description:"Auth server URL. Leave blank to use the provider defaults.",command:"--dropbox-auth-url"},{label:"Token URL",value:"token_url",fieldType:"string",required:!1,default:"",description:"Token server url. Leave blank to use the provider defaults.",command:"--dropbox-token-url"},{label:"Client Credentials",value:"client_credentials",fieldType:"bool",authFieldType:"client",required:!1,default:!1,description:"Use client credentials OAuth flow. This will use the OAUTH2 client Credentials Flow as described in RFC 6749.",command:"--dropbox-client-credentials"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"48mi",description:"Upload chunk size (< 150Mi). Any files larger than this will be uploaded in chunks of this size.",command:"--dropbox-chunk-size"},{label:"Impersonate User",value:"impersonate",fieldType:"string",required:!1,default:"",description:'Impersonate this user when using a business account. Note that if you want to use impersonate, you should make sure this flag is set when running "rclone config" as this will cause rclone to request the "members.read" scope which it won\'t normally. This is needed to lookup a members email address into the internal ID that dropbox uses in the API.',command:"--dropbox-impersonate"},{label:"Shared Files",value:"shared_files",fieldType:"bool",required:!1,default:!1,description:"Instructs rclone to work on individual shared files. In this mode rclone's features are extremely limited - only list (ls, lsl, etc.) operations and read operations (e.g. downloading) are supported in this mode. All other operations will be disabled.",command:"--dropbox-shared-files"},{label:"Shared Folders",value:"shared_folders",fieldType:"bool",required:!1,default:!1,description:"Instructs rclone to work on shared folders. When this flag is used with no path only the List operation is supported and all available shared folders will be listed. If you specify a path the first part will be interpreted as the name of shared folder. Rclone will then try to mount this shared to the root namespace. On success shared folder rclone proceeds normally. The shared folder is now pretty much a normal folder and all normal operations are supported.",command:"--dropbox-shared-folders"},{label:"Pacer Min Sleep",value:"pacer_min_sleep",fieldType:"duration",required:!1,default:"10ms",description:"Minimum time to sleep between API calls.",command:"--dropbox-pacer-min-sleep"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--dropbox-encoding"},{label:"Root Namespace",value:"root_namespace",fieldType:"string",required:!1,default:"",description:"Specify a different Dropbox namespace ID to use as the root for all paths.",command:"--dropbox-root-namespace"},{label:"Batch Mode",value:"batch_mode",fieldType:"string",required:!1,default:"sync",description:"Upload file batching sync|async|off. This sets the batch mode used by rclone.",command:"--dropbox-batch-mode"},{label:"Batch Size",value:"batch_size",fieldType:"int",required:!1,default:"0",description:"Max number of files in upload batch. This sets the batch size of files to upload. It has to be less than 1000.",command:"--dropbox-batch-size"},{label:"Batch Timeout",value:"batch_timeout",fieldType:"duration",required:!1,default:"0s",description:"Max time to allow an idle upload batch before uploading. If an upload batch is idle for more than this long then it will be uploaded.",command:"--dropbox-batch-timeout"},{label:"Batch Commit Timeout",value:"batch_commit_timeout",fieldType:"duration",required:!1,default:"10m0s",description:"Max time to wait for a batch to finish committing",command:"--dropbox-batch-commit-timeout"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--dropbox-description"}];export default dropboxSettings;
1
+ export default[{label:"Client ID",value:"client_id",fieldType:"string",authFieldType:"client",required:!1,default:"",description:"OAuth Client Id. Leave blank normally.",command:"--dropbox-client-id"},{label:"Client Secret",value:"client_secret",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"OAuth Client Secret. Leave blank normally.",command:"--dropbox-client-secret"},{label:"OAuth Access Token",value:"token",fieldType:"string",authFieldType:"oauth",required:!0,default:"",description:"OAuth Access Token as a JSON blob.",command:"--dropbox-token"},{label:"Auth URL",value:"auth_url",fieldType:"string",required:!1,default:"",description:"Auth server URL. Leave blank to use the provider defaults.",command:"--dropbox-auth-url"},{label:"Token URL",value:"token_url",fieldType:"string",required:!1,default:"",description:"Token server url. Leave blank to use the provider defaults.",command:"--dropbox-token-url"},{label:"Client Credentials",value:"client_credentials",fieldType:"bool",authFieldType:"client",required:!1,default:!1,description:"Use client credentials OAuth flow. This will use the OAUTH2 client Credentials Flow as described in RFC 6749.",command:"--dropbox-client-credentials"},{label:"Chunk Size",value:"chunk_size",fieldType:"sizesuffix",required:!1,default:"48mi",description:"Upload chunk size (< 150Mi). Any files larger than this will be uploaded in chunks of this size.",command:"--dropbox-chunk-size"},{label:"Impersonate User",value:"impersonate",fieldType:"string",required:!1,default:"",description:'Impersonate this user when using a business account. Note that if you want to use impersonate, you should make sure this flag is set when running "rclone config" as this will cause rclone to request the "members.read" scope which it won\'t normally. This is needed to lookup a members email address into the internal ID that dropbox uses in the API.',command:"--dropbox-impersonate"},{label:"Shared Files",value:"shared_files",fieldType:"bool",required:!1,default:!1,description:"Instructs rclone to work on individual shared files. In this mode rclone's features are extremely limited - only list (ls, lsl, etc.) operations and read operations (e.g. downloading) are supported in this mode. All other operations will be disabled.",command:"--dropbox-shared-files"},{label:"Shared Folders",value:"shared_folders",fieldType:"bool",required:!1,default:!1,description:"Instructs rclone to work on shared folders. When this flag is used with no path only the List operation is supported and all available shared folders will be listed. If you specify a path the first part will be interpreted as the name of shared folder. Rclone will then try to mount this shared to the root namespace. On success shared folder rclone proceeds normally. The shared folder is now pretty much a normal folder and all normal operations are supported.",command:"--dropbox-shared-folders"},{label:"Pacer Min Sleep",value:"pacer_min_sleep",fieldType:"duration",required:!1,default:"10ms",description:"Minimum time to sleep between API calls.",command:"--dropbox-pacer-min-sleep"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,backslash,del,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--dropbox-encoding"},{label:"Root Namespace",value:"root_namespace",fieldType:"string",required:!1,default:"",description:"Specify a different Dropbox namespace ID to use as the root for all paths.",command:"--dropbox-root-namespace"},{label:"Batch Mode",value:"batch_mode",fieldType:"string",required:!1,default:"sync",description:"Upload file batching sync|async|off. This sets the batch mode used by rclone.",command:"--dropbox-batch-mode"},{label:"Batch Size",value:"batch_size",fieldType:"int",required:!1,default:"0",description:"Max number of files in upload batch. This sets the batch size of files to upload. It has to be less than 1000.",command:"--dropbox-batch-size"},{label:"Batch Timeout",value:"batch_timeout",fieldType:"duration",required:!1,default:"0s",description:"Max time to allow an idle upload batch before uploading. If an upload batch is idle for more than this long then it will be uploaded.",command:"--dropbox-batch-timeout"},{label:"Batch Commit Timeout",value:"batch_commit_timeout",fieldType:"duration",required:!1,default:"10m0s",description:"Max time to wait for a batch to finish committing",command:"--dropbox-batch-commit-timeout"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--dropbox-description"}];
@@ -1 +1 @@
1
- const fichierSettings=[{label:"API Key",value:"api_key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Your API Key, get it from https://1fichier.com/console/params.pl.",command:"--fichier-api-key"},{label:"Shared Folder",value:"shared_folder",fieldType:"string",required:!1,default:"",description:"If you want to download a shared folder, add this parameter.",command:"--fichier-shared-folder"},{label:"File Password",value:"file_password",fieldType:"string",required:!1,default:"",description:"If you want to download a shared file that is password protected, add this parameter. NB Input to this must be obscured - see rclone obscure.",command:"--fichier-file-password"},{label:"Folder Password",value:"folder_password",fieldType:"string",required:!1,default:"",description:"If you want to list the files in a shared folder that is password protected, add this parameter. NB Input to this must be obscured - see rclone obscure.",command:"--fichier-folder-password"},{label:"CDN",value:"cdn",fieldType:"bool",required:!1,default:!1,description:"Set if you wish to use CDN download links.",command:"--fichier-cdn"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,ltgt,doublequote,singlequote,backquote,dollar,backslash,del,ctl,leftspace,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--fichier-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--fichier-description"}];export default fichierSettings;
1
+ export default[{label:"API Key",value:"api_key",fieldType:"string",authFieldType:"client",required:!0,default:"",description:"Your API Key, get it from https://1fichier.com/console/params.pl.",command:"--fichier-api-key"},{label:"Shared Folder",value:"shared_folder",fieldType:"string",required:!1,default:"",description:"If you want to download a shared folder, add this parameter.",command:"--fichier-shared-folder"},{label:"File Password",value:"file_password",fieldType:"string",required:!1,default:"",description:"If you want to download a shared file that is password protected, add this parameter. NB Input to this must be obscured - see rclone obscure.",command:"--fichier-file-password"},{label:"Folder Password",value:"folder_password",fieldType:"string",required:!1,default:"",description:"If you want to list the files in a shared folder that is password protected, add this parameter. NB Input to this must be obscured - see rclone obscure.",command:"--fichier-folder-password"},{label:"CDN",value:"cdn",fieldType:"bool",required:!1,default:!1,description:"Set if you wish to use CDN download links.",command:"--fichier-cdn"},{label:"Encoding",value:"encoding",fieldType:"encoding",required:!1,default:"slash,ltgt,doublequote,singlequote,backquote,dollar,backslash,del,ctl,leftspace,rightspace,invalidutf8,dot",description:"The encoding for the backend. See the encoding section in the overview for more info.",command:"--fichier-encoding"},{label:"Description",value:"description",fieldType:"string",required:!1,default:"",description:"Description of the Storage.",command:"--fichier-description"}];