{"id":29953026,"url":"https://github.com/xorbit01/retro","last_synced_at":"2025-08-03T14:14:48.313Z","repository":{"id":226346645,"uuid":"749024764","full_name":"XORbit01/retro","owner":"XORbit01","description":"📼 play musics with command line on linux","archived":false,"fork":false,"pushed_at":"2025-03-25T00:36:06.000Z","size":25168,"stargazers_count":135,"open_issues_count":4,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-20T08:16:07.206Z","etag":null,"topics":["command-line","linux","mpv","mpv-config","music","music-player","temrinal","tui"],"latest_commit_sha":null,"homepage":"","language":"Go","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/XORbit01.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"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}},"created_at":"2024-01-27T11:12:26.000Z","updated_at":"2025-07-08T16:55:18.000Z","dependencies_parsed_at":"2024-05-19T10:25:23.543Z","dependency_job_id":"4a86d4d8-da33-4389-a92c-d1548d3a2a7f","html_url":"https://github.com/XORbit01/retro","commit_stats":null,"previous_names":["malwarize/goplay","malwarize/retro","xorbit01/retro"],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/XORbit01/retro","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XORbit01%2Fretro","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XORbit01%2Fretro/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XORbit01%2Fretro/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XORbit01%2Fretro/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XORbit01","download_url":"https://codeload.github.com/XORbit01/retro/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XORbit01%2Fretro/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268554925,"owners_count":24269068,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["command-line","linux","mpv","mpv-config","music","music-player","temrinal","tui"],"created_at":"2025-08-03T14:14:44.142Z","updated_at":"2025-08-03T14:14:48.304Z","avatar_url":"https://github.com/XORbit01.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n![retro_music](https://github.com/XORbit01/retro/assets/130087473/c9824547-9b09-48fc-a113-e1a847793cca)\n\n\u003ch2\u003e play music with command line \u003c/h2\u003e\n\n[![GitHub release](https://img.shields.io/github/v/release/XORbit01/retro?color=blue\u0026label=release)]()\n[![GitHub license](https://img.shields.io/github/license/XORbit01/retro?color=green)]()\n[![GitHub issues](https://img.shields.io/github/issues/XORbit01/retro?color=red)]()\n[![GitHub stars](https://img.shields.io/github/stars/XORbit01/retro?color=yellow)]()\n[![GitHub forks](https://img.shields.io/github/forks/XORbit01/retro?color=orange)]()\n[![GitHub watchers](https://img.shields.io/github/watchers/XORbit01/retro?color=blue)]()\n\nplay music then continue your work on the terminal.\n\n\u003cimg src=\"https://github.com/XORbit01/retro/assets/130087473/aa91f82c-7faa-4804-b8e6-42b31ce7e6d9\" alt=\"hi\" style=\"width: 500px;\" \u003e\n\u003c/div\u003e\n\n## 🗺️ map \n- [\u003ccode\u003e📦 Installation\u003c/code\u003e](#-installation)\n- [\u003ccode\u003e🎮 Music management\u003c/code\u003e](#-music-management)\n- [\u003ccode\u003e🎧 Playlist management\u003c/code\u003e](#-playlist-management)\n- [\u003ccode\u003e🚦️ Controls\u003c/code\u003e](#-controls)\n- [\u003ccode\u003e⚙️ Configuration\u003c/code\u003e](#-configuration)\n- [\u003ccode\u003e💾 Cache\u003c/code\u003e](#-cache)\n- [\u003ccode\u003e🌐 Update\u003c/code\u003e](#-update)\n- [\u003ccode\u003e📝 License\u003c/code\u003e](#-license)\n- [\u003ccode\u003e📢 Acknowledgments\u003c/code\u003e](#-acknowledgments)\n \n## 📦 Installation\n$${\\color{#AC3097}Install \\space \\color{#56565E}Retro}$$ \n```sh\nwget https://github.com/XORbit01/retro/releases/download/v0.0.46/installer.tar.gz\ntar -xvf installer.tar.gz\nchmod +x installer.sh\n./installer.sh\n```\nthis installer is for linux of `systemd` based systems, if you are using other systems you can install it manually by compiling the source code then run the server as you like with `make build`.\n\n$${\\color{#AC3097}Uninstall \\space \\color{#56565E}Retro}$$\n```sh\n~/.local/bin/uninstall_retro.sh\n```\n\n## 🎮 Music Management\n$${\\color{#AC3097}Play \\space \\color{#56565E} Music}$$\n```sh\nretro play \"Despacito - Luis Fonsi\"                      # you can search and play music by name\n```\n*play command is smart enough to play music from different sources, you can play music by name, url, file path, directory path, queue, and playlist.*\n```sh\nretro play \"https://www.youtube.com/watch?v=kJQP7kiw5Fk\" # you can play music by url\nretro play queue_music                                   # you can play music from queue, you can do this with music index in the queue\nretro play ~/Music/Despacito.mp3                         # you can play music by file path \nretro play ~/Music/                                      # you can play music by directory path, it will play all music in the directory\nretro play queue_music                                   # it prioritize music in queue and play it first you can do this with music index in the queue\nretro play playlist_name                                 # you can play music from playlist\n```\n\n$${\\color{#AC3097}Status \\space \\color{#56565E} Music}$$\n```sh\nretro status # 🎵 check the queue status tasks downloading|searching, playing|paused, songs in queue\n```\n\n$${\\color{#AC3097}Pause/Resume \\space \\color{#56565E}Music}$$\n```sh\nretro pause  # ⏸️\nretro resume # ▶ ️\n```\n\n$${\\color{#AC3097}Next/Previous \\space \\color{#56565E}Music Queue}$$\n```sh\nretro next # ⏭️️\nretro prev # ⏮️️\n```\n$${\\color{#AC3097} Remove \\space \\color{#56565E}Music from Queue}$$\n```sh\nretro remove music_name #🗑️\n```\nyou can remove music from queue by name or index `retro remove 1`\n\n$${\\color{#AC3097}Adjust \\space \\color{#56565E}Volume}$$\n```sh\nretro vol 50 # 🎚️ set volume to 50% \nretro vol 0  # 🔇 mute volume Adjust\n```\n\n$${\\color{#AC3097}Stop \\space \\color{#56565E}Music Queue}$$\n```sh\nretro stop # 🛑\n```\n## 🎧 Playlist Management\n$${\\color{#AC3097}Create \\space \\color{#56565E}Playlist}$$\n```sh\nretro list create my_playlist # 📂\n```\n\n$${\\color{#AC3097}Add \\space \\color{#56565E}Music to Playlist}$$\n```sh\nretro list add my_playlist \"Despacito - Luis Fonsi\"                      # ➕ search and add song to playlist\nretro list add my_playlist \"https://www.youtube.com/watch?v=kJQP7kiw5Fk\" # ➕ add song to playlist by url\nretro list add my_playlist queue_music                                   # ➕ add music from queue\n```\n*you can add music to playlist by name, url, queue (index|name`retro list add my_playlist music_index`) and file path* \n\n$${\\color{#AC3097}Remove \\space \\color{#56565E}Music from Playlist}$$\n```sh\nretro list remove my_playlist \"Despacito - Luis Fonsi\" # ➖ remove song from playlist\nretro list remove my_playlist 1                        # ➖ remove song from playlist by index\n```\n\n$${\\color{#AC3097}Show \\space \\color{#56565E}Playlist}$$\n```sh\nretro list my_playlist # 📂 show all songs in playlist\n```\n\n$${\\color{#AC3097}Play \\space \\color{#56565E}Playlist}$$\n```sh\nretro list play my_playlist # 📂 add all songs in playlist to queue\n```\n$${\\color{#AC3097}Delete \\space \\color{#56565E}Playlist}$$\n```sh\nretro list remove my_playlist # 📂 delete playlist\n```\n\n## 🚦 Controls\n$${\\color{#AC3097}Logs \\space \\color{#56565E}Control}$$\n```sh\nretro logs        # 📜 show all logs #last 200 lines \nretro logs info   # 📢 show all info logs \nretro logs error  # 🚫 show all error logs\nretro logs warn   # ⚠️ show all warning logs\n```\n\n$${\\color{#AC3097}Changing \\space \\color{#56565E}Theme}$$\n```sh\nretro theme pink    #🧼 \nretro theme purple  #🔮  \nretro theme blue    #🌊\n# TODO: retro theme custom \n```\n\n$${\\color{#AC3097}Command \\space \\color{#56565E}Help}$$\n```sh   \nretro help      #❓ show all commands\nretro help play #❗ show play command help\n```\n## 💾 Cache\n\n$${\\color{#AC3097}Cache \\space \\color{#56565E}Control}$$\n```\nretro cache       # 💾 show all cached data\nretro cache clear # 🧹 clear all cache\n```\n\n## 🔧 Configuration \n\n$${\\color{#AC3097}Config \\space \\color{#56565E}File}$$\n\nthe config file is located by default in `~/.retro/config.json`\nif not found, you can create it manually by \n```sh\nmkdir -p ~/.retro\ntouch ~/.retro/config.json\n```\n$${\\color{#AC3097}Default \\space \\color{#56565E}Config}$$\n```json\n\n{\n  \"retro_path\": \"~/.retro/\",       \n  \"path_ytldpl\": \"yt-dlp\",        \n  \"path_ffmpeg\": \"ffmpeg\",         \n  \"path_ffprobe\": \"ffprobe\",      \n  \"search_timeout\": 60000000000,   \n  \"theme\": \"pink\",        \n  \"db_path\": \"~/.retro/retro.db\",\n  \"discord_rpc\": false, \n  \"log_file\": \"~/.retro/retro.log\",\n  \"server_port\": \"3131\"\n}\n```\nyou can change the config manually, easy to understand and modify.\n\n$${\\color{#AC3097}Note \\space \\color{#56565E}that}$$\n\n* ☝ ️ if you change the config file, its recommended to restart the retro service.\nwith `systemctl --user restart retro`\n* ⚠️  the config file will override the default values.\n* 🤖  please make sure to setup the autocompletion script to have a better experience with retro. see `retro completion`\n## 🌐 Update\n$$\\color{#AC3097}Retro \\space \\color{#56565E}Update$$\n\nto update retro to the latest version on github you can use the following command\n```sh\nretro update\n```\n\n## 📝 License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details\n\n## 📢 Acknowledgments\n\n#### $${\\color{#AC3097}Thanks \\space to \\space our \\space sponsor \\space \\color{#FF99EE}@HelloHabiba \\space ☕}$$ \n#### $${\\color{#AC3097}retro \\space \\color{#56565E}is \\space  made \\space with \\space \\color{red} ❤️}$$\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxorbit01%2Fretro","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxorbit01%2Fretro","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxorbit01%2Fretro/lists"}