Skip to main content

Server for 'Find My Device' android app, implemented in Django/Python

Project description

Django Find My Device

django-fmd @ PyPi Python Versions License GPL V3+

Find My Device Server implemented in Python using Django. Usable for the Andorid App FindMyDevice by Nnulide:

Get FindMyDevice on F-Droid

Note: For command notifications, you also need to install a https://unifiedpush.org/ app like "ntfy":

Get ntfy on F-Droid

Django "Find My Device" server for YunoHost

Integration level Working status Maintenance status Install django-fmd with YunoHost

State

It's in early developing stage and not really usable ;)

What worked (a little bit) with Django's development server:

  • App can register the device
  • App can send a new location
  • App can delete all server data from the device
  • The Web page can fetch the location of a device
  • Paginate between locations in Web page
  • Push notification of commands

TODOs:

  • Pictures
  • Write tests, setup CI, deploy python package etc.

Start hacking:

~$ git clone https://gitlab.com/jedie/django-find-my-device.git
~$ cd django-find-my-device
~/django-find-my-device$ ./devshell.py
...
(findmydevice) run_testserver

credits

The FindMyDevice concept and the App/Web pages credits goes to Nnulide the creator of the app FindMyDevice.

Currently, we store a copy of html/js/css etc. files from findmydeviceserver/web/ (GNU GPLv3) into our project repository here: django-find-my-device/findmydevice/web/ with the update_fmdserver_files.sh script.

versions

  • dev
    • TBC
  • v0.2.0 - 19.07.2022
    • Store User-Agent in Device and Location
    • Implement command push notifications
  • v0.1.3 - 12.07.2022
    • Remove "@Nulide FMDServer" from index.html
    • Lower 'No "IDT"' error log.
  • v0.1.2 - 12.07.2022
    • Enhance Device change list: Location count + last update info and Location filter
    • Add login page for anonymous users
  • v0.1.1 - 12.07.2022
    • Fix pagination on FMD web page.
    • Deny store locations too often (by settings.FMD_MIN_LOCATION_DATE_RANGE_SEC - default: 30sec.)
    • Display device date in admin in human-readable format.
    • Allow location delete in admin if DEBUG mode is on.
    • More tolerant /requestAccess view.
    • Enhance TracingMiddleware for debugging.
  • v0.1.0 - 12.07.2022
    • Serve fmd page "index.html" with own view and only for authenticated users
    • Enhance Django Admin
    • Add optional "name" for Devices (Only for django admin)
  • v0.0.4 - 11.07.2022
    • Bugfix logic.js requests, if installed not in root URL.
    • Bugfix location view from logic.js and undefined variable.
  • v0.0.3 - 11.07.2022
    • Bugfix store location because of too large raw_date field value
  • v0.0.2 - 11.07.2022
    • Support Python 3.7 (for current YunoHost version)
    • Setup Gitlab CI pipeline
    • Update README
  • v0.0.1 - 05.07.2022
    • init project
    • App can register the device
    • App can send a new location
    • App can delete all server data from the device
    • The Web page can fetch the location of a devi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-fmd-0.2.0.tar.gz (81.8 kB view hashes)

Uploaded Source

Built Distribution

django_fmd-0.2.0-py3-none-any.whl (115.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page