{"id":13522996,"url":"https://github.com/RealDudePerson/beakon","last_synced_at":"2025-04-01T00:30:33.753Z","repository":{"id":43282158,"uuid":"454465309","full_name":"RealDudePerson/beakon","owner":"RealDudePerson","description":"Location sharing made private.","archived":false,"fork":false,"pushed_at":"2023-09-12T03:00:52.000Z","size":767,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-02T06:14:36.021Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","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/RealDudePerson.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":"2022-02-01T16:35:47.000Z","updated_at":"2024-01-17T09:28:12.000Z","dependencies_parsed_at":"2024-01-13T22:33:59.706Z","dependency_job_id":null,"html_url":"https://github.com/RealDudePerson/beakon","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/RealDudePerson%2Fbeakon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealDudePerson%2Fbeakon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealDudePerson%2Fbeakon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RealDudePerson%2Fbeakon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RealDudePerson","download_url":"https://codeload.github.com/RealDudePerson/beakon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222688170,"owners_count":17023297,"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":[],"created_at":"2024-08-01T06:00:54.411Z","updated_at":"2024-11-02T07:31:03.836Z","avatar_url":"https://github.com/RealDudePerson.png","language":"JavaScript","funding_links":[],"categories":["Tools for Self-Hosting"],"sub_categories":["Web servers"],"readme":"# Beakon\nBeakon is designed to be a self-host location sharing webserver. Beakon aims to leak as little data as possible and uses mostly self-contained libraries and local database files. Where possible, it will reference local files and not reach out over any network. One area where this is not yet easy, is map tiling images.\n\n![Screen Shot 2022-07-07 at 07 23 30](https://user-images.githubusercontent.com/4443705/177797804-51bdda0a-1f21-43f5-8ccd-7c2cae18cedf.png)\n\n\n\u003cimg src=\"https://user-images.githubusercontent.com/4443705/177797819-fe324575-6c5c-4d1d-bad5-356e5855dbef.png\" width=\"300\"/\u003e\n\n## Setup\nCreate a [mapbox] account and generate an access token. Place that in the app.cfg file.\n\nGenerate a random string for the SECRET_KEY in the app.cfg file.\n\nLoad the site.\n\n### Threat Model\nThis is completely built in my little spare time as a project to learn flask. This is my first flask project. This should not be used public facing, and if it is used public facing, disable registration once you have setup accounts.\n\nRegistered users are assumed to be good actors.\n\n## Dependencies\n### Python\nflask\n\nflask_sqlalchemy\n\nflask_login\n\npyOpenSSL\n\n\n### HTML/CSS/JS\n[foundation]\n\n[leaflet]\n\n### Hosted Dependencies\n[mapbox]\n\n### Useful Third Party Tools\n[GPSLogger] is an open source android app that can automatically send requests to update your location in Beakon.\n\nIn GPSLogger you can use the 'Log to custom URL' feature to update your location in the background. The URL endpoing is /api/recordlocation.\n\nThe request should be sent as a json payload in the following format with the following headers:\n\nHeaders:\n\n\u003e Content-Type: application/json\n\n\u003e username: [username]\n\n\u003e secret: [API Key created from account page]\n\nBody:\n\n\u003e {\"lat\":\"%LAT\",\"lon\":\"%LON\",\"acc\":\"%ACC\"}\n\n\n[mapbox]: https://www.mapbox.com/\n[leaflet]: https://github.com/Leaflet/Leaflet\n[foundation]: https://github.com/foundation/foundation-sites\n[gpslogger]: https://gpslogger.app\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRealDudePerson%2Fbeakon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRealDudePerson%2Fbeakon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRealDudePerson%2Fbeakon/lists"}