{"id":42147834,"url":"https://github.com/peter-mount/retro-floppy-ui","last_synced_at":"2026-01-26T18:00:37.699Z","repository":{"id":85760471,"uuid":"393938049","full_name":"peter-mount/retro-floppy-ui","owner":"peter-mount","description":"A web user interface for a GoTek running flashfloppy utilising a Raspberry PI 0W as the storage. This allows for remote uploading of files \u0026 selecting which disk image is loaded on a retro computer like the BBC Micro or Amiga A1200","archived":false,"fork":false,"pushed_at":"2021-08-26T20:26:54.000Z","size":1292,"stargazers_count":7,"open_issues_count":0,"forks_count":2,"subscribers_count":6,"default_branch":"main","last_synced_at":"2024-12-06T21:38:37.936Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peter-mount.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-08-08T11:09:36.000Z","updated_at":"2024-04-29T17:18:10.000Z","dependencies_parsed_at":"2023-05-04T17:46:09.386Z","dependency_job_id":null,"html_url":"https://github.com/peter-mount/retro-floppy-ui","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/peter-mount/retro-floppy-ui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peter-mount%2Fretro-floppy-ui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peter-mount%2Fretro-floppy-ui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peter-mount%2Fretro-floppy-ui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peter-mount%2Fretro-floppy-ui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peter-mount","download_url":"https://codeload.github.com/peter-mount/retro-floppy-ui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peter-mount%2Fretro-floppy-ui/sbom","scorecard":{"id":728613,"data":{"date":"2025-08-11","repo":{"name":"github.com/peter-mount/retro-floppy-ui","commit":"0b590f6e5640d9f8ce6fe6a9ecbe51c2a82194ce"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.3,"checks":[{"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":"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":"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":"Code-Review","score":0,"reason":"Found 0/30 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":"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":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"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":"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":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"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":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"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 'main'"],"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":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: containerImage not pinned by hash: Dockerfile:27","Warn: containerImage not pinned by hash: Dockerfile:39","Warn: containerImage not pinned by hash: Dockerfile:55","Warn: npmCommand not pinned by hash: Dockerfile:35","Warn: npmCommand not pinned by hash: build.sh:9","Info:   0 out of   3 containerImage dependencies pinned","Info:   0 out of   2 npmCommand dependencies pinned"],"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":"Vulnerabilities","score":9,"reason":"1 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GO-2022-0493 / GHSA-p782-xgp4-8hr8"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-22T13:42:17.102Z","repository_id":85760471,"created_at":"2025-08-22T13:42:17.102Z","updated_at":"2025-08-22T13:42:17.102Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28784093,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: 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":[],"created_at":"2026-01-26T18:00:20.561Z","updated_at":"2026-01-26T18:00:37.690Z","avatar_url":"https://github.com/peter-mount.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Retro Floppy UI\n\nRetro-Floppy UI is a web based application for managing \u0026 using a GoTek floppy emulator\nrunning the [Flash Floppy](https://github.com/keirf/FlashFloppy) firmware.\n\nNormally with a GoTek you connect a USB flash drive containing the disk images and use the front panel\nto select which disk you want.\n\nHowever, if you are into developing on these old machines, it becomes a hassle to keep changing the drive from your\nmain computer and the GoTek. After a while you can cause wear \u0026 tear on the ports \u0026 drive.\n\nWhat Retro-Floppy UI does is permanently connect a virtual drive to the GoTek which you can then access over WiFi.\nUploading new images is then simple without the need to keep swapping the drive.\n\nThis is currently in an alpha state - the basic functionality is now working, but it's not yet\nready for active use. Documentation on how to set it up \u0026 use it will be written later.\n\n![Prototype UI](docs/ui.png)\n\n## What's supported so far:\n* Creating multiple volumes, so you can now separate disk images for different machines or projects from each other\n* Mounting a volume onto the GoTek\n* Browsing the volume's contents\n* Selecting a disk image which is then made active on the GoTek and accessible on the host machine.\n\n## What's remaining to be done\n* Security so you need to login to use the UI, _currently anyone with access can do anything_\n* UI to support creating a new volume\n* Ability to delete a volume\n* Create/Delete a directory on a volume\n* Uploading/Downloading disk images in the browser\n* Create an image with Raspberry PI OS already preconfigured with everything required, just setup WiFi\n\n## Future features\n* WebDAV support _- might not be in the first release_\n* Ability to view the contents of a disk image\n\n# Raspberry PI\n\nRetro-Floppy UI runs on a Raspberry PI 0W which is connected to the GoTek via it's USB port.\n\nWhen a volume is mounted it appears to the GoTek as if a standard USB flash drive has been connected to it.\n\n![Prototype connected to a BBC Master 128](docs/bbc-pi.png)\n\nAn alternate method for powering the PI would be to use an external power supply, be it a mains supply or a battery.\nHowever care must be taken here as the PI will try to send power into the GoTek, which would be bad as it will be\nsending power back to the PI at the same time.\n\nIf this option is taken then you __must disconnect the power wire from the USB cable__ used to\nconnect to the GoTek.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeter-mount%2Fretro-floppy-ui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeter-mount%2Fretro-floppy-ui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeter-mount%2Fretro-floppy-ui/lists"}