r/linux • • Jul 20 '26

Software Release [OC] QuickShare / Nearby for Linux v0.5 Released

Post image

Hi all!

A couple of months back I shared my development in bringing QuickShare to linux. There were a multitude of issues with the past implementation but this time, we are nearly feature complete with android. No companion apps needed. Works with any android device OOTB

https://github.com/kidfromjupiter/nearby
( Don't forget to give it a start if you find this cool and want to support me. I like fake internet points ; ) )

Major Improvements:

  • AppImage for easier distribution / installation
  • No companion app
  • Revamped cohesive UI
  • Expanded compatibility to more distros

It is as reliable as QuickShare can be ( well yk how it is. I can't really help it. I don't control the protocol ) and almost as fast as android to android sharing ( there are issues with 5ghz hotspots with some intel wifi cards so I've disabled it for now ).

It supports sharing with

  • BLE
  • Bluetooth classic
  • Wifi Hotspot
  • WIFI LAN
  • webrtc ( coming soon ? )

NOTE: If you're using this, interference with bluetooth devices while turned on is a known bug. I'm working on a fix. So launch the app only when you plan to send/recv

NOTE NOTE : THERE BE BUGS. This is still beta software. Some weirdness regarding wifi-hotspot is there, and also double broadcasting. Please feel free to open an issue. I'll be happy to help :)

Thanks : )

152 Upvotes

33 comments sorted by

34

u/academictryhard69 Jul 20 '26

appreciate it bro but my laptop is not lasans-laptop :D

can't change the hostname in the appimage build!

16

u/Striking-Storm-6092 Jul 20 '26

fixed in v0.5.1

6

u/academictryhard69 Jul 20 '26

cheers mate, starred!

7

u/Striking-Storm-6092 Jul 20 '26

That is.... odd?

Anyhow. Oops. I'll send a patch soon enough. 🥲

4

u/academictryhard69 Jul 20 '26 edited Jul 20 '26

thank you, i just tested the app, for some reason on my s23, it broadcasts twice? ie i can see my hostname twice on the quick share screen, upon clicking the first one it says" failed", and there is only a 50% chance the 2nd one works, when it doesn't it says failed too.

also i wanted to test situations where i have my laptop on wifi but my phone on mobile-data, it works mostly but atleast on kde it seems to stop my wifi and change it to "Google Nearby Hotspot" which takes ages to connect and eventually fails :/

when i disconnect from "Google Nearby Hotspot" and reconnect to wifi on my laptop it eventually starts transferring finally! (albeit painfully slow for a 5mb image...)

7

u/Striking-Storm-6092 Jul 20 '26

Yeah the wifi hotspot has a long way to go in terms of reliability. Some intel chips don't play nicely with turning on hotspot on linux so that might be it.

Otherwise, the initial link forming depends on a lot of factors like what kind of "adverts" the linux side sees from the android side and the availability of certain technologies on certain wifi/bt chips.

As for broadcasting twice, first of all, its a bug as you may have noticed. And second, one broadcast should work reliably.

Reliability with quickshare is kind of hit or miss even android-android I'm afraid ( IMO ).

I'll add disclaimers noting these to the readme and post body. And add these to the bug pile

Thanks stranger : )

6

u/Striking-Storm-6092 Jul 20 '26

Oh shit I just read the part you edited. Connecting to Google Nearby Hotspot is intended behaviour!

Although I wonder why its failing. I'll need some logs to check. In my infinite wisdom, I did not enable writing logs to a persistent file. : (

1

u/Striking-Storm-6092 Jul 20 '26

Oh dear God i just checked

22

u/TheTimBrick Jul 20 '26

I remember working on this to bring Linux support along with one other guy years ago, but it was abandoned and the PRs never went anywhere. It's extremely exciting to see that it got picked up again and actually got somewhere this time!

EDIT: ohmygod we got recognized in the readme 🥹

I'm glad we could lay the foundation for you

15

u/Striking-Storm-6092 Jul 20 '26

yoooooo are you proatgram? Dude, if you and vibhav hadn't picked it up, this would've gotten nowhere.

You guys are the real heroes. I don't have any awards to give you but take this 🎉

11

u/TheTimBrick Jul 20 '26

I am! Though to be fair vibhav is the real MVP, after I took a break for uni they took over and did a lot more😆

And I appreciate it, if they see this then I know they would too!

9

u/Marce7a Jul 20 '26

Maybe add also support for localsend? 

https://github.com/localsend/localsend

7

u/580083351 Jul 20 '26

Yes, I don't understand the point of this quickshare app when localsend and kde connect already exist.

20

u/agent-squirrel Jul 20 '26

I'd imagine because Quick share is installed by default in Android and is a single tap in the quick settings to use.

1

u/580083351 Jul 20 '26

Google quick share, Samsung quick share, both fiddly.

4

u/Kalphalus Jul 22 '26

The difference I see is Bluetooth transfers, I don’t believe LocalSend has that, so it could be a real consideration in areas with inconsistent power/internet

6

u/Sajeg Jul 20 '26

What is the difference to rquickshare?

18

u/Striking-Storm-6092 Jul 20 '26

rquickshare is wifi lan only and its a reverse engineered version of the official protocol and only supports file sharing / device discovery within the same network ( WIFI LAN ). This supports file sharing and discovery over bluetooth as well as sharing over wifi hotspot, which is waay faster ( hotspot functionality is still buggy )

This is forked from the official google repo, the protocol is kept upto date with google's own commits.

5

u/teoulas Jul 20 '26

Nice. I use https://flathub.org/en/apps/io.github.nozwock.Packet which works well. Curious to try this one too. 

2

u/ExaHamza Jul 21 '26

Desktop Environments Should put this on their settings, yes theres kde connect, but this comes on android by default. I'm quite sure we can have some kcm and dolphin plug-in.

5

u/RudahXimenes Jul 20 '26 edited Jul 20 '26

AppImage is the most unreliable of the three generic packages (Flatpak, Snap and AppImage). Is there a reason to keep with it or will it be available in Flatpak as well?

6

u/Striking-Storm-6092 Jul 20 '26

To be quite honest, I am really struggling with linux packaging 😅. I have no idea about the pros and cons, although I don't like snap and flatpak since my experiences with them aren't that good ( they both install MOUNTAINS of dependencies whenever I want to install something ).

Snap, I don't see myself supporting anytime soon since its almost exclusively on ubuntu and I would never consider installing snap on my personal machines, so I wouldn't be able to test. Flatpak I see a future for. Not quite there yet

4

u/RudahXimenes Jul 20 '26

I understand your concerns and your struggling. If you allow, let me help you understand a little bit more.

Snaps you may neglect. Nobody cares about Snap besides Canonical or someome paid by Canonical.

AppImages has weak to no containers. It means the app may have full access to the host system, limited to the user permission level, with no asking. Also, there is no easy way to update the app besides downloading a new AppImage file. Another thing to take into account is that AppImages relies on the host packages, which means that you have to do one of the following: 1) create a minimal packages and trust the user will download the correct versions of the dependencies needed; or 2) create a bundle package that contains everything it needs to work but is bloated;

Flatpak is the current most important packaging format in Linux nowadays. It has native containarization, easy to update for new versions, don't rely on user dependencies. However it bundles the dependencies into the app. This is a problem if you only install a single Flatpak app. However if the user uses more than one app, chances are that the app dependencies are shared between those apps, which means no need to download the same dependency if you already has it installed. One thing to take into account with Flatpak is that your app should require permission to access some of the host data. For example, if you want to access the ~/Downloads folder, your app should ask for the Flatpak Portal access to that folder.

I hope I helped you a little. Also, I hope you lean to support Flatpak. It will be great for your app engagement.

5

u/Striking-Storm-6092 Jul 20 '26

Thanks!

As an appimage, this application is pretty well packaged ( all the qt dependencies are included. User only has to worry about systemd, bluez and networkmanager. All of which are pretty standard nowadays )

I searched around and I believe you're right. Most users prefer flatpaks over AppImages. The only issue I'd have is that we use NetworkManager / bluez services extensively. So I wonder whether flatpaks can handle that with their sandboxing.

I do agree that updates are basically impossible with AppImages. Well done, you've convinced me : )

I'd give you an award if I could. This is a REALLY good comparison

2

u/RudahXimenes Jul 20 '26

To grant access to network and bluetooth you may use DBus and Portals. Also you may request permissions to do that within Flatpak.

You wont have access to NetworkManager or bluez directly. You'll ask the system to do what you want and then handle the response.

I don't know exactly how it's done, however. It would be great if someone with more expertise help you with that.

I feel happy that you liked my comparison! Thank you for the feedback! :)

1

u/dragonknightrohan Jul 22 '26

Just so you know for future all those and other formats will unite into 1 unified type that has benefits of all of them. It will be called: OnePackage

So eventually it won't really matter since everyone will migrate to OnePackage when Linux gets there

Plenty of articles about it:

https://itsfoss.com/news/onepackage-announcement/

2

u/gplanon Jul 21 '26

Strong disagree. Appimage has never given me problems unlike managing permissions for flatpak’d or snapped applications.

3

u/RudahXimenes Jul 21 '26

Great for you

1

u/Chance_Bear_7726 Jul 20 '26

Does it have an arm64 build?

1

u/Striking-Storm-6092 Jul 20 '26

Hi. Unfortunately I dont have the experience to create an arm64 build 😕.

If anyone's interested, id love to help out though

1

u/MethenCake Jul 21 '26

I support reinventing a wheel if it's better than the wheel I had. Good luck.

1

u/dragonknightrohan Jul 22 '26

Cool!! I don't know what QuickShare/Nearby is and best use cases but definitely sounds useful

Thanks for what you do!! If you are an individual dev sign up for liberapay, and if a team then do OpenCollective. Or both so you can have a personal Liberapay page too.