{"id":20432643,"url":"https://github.com/cycloctane/xplay","last_synced_at":"2025-03-05T06:18:46.633Z","repository":{"id":253557369,"uuid":"843845109","full_name":"Cycloctane/xplay","owner":"Cycloctane","description":"Simple xspf media server","archived":false,"fork":false,"pushed_at":"2025-02-11T06:43:04.000Z","size":44,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-11T07:30:02.171Z","etag":null,"topics":["go","golang","playlist","vlc","xspf"],"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/Cycloctane.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-08-17T15:39:47.000Z","updated_at":"2025-01-23T11:02:14.000Z","dependencies_parsed_at":"2025-02-11T07:36:28.537Z","dependency_job_id":null,"html_url":"https://github.com/Cycloctane/xplay","commit_stats":null,"previous_names":["cycloctane/xplay"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fxplay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fxplay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fxplay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Cycloctane%2Fxplay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Cycloctane","download_url":"https://codeload.github.com/Cycloctane/xplay/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241975302,"owners_count":20051457,"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":["go","golang","playlist","vlc","xspf"],"created_at":"2024-11-15T08:16:01.282Z","updated_at":"2025-03-05T06:18:46.624Z","avatar_url":"https://github.com/Cycloctane.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xplay\n\nA simple media server that searches multimedia files from a directory, parses their metadata, generates xspf playlist as index and serves audio/video over http/https.\n\nSupported file formats: mp3, flac, ogg, mp4, mkv. Metadata parsing currently does not support mkv.\n\n[![This program produces valid XSPF playlist files.](assets/valid-xspf.png)](https://validator.xspf.org/referrer/)\n\nThis program:\n\n- Traverses directories recursively by default. Can be disabled by `--no-recursive` option\n- Does not follow symbolic links found in directories\n- Excludes files starting with a period (hidden files in linux)\n\n## Usage\n\nStart http media server with `/play.xspf` as index:\n\n```bash\n./xplay -b $bind_ipaddr -p $bind_port -d ./music\n```\n\nUse `-w` to generate and save xspf to file and exit. `-b` and `-p` options will be ignored:\n\n```bash\n./xplay -d . -w \u003e playlist.xspf\n```\n\nMetadata parsing can become slow when handling a large number of multimedia files. Use `--no-tag` option to disable metadata/tag parsing if you do not need metadata in xspf playlists.\n\nTo secure the media server, activate https with `--ssl-cert` `--ssl-key` and set up http basic authentication with `--password`. Default username \"xplay\" can be changed via `--username`:\n\n```bash\n./xplay -b $bind_ipaddr -p $bind_port -d ./music\\\n    --username $username --password $password\\\n    --ssl-cert $cert_path --ssl-key $certkey_path\n```\n\n## Client\n\nMedia players with http and xspf support (like VLC) can be used as clients. This branch currently only supports VLC. For other players, try [xplay-compatible](https://github.com/Cycloctane/xplay/tree/compatible).\n\n```bash\nvlc http://$ip:$port/play.xspf\n```\n\nWith https and http basic auth:\n\n```bash\nvlc https://$username:$password@$ip:$port/play.xspf\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycloctane%2Fxplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcycloctane%2Fxplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcycloctane%2Fxplay/lists"}