{"id":18341761,"url":"https://github.com/jerluc/driftd","last_synced_at":"2025-09-11T09:36:48.859Z","repository":{"id":57600535,"uuid":"74323133","full_name":"jerluc/driftd","owner":"jerluc","description":"Drift protocol daemon","archived":false,"fork":false,"pushed_at":"2017-07-25T15:36:32.000Z","size":35,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-08-05T12:39:17.021Z","etag":null,"topics":["drift","iot","network","protocol"],"latest_commit_sha":null,"homepage":"","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/jerluc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-21T03:35:04.000Z","updated_at":"2019-01-28T15:56:46.000Z","dependencies_parsed_at":"2022-08-24T13:37:42.589Z","dependency_job_id":null,"html_url":"https://github.com/jerluc/driftd","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jerluc/driftd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerluc%2Fdriftd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerluc%2Fdriftd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerluc%2Fdriftd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerluc%2Fdriftd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jerluc","download_url":"https://codeload.github.com/jerluc/driftd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jerluc%2Fdriftd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274609465,"owners_count":25316621,"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-09-11T02:00:13.660Z","response_time":74,"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":["drift","iot","network","protocol"],"created_at":"2024-11-05T20:28:24.352Z","updated_at":"2025-09-11T09:36:48.788Z","avatar_url":"https://github.com/jerluc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# driftd\n\n[![](https://api.travis-ci.org/jerluc/driftd.svg?branch=master)](https://travis-ci.org/jerluc/driftd)\n[![GoDoc](https://godoc.org/github.com/jerluc/driftd?status.svg)](https://godoc.org/github.com/jerluc/driftd)\n\nThe Drift protocol daemon\n\n## What is Drift?\n\nDrift is a simple 802.15.4 wireless protocol for enabling peer-to-peer IPv6 communication without the\nneed for any intermediary infrastructure such as routers or gateways. Using this new protocol, we\nhope to see a new future for software developers to more easily use direct wireless communications\nfor applications that would benefit from the increased security, privacy, and simplicity of Drift.\n\n## What is driftd?\n\ndriftd is a small daemon process which implements the Drift protocol as an IPv6 TUN device. When\nrunning, driftd routes incoming 802.15.4 packets from nearby peers to local UDP sockets and outgoing\nUDP packets in a specific CIDR block to their corresponding remote peer.\n\nAs a simple example, given:\n\n  * Peer 0 (MAC `a:b:c:d`) running driftd with CIDR `2001:412:abcd:1::/64`, and a local UDP server\n    bound to port 8000\n  * Peer 1 (MAC `c:d:e:f`) running driftd with CIDR `2001:412:abcd:1::/64`, and a local UDP client\n\nWhen Peer 1 sends a UDP packet to `[2001:412:abcd:1:a:b:c:d]:8000`, driftd will route the packet over\nthe 802.15.4 wireless device to driftd running on Peer 0, who then forwards the UDP packet to the\nlocally-running UDP server.\n\n## Getting started\n\n### Software requirements\n\n* A Unix-based system (Windows may work, but this has not been tested)\n* [Go](https://golang.org)\n\n### Hardware requirements\n\nFor testing with real hardware, you will need:\n\n  * One or more [ZigBee/XBee (Series 1) radios](https://www.digi.com/products/models/xb24-api-001)\n    configured for API-mode (exact configuration details to come)\n\n### Installation\n\nFrom Github.com:\n\n```\ngo install github.com/jerluc/driftd\n```\n\nFrom source:\n\n```\n# Clone the source code\ngit clone https://github.com/jerluc/driftd.git\n\n# Install the driftd binary\ncd driftd \u0026\u0026 make \u0026\u0026 make install\n```\n\n### Usage\n\n```\nusage: driftd [\u003cflags\u003e] \u003ccommand\u003e [\u003cargs\u003e ...]\n\nDrift protocol daemon\n\nFlags:\n  --help  Show context-sensitive help (also try --help-long and --help-man).\n\nCommands:\n  help [\u003ccommand\u003e...]\n    Show help.\n\n\n  run [\u003cflags\u003e]\n    Starts the Drift protocol daemon\n\n    --logging=\"INFO\"          Log level\n    --iface=\"drift0\"          Network interface name\n    --dev=/dev/ttyUSB0        Serial device name\n    --cidr=2001:412:abcd:1::  IPv6 64-bit prefix\n\n  version\n    Displays driftd version\n\n\n  configure [\u003cflags\u003e]\n    Configures a new device for Drift\n\n    --dev=/dev/ttyUSB0  Serial device name\n```\n\n### Shell autocompletion\n\nYou can also add shell autocompletion (for Bash or ZSH only) by adding the following to your\n`.bash_profile` (or equivalent file) for Bash:\n\n```\neval \"$(driftd --completion-script-bash)\"\n```\n\nor for ZSH:\n\n```\neval \"$(driftd --completion-script-zsh)\"\n```\n\n## License\n\nMIT License\n\n[View full license](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerluc%2Fdriftd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjerluc%2Fdriftd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjerluc%2Fdriftd/lists"}