https://github.com/movsb/tcp-over-bt
SSH into your Linux Machine (e.g. headless Raspberry Pi) from Bluetooth.
https://github.com/movsb/tcp-over-bt
bluetooth bluetooth-low-energy golang headless linux raspberry-pi raspberry-pi-zero-2-w remote-access-tool ssh ssh-tunnel tcp
Last synced: 26 days ago
JSON representation
SSH into your Linux Machine (e.g. headless Raspberry Pi) from Bluetooth.
- Host: GitHub
- URL: https://github.com/movsb/tcp-over-bt
- Owner: movsb
- Created: 2024-12-01T16:47:50.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-05-04T08:33:53.000Z (7 months ago)
- Last Synced: 2025-05-04T09:27:48.494Z (7 months ago)
- Topics: bluetooth, bluetooth-low-energy, golang, headless, linux, raspberry-pi, raspberry-pi-zero-2-w, remote-access-tool, ssh, ssh-tunnel, tcp
- Language: Go
- Homepage: https://blog.twofei.com/1488/
- Size: 22.5 KB
- Stars: 52
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# TCP-OVER-BT
Make a TCP connection from Bluetooth.
## Use Case
SSH 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.
## For Device
When you have network connection:
1. Run `make device` to build the binary for device.
2. Put the binary into `/usr/local/bin`.
3. Move the `.service` file into `/etc/systemd/system`.
4. Enable: `sudo systemctl daemon-reload && sudo systemctl enable tcp-over-bt.service`
## For Host
1. Run `make host`
2. Create a SSH config in `~/.ssh/config`:
```ssh_config
Host zero
ProxyCommand tcp-over-bt
```
3. `ssh zero` and wait patiently, it will discover the first available device.
**Note:** Only one SSH connection is allowed at a time, which is a characteristic of Bluetooth connections.
If you want multiple shells, use *tmux*.
## Security
There's no Bluetooth Paring. Anyone can connect to the same device. Authentication is done by SSH.
## TODO
- [ ] Flow Control: Sending is too fast, while Recv is too slow.
- [ ] Allow more than one client.