GithubHelp home page GithubHelp logo

afwolfe / pebble-apple-find-my Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 2.0 75 KB

An Apple "Find My" client for the Pebble smartwatch.

License: MIT License

C 58.79% Python 18.47% JavaScript 22.02% Shell 0.72%
apple icloud find-my-iphone pebble pebble-watchapp

pebble-apple-find-my's Introduction

pebble-apple-find-my

An Apple "Find My" client for the Pebble smartwatch and accompanying server to interface with iCloud through pyicloud.

Status

The watchapp can login to the API server and get an access token in order to list your devices and send a request to find a particular device.

Server

The server/ folder implements a REST API in Python for initiating "Find My" requests using picklepete/pyicloud.

Client

The watchapp/ folder contains the source for the Pebble app. The PebbleKit JS component communicates with the server and sends the device information to the Pebble.

Installation

Server

  1. Use pipenv to install the dependencies
    $ cd server
    $ pip install pipenv
    $ pipenv install
  2. Open a pipenv shell and configure your iCloud account for 2FA, see the pyicloud documentation for more details.
    • It is recommended that you save your password/2FA in the keyring using the icloud command.
    • This will make server startup seamless without the need for interaction
    $ pipenv shell
    $ icloud [email protected]
    ICloud Password for [email protected]:
    Save password in keyring? (y/N)
  3. Create a .env file in the server folder and set the variables. See server/.env.example for values
    • If you don't specify APPLE_PASSWORD, pyicloud will attempt to use the keyring
  4. Start the server from the pipenv shell with python main.py OR explicitly run it through pipenv with:
    $ pipenv run python main.py

Client

  1. Build and install the watchapp using the Pebble SDK
  2. Make sure your server is running
  3. Configure your server URL, and username/password to match the API user and password you set for the server.
  4. Launch the watchapp and select a device to trigger a Find My alert on it.

Roadmap

  • List devices on watchapp
  • Trigger "Find My" alert from watchapp
  • Additional information on watchapp
    • Show request success/failure on Pebble
    • Icons for device class
    • Battery level and status
    • Location name using reverse geocoding API
  • Add endpoints to login/save iCloud credentials without pyicloud's icloud CLI.
  • Additional endpoint to set "Lost Mode"
  • Server authentication
  • Gevent WSGI server
  • Clay configuration

Acknowledgements

pebble-apple-find-my's People

Contributors

afwolfe avatar dependabot[bot] avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

emreblky

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.