{"id":22441270,"url":"https://github.com/movsb/tcp-over-bt","last_synced_at":"2025-10-25T06:33:58.501Z","repository":{"id":265946625,"uuid":"896929476","full_name":"movsb/tcp-over-bt","owner":"movsb","description":"SSH into your Linux Machine (e.g. headless Raspberry Pi) from Bluetooth.","archived":false,"fork":false,"pushed_at":"2025-05-04T08:33:53.000Z","size":23,"stargazers_count":52,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-05-04T09:27:48.494Z","etag":null,"topics":["bluetooth","bluetooth-low-energy","golang","headless","linux","raspberry-pi","raspberry-pi-zero-2-w","remote-access-tool","ssh","ssh-tunnel","tcp"],"latest_commit_sha":null,"homepage":"https://blog.twofei.com/1488/","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/movsb.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}},"created_at":"2024-12-01T16:47:50.000Z","updated_at":"2025-05-04T08:29:03.000Z","dependencies_parsed_at":"2024-12-01T18:23:12.558Z","dependency_job_id":"cf4e2403-55de-44e4-aa97-50e942c89335","html_url":"https://github.com/movsb/tcp-over-bt","commit_stats":null,"previous_names":["movsb/tcp-over-bt"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/movsb/tcp-over-bt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/movsb%2Ftcp-over-bt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/movsb%2Ftcp-over-bt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/movsb%2Ftcp-over-bt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/movsb%2Ftcp-over-bt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/movsb","download_url":"https://codeload.github.com/movsb/tcp-over-bt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/movsb%2Ftcp-over-bt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279154255,"owners_count":26115376,"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-10-16T02:00:06.019Z","response_time":53,"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":["bluetooth","bluetooth-low-energy","golang","headless","linux","raspberry-pi","raspberry-pi-zero-2-w","remote-access-tool","ssh","ssh-tunnel","tcp"],"created_at":"2024-12-06T02:13:36.179Z","updated_at":"2025-10-16T04:31:14.453Z","avatar_url":"https://github.com/movsb.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TCP-OVER-BT\n\nMake a TCP connection from Bluetooth.\n\n## Use Case\n\nSSH into a Linux machine, which is headless (e.g. Raspberry Pi Zero 2 W) or has a bad network configuration without using a Display Monitor.\n\n## For Device\n\nWhen you have network connection:\n\n1. Run `make device` to build the binary for device.\n2. Put the binary into `/usr/local/bin`.\n3. Move the `.service` file into `/etc/systemd/system`.\n4. Enable: `sudo systemctl daemon-reload \u0026\u0026 sudo systemctl enable tcp-over-bt.service`\n\n## For Host\n\n1. Run `make host`\n2. Create a SSH config in `~/.ssh/config`:\n\n   ```ssh_config\n   Host zero\n   \tProxyCommand tcp-over-bt\n   ```\n\n3. `ssh zero` and wait patiently, it will discover the first available device.\n\n**Note:** Only one SSH connection is allowed at a time, which is a characteristic of Bluetooth connections.\nIf you want multiple shells, use *tmux*.\n\n## Security\n\nThere's no Bluetooth Paring. Anyone can connect to the same device. Authentication is done by SSH.\n\n## TODO\n\n- [ ] Flow Control: Sending is too fast, while Recv is too slow.\n- [ ] Allow more than one client.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmovsb%2Ftcp-over-bt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmovsb%2Ftcp-over-bt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmovsb%2Ftcp-over-bt/lists"}