diff --git a/eslint.config.mjs b/eslint.config.mjs index 72775324..a196af52 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -53,6 +53,6 @@ export default defineConfig([ } ], { - ignores: ['node_modules/**', 'dist/**', 'out/**', '.gitignore', 'scripts/cloudflare-worker.js'] + ignores: ['node_modules/**', 'dist/**', 'out/**', 'local/**', '.gitignore', 'scripts/cloudflare-worker.js'] } ]) diff --git a/package.json b/package.json index 1716cc92..6dcc69a3 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,7 @@ "npx-scope-finder": "^1.2.0", "officeparser": "^4.1.1", "p-queue": "^8.1.0", + "socks-proxy-agent": "^8.0.3", "tar": "^7.4.3", "tokenx": "^0.4.1", "undici": "^7.4.0", diff --git a/resources/scripts/download.js b/resources/scripts/download.js index cc97f1df..270f8cbe 100644 --- a/resources/scripts/download.js +++ b/resources/scripts/download.js @@ -16,21 +16,23 @@ async function downloadWithRedirects(url, destinationPath) { const proxyAgent = new SocksProxyAgent(proxyUrl) return new Promise((resolve, reject) => { const request = (url) => { - https.get(url, { agent: proxyAgent }, (response) => { - if (response.statusCode == 301 || response.statusCode == 302) { - request(response.headers.location) - return - } - if (response.statusCode !== 200) { - reject(new Error(`Download failed: ${response.statusCode} ${response.statusMessage}`)) - return - } - const file = fs.createWriteStream(destinationPath) - response.pipe(file) - file.on('finish', () => resolve()) - }).on('error', (err) => { - reject(err) - }) + https + .get(url, { agent: proxyAgent }, (response) => { + if (response.statusCode == 301 || response.statusCode == 302) { + request(response.headers.location) + return + } + if (response.statusCode !== 200) { + reject(new Error(`Download failed: ${response.statusCode} ${response.statusMessage}`)) + return + } + const file = fs.createWriteStream(destinationPath) + response.pipe(file) + file.on('finish', () => resolve()) + }) + .on('error', (err) => { + reject(err) + }) } request(url) }) diff --git a/src/main/index.ts b/src/main/index.ts index e4a1e18b..907ef2b6 100644 --- a/src/main/index.ts +++ b/src/main/index.ts @@ -1,6 +1,6 @@ import { electronApp, optimizer } from '@electron-toolkit/utils' -import { app, ipcMain } from 'electron' import { replaceDevtoolsFont } from '@main/utils/windowUtil' +import { app, ipcMain } from 'electron' import installExtension, { REDUX_DEVTOOLS } from 'electron-devtools-installer' import { registerIpc } from './ipc' diff --git a/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx b/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx index e0e7487b..08fe07ea 100644 --- a/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx +++ b/src/renderer/src/pages/settings/DataSettings/WebDavSettings.tsx @@ -262,46 +262,46 @@ const WebDavSettings: FC = () => { )} - <> - - setCustomFileName(e.target.value)} - placeholder={t('settings.data.webdav.backup.modal.filename.placeholder')} - /> - - - setIsRestoreModalVisible(false)} - okButtonProps={{ loading: restoring }} - width={600}> -
- setCustomFileName(e.target.value)} + placeholder={t('settings.data.webdav.backup.modal.filename.placeholder')} /> - {loadingFiles && ( -
- -
- )} -
-
- + + + setIsRestoreModalVisible(false)} + okButtonProps={{ loading: restoring }} + width={600}> +
+