{"id":14985788,"url":"https://github.com/6c65726f79/transmissionic","last_synced_at":"2025-04-04T20:12:12.624Z","repository":{"id":36964917,"uuid":"333811896","full_name":"6c65726f79/Transmissionic","owner":"6c65726f79","description":"Remote for Transmission Daemon","archived":false,"fork":false,"pushed_at":"2024-07-28T11:39:03.000Z","size":14238,"stargazers_count":475,"open_issues_count":38,"forks_count":34,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-03-28T19:08:14.455Z","etag":null,"topics":["android","capacitor","electron","ionic","remote","transmission","transmission-daemon","transmission-web"],"latest_commit_sha":null,"homepage":"","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/6c65726f79.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://www.buymeacoffee.com/6c65726f79"]}},"created_at":"2021-01-28T16:10:02.000Z","updated_at":"2025-03-25T07:29:55.000Z","dependencies_parsed_at":"2024-09-25T00:32:39.394Z","dependency_job_id":null,"html_url":"https://github.com/6c65726f79/Transmissionic","commit_stats":{"total_commits":1947,"total_committers":7,"mean_commits":"278.14285714285717","dds":0.4622496147919877,"last_synced_commit":"a728b5333be6cb06b6adaf9cfc331ed937953302"},"previous_names":[],"tags_count":37,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6c65726f79%2FTransmissionic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6c65726f79%2FTransmissionic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6c65726f79%2FTransmissionic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/6c65726f79%2FTransmissionic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/6c65726f79","download_url":"https://codeload.github.com/6c65726f79/Transmissionic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247242680,"owners_count":20907134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","capacitor","electron","ionic","remote","transmission","transmission-daemon","transmission-web"],"created_at":"2024-09-24T14:11:40.635Z","updated_at":"2025-04-04T20:12:12.579Z","avatar_url":"https://github.com/6c65726f79.png","language":"Vue","funding_links":["https://www.buymeacoffee.com/6c65726f79"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"public/assets/icon/favicon.png\" width=\"96\"\u003e\n\u003c/p\u003e\n\u003ch3 align=\"center\"\u003eTransmissionic\u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n  Transmissionic is a free multi-platform remote for Transmission Daemon built with \u003ca href=\"https://ionicframework.com/\"\u003eIonic\u003c/a\u003e and \u003ca href=\"https://vuejs.org/\"\u003eVue.js\u003c/a\u003e.\u003cbr\u003e\n  It can be used as \u003ca href=\"https://github.com/transmission/transmission/wiki/Web-Interface\"\u003eWeb Interface\u003c/a\u003e, Android/iOS app and Windows/Linux/macOS program.\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \n\u003c/p\u003e\n\n----\n\n![Version](https://img.shields.io/github/v/release/6c65726f79/Transmissionic?label=Release)\n![Dev](https://img.shields.io/github/package-json/v/6c65726f79/Transmissionic/dev?color=orange\u0026label=Dev)\n![GitHub all releases](https://img.shields.io/github/downloads/6c65726f79/Transmissionic/total?label=Downloads)\n![Build](https://img.shields.io/github/actions/workflow/status/6c65726f79/Transmissionic/build.yml?label=Build\u0026branch=main)\n[![Sonar Quality Gate](https://img.shields.io/sonar/quality_gate/6c65726f79_Transmissionic?label=Quality%20gate\u0026logo=sonarcloud\u0026server=https%3A%2F%2Fsonarcloud.io)](https://sonarcloud.io/dashboard?id=6c65726f79_Transmissionic)\n[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=6c65726f79_Transmissionic\u0026metric=sqale_rating)](https://sonarcloud.io/dashboard?id=6c65726f79_Transmissionic)\n\n\u003ca href='https://play.google.com/store/apps/details?id=com.sleroy.transmissionic\u0026pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1'\u003e\u003cimg alt='Get it on Google Play' width=\"240\" src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png'/\u003e\u003c/a\u003e\n\n# About\n\n## Main features\n\n* Manage multiple servers\n* Add torrent from local file or magnet link\n* Drag \u0026 drop torrent file\n* Magnet protocol support\n* Start/stop/reannounce/verify/delete one or more torrents\n* Modify torrent's options\n* Set the location of a torrent\n* Select and rename torrent's files\n* Edit tracker list\n* View the list of peers with country flags\n* Sort torrents by trackers\n* Open files in explorer\n* Use presets when adding torrents\n\n## Screenshots\n\n\u003cimg src=\"https://i.imgur.com/STtzxrY.png\" width=\"300\"\u003e \u003cimg src=\"https://i.imgur.com/5Y9ML4s.png\" width=\"300\"\u003e\n\n## Translation\n\nAvailable languages:\n- **Czech** (Cyril Veverka, Ti)\n- **German** (Alain Nussbaumer)\n- **Austrian German** (Alain Nussbaumer, Tobias W)\n- **Greek** (Dtheofilopoulos)\n- **English**\n- **Chilean Spanish** (Sebastian)\n- **Costa Rican Spanish** (Zenón Monge)\n- **French**\n- **Swiss French** (Alain Nussbaumer, ZertyCraft)\n- **Hungarian** (Daniel)\n- **Italian** (Emanuele Ruzza)\n- **Korean** (Mild_Coffee)\n- **Dutch** (John)\n- **Polish** (Matthew)\n- **Portuguese** (Humberto Faria)\n- **Brazilian Portuguese** (JFSilvaBr)\n- **Russian** (Alek Depler)\n- **Slovak** (Tomas)\n- **Ukrainian** (Oleksandr Popov, stanol)\n- **Chinese (simplified)** (Cuiweiqiang dlnu, xiatian)\n- **Chinese (traditional)** (Steven F)\n\nYou can help with the translation by joining the project on [POEditor](https://poeditor.com/join/project?hash=sbVnI9eo3d). If your language is not availaible, feel free to add it.\n\nThanks to all contributors.\n\n## Compatibility\n\n### Web UI\n\n| Browser         | Chrome    | Firefox   | Safari    | Edge      | IE        | Chrome for Android | Safari on iOS  |\n| --------------- | --------- | --------- | --------- | --------- | --------- | ------------------ | -------------- |\n| Version         | ≥23 ✔     | ≥21 ✔     | ≥6 ✔      | ≥79 ✔     | ❌         | ≥90 ✔              | ≥6 ✔           |\n\n### Application\n\n| OS              | Windows   | Linux     | macOS     | Android   | iOS       |\n| --------------- | --------- | --------- | --------- | --------- | --------- |\n| Version         | ≥10 ✔     | ✔        | ≥10.11 ✔  | ≥5.0 ✔    | ≥12 ✔     |\n\n## Motivations\n\n* Provide a unified interface for all platforms\n* Improve myself on Vue.js and Ionic\n* Get familiar with GitHub\n\n## Inspirations\n\nInterface and features inspired by [Transmission Remote](https://github.com/y-polek/TransmissionRemote) and [Transmission Remote GUI](https://github.com/transmission-remote-gui/transgui).\n\n# Installation\n\nYou must first [enable remote access](https://github.com/transmission/transmission/blob/main/docs/Web-Interface.md#enabling-the-web-interface) in Transmission settings.\n\n## Web UI\n\nDownload `Transmissionic-webui-[version].zip` from the [latest release](https://github.com/6c65726f79/Transmissionic/releases/latest) page and unzip it.\n\n### Method 1\n\nSet an [environment variable](https://github.com/transmission/transmission/blob/main/docs/Environment-Variables.md) named `TRANSMISSION_WEB_HOME` with the path of the extracted folder as value.\n\nExample:\n```bash\nexport TRANSMISSION_WEB_HOME=/path/to/transmissionic/folder\n```\n\n### Method 2\n\n\u003e Note: On older versions of Transmission, the `public_html` folder is named `web`\n\nCopy the content of the extracted folder to the `public_html` folder of Transmission, whose location varies depending on your operating system:\n\nWindows\n\n```\nC:\\Program Files\\Transmission\\public_html\n```\n\nLinux\n\n```\n/usr/share/transmission/public_html\n```\n\nmacOS\n\n```\n/Applications/Transmission.app/Contents/Resources/public_html\n```\n\nDon't forget to save your current `public_html` folder if you want to switch back.\n\n## Linux\n\nDownload the [AppImage](https://appimage.org/) from the [latest release](https://github.com/6c65726f79/Transmissionic/releases/latest) page.\n\nIt's recommended to use [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher) to take advantage of the torrent file assosiation and magnet link handling.\n\n## macOS\n\nDownload the DMG from the [latest release](https://github.com/6c65726f79/Transmissionic/releases/latest) page.\n\nWhen you try to install it, you will get an error. After getting the error, go to `System Preferences \u003e Security \u0026 Privacy` and click on `Open Anyway`.\n\n## iOS\n\nDownload the IPA from the [latest release](https://github.com/6c65726f79/Transmissionic/releases/latest) page.\n\nUse a tool like [AltStore](https://altstore.io/) to sideload the app on your device.\n\n## Other\n\nSimply download the installer for the desired platform from the [latest release](https://github.com/6c65726f79/Transmissionic/releases/latest) page and install it.\n\n# Configuration\n\n## Web UI\n\nYou don't need to specify the server details as they will be automatically detected from the URL of the Web UI.\n\n### Default settings\n\nThe settings are stored on the client side, but you can overwrite the default settings by creating a file named `default.json` in the root folder of the Web UI.\n\nThe file can contain the following key/value pairs:\n\n| Key                    | Type          | Description                           | Default |\n| ---------------------- | ------------- | ------------------------------------- | ------------------------ |\n| colorScheme            | `string`      | Possible values: `light` or `dark`    | System default |\n| language               | `string`      | An ISO 639-1 language code, example: `en-US` | System default |\n| orderBy                | `string`      | Possible values: `name`, `addedDate`, `sizeWhenDone`, `uploadRatio`, `uploadedEver`, `rateUpload`, `activityDate`, `queuePosition` | `addedDate` |\n| reverse                | `boolean`     | Reversed ordering                     | `true` |\n| useBits                | `boolean`     | Display speed in bit/s                | `true` |\n| expandMenu             | `boolean`     | Expand side menu on large screen      | `true` |\n| searchByName           | `boolean`     | Search torrents by name               | `true` |\n| searchByDirectory      | `boolean`     | Search torrents by download directory | `true` |\n| ipFlags                | `boolean`     | Display peer flag                     | `false` |\n| openMagnetLinks        | `boolean`     | Open magnet links with Transmissionic | `false` |\n| rememberSelectedPreset | `boolean`     | Remember selected preset when adding torrents | `false` |\n| compactMode            | `boolean`     | Compact torrent list                  | `false` |\n| showTrackerList        | `boolean`     | Always show the list of trackers in the side menu | `false` |\n| refreshInterval        | `number`      | Refresh interval in seconds           | `5` |\n| timeout                | `number`      | Connection timeout in seconds         | `10` |\n| servers                | `array`       | Default servers                       | `[]` |\n\nServer object:\n\n| Key      | Type          | Description                                |\n| -------- | ------------- | ------------------------------------------ |\n| name     | `string`      | Name to display                            |\n| host     | `string`      | Hostname or IP address of Transmission RPC |\n| path     | `string`      | Path of Transmission RPC                   |\n| port     | `number`      | Port of Transmission RPC                   |\n| https    | `boolean`     | Use HTTPS                                  |\n\n\nConfiguration file example:\n\n```json\n{\n  \"colorScheme\":\"dark\",\n  \"language\":\"en\",\n  \"orderBy\":\"name\",\n  \"reverse\":false,\n  \"ipFlags\":true,\n  \"refreshInterval\":10,\n  \"timeout\":20,\n  \"servers\":[\n    {\n      \"name\":\"My server\",\n      \"host\":\"transmission.myserver.com\",\n      \"path\":\"/my/transmission/rpc\",\n      \"https\":true\n    }\n  ]\n}\n```\n\n### Magnet protocol\n\nYou can handle magnet links directly with the Web UI, but this feature is only available in secure contexts (HTTPS) or from localhost.\n\nTo use the Web UI in HTTPS, you must set up a reverse proxy: [[GUIDE] Transmission web in SSL (https) - using nginx as a reverse proxy](https://discourse.osmc.tv/t/guide-transmission-web-in-ssl-https-using-nginx-as-a-reverse-proxy/22549)\n\nList of supported browsers: [Browser compatibility](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/registerProtocolHandler#browser_compatibility)\n\n### Bookmarklet\n\nWhen using the Web UI, you can import magnet and torrent links using a [bookmarklet](https://en.wikipedia.org/wiki/Bookmarklet). To set up the bookmarklet, open the Web UI settings and simply drag and drop the corresponding button into your bookmarks bar.\n\nYou can use the text selection to highlight a magnet link or a hash before cliking on the bookmarklet, otherwise the script will look for a clickable magnet or torrent link in the page.\n\nFor mobile users:\n1. Long-press the bookmarklet button and select \"Copy link address\".\n2. Add the current page to your favorites and edit the bookmark.\n3. Replace the address with the one you previously copied and change the name to \"Download with Transmissionic\".\n4. Go on a torrent page.\n5. Tap on the address bar, search for \"Download with Transmissionic\" and select the bookmark. ([Screenshot](https://i.imgur.com/xcFA4Ez.png))\n\n## Electron\n\n### Magnet protocol\n\nTo handle magnet links in Windows, you need to set Transmissionic as the default program.\n\nTo do so, go to \"Choose default apps by protocol\" in the Windows settings, scroll down to \"MAGNET\" then select Transmissionic.\n\n### Path mapping\n\nYou can configure path mapping on computer, this allow you to match remote paths with local paths to open the file explorer. This parameter works exactly the same way as [Transmission Remote GUI](https://github.com/transmission-remote-gui/transgui).\n\nExample:\n```\n/mnt/ssd = \\\\192.168.1.1\\ssd\n```\n`/mnt/ssd` = Remote path on the server where Transmission daemon is running.\n\n`\\\\192.168.1.1\\ssd` = Local path to access the shared folder.\n\nIn this case, the remote server IP is `192.168.1.1`, and the folder `/mnt/ssd` must be shared on the network as `ssd`.\n\n# Keyboard shortcuts\n\n| Keys                    | Action               |\n| ----------------------- | -------------------- |\n| `Alt` `T`               | Open torrent         |\n| `Alt` `M`               | Open magnet          |\n| `Alt` `U`               | Open URL             |\n| `Alt` `S`               | Settings             |\n| `Alt` `N`               | New server           |\n| `Alt` `I`               | Server information   |\n| `Alt` `C`               | Server configuration |\n| `Alt` `A`               | About                |\n| `Alt` `1`-`9`           | Select filter        |\n| `Cmd/Ctrl` `Alt` `S`    | Search               |\n| `Cmd/Ctrl` `Alt` `T`    | Toggle side menu     |\n| `Cmd/Ctrl` `RightArrow` | Next tab             |\n| `Cmd/Ctrl` `LeftArrow`  | Previous tab         |\n| `Shift` `Click`         | Select torrent       |\n| `Ctrl` `A`              | Select all           |\n| `Esc`                   | Cancel selection     |\n\n# Build\n\n## Requirements\n\nYou must have [Node.js](https://nodejs.org/) installed, then you can clone this repo and install dependencies by running this in the root folder of the project:\n\n```\nnpm install\n```\n\nIf you want to build the APK, you must install [Android Studio](https://developer.android.com/studio) or [JDK](https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html).\n\nIf you want to build the IPA, you must install [Xcode](https://apps.apple.com/app/xcode/id497799835).\n\n## Web UI\n\nSimply run the following command:\n\n```\nnpm run build:webui\n```\n\nThis will build the Web UI inside the `dist` folder.\n\n## Electron\n\nFirst, synchronize Electron content by running this in the root folder of the project:\n\n```\nnpm run sync:electron\n```\n\nThen place your terminal in the `electron` folder and run this:\n\n```\nnpm install\n```\n\n### Windows\n\n```\nnpm run electron:build-windows\n```\n\n### Linux\n\n```\nnpm run electron:build-linux\n```\n\n### macOS\n\n```\nnpm run electron:build-mac\n```\n\nThe installer will be located in the `electron/dist` folder.\n\n## Android\n\nStart by running this in the root folder of the project:\n\n```\nnpm run sync:android\n```\n\n### With Android Studio\n\nOpen Android Studio by running:\n\n```\nnpx cap open android\n```\n\nOnce Android Studio has loaded the project, build the app from `Build \u003e Make Project`\n\n### Without Android Studio\n\nPlace your terminal in the `android` folder and run this:\n\n```\n./gradlew build\n```\n\nThe APK will be located in the `android/app/build/outputs/apk` folder.\n\n## iOS\n\nStart by running this in the root folder of the project:\n\n```\nnpm run sync:ios\n```\n\nThen open Xcode by running:\n\n```\nnpx cap open ios\n```\n\n# Development\n\nYou can start a local dev server using Ionic, but you need to disable same origin policy in your browser to connect to Transmission RPC from a different host. For example, run a new instance of chrome with these flags : `--disable-web-security --disable-gpu --user-data-dir=~/chromeTemp`\n\nThen start the dev server by running this in the root folder of the project: \n\n```\nnpm run serve\n```\n\nIf you want to contribute and pull your changes to this project, please work on the `dev` branch as it contains all the latest changes.\n\n# TODO\n\n- [x] Add iOS/macOS support\n- [x] Add server configurations modal\n- [x] Add magnet url handling on Windows\n- [ ] ~~Use ion-virtual-scroll when availaible for Vue.js~~\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6c65726f79%2Ftransmissionic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F6c65726f79%2Ftransmissionic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F6c65726f79%2Ftransmissionic/lists"}