{"id":49558058,"url":"https://github.com/thezupzup/auryn","last_synced_at":"2026-05-25T01:05:08.183Z","repository":{"id":339505461,"uuid":"1162228530","full_name":"TheZupZup/Auryn","owner":"TheZupZup","description":"Privacy-friendly GUI wrapper for streamrip on Linux","archived":false,"fork":false,"pushed_at":"2026-05-01T14:25:21.000Z","size":411,"stargazers_count":5,"open_issues_count":30,"forks_count":3,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-01T14:25:24.431Z","etag":null,"topics":["bash","desktop-app","download-manager","fedora","fedora-linux","gui","linux","linux-desktop","linux-mint","media-downloader","music-downloader","open-source","privacy-focused","privacy-tools","qobuz","wrapper","zenity"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/TheZupZup.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-02-20T02:22:13.000Z","updated_at":"2026-05-01T14:25:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/TheZupZup/Auryn","commit_stats":null,"previous_names":["thezupzup/qrip","thezupzup/auryn"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/TheZupZup/Auryn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheZupZup%2FAuryn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheZupZup%2FAuryn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheZupZup%2FAuryn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheZupZup%2FAuryn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TheZupZup","download_url":"https://codeload.github.com/TheZupZup/Auryn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TheZupZup%2FAuryn/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32559760,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T03:21:47.309Z","status":"ssl_error","status_checked_at":"2026-05-03T03:21:43.884Z","response_time":103,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bash","desktop-app","download-manager","fedora","fedora-linux","gui","linux","linux-desktop","linux-mint","media-downloader","music-downloader","open-source","privacy-focused","privacy-tools","qobuz","wrapper","zenity"],"created_at":"2026-05-03T06:17:24.727Z","updated_at":"2026-05-20T01:10:12.197Z","avatar_url":"https://github.com/TheZupZup.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Auryn\n[![CI](https://github.com/TheZupZup/Auryn/actions/workflows/python-app.yml/badge.svg)](https://github.com/TheZupZup/Auryn/actions)\n[![Linux Packages](https://github.com/TheZupZup/Auryn/actions/workflows/linux-packages.yml/badge.svg)](https://github.com/TheZupZup/Auryn/actions/workflows/linux-packages.yml)\n[![Latest Release](https://img.shields.io/github/v/release/TheZupZup/Auryn)](https://github.com/TheZupZup/Auryn/releases/latest)\n[![Download .deb/.rpm](https://img.shields.io/badge/Linux%20Packages-.deb%20%7C%20.rpm-blue)](https://github.com/TheZupZup/Auryn/releases/latest)\n[![Python](https://img.shields.io/badge/Python-3.x-blue?logo=python)](https://www.python.org/)\n[![GTK3](https://img.shields.io/badge/GTK-3-green?logo=gnome)](https://www.gtk.org/)\n\n\nAuryn is a graphical interface for an existing open-source tool. It does not provide, host, or distribute any content.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/Auryn.svg\" width=\"120\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/Auryn_ui.png\" width=\"900\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003egraphical interface for an existing open-source command-line tool\u003c/b\u003e\n\u003c/p\u003e\n\n## Announcement\n- .deb package available in Releases\n- Flatpak support in progress\n\n---\n\n## Features\n\n- Simple and intuitive GUI for managing local audio workflows\n- Manage and organize local audio libraries\n- Support for high-quality audio formats (FLAC, etc.)\n- Real-time progress and logs\n- One-click workflow (no terminal required)\n\n---\n\n## Why Auryn?\n\nBuilding and managing a personal local audio library\n\nIt is designed for users who want:\n\n- Full control over their music collection\n- High-quality audio (FLAC / Hi-Res)\n- A clean and easy workflow\n- A solution that integrates with self-hosted setups\n\n---\n\n## Use Case\n\nAuryn is ideal for:\n\n- Building a local music library\n- Storing music on a NAS\n- Creating a self-hosted media ecosystem\n- Using media servers like Jellyfin\n\n---\n\n## Workflow\nInput Source → Auryn → Local/NAS Library → Media Server → Playback\n\n\n---\n\n## Installation\n\nTested on Linux Mint / Debian-based systems\n\nDownload the `.deb` package from the releases section:\n\nhttps://codeberg.org/TheZupZup/Auryn/releases\n\nThen install:\n\n```bash\nsudo dpkg -i Auryn.deb\n```\n\n## Docker (Advanced / NAS / Server)\n\nAuryn is available as a Docker image for advanced users, NAS environments, or server setups.\n\n**Docker Hub:** [thezupzup/Auryn](https://hub.docker.com/r/thezupzup/Auryn)\n\n### Prerequisites\n\nSince Auryn is a GUI application, you need to allow the container to access your X11 display server:\n\n```bash\nxhost +local:docker\n```\n\n### Option 1: Docker Run\n\nYou can start the container with a single command:\n\n```bash\ndocker run -d \\\n  --name auryn \\\n  -e DISPLAY=$DISPLAY \\\n  -v /tmp/.X11-unix:/tmp/.X11-unix \\\n  -v $(pwd)/downloads:/root/Music \\\n  thezupzup/Auryn\n```\n\n**Parameters Explained:**\n- `-e DISPLAY=$DISPLAY`: Passes your host's display environment variable to the container.\n- `-v /tmp/.X11-unix:/tmp/.X11-unix`: Mounts the X11 socket for GUI rendering.\n- `-v $(pwd)/downloads:/root/Music`: Maps your local downloads folder to the container's output directory.\n\n### Option 2: Docker Compose (Recommended)\n\nFor a more manageable setup, use a `docker-compose.yml` file:\n\n```yaml\nservices:\n  auryn:\n    image: thezupzup/Auryn\n    container_name: auryn\n    environment:\n      - DISPLAY=${DISPLAY}\n    volumes:\n      - /tmp/.X11-unix:/tmp/.X11-unix\n      - ./downloads:/root/Music\n    network_mode: host\n    restart: unless-stopped\n```\n\n**To run with Docker Compose:**\n1. Create a `docker-compose.yml` file with the content above.\n2. Run `docker-compose up -d`.\n---\n\n## Windows experimental\n\nWindows support is experimental. The app has a cross-platform path layer and an experimental Windows runtime path, but GTK/PyGObject on Windows is not trivial to set up and the experience is not as polished as on Linux.\n\n\u003e **Experimental CI build:** the `Windows packaging (experimental)` workflow\n\u003e (`.github/workflows/windows-exe.yml`) runs on `windows-latest` and uploads\n\u003e up to two artifacts per run:\n\u003e\n\u003e - `auryn-windows-onedir-\u003cversion\u003e` — best-effort standalone PyInstaller\n\u003e   `--onedir` bundle. Currently **experimental**: it may fail or be\n\u003e   incomplete on a given run.\n\u003e - `auryn-windows-source-\u003cversion\u003e` — always-produced source-only zip\n\u003e   containing `src/`, `assets/`, the Windows packaging files, and a\n\u003e   `README-WINDOWS.txt` explaining how to run Auryn on Windows with a\n\u003e   manually installed MSYS2 / GTK3 / PyGObject toolchain.\n\u003e\n\u003e The Windows build is **experimental** — it is unsigned, has no installer,\n\u003e and **TIDAL / streamrip setup may still require testing** on Windows\n\u003e even when the GUI launches cleanly.\n\n### Requirements\n\n- Python 3.11+\n- [streamrip](https://github.com/nathom/streamrip) installed and available on `PATH` as `rip`\n- GTK 3 and PyGObject installed through a supported Windows method (for example MSYS2, or another PyGObject-compatible environment)\n\n### Basic setup\n\n```bat\ngit clone https://github.com/TheZupZup/Auryn.git\ncd Auryn\n\npython -m venv .venv\n.venv\\Scripts\\activate\n\npip install -r requirements.txt\n\n:: install streamrip (either inside the venv)\npip install streamrip\n\n:: ...or as an isolated CLI via pipx\npipx install streamrip\n\npython src\\Auryn.py\n```\n\nMake sure `rip --version` works from the same shell before launching Auryn.\n\n### Notes\n\n- Windows support is **experimental** and not officially supported yet.\n- GTK installation may require MSYS2 or another PyGObject-compatible setup; follow the official PyGObject Windows instructions to get `gi` importable from your Python environment.\n- On Windows, downloads run through a pipe-based subprocess path instead of the PTY-based path used on Linux. Output capture and progress parsing may behave slightly differently.\n- Issues and PRs are welcome, especially for Windows packaging improvements (installers, GTK bundling, CI).\n- Planned packaging approach: see [docs/windows-packaging.md](docs/windows-packaging.md).\n\n---\n\n## Troubleshooting\n\nAuryn ships two diagnostic flags to help verify your installation before launching the GUI.\n\n### --version\n\nPrints the application version and exits.\n\n```bash\npython src/Auryn.py --version\n```\n\n### --doctor\n\nRuns a series of preflight checks and reports the result of each one:\n\n| Check | What is verified |\n|---|---|\n| Python | Version meets the minimum requirement |\n| GTK / PyGObject | The `gi` module and GTK 3 bindings are importable |\n| streamrip / rip | The `rip` executable is present on `PATH` |\n| streamrip config | A streamrip configuration file exists |\n| Music folder | The default output directory (`~/Music`) is accessible |\n\n```bash\npython src/Auryn.py --doctor\n```\n\nThe command prints a status line for each check. If a check fails, `--doctor` exits immediately with a non-zero exit code; subsequent checks are not run. A clean environment exits with code `0`.\n\n#### Verbose mode\n\nPass `--verbose` (or the short form `-v`) alongside `--doctor` to include extra diagnostic details with each check:\n\n```bash\npython src/Auryn.py --doctor --verbose\n```\n\nIn verbose mode the report additionally includes the active Python executable, the host platform, the resolved `rip` path (or the directories searched when it is not found), the streamrip configuration path, and the default download folder. Use this when filing bug reports or diagnosing environment-specific issues.\n\n---\n\n## Project Status\n\nThis is an actively developed project.\n\nIt is part of my open-source learning journey, and I am continuously improving it.\n\nFeedback, suggestions, and contributions are welcome.\n\n---\n\n## Future Ideas\n\nBetter library organization\n\nImproved UI/UX\n\nOffline-ready workflows\n\nIntegration with self-hosted media systems\n\n---\n## Disclaimer \u0026 Legal\n\nAuryn is a graphical interface for an existing open source audio tool and does not provide, host, or distribute any content.\n\nThis software is intended for legitimate use with content you own or are authorized to access.\n\nUsers are responsible for ensuring that their use of this tool complies with applicable laws and the terms of service of any platforms they access.\n\nThe developer of Auryn does not encourage or support misuse of this software.\n\n---\n\n### Limitations\n\nThis program does not include:\n\n- Any functionality related to restricted or protected content access\n- Any application IDs, secrets, or private API keys\n- Any tools intended to violate platform terms of service\n\n---\n\n### Technical clarification\n\nAuryn is a GUI frontend for an existing open-source command-line tool.\nIt does not host, distribute, or provide access to copyrighted content, and it does not directly interact with any online services.\n\n---\n\n### Trademarks\n\nQobuz, Deezer, Tidal, and SoundCloud are registered trademarks of their respective owners.  \nAuryn is not affiliated with, endorsed by, or sponsored by any of these services.\n\n---\n\n### Terms of Service\n\nUsers should ensure that their usage complies with the Terms of Service of the platforms they access, including:\n\n- [Qobuz Terms of Service](https://www.qobuz.com/us-en/info/legal/terms-of-use)\n- [Deezer Terms of Service](https://www.deezer.com/legal/cgu)\n- [Tidal Terms of Service](https://tidal.com/terms)\n- [SoundCloud Terms of Service](https://soundcloud.com/terms-of-use)\n\n---\n\n## Acknowledgment\n\nThis project was created with the help of AI tools as part of my learning process.\n\n---\n## Author\n\nCreated by TheZupZup\n\n---\n## License\n\nCopyright (C) 2025 TheZupZup — Auryn  \nLicensed under the [GNU General Public License v3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthezupzup%2Fauryn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthezupzup%2Fauryn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthezupzup%2Fauryn/lists"}