Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Static network option #61

Open
Rihcus opened this issue Jan 20, 2024 · 6 comments
Open

[Feature Request] Static network option #61

Rihcus opened this issue Jan 20, 2024 · 6 comments

Comments

@Rihcus
Copy link

Rihcus commented Jan 20, 2024

I noitced for mac and android transfers due to limitations, you have to enter a ssid and password (which can be a bit long).

I was wondering if it would be possible for to set a static network (ssid and password don't change) for specific peers (say mac).

@spieglt
Copy link
Owner

spieglt commented Jan 21, 2024

Unfortunately no. The Android device has to host the hotspot since macOS doesn't let you start hotspots programmatically. And Android's startLocalOnlyHotspot method generates the SSID and password for you.

@spieglt spieglt closed this as completed Jan 21, 2024
@Rihcus
Copy link
Author

Rihcus commented Jan 21, 2024

Unfortunately no. The Android device has to host the hotspot since macOS doesn't let you start hotspots programmatically. And Android's startLocalOnlyHotspot method generates the SSID and password for you.

Thanks for the clarification. Would it be possible to add a option to scan the qr code generated on android from Mac (say using Webcam if available)?

Alternatively would it be possible to use Bluetooth to share wireless credentials?

Edit:
Here is a mac shortcut which uses apple script to auto fill in the Flying carpet mac app using the ios Step 2 ios qr code

https://www.icloud.com/shortcuts/fa4abd9a61704eb19335237529c3f570

Shortcut actions app needed for QR code scanning (its free and opensource):
https://apps.apple.com/us/app/actions/id1586435171
https://github.com/sindresorhus/Actions

Edit 2:

demo.mp4

Screenshot_20240121_184235_Flying_Carpet

@spieglt
Copy link
Owner

spieglt commented Jan 22, 2024

Webcam, maybe? I'm not sure how complicated that is. Bluetooth is a good idea but would be a lot of work. Will keep these in mind and do some research.

@agdamsbo
Copy link

Hi. I have just found your app. It is really great as a completely local version of eg Snapdrop. I would really love, though if the connection between the two devices was a little smoother, like suggested above. When that is said, it has bridged the gap for me after changing from iOS to Android (/e/os). Thank you!

@spieglt
Copy link
Owner

spieglt commented Jan 26, 2024

I've started looking into Bluetooth and I haven't found solid reason to say it isn't possible yet, but it would be a long-term project. I'd have to write a Bluetooth server and client in:

  • Rust on Windows with windows-rs
  • Swift on iOS with CoreBluetooth
  • Kotlin on Android
  • Rust on Linux with https://github.com/bluez/bluer
  • and for macOS, hopefully reuse the Swift/iOS code and wrap with Rust somehow, but more likely write the same thing in Obj-C and write Rust wrappers for that.

Each one of those steps is going to be pretty involved and will be a steep learning curve as I haven't worked with Bluetooth before. After all that, I'd have to figure out how to fall back to QR code or manual entry for devices that don't have Bluetooth (or failing that, cameras). And one device can't really know if the other device has Bluetooth, so there will have to be good UI for the user to know and inform the app of whether Bluetooth is worth trying. I don't want to make Bluetooth a requirement for future versions as I imagine there are people with laptops that have WiFi but not Bluetooth. So this is likely months away if it happens.

@spieglt
Copy link
Owner

spieglt commented Jan 26, 2024

And thank you @agdamsbo!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants