{"id":42459068,"url":"https://github.com/dplesca/go-omxremote","last_synced_at":"2026-01-28T09:12:30.030Z","repository":{"id":37850664,"uuid":"53147721","full_name":"dplesca/go-omxremote","owner":"dplesca","description":"browser based omxplayer remote","archived":false,"fork":false,"pushed_at":"2024-02-10T15:07:37.000Z","size":2414,"stargazers_count":17,"open_issues_count":1,"forks_count":5,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-04-14T19:09:57.794Z","etag":null,"topics":["golang","omxplayer","omxremote","raspberry-pi","svelte","tailwindcss"],"latest_commit_sha":null,"homepage":null,"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/dplesca.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}},"created_at":"2016-03-04T16:08:06.000Z","updated_at":"2024-02-10T13:30:08.000Z","dependencies_parsed_at":"2024-02-10T14:30:51.196Z","dependency_job_id":"4e25859f-5c3e-41e3-ad0c-a6418bbc3d38","html_url":"https://github.com/dplesca/go-omxremote","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"purl":"pkg:github/dplesca/go-omxremote","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplesca%2Fgo-omxremote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplesca%2Fgo-omxremote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplesca%2Fgo-omxremote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplesca%2Fgo-omxremote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dplesca","download_url":"https://codeload.github.com/dplesca/go-omxremote/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dplesca%2Fgo-omxremote/sbom","scorecard":{"id":354511,"data":{"date":"2025-08-11","repo":{"name":"github.com/dplesca/go-omxremote","commit":"1425f323a2e4935a9f0c8eeb36309fa81dab0700"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Code-Review","score":0,"reason":"Found 1/23 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v5.0.0 not signed: https://api.github.com/repos/dplesca/go-omxremote/releases/19612992","Warn: release artifact v4.1 not signed: https://api.github.com/repos/dplesca/go-omxremote/releases/10378456","Warn: release artifact v4.0 not signed: https://api.github.com/repos/dplesca/go-omxremote/releases/8270022","Warn: release artifact v3.1 not signed: https://api.github.com/repos/dplesca/go-omxremote/releases/6420566","Warn: release artifact v3.0 not signed: https://api.github.com/repos/dplesca/go-omxremote/releases/6156089","Warn: release artifact v5.0.0 does not have provenance: https://api.github.com/repos/dplesca/go-omxremote/releases/19612992","Warn: release artifact v4.1 does not have provenance: https://api.github.com/repos/dplesca/go-omxremote/releases/10378456","Warn: release artifact v4.0 does not have provenance: https://api.github.com/repos/dplesca/go-omxremote/releases/8270022","Warn: release artifact v3.1 does not have provenance: https://api.github.com/repos/dplesca/go-omxremote/releases/6420566","Warn: release artifact v3.0 does not have provenance: https://api.github.com/repos/dplesca/go-omxremote/releases/6156089"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 8 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-18T09:12:12.509Z","repository_id":37850664,"created_at":"2025-08-18T09:12:12.509Z","updated_at":"2025-08-18T09:12:12.509Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28843255,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T07:39:25.367Z","status":"ssl_error","status_checked_at":"2026-01-28T07:39:24.487Z","response_time":57,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":["golang","omxplayer","omxremote","raspberry-pi","svelte","tailwindcss"],"created_at":"2026-01-28T09:12:29.484Z","updated_at":"2026-01-28T09:12:30.022Z","avatar_url":"https://github.com/dplesca.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-omxremote\n\nControl raspberry pi omxplayer from the browser (including mobile browsers). It has absolutely zero dependencies. To install just [download the latest release](https://github.com/dplesca/go-omxremote/releases) and run it. For help run it with the `-h` flag. Example usage (you can of course add it in your path and run it as a systemd service, unit file example below):\n\n`./go-omxremote -bind :some-port -media path/to/video/files`\n\nCommand flags:\n\n```\n-bind string\n    Address to bind on. If this value has a colon, as in \":8000\" or\n            \"127.0.0.1:9001\", it will be treated as a TCP address.\n            (default \":31415\")\n-media string\n    path to look for videos in (default \".\")\n\n-omx string\n    omx options (default \"-o hdmi\")\n```\n\nThe project is geared towards mobile usage, the interface has been tested on both Android and iOS devices. This project is intended to be used with local files only, to add YouTube playback functionality please [check out this fork](https://github.com/luizpestana/go-omxremote/tree/feat/add-youtube-dl).\n\n### Exposed HTTP API\n\nThis application exposes a simple, minimal HTTP API for interfacing with the player. The exposed endpoints are:\n - POST /start/:hash - starts playback for a video file\n - POST /player/pause - toggles pause/play for video playback\n - POST /player/stop - stops playback\n - POST /player/forward - seeks forward in video (30 seconds)\n - POST /player/backward - seeks backward in video (30 seconds)\n - POST /player/up - seeks forward in video (10 minutes)\n - POST /player/down - seeks backward in video (10 minutes)\n - POST /player/subs - switches subs stream\n\n One important note is that the `start` call does not return until the playback is stopped, so your request will probably time out.\n\n### Example systemd unit file\n\nA minimal systemd unit file. It makes `go-omxremote` a service so you can control it between sessions and/or don't need a tmux/screen to keep it open.\n\n```\n[Unit]\nDescription=\"omxremote go web service\"\n\n[Service]\nUser=pi\nGroup=pi\nRestart=on-failure\nExecStart=/usr/local/bin/go-omxremote -media /path/to/media/files\nWorkingDirectory=/home/pi\n\n[Install]\nWantedBy=multi-user.target\n```\n\n### Modify it\n\n - Clone repo\n - make some changes\n - build again: `go build`\n\n### Credits\n\nIt's written in go. The front-end is written in html with a little sprinkled [htmx](https://htmx.org/), the style uses [picocss](https://v2.picocss.com/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdplesca%2Fgo-omxremote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdplesca%2Fgo-omxremote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdplesca%2Fgo-omxremote/lists"}