To find my device ειναι μια Foss android εφαρμογή που σου επιτρέπει να δεις ρην τοποθεσία του κινητού σου, το ιστορικό των τοποθεσιών σου, να κλειδώσεις το τηλέφωνο σου αλλά και να το διαγραψεις με factory reset απομάκρυνεμένα με sms η απο κάποιον browser
Εδώ θα δουμε πως θα κάνουμε self host τον σέρβερ που θα τρέχει την σελιδα διαχείρησης απο την οποία βλέπουμε το ιστορικό τοποθεσίας και διαχείρησης
Προαπαιτούμενο να έχουμε εγκατεστημένη τη γλώσσα go
Την εγκατέστησα από το aur manjaro arm με
sudo pacman -S yay
yay install -S go
debian
sudo apt install golang-go
Ή αν δεν θέλεις αποpackage manager from source
- clone το repo
git clone https://gitlab.com/Nulide/findmydeviceserver.git
Η κατεβάζουμε και από συμπιέζουμε από
https://gitlab.com/Nulide/deviceserver/-/releases
- πάμε στο φάκελο source
cd ~/findmydeviceserver/src
- κάνουμε build το project
sudo go build fmdserver.go
- τεσταρουμε
~/findmydeviceserver/src/fmdserver
-
navigate to localhost:1020
-
stop the server
ctrl + c
- edit το αρχείο .service
nano etc/systemd/system/fmdserver.service
Αντικαθιστούμε στο executable filepath
ExecStart=/home/user/findmydeviceserver/src/fmdserver
Το filepath πρέπει να είναι απόλυτο . Αντικατέστησε το user με το username σου
- αντιγραφή του αρχείου στο systemd
sudo cp /home/ippo/findmydeviceserver/src/etc/systemd/system/fmdserver.service /usr/lib/systemd/system/fmdserver.service
Σε debian το path μάλλον είναι
etc/systemd/system/fmdserver.service
- εκινούμε το service
sudo systemctl start fmdserver
- ενεργοποιούμε το service
sudo systemctl enable fmdserver
- Η εφαρμογή κάνει expose μια insecure 1020 και μια secure θύρα 1008
Λόγω έλλειψης documentation αλλά και εμπειρίας δεν κατάφερα να κάνω τη secure να δουλέψει με κάποιο certificate χρησιμοποίησα την insecure σε συνδυασμό με Κάντυ το οποίο μου έδωσε certificate και https κρυπτογράφηση
sudo nano /etc/caddy/Caddyfile
add
your.domain.name:an.open.router.port { reverse_proxy localhost:1020 }
Στην εφαρμογή
- Από ρυθμίσεις>>FMD-SERVER>>url
Βάζω το your.domain.name:an.open.router.port
Κάνω Enable , επιλέγω κάθε πόσα λεπτά θα στέλνει τοποθεσία, και τι είδους Location data (gps,network)
- πατάω register on server
3)βάζω το server is και επιλέγω ανά password στο prompt
Τώρα μπορώ να επισκεφτώ το url από οποιοδήποτε browser
Το παρόν είναι αναδιατύπωση του channel post μου εδώ