199 lines
4.1 KiB
TypeScript
199 lines
4.1 KiB
TypeScript
export const RCLONE_CONFIG_DEFAULTS = {
|
|
copy: {
|
|
'multi_thread_cutoff': '64M',
|
|
'multi_thread_streams': 8,
|
|
'multi_thread_chunk_size': '8M',
|
|
},
|
|
config: {
|
|
'fast_list': true,
|
|
'use_server_modtime': true,
|
|
'buffer_size': '32M',
|
|
'transfers': 8,
|
|
'checkers': 16,
|
|
},
|
|
vfs: {
|
|
'chunk_size': '4M',
|
|
'chunk_streams': 16,
|
|
},
|
|
} as const
|
|
|
|
export const RCLONE_CONF_REGEX = /[\/\\]rclone\.conf$/
|
|
export const DOUBLE_BACKSLASH_REGEX = /\\\\/g
|
|
|
|
export const SERVE_TYPES = ['dlna', 'ftp', 'sftp', 'http', 'nfs', 'restic', 's3', 'webdav'] as const
|
|
|
|
export const SUPPORTS_CLEANUP = [
|
|
's3',
|
|
'b2',
|
|
'box',
|
|
'filefabric',
|
|
'filen',
|
|
'drive',
|
|
'internetarchive',
|
|
'jottacloud',
|
|
'mailru',
|
|
'mega',
|
|
'onedrive',
|
|
'oos',
|
|
'pcloud',
|
|
'pikpak',
|
|
'putio',
|
|
'protondrive',
|
|
'qingstor',
|
|
'seafile',
|
|
'yandex',
|
|
] as const
|
|
|
|
export const SUPPORTS_PURGE = [
|
|
'netstorage',
|
|
'box',
|
|
'sharefile',
|
|
'dropbox',
|
|
'filefabric',
|
|
'filescom',
|
|
'filen',
|
|
'gofile',
|
|
'gcs',
|
|
'drive',
|
|
'hdfs',
|
|
'hifile',
|
|
'iclouddrive',
|
|
'imagekit',
|
|
'jottacloud',
|
|
'koofr',
|
|
'mailru',
|
|
'mega',
|
|
'azureblob',
|
|
'onedrive',
|
|
'opendrive',
|
|
'swift',
|
|
'pikpak',
|
|
'pcloud',
|
|
'pixeldrain',
|
|
'premiumizeme',
|
|
'putio',
|
|
'protondrive',
|
|
'quatrix',
|
|
'seafile',
|
|
'sugarsync',
|
|
'storj',
|
|
'webdav',
|
|
'yandex',
|
|
'zoho',
|
|
] as const
|
|
|
|
export const SUPPORTS_ABOUT = [
|
|
'box',
|
|
'dropbox',
|
|
'gofile',
|
|
'drive',
|
|
'filen',
|
|
'hdfs',
|
|
'internetarchive',
|
|
'jottacloud',
|
|
'koofr',
|
|
'mailru',
|
|
'mega',
|
|
'azurefiles',
|
|
'onedrive',
|
|
'opendrive',
|
|
'swift',
|
|
'pcloud',
|
|
'pikpak',
|
|
'pixeldrain',
|
|
'premiumizeme',
|
|
'putio',
|
|
'protondrive',
|
|
'quatrix',
|
|
'seafile',
|
|
'sftp',
|
|
'webdav',
|
|
'yandex',
|
|
'zoho',
|
|
'local',
|
|
] as const
|
|
|
|
export const CANNOT_PERSIST_EMPTY_FOLDERS = [
|
|
's3',
|
|
'gcs',
|
|
'azureblob',
|
|
'b2',
|
|
'swift',
|
|
'oracleobjectstorage',
|
|
'oos',
|
|
'qingstor',
|
|
'storj',
|
|
'memory',
|
|
]
|
|
|
|
export function supportsPersistentEmptyFolders(backendType?: string | null) {
|
|
if (!backendType) return true
|
|
return !CANNOT_PERSIST_EMPTY_FOLDERS.includes(backendType.toLowerCase())
|
|
}
|
|
|
|
// export const SUPPORTED_OPERATIONS = [
|
|
// {
|
|
// id: 'uncategorized',
|
|
// name: 'Uncategorized',
|
|
// icon: <FileIcon />,
|
|
// titleColor: 'text-foreground',
|
|
// indicatorColor: 'text-foreground-500',
|
|
// },
|
|
// {
|
|
// id: 'copy',
|
|
// name: 'Copy',
|
|
// icon: <CopyIcon />,
|
|
// titleColor: 'text-primary-400',
|
|
// indicatorColor: 'text-primary-300',
|
|
// },
|
|
// {
|
|
// id: 'move',
|
|
// name: 'Move',
|
|
// icon: <MoveIcon />,
|
|
// titleColor: 'text-primary-400',
|
|
// indicatorColor: 'text-primary-300',
|
|
// },
|
|
// {
|
|
// id: 'delete',
|
|
// name: 'Delete',
|
|
// icon: <TrashIcon />,
|
|
// titleColor: 'text-danger-400',
|
|
// indicatorColor: 'text-danger-300',
|
|
// },
|
|
// {
|
|
// id: 'sync',
|
|
// name: 'Sync',
|
|
// icon: <ArrowRightLeftIcon />,
|
|
// titleColor: 'text-success-300',
|
|
// indicatorColor: 'text-success-300',
|
|
// },
|
|
// {
|
|
// id: 'bisync',
|
|
// name: 'Bisync',
|
|
// icon: <ArrowRightLeftIcon />,
|
|
// titleColor: 'text-primary-400',
|
|
// indicatorColor: 'text-primary-300',
|
|
// },
|
|
// {
|
|
// id: 'mount',
|
|
// name: 'Mount',
|
|
// icon: <HardDriveIcon />,
|
|
// titleColor: 'text-secondary-500',
|
|
// indicatorColor: 'text-secondary-400',
|
|
// },
|
|
// {
|
|
// id: 'purge',
|
|
// name: 'Purge',
|
|
// icon: <Trash2Icon />,
|
|
// titleColor: 'text-warning-300',
|
|
// indicatorColor: 'text-warning-300',
|
|
// },
|
|
// {
|
|
// id: 'serve',
|
|
// name: 'Serve',
|
|
// icon: <ServerIcon />,
|
|
// titleColor: 'text-cyan-500',
|
|
// indicatorColor: 'text-cyan-300',
|
|
// },
|
|
// ] as const
|