{"id":23260089,"url":"https://github.com/awootton/knotfreeiot","last_synced_at":"2025-07-25T17:36:31.545Z","repository":{"id":51185491,"uuid":"195750486","full_name":"awootton/knotfreeiot","owner":"awootton","description":"Knotfree.net is a tool for IOT and experimental domain names.  This is the code for a distributed pub/sub system.  Supports a minimal subset of MQTT (3.1 and 5) and other convenient formats.  Go and kubernetes. It's live at knotfree.net No signup to use it. ","archived":false,"fork":false,"pushed_at":"2024-10-17T18:49:41.000Z","size":10743,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-15T20:34:58.375Z","etag":null,"topics":["iot","iot-backend","jwt","mqtt","proposal"],"latest_commit_sha":null,"homepage":"http://knotfree.net","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awootton.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-08T06:32:14.000Z","updated_at":"2024-10-23T01:37:56.000Z","dependencies_parsed_at":"2024-06-19T16:23:03.492Z","dependency_job_id":"2fa5bc08-5b7b-4ff7-b670-874710924457","html_url":"https://github.com/awootton/knotfreeiot","commit_stats":{"total_commits":164,"total_committers":3,"mean_commits":"54.666666666666664","dds":0.04268292682926833,"last_synced_commit":"53414ecf252e8cdd2187b95df780eeffc0edba49"},"previous_names":["awootton/knotfree"],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awootton%2Fknotfreeiot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awootton%2Fknotfreeiot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awootton%2Fknotfreeiot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awootton%2Fknotfreeiot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awootton","download_url":"https://codeload.github.com/awootton/knotfreeiot/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230438244,"owners_count":18225873,"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":["iot","iot-backend","jwt","mqtt","proposal"],"created_at":"2024-12-19T13:14:09.608Z","updated_at":"2024-12-19T13:14:10.272Z","avatar_url":"https://github.com/awootton.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n![knotfree knot](/KnotFreeKnot256cropped.png)\n # knotfree.net\n\nSee example projects: https://wootton.substack.com/\n\n## What\n\nThis is the source code to a publish/subscribe (pubsub) service running at [knotfree.net](https://knotfree.net).\n\nServices include:\n- Mqtt 3.1 and Mqtt 5.0 on port 1883\n- Mqtt 3.1 and Mqtt 5.0 in port 80 via websockets.\n- A text based service on port 7465[^1]\n- A binary pubsub service of the knotfreeiot format on port 8384[^2].\n- A http forwarding service where http GET messages to http://anychannel.knotfree.net will be published to 'anychannel'\n- Service is very cheap. Cheaper than giving out your email address. JWT tokens are used for access and you can get one at [knotfree.net](https://knotfree.net). \n- There are 'attrtibutes' on the Topics aka Subscriptions supporting DNS queries. See [the DNS server project here](https://github.com/awootton/coredns).\n\n[^1]: See example below.\n\n[^2]: See example in ```monitor_pod/main.go``` and definition in ```packets/packets.go```\n\nThere is a frontend running at knotfree.net and the source code for that is at https://github.com/awootton/knotfree-net-homepage\nThere is C++ for Arduino which is the embedded code for microcontrollers that completes an IOT stack. This is at https://github.com/awootton/mqtt5nano\n\nDoncumentation is in the knotfreeiot wiki here: https://github.com/awootton/knotfreeiot/wiki\n\n## Why\n\nThe iot architecture that is being presented involves every message sent having a *return address* to accommodate a *reply*. Mqtt5 now has this feature. To complete the iot architecture demos, and to provide the hobbyist with an service that is undemanding required that one be written. \n\n## How\n\nSee the wiki for [howto's](https://github.com/awootton/knotfreeiot/wiki/How-to-use-the-publish-subscribe)\n\n## Where\n\nThe server code is here at https://github.com/awootton/knotfreeiot\nThe C++ version is Arduino clients that are to be found here: https://github.com/awootton/mqtt5nano\n\n## When\n\n2019 to 2024.\n\n## Who \n\nCopyright 2024 Alan Tracey Wootton. See LICENSE.\n\n#knotfree #iot #mqtt #mqtt5 #go #mqtt5nano\n\n![](https://github.com/awootton/knotfreeiot/workflows/Go/badge.svg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawootton%2Fknotfreeiot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawootton%2Fknotfreeiot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawootton%2Fknotfreeiot/lists"}