Coder Social home page Coder Social logo

myzel394 / locus Goto Github PK

View Code? Open in Web Editor NEW
214.0 7.0 9.0 21.34 MB

Share your location end-to-end encrypted on decentralized servers using Nostr.

License: GNU General Public License v3.0

Kotlin 0.02% Swift 0.12% Objective-C 0.01% Dart 99.46% Ruby 0.39% Shell 0.02%
flutter location-sharing nostr nostr-client android android-app app decentralized decentralized-application end-to-end-encryption

locus's Introduction

Locus

Locus is a free, open source app for Android and iOS that allows you to share your location live. It encrypts your location end-to-end, meaning that no one, not even we, can read it. It stores the location decentralized on multiple servers of your choice using Nostr, meaning that you are not locked to a service. No authentication required.

Locus is currently not in active development. I am unable to work on it as much as I would like. I will still fix security issues and maintain it, but there will not be any new features in the foreseeable future. I am open for any Pull Requests.

Download

iOS currently does not have a release. You will need to build and install the app yourself.

Locus comes in two variants for Android:

  • GMS: This variant uses Google Play Services to get your location. If you have Google Play Services installed, you must use this variant. F-Droid uses this version
  • FLOSS: This variant is completely libre and does not use any proprietary software. If you have NO Google Play Services installed, you must use this variant.

When downloading from GitHub, you can choose from both options.

Get it on F-Droid Get it on GitHub

Supporting Locus

You can support Locus in various ways:

Contribute to the project

Add a new feature or fix bugs.

Add translations

Translate Locus into your language so that other people can use it more easily.

Donate

It might sound crazy, but if you would just donate 1$, it would totally mean to world to me, since it's a really small amount and if everyone did that, I can totally focus on Alibi and my other open source projects. :)

You can donate via GitHub Sponsors or via crypto currencies.

locus's People

Contributors

cem256 avatar dependabot[bot] avatar izzysoft avatar myzel394 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

locus's Issues

๐ŸŽท [Important] How should we handle analytics?

I'd like to add analytics to Locus. But no worries, I don't want to add Google Analytics or any other privacy infringing analytics - I want to add privacy-friendly analytics that require users to opt-in.
Having at least some analytics would help me massively finding out what's most important to you users and I can see where the app works fine and where not.

Based on that I'd like to add two criteria for any analytics:

  • Both the analytics frontend as well as the backend must be open source
  • The backend must be self-hostable (I will probably host the backend myself)

Unfortunately, there doesn't seem to be many free privacy-friendly analytics tools available for Flutter. So far, I have only found:

If you know any other analytics tool or have anything else to say to this discussion, please comment here.

I'll leave this issue open for some time to give you guys some time to comment and discuss.

[BUG] Location not updating in background

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

I installed Locus on 3 mobile phones:

2 are from Samsung with Android 11 and 13 (installed the GMS version)
1 mobile phone had E/OS (LineageOS based rom) (installed the FOSS version).

I found that the app won't work in the background, I see the notification and the app is active, but it isns't updating
the location at all. I do not see any location updates in the app.

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Priority

Please set a realistic priority on how important this issue is to you. We will fix all bugs, but urgent bugs (such as the app not starting at all for example) are more important than fixing some styles for example.

  • Low
  • Medium
  • High
  • Urgent

App Version

Version 0.11.1 (GMS)" and "Version 0.11.1 (FLOSS)".
Also tried older versions like 0.10.2 and 0.10.3

Logs

[FEATURE] Clearer location history

Is your feature request related to a problem? Please describe.
Seeing the history of someone's location is difficult due to the lack of lines between locations and the vauge circles that indicate location.

Describe the solution you'd like
Clear lines and points between previous locations.

Location not being added

I'm unable to add a location to any of the tasks, even when other apps like Osmand can get my GPS, I'm on DivestOS 20.0, Android 13. Using the 0.4.1 version.

I've tried reinstalling and restarting, to no avail!

[FEATURE] Self-Host Web Viewer

Is your feature request related to a problem? Please describe.
No, although a functional web viewer for those without the app would be slick.

Describe the solution you'd like
The ability to self host this web viewer- perhaps a docker file that we can build that gets the server and configs set up.

Describe alternatives you've considered
N/A

Additional context
N/A

[BUG] unable to import a shared location

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

Shared a task via link. Clicking the link on the Samsung phone opens Locus, but shows "an unknown error occured".

To Reproduce

Steps to reproduce the behavior:

  1. Click a link for a shared location task

Expected behavior

A shared task should be imported successfully.

Screenshots

When clicking the same share link on the sharing phone (LineageOS), the same error occurs:
grafik

Additional context

On the Samsung phone, 5 random relays have been selected. It is a fresh install of Locus. No task has been created there, yet.

Priority

  • Low
  • Medium
  • High
  • Urgent

App Version

Version 0.10.2 (FLOSS)

Logs

{LocusLog}  {Quick Actions}  {Initializing quick actions...}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Quick Actions}  {Quick actions initialized successfully!}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Uni Links}  {Initiating uni links...}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Task Service}  {Doing checkup...}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Task Service}  {Checkup done.}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Import Task}  {Importing task from URL...}  {27 June 2023 09:50:48 PM}  {INFO}
{LocusLog}  {Import Task}  {Error fetching task from URL: No event received}  {27 June 2023 09:50:49 PM}  {ERROR}

Issue in fetching location!

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Custom ROM on 2 phones both without Google play services
  • Location services settings recently used apps doesn't show Locus . Locus was working on previous early versions

Describe the bug

Location is not getting working or getting fetched .
20062023_105433_AM_all_[3].zip
IMG_20230620_105635_298

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Priority

Please set a realistic priority on how important this issue is to you. We will fix all bugs, but urgent bugs (such as the app not starting at all for example) are more important than fixing some styles for example.

  • Low
  • Medium
  • High
  • Urgent

App Version

Please add the version you have installed here. You can find the version by opening Locus > Tap on the top right settings icon > Scroll completely down > At the very bottom you can find your version with your flavor, for example "Version 0.8.1 (GMS)" or "Version 0.7.0 (FLOSS)".

0.9.1

Logs

Different Locus apps found - are they related to this?

Is https://live-tracking.locusmap.app/how-it-works/ related to this project? Because if it isn't, then there are two different location tracking apps called Locus which seems kinda strange.

And also if i google even 'Locus Github' i get a bunch of other projects as well as this one, two of which also have to do with location.

This app looks great, and I hope I'll be able to use it in the future, but I'm worried it might get buried under apps with similar names. Or maybe I'm misunderstanding something.

[BUG] 0.3.2 on Izzy not starting, black screen

OS

  • Android
  • iOS

Android specific

Redmi9C
Android 10 QP1A.190711.020
MIUI 12.0.4 Global Stable

Describe the bug

App loaded from Izzy doesn't start. Black screen only.

To Reproduce

Steps to reproduce the behavior:

  1. Install app from Izzy
  2. Open App
  3. ...
  4. See error

Expected behavior

App opens

Additional context

Hope this works

2023-05-29-21-23-48_myzel.txt

05-29 21:17:52.775 W/BroadcastQueue(1225): Background execution not allowed: receiving Intent { act=android.intent.action.PACKAGE_REMOVED dat=package:app.myzel394.locus flg=0x4000010 (has extras) } to com.google.android.apps.maps/com.google.android.libraries.social.peoplekit.thirdparty.viewcontrollers.ThirdPartyReceiver

[FEATURE] Check for updates

0 - 14 days of being outdated

Show a banner at the top, dismissible

14 - 30 days of being outdated

Show a banner at the top, not dismissible

30 - 60 days of being outdated

Show a dialog at the start

> 60 days of being outdated

Disable app, only show outdated warning at app opening

[BUG] Unable to Select Relays

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

Locus seems great! It looks gorgeous. However, when I go to add a new task and Select Relays, I am seeing at the top of the relay popup tray in red, "An unknown error occured".

To Reproduce

Steps to reproduce the behavior:

  1. Go to Create Task
  2. Tap Select Relays
  3. See error

Expected behavior

I believe I should see a list of Nostr relays here.

Screenshots

sad_error.png

Additional context

I am using the FOSS version, perhaps this could be contributing.

Priority

Please set a realistic priority on how important this issue is to you. We will fix all bugs, but urgent bugs (such as the app not starting at all for example) are more important than fixing some styles for example.

  • Low
  • Medium
  • High
  • Urgent

[FEATURE] Manual location refresh?

Hello,

I've noticed that while locus is in background (swiped away from recent apps) it only updates once an hour which may be too long for many to wait for a location update (I thought it was supposed to be 15 minutes, if im not mistaken?)

Can you implement an option, that the user who creates the task must allow called "Manual location refresh" or something like it, where those who are viewing location can update their location, as that person may not be in same location anymore depending on when it was last updated.

Thats how Google maps works with location sharing feature. When user clicks to see friends location, google pings their device to get its location and sends it back. I believe its done this way to avoid further battery drain by constantly sending the location when its not needed.

[FEATURE] Simple "Get Started" Docs

Is your feature request related to a problem? Please describe.
Perhaps I am totally missing something obvious, but I'm not sure how to share a location with anyone. I can successfully start a task and see my location being saved to that task, but I'm unsure as to what to do with the share link once I have this. It links me to a simple webpage with a file selection dialog.

Describe the solution you'd like
I suppose I am expecting some sort of way for me to send a link to family and friends such that they can view a map of where I am at, but maybe I've totally misunderstood this tool. Perhaps I can help with this as I get more familiar, but some usage documentation would help unfamiliar users get kick-started.

[FEATURE] Make option to use only app to app, without web. (Add support for deep links)

It is impossible to trust an unknown site whose source code is easy to fake. The problem is not only the site locus.cfd, but any site in general.

For complete privacy and security, it would be a good idea to avoid using the site, and use the scheme of that you can see through the application geo of another user, not only share. And as a fallback already use the link. Those suggest to the user: share with the user who has the app (maximum security) or just share the link (high security)

Initially, when installing the application, I thought that this would be the case. But you have to trust the site, which saddened me personally.

WEB is not reliable.

[FEATURE] Add logs

Add a new tab that logs single events (like "task created", "location updated" etc)

Is this an alternative to Life360?

Sorry to leave a nonexistent issue, but I'm having a hard time wrapping my head around how this app works.

Is this a replacement for location sharing apps like Life360/FindMyFriends?

[BUG] Tiny Typo in Location Permission Dialog

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

Truly a small nit: small typo in Location Permissions screen. Last sentence: "necessary to share yur location", " yur"->"your"

To Reproduce

Upon new app installation.

Screenshots

Screenshot_20230608-003040_1.png

Additional context

Add any other context about the problem here.

Priority

Please set a realistic priority on how important this issue is to you. We will fix all bugs, but urgent bugs (such as the app not starting at all for example) are more important than fixing some styles for example.

  • Low
  • Medium
  • High
  • Urgent

Logs

[BUG] Relays not working

OS

  • Android
  • iOS

Android specific

If you ticked Android, please specify on which Android flavor this issue happens

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

A clear and concise description of what the bug is.

To Reproduce

Steps to reproduce the behavior:

  1. Download app (fresh install)
  2. Go to make task
  3. Try to pick relays
  4. Shows loading instead of working

Expected behavior

A clear and concise description of what you expected to happen.
Shows options of relays for me to pick

Screenshots

If applicable, add screenshots to help explain your problem.
Screenshot_20230609-194058

Additional context

Add any other context about the problem here.

Priority

Please set a realistic priority on how important this issue is to you. We will fix all bugs, but urgent bugs (such as the app not starting at all for example) are more important than fixing some styles for example.

  • Low
  • Medium
  • High
  • Urgent (can't use app without making a task and can't make task without relay)

Logs

[FEATURE] Possibility to change schedule

Is your feature request related to a problem? Please describe.
No

Describe the solution you'd like
Once a task has been created, it is not possible to change its schedule.

Describe alternatives you've considered
In the details you can change relays. I think it would be nice to be able to change the schedule in the same way.

Additional context

Google Location accuracy necessary?

Hi, I was trying the app, unfortunately locus.app seems to be down currently, but that just on the side.

I was wondering whether Google Location Accuracy is really necessary for this app to work...
I don't need position accuracy while indoors. I'm perfectly fine with just regular gps accuracy like for instance phonetrack (/OwnTrack) and Opentracks are using.
Unfortunately, whenever GLA is disabled not a single position is being acquired. By that I mean, the app doesn't even attempt to retrieve a GPS fix. As soon as i (begrudgingly) enable GLA, though, the app immediately acquires a location fix.

Is there a chance to make GLA and Google Location Services in General optional?

please maintain versionCode

With your current settings, versionCode will always be 1 โ€“ as you do not specify any. That line currently should read:

version: 0.2.1+5

(with 5 specifying the versionCode โ€“ which now should be 5 or higher, as there are already 5 releases and, as explained, versionCode must be increased with each release. Otherwise, nobody will ever receive any update notifications, and it thus will be hard to keep the app up-to-date on your device.

[BUG] Restoring Locus data doesn't work

OS

  • Android
  • iOS

Android specific

  • Samsung Android (Samsung Phones)
  • MIUI (Xiaomi Phones)
  • Stock ROM (Google Phones)
  • Huawei Android (Huawei Phones)
  • GrapheneOS
    • I do have Google Play Services installed
  • LineageOS

Describe the bug

When importing locus data, nothing happens and nothing is restored from the exported data.

To Reproduce

Steps to reproduce the behavior:

  1. Export locus data in settings
  2. Delete app
  3. Reinstall app
  4. Load exported json file and import it in settings

Expected behavior

Location shares, history, and the ability to view other shares should be restored.

Priority

  • Low
  • Medium
  • High
  • Urgent

App Version

Version 0.12.1 (FLOSS)

Logs

18072023_222644_PM_all_[1].zip

active?

Hi,
The open project is still active and maintainded ?

[FEATURE] Share location view key via bluetooth

#8 will introduce Bluetooth capabilities. Let's expand on that and add the functionality to share the location via bluetooth.

This will only work on Android, as nearby_connections only supports Android. However, Apple users can use Airdrop to share the link between them.

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.