fix(aria2): harden protocol and torrent transfers

This commit is contained in:
NimBold
2026-08-08 22:33:49 +03:30
parent 6c9950a690
commit c3755ce886
21 changed files with 830 additions and 106 deletions
+7
View File
@@ -269,6 +269,7 @@ const common = {
liveSpeedLimitFailed: 'Could not update live speed cap: {{detail}}',
liveSpeedLimitUnavailable: 'Live speed control is unavailable for media downloads while running.',
editingUnavailable: 'These properties cannot be edited while the download is active.',
credentialsRequired: 'Credentials are required again after restart. Add them in Advanced and resume this download.',
liveTorrentUploadLimit: 'Live Torrent upload limit',
liveTorrentUploadLimitHint: 'Applies to active Torrent downloads and seeding. Clear it to remove the per-Torrent upload cap.',
liveTorrentUploadLimitPlaceholder: 'e.g. 1024K',
@@ -459,6 +460,9 @@ const common = {
algorithm: 'Algorithm',
digest: 'Digest',
expectedDigest: 'Expected digest',
sftpHostKeyMd: 'SFTP host-key fingerprint',
sftpHostKeyMdHint: 'sha-1=40 hex characters or md5=32 hex characters',
sftpHostKeyMdDescription: 'Optional Aria2 host-key verification. Leave blank only if you accept Aria2s unverified SFTP host key.',
cookies: 'Cookies',
headers: 'Headers',
mirrors: 'Mirrors',
@@ -763,6 +767,9 @@ const common = {
verifyChecksum: 'Verify Checksum',
checksumAlgorithm: 'Checksum algorithm',
expectedDigest: 'Expected digest',
sftpHostKeyMd: 'SFTP host-key fingerprint',
sftpHostKeyMdHint: 'sha-1=40 hex characters or md5=32 hex characters',
sftpHostKeyMdDescription: 'Optional Aria2 host-key verification. Leave blank only if you accept Aria2s unverified SFTP host key.',
headers: 'Headers',
requestHeaders: 'Request headers',
cookies: 'Cookies',
+7
View File
@@ -269,6 +269,7 @@ const fa = {
liveSpeedLimitFailed: 'به‌روزرسانی سقف سرعت زنده ممکن نیست: {{detail}}',
liveSpeedLimitUnavailable: 'تغییر زنده سرعت دانلودهای رسانه‌ای هنگام اجرا در دسترس نیست.',
editingUnavailable: 'هنگام فعال بودن دانلود، ویرایش این ویژگی‌ها ممکن نیست.',
credentialsRequired: 'پس از راه‌اندازی مجدد، دوباره اطلاعات ورود لازم است. آن‌ها را در بخش پیشرفته وارد و دانلود را ادامه دهید.',
liveTorrentUploadLimit: 'محدودیت زنده آپلود تورنت',
liveTorrentUploadLimitHint: 'برای تورنت‌های فعال و در حال سید اعمال می‌شود. برای حذف محدودیت آپلود تورنت، آن را پاک کنید.',
liveTorrentUploadLimitPlaceholder: 'مثلاً 1024K',
@@ -459,6 +460,9 @@ const fa = {
algorithm: 'الگوریتم',
digest: 'هش',
expectedDigest: 'هش مورد انتظار',
sftpHostKeyMd: 'اثر انگشت کلید میزبان SFTP',
sftpHostKeyMdHint: 'sha-1=۴۰ نویسهٔ هگز یا md5=۳۲ نویسهٔ هگز',
sftpHostKeyMdDescription: 'اعتبارسنجی اختیاری کلید میزبان در Aria2. اگر خالی بگذارید، کلید SFTP بدون اعتبارسنجی پذیرفته می‌شود.',
cookies: 'کوکی‌ها',
headers: 'هدرها',
mirrors: 'آینه‌ها',
@@ -763,6 +767,9 @@ const fa = {
verifyChecksum: 'تأیید چک‌سام',
checksumAlgorithm: 'الگوریتم چک‌سام',
expectedDigest: 'هش مورد انتظار',
sftpHostKeyMd: 'اثر انگشت کلید میزبان SFTP',
sftpHostKeyMdHint: 'sha-1=۴۰ نویسهٔ هگز یا md5=۳۲ نویسهٔ هگز',
sftpHostKeyMdDescription: 'اعتبارسنجی اختیاری کلید میزبان در Aria2. اگر خالی بگذارید، کلید SFTP بدون اعتبارسنجی پذیرفته می‌شود.',
headers: 'هدرها',
requestHeaders: 'هدرهای درخواست',
cookies: 'کوکی‌ها',
+7
View File
@@ -269,6 +269,7 @@ const he = {
liveSpeedLimitFailed: 'לא ניתן לעדכן את הגבלת המהירות בזמן אמת: {{detail}}',
liveSpeedLimitUnavailable: 'שליטה במהירות בזמן אמת אינה זמינה להורדות מדיה בזמן שהן פועלות.',
editingUnavailable: 'לא ניתן לערוך את המאפיינים האלה בזמן שההורדה פעילה.',
credentialsRequired: 'לאחר הפעלה מחדש נדרשים שוב פרטי התחברות. הוסף אותם במתקדם והמשך את ההורדה.',
liveTorrentUploadLimit: 'הגבלת העלאת טורנט בזמן אמת',
liveTorrentUploadLimitHint: 'חל על הורדות טורנט פעילות ושיתוף. נקה כדי להסיר את הגבלת ההעלאה של הטורנט.',
liveTorrentUploadLimitPlaceholder: 'לדוגמה 1024K',
@@ -459,6 +460,9 @@ const he = {
algorithm: 'אלגוריתם',
digest: 'ערך גיבוב',
expectedDigest: 'ערך גיבוב צפוי',
sftpHostKeyMd: 'טביעת אצבע של מפתח מארח SFTP',
sftpHostKeyMdHint: 'sha-1=40 תווי hex או md5=32 תווי hex',
sftpHostKeyMdDescription: 'אימות אופציונלי של מפתח המארח ב-Aria2. השאר ריק רק אם מקובל עליך מפתח SFTP ללא אימות.',
cookies: 'עוגיות',
headers: 'כותרות (Headers)',
mirrors: 'מראות',
@@ -763,6 +767,9 @@ const he = {
verifyChecksum: 'אימות סכום ביקורת',
checksumAlgorithm: 'אלגוריתם סכום ביקורת',
expectedDigest: 'ערך גיבוב צפוי',
sftpHostKeyMd: 'טביעת אצבע של מפתח מארח SFTP',
sftpHostKeyMdHint: 'sha-1=40 תווי hex או md5=32 תווי hex',
sftpHostKeyMdDescription: 'אימות אופציונלי של מפתח המארח ב-Aria2. השאר ריק רק אם מקובל עליך מפתח SFTP ללא אימות.',
headers: 'כותרות (Headers)',
requestHeaders: 'כותרות בקשה',
cookies: 'עוגיות',
+7
View File
@@ -269,6 +269,7 @@ const ru = {
liveSpeedLimitFailed: 'Не удалось обновить текущее ограничение скорости: {{detail}}',
liveSpeedLimitUnavailable: 'Изменение скорости медиазагрузок во время работы недоступно.',
editingUnavailable: 'Эти свойства нельзя изменять во время активной загрузки.',
credentialsRequired: 'После перезапуска снова нужны учётные данные. Добавьте их в разделе «Дополнительно» и возобновите загрузку.',
liveTorrentUploadLimit: 'Текущий лимит отдачи торрента',
liveTorrentUploadLimitHint: 'Применяется к активным торрентам и раздаче. Очистите поле, чтобы убрать лимит отдачи для торрента.',
liveTorrentUploadLimitPlaceholder: 'например, 1024K',
@@ -459,6 +460,9 @@ const ru = {
algorithm: 'Алгоритм',
digest: 'Хеш',
expectedDigest: 'Ожидаемый хеш',
sftpHostKeyMd: 'Отпечаток ключа хоста SFTP',
sftpHostKeyMdHint: 'sha-1=40 шестнадцатеричных символов или md5=32',
sftpHostKeyMdDescription: 'Необязательная проверка ключа хоста Aria2. Оставляйте поле пустым только если принимаете непроверенный ключ SFTP.',
cookies: 'Файлы cookie',
headers: 'Заголовки',
mirrors: 'Зеркала',
@@ -763,6 +767,9 @@ const ru = {
verifyChecksum: 'Проверять контрольную сумму',
checksumAlgorithm: 'Алгоритм контрольной суммы',
expectedDigest: 'Ожидаемый хеш',
sftpHostKeyMd: 'Отпечаток ключа хоста SFTP',
sftpHostKeyMdHint: 'sha-1=40 шестнадцатеричных символов или md5=32',
sftpHostKeyMdDescription: 'Необязательная проверка ключа хоста Aria2. Оставляйте поле пустым только если принимаете непроверенный ключ SFTP.',
headers: 'Заголовки',
requestHeaders: 'Заголовки запроса',
cookies: 'Файлы cookie',
+7
View File
@@ -269,6 +269,7 @@ const uk = {
liveSpeedLimitFailed: 'Не вдалося оновити поточне обмеження швидкості: {{detail}}',
liveSpeedLimitUnavailable: 'Зміна швидкості медіазавантажень під час роботи недоступна.',
editingUnavailable: 'Ці властивості не можна змінювати під час активного завантаження.',
credentialsRequired: 'Після перезапуску облікові дані потрібні знову. Додайте їх у розділі «Додатково» та відновіть завантаження.',
liveTorrentUploadLimit: 'Поточний ліміт віддачі торрента',
liveTorrentUploadLimitHint: 'Застосовується до активних торрентів і роздачі. Очистіть поле, щоб прибрати ліміт віддачі торрента.',
liveTorrentUploadLimitPlaceholder: 'наприклад, 1024K',
@@ -459,6 +460,9 @@ const uk = {
algorithm: 'Алгоритм',
digest: 'Хеш',
expectedDigest: 'Очікуваний хеш',
sftpHostKeyMd: 'Відбиток ключа вузла SFTP',
sftpHostKeyMdHint: 'sha-1=40 шістнадцяткових символів або md5=32',
sftpHostKeyMdDescription: 'Необов’язкова перевірка ключа вузла Aria2. Залишайте поле порожнім лише якщо приймаєте неперевірений ключ SFTP.',
cookies: 'Файли cookie',
headers: 'Заголовки',
mirrors: 'Дзеркала',
@@ -763,6 +767,9 @@ const uk = {
verifyChecksum: 'Перевірити контрольну суму',
checksumAlgorithm: 'Алгоритм контрольної суми',
expectedDigest: 'Очікуваний хеш',
sftpHostKeyMd: 'Відбиток ключа вузла SFTP',
sftpHostKeyMdHint: 'sha-1=40 шістнадцяткових символів або md5=32',
sftpHostKeyMdDescription: 'Необов’язкова перевірка ключа вузла Aria2. Залишайте поле порожнім лише якщо приймаєте неперевірений ключ SFTP.',
headers: 'Заголовки',
requestHeaders: 'Заголовки запиту',
cookies: 'Файли cookie',
+7
View File
@@ -269,6 +269,7 @@ const zhCN = {
liveSpeedLimitFailed: '无法更新实时速度上限:{{detail}}',
liveSpeedLimitUnavailable: '媒体下载运行时无法使用实时速度控制。',
editingUnavailable: '下载进行时无法编辑这些属性。',
credentialsRequired: '重启后需要再次提供凭据。请在“高级”中添加凭据,然后恢复下载。',
liveTorrentUploadLimit: '实时种子上传限速',
liveTorrentUploadLimitHint: '适用于活跃的种子下载和做种。清空后可移除该种子的上传限速。',
liveTorrentUploadLimitPlaceholder: '例如 1024K',
@@ -459,6 +460,9 @@ const zhCN = {
algorithm: '算法',
digest: '哈希值',
expectedDigest: '预期哈希值',
sftpHostKeyMd: 'SFTP 主机密钥指纹',
sftpHostKeyMdHint: 'sha-1=40 个十六进制字符或 md5=32 个',
sftpHostKeyMdDescription: '可选的 Aria2 主机密钥验证。仅在接受未验证的 SFTP 主机密钥时留空。',
cookies: 'Cookie',
headers: '请求头',
mirrors: '镜像源',
@@ -763,6 +767,9 @@ const zhCN = {
verifyChecksum: '验证校验和',
checksumAlgorithm: '校验和算法',
expectedDigest: '预期摘要',
sftpHostKeyMd: 'SFTP 主机密钥指纹',
sftpHostKeyMdHint: 'sha-1=40 个十六进制字符或 md5=32 个',
sftpHostKeyMdDescription: '可选的 Aria2 主机密钥验证。仅在接受未验证的 SFTP 主机密钥时留空。',
headers: '请求头',
requestHeaders: '请求头',
cookies: 'Cookie',