diff --git a/src/api/constants.ts b/src/api/constants.ts
index 6231c1fb..2af3f9f8 100644
--- a/src/api/constants.ts
+++ b/src/api/constants.ts
@@ -52,6 +52,10 @@ export const downloaderOptions = [
value: 'transmission',
title: i18n.global.t('setting.system.transmission'),
},
+ {
+ value: 'rtorrent',
+ title: i18n.global.t('setting.system.rtorrent'),
+ },
]
export const downloaderDict = downloaderOptions.reduce((dict, item) => {
diff --git a/src/assets/images/logos/rtorrent.png b/src/assets/images/logos/rtorrent.png
new file mode 100644
index 00000000..08b06b3a
Binary files /dev/null and b/src/assets/images/logos/rtorrent.png differ
diff --git a/src/components/cards/DownloaderCard.vue b/src/components/cards/DownloaderCard.vue
index 6ec0387f..1f56a736 100644
--- a/src/components/cards/DownloaderCard.vue
+++ b/src/components/cards/DownloaderCard.vue
@@ -206,6 +206,8 @@ const getIcon = computed(() => {
return getLogoUrl('qbittorrent')
case 'transmission':
return getLogoUrl('transmission')
+ case 'rtorrent':
+ return getLogoUrl('rtorrent')
default:
return getLogoUrl('downloader')
}
@@ -443,6 +445,51 @@ onUnmounted(() => {
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
= {
qbittorrent: qbittorrentLogo,
transmission: transmissionLogo,
+ rtorrent: rtorrentLogo,
emby: embyLogo,
jellyfin: jellyfinLogo,
plex: plexLogo,
diff --git a/src/views/setup/DownloaderSettingsStep.vue b/src/views/setup/DownloaderSettingsStep.vue
index 13baaa6d..3e8c1d8f 100644
--- a/src/views/setup/DownloaderSettingsStep.vue
+++ b/src/views/setup/DownloaderSettingsStep.vue
@@ -27,7 +27,7 @@ const { wizardData, selectDownloader, validationErrors } = useSetupWizard()
{{ t('setupWizard.downloader.type') }}
-
+
-
+
+
+
+
+
+ rTorrent
+
+
+
@@ -203,6 +216,63 @@ const { wizardData, selectDownloader, validationErrors } = useSetupWizard()
/>
+
+
+
+
+
+
+
+
+
+
+
+
+
+