Package: django-fmd
Django Find My DeviceFind My Device client and server implemented in Python using Django.
Usable for the Andorid AppFindMyDevicebyNnulide:Note: For command notifications, you also need to install ahttps://unifiedpush.org/app like "ntfy":Django "Find My Device" server for YunoHostStateServer implementationWhat worked:App can register the deviceApp can send a new locationApp can delete all server data by unregister the deviceThe Web page can fetch the location of a devicePaginate between locations in Web pagePush notification of commandsServer TODOs:PicturesClient implementationSee demo:https://gitlab.com/jedie/django-find-my-device/-/blob/main/fmd_client_demo.pyWhat worked:Register on serverSend location to serverGet location from serverDelete device on serverClient implementation TODOs:A usable CLInotificationPicturesStart hacking:~$gitclonehttps://gitlab.com/jedie/django-find-my-device.git
~$cddjango-find-my-device
~/django-find-my-device$./devshell.py
...(findmydevice)run_testservercreditsTheFindMyDeviceconcept and the App/Web pages credits goes toNnulidethe creator of the app FindMyDevice.Currently, we store a copy of html/js/css etc. files fromfindmydeviceserver/web/(GNU GPLv3)
into our project repository here:django-find-my-device/findmydevice/web/with theupdate_fmdserver_files.shscript.Some external files are added to this git repository, e.g.:crypto-js(MIT License) -https://github.com/brix/crypto-jsJSEncrypt(MIT License) -https://github.com/travist/jsencryptLeaflet(BSD 2-Clause "Simplified" License) -http://leafletjs.com-https://github.com/Leaflet/Leaflettoastedjs(MIT License) -https://github.com/shakee93/toastedjsversionsdevTBCv0.3.2 - 10.08.2022Bugfix to small database fieldsTest project auto login only for/admin/requestsv0.3.1 - 10.08.2022Bugfix static files for YunoHostv0.3.0 - 10.08.2022WIP: FMD python client (TODO: Add a CLI)Replace the deviceUUIDwith a short random stringInclude external JS/CSS filesv0.2.0 - 19.07.2022Store User-Agent in Device and LocationDataImplement command push notificationsv0.1.3 - 12.07.2022Remove "@Nulide FMDServer" from index.htmlLower 'No "IDT"' error log.v0.1.2 - 12.07.2022Enhance Device change list: LocationData count + last update info and LocationData filterAdd login page for anonymous usersv0.1.1 - 12.07.2022Fix pagination on FMD web page.Deny store locations too often (bysettings.FMD_MIN_LOCATION_DATE_RANGE_SEC- default: 30sec.)Display device date in admin in human-readable format.Allowlocationdelete in admin ifDEBUGmode is on.More tolerant/requestAccessview.EnhanceTracingMiddlewarefor debugging.v0.1.0 - 12.07.2022Serve fmd page "index.html" with own view and only for authenticated usersEnhance Django AdminAdd optional "name" for Devices (Only for django admin)v0.0.4 - 11.07.2022Bugfixlogic.jsrequests, if installed not in root URL.Bugfix location view fromlogic.jsand undefined variable.v0.0.3 - 11.07.2022Bugfix store location because of too largeraw_datefield valuev0.0.2 - 11.07.2022Support Python 3.7 (for current YunoHost version)Setup Gitlab CI pipelineUpdate READMEv0.0.1 - 05.07.2022init projectApp can register the deviceApp can send a new locationApp can delete all server data from the deviceThe Web page can fetch the location of a devi