{"id":13560669,"url":"https://github.com/cocoahuke/coBlue","last_synced_at":"2025-04-03T16:31:01.383Z","repository":{"id":95297135,"uuid":"80499524","full_name":"cocoahuke/coBlue","owner":"cocoahuke","description":"Use Bluetooth Low Energy for remote commands, file transfer, Based on bluez Bluetooth protocol stack (BLE Terminal)","archived":false,"fork":false,"pushed_at":"2018-01-28T12:49:12.000Z","size":5051,"stargazers_count":43,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-04T12:39:56.796Z","etag":null,"topics":["ble","ble-terminal","bluetooth","corebluetooth","gatt","raspberry-pi"],"latest_commit_sha":null,"homepage":"","language":"C","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/cocoahuke.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}},"created_at":"2017-01-31T07:21:01.000Z","updated_at":"2024-06-25T06:51:39.000Z","dependencies_parsed_at":"2023-03-14T13:00:34.628Z","dependency_job_id":null,"html_url":"https://github.com/cocoahuke/coBlue","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocoahuke%2FcoBlue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocoahuke%2FcoBlue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocoahuke%2FcoBlue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cocoahuke%2FcoBlue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cocoahuke","download_url":"https://codeload.github.com/cocoahuke/coBlue/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247036928,"owners_count":20873051,"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":["ble","ble-terminal","bluetooth","corebluetooth","gatt","raspberry-pi"],"created_at":"2024-08-01T13:00:48.499Z","updated_at":"2025-04-03T16:30:59.459Z","avatar_url":"https://github.com/cocoahuke.png","language":"C","readme":"# coBlue\nUse Bluetooth Low Energy for remote commands, file transfer, Based on bluez Bluetooth protocol stack. Also save your ass when you are blocked by iptables\n\n[![Contact](https://img.shields.io/badge/contact-@cocoahuke-fbb52b.svg?style=flat)](https://twitter.com/cocoahuke) [![build](https://travis-ci.org/cocoahuke/coBlue.svg?branch=master)](https://travis-ci.org/cocoahuke/coBlue) [![license](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/cocoahuke/coBlue/blob/master/LICENSE) [![version](https://img.shields.io/badge/version-1.0-yellow.svg)]() [![paypal](https://img.shields.io/badge/Donate-PayPal-039ce0.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EQDXSYW8Z23UY)\n\nBluetooth Low Energy compared to other forms of wireless connection such as wifi or Bluetooth have more uncomplicated, lower energy consumption. Image your iPhone wirelessly connect to a tiny computer such as raspberry pi etc, and use the powerful tool on Linux\n\nOf course, this can not replace terminal in wifi or usb, but you can do for short thing hiddenly\n\nThis project can be installed quickly, run automatically when device boot up. Communicate through characteristics in a Service (Its a part of GATT/ATT procotol, On top of L2CAP). With Mac address filtering and password authentication.\nBroadcasts continuously when there is no connection or disconnect\n\n**Based on GATT / ATT, this allows devices that only support a third developer to program GATT / ATT, such as iOS**\n\u003eService: CusService  \n\u003echaracteristic: Shell Terminal (rw)  \n\u003echaracteristic: File Transfer(rw)\n\n\nTested on Raspbian 8.5 (Code name: jessie), Mac os 10.10.5\n\n## Require\nRaspberry pi (Should support other device which compatible with bluez)  \nA Bluetooth dongle (pi3 already build-in)\n\nA Mac running Mac os (iOS should also be able to support, I built on GATT / ATT protocol for iOS, but i have not written a program for iOS yet)\n\n[coblue-control](https://github.com/cocoahuke/coblue-control) to communicate with coBlue on Macos  \n[coBlue-iOS](https://github.com/cocoahuke/coBlue-iOS) to communicate with coBlue on iOS\n## Feature\n\n1. BLE Low power consumption advantage\n2. Basic shell functionality.\n3. File transfer (Get / Put)\n4. Bluetooth Mac address filtering\n5. Password authentication with time limit (Eg. for iOS device)\n6. Start automatically when raspberry pi boot up\n7. You can change the device name or Service UUID for confusion\n8. Interactive command in Macos as Central  \n**More functions see [-h](https://github.com/cocoahuke/coBlue/blob/master/README_help)**  \nmaybe add more in the future...\n\n\nOr you can add characteristic to connect to your own program, so that it make coblue able to control through A simple command, which means that your other devices can send commands to a linux device (such as your Macbook or iPhone).  \nI did not provide iOS program, but its a simple conversion from Mac program, both use CoreBluetooth  \n\n## Shortcomings\n\n1. SLOW, send 20 bytes at a time\n2. Interactive commands are not supported\n3. other problems might have\n\n## How to use\n\n**Download**\n```bash\ngit clone https://github.com/cocoahuke/coblue.git\n\u0026\u0026 cd coblue\n```\n\n**Compile and install** coBlued on raspberry pi:\n\n```bash\nsudo make\nsudo make install\ncoBlued\n```\n**Configure** the Mac Address filter file or authentication file, otherwise no device can be connected successfully  \nmore info, please refer to -h\n\n```bash\nsudo coBlued -filterw\n```\n\nor\n```bash\nsudo coBlued -verifyw\n```\nThen reboot to **Start using**  \n\nUse [coblue-control](https://github.com/cocoahuke/coblue-control) or [coBlue-iOS](https://github.com/cocoahuke/coBlue-iOS) **Communication** on Macos/iOS\n\u003cbr\u003e\u003cbr\u003e\nIf you want to **Temporarily turn off**\n```\nsudo killall coBlued\n```\nIf you want to **Disable it**\n```\nsudo coBlued -configw\n```\nand you will see\n```\n/usr/sbin/$COBLUE_PROG_NAME $PARAMETERS \u0026\n#Comment out the line above to Disable coBlue\n```\nif need **Uninstall**\n```bash\nsudo make uninstall\n```\n\n\n## Demo\n![sample](sample.gif)\n\n## Demo \u003cfont size=3\u003e(Modify the wpa configuration file)\u003c/font\u003e\n\n![sample1](sample1.gif)\n\n![sample2](sample2.gif)\n","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=EQDXSYW8Z23UY"],"categories":["C"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocoahuke%2FcoBlue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcocoahuke%2FcoBlue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcocoahuke%2FcoBlue/lists"}