Task #2468

make F-Droid accept repo URLs via mDNS

Added by hans about 4 years ago. Updated almost 4 years ago.

Status:ClosedStart date:11/13/2013
Priority:UrgentDue date:
Assignee:hans% Done:

0%

Category:-
Target version:0.2 - ChatSecure/Bluetooth
Component:

Description

When kerplapp has its repo enabled, it will broadcast it via mDNS. F-Droid should receive mDNS broadcasts, and prompt the user to add the repo if it receives a new URL.

jmdns can handle the mDNS


Related issues

Related to Bazaar - Task #2467: make Kerplapp broadcast the repo URL via mDNS Closed 11/13/2013
Related to Bazaar - Task #2691: new ManageRepos UI In Progress 12/03/2013
Related to Bazaar - Feature #2900: use jmDNS to provide discovery on Android < 16 Closed 02/19/2014
Related to Bazaar - Feature #2978: Include repo fingerprint for network service discovery. Closed 02/19/2014

History

#1 Updated by hans about 4 years ago

  • Target version set to 0.2 - ChatSecure/Bluetooth

#2 Updated by hans about 4 years ago

Here's an idea for this to be workable:

  • make a "repo browser" screen
  • user switches to it to see locally available repos
  • user clicks on one to start the adding process in F-Droid
  • user confirms in F-Droid that it should be added

#3 Updated by hans about 4 years ago

  • Priority changed from Normal to Urgent

#4 Updated by pd0x almost 4 years ago

  • Status changed from New to In Progress
  • Assignee set to pd0x

Started a prototype using Android NSD (developer.android.com/training/connect-devices-wirelessly/nsd.html). This will have to be replaced with jmDNS or another external lib due to the API level (JellyBean+). It's a good first start.

I've managed to get Service discovery working and have started to work towards pulling out the required information to create a new repository from the mDNS broadcast. I need to carve out a separate activity separate from the "Manage Repo" screen for this. "Discover Repos" or something similar?

#5 Updated by hans almost 4 years ago

good news! Android NSD is DNS-SD + mDNS and it supports .local names! so we can use jmdns for older platforms

#6 Updated by pd0x almost 4 years ago

My fork of the fdroidclient on Gitorious (https://gitorious.org/f-droid/kerplapp-fdroidclient/) has working Network Service Discovery for both HTTP and HTTPS FDroid repos on the local network.

There are two things left to do before submitting a merge request:

  1. Restrict the feature to just devices that can support the API level (similar to how other FDroid features are API-level gated for compatibility).
  2. Fix the UI to launch the local repo browsing screen. Right now the "Find local repos" button uses the same icon as refresh repos and is awkwardly positioned.

#7 Updated by pd0x almost 4 years ago

  • Status changed from In Progress to Feedback
  • Assignee changed from pd0x to hans

Merge request sent to FDroid upstream: https://gitorious.org/f-droid/fdroidclient/merge_requests/65

Ready for review & inclusion.

#8 Updated by pd0x almost 4 years ago

  • Status changed from Feedback to Closed

Merge request processed & included in upstream. Marking as closed since Hans already reviewed.

Also available in: Atom PDF