{"id":23895062,"url":"https://github.com/droberin/doormatic","last_synced_at":"2026-05-06T00:06:23.351Z","repository":{"id":74583388,"uuid":"91950397","full_name":"droberin/doormatic","owner":"droberin","description":"Physical Access Management Service for private clubs and small offices triggered by mobile devices","archived":false,"fork":false,"pushed_at":"2019-09-20T19:22:09.000Z","size":256,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-11-14T00:03:07.251Z","etag":null,"topics":["android","apache2","arduino-yun","door","door-opener","doorkeeper","https","ios","lamp","mac-address","mysql","noob-dev","php","raspberry","relay","sql"],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/droberin.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-05-21T10:51:50.000Z","updated_at":"2022-02-26T05:13:54.000Z","dependencies_parsed_at":"2023-02-25T09:30:28.295Z","dependency_job_id":null,"html_url":"https://github.com/droberin/doormatic","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/droberin/doormatic","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droberin%2Fdoormatic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droberin%2Fdoormatic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droberin%2Fdoormatic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droberin%2Fdoormatic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/droberin","download_url":"https://codeload.github.com/droberin/doormatic/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droberin%2Fdoormatic/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32672688,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["android","apache2","arduino-yun","door","door-opener","doorkeeper","https","ios","lamp","mac-address","mysql","noob-dev","php","raspberry","relay","sql"],"created_at":"2025-01-04T15:50:23.079Z","updated_at":"2026-05-06T00:06:23.347Z","avatar_url":"https://github.com/droberin.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# doormatic\n## Description\nThis project was created a few years ago with the purpose of managing the main door of a tiny private club with some friends.\nFor this, I created a LAMP service initially running inside an Arduino Yún with connected to a simple relay to a 12V doorlock and a client (HTTP(s) client with a POST) for Android.\nCurrently this code has suffered many transformations to adapt to be run inside a Raspberry Pi 2 plus a physical push button has been aded inside the club for door opening without any other security requirement but physical reach.\n\n## Doormatic Server info\nThe service has the ability to manage devices and users plus a security user deactivation switch through a token in case of device loss.\n\n### Connectivity\nThis service was meant to be a WiFi WPA2-Enterprise accesed service plus a «security account-lock» reachable through the Internet.\n\n### User management\nUsers require to be created through service's main panel with the following fields:\n- Login Name\n- Password\n- Email address (where account-lock link can be sent)\n**INFO: Users can currently be created yet can't be deleted through the panel but disabled.\n\n### Device management\nDevices are managed with a name/description and their MAC address associated to an existing user.\n\n### Security\n#### Connectivity through LAN or WLAN\nUse of WiFi with WPA2-Enterprise so you can lock-out specific users through this layer\n#### Device's MAC Address\nWhen a device requests openning, the service will send a 0.5-sec-timeout ICMP Echo request to the device and read ARP table to get that device's MAC address to check if in the list. Login credentials won't be check if this step failed.\n#### Login credentials / User + Password\nThe service requires a username and password for authentication. It was planned to use an automated 2FA, yet never developed.\n#### User-autolock\nThe service has the ability to lock a user through a \"panic token\" which can be sent to user through email so they can just tap/click on it and lock their account from anywhere if connectivity permits.\n\n## Doormatic Client info\n### Web client\nJust target to your server's url (ex.: https://raspberrypi.local/door/)\n### Android client\nCurrently there's an Android client at Google Play Store\nhttps://play.google.com/store/apps/details?id=es.doormatic\n### iOS client\nA friend created an iOS version for this but it's not uploaded to the App Store yet.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroberin%2Fdoormatic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdroberin%2Fdoormatic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroberin%2Fdoormatic/lists"}