Share files with a right click
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
data
debian
meson
po
src/github.com/mubitosh/qrshare
vendor/src/github.com
.gitignore
LICENSE
README.md
meson.build

README.md

QR Share

An elementary OS app for sharing files. QR Share allows you to easily share files by scanning a QR code.

Select any files and folders to share from the Files app. Right click and select QR Share. A window will be displayed showing the QR code and the URL being shared.

To stop sharing click the "Stop Sharing" button.

The device running QR Share app and the device scanning the QR code must be on the same network. For example, I have QR Share app running on my laptop and I use my smartphone to scan the QR code when both are on the same network.

Download the app

You can download the latest release of the app from here

Building and installing

Install dependencies

$ sudo apt install libgtk-3-dev meson golang-go gb

Building & Installing

All commands below are executed in the same directory.

To build the project, check out from github and run gb build

$ git clone https://github.com/mubitosh/qrshare.git
$ cd qrshare
$ gb build -tags gtk_3_18 all

To run the app

$ bin/qrshare-gtk_3_18

To install properly, we need to build a .deb package.

$ dpkg-buildpackage

The deb file should be available in the parent directory of the current directory. Below is an example of building the 0.7.0 release.

$ ls ..
com.github.mubitosh.qrshare_0.7.0_amd64.changes
com.github.mubitosh.qrshare_0.7.0_amd64.deb
com.github.mubitosh.qrshare_0.7.0.dsc
com.github.mubitosh.qrshare_0.7.0.tar.xz
qrshare

To install use the dpkg tool. The release number should vary depending upon the current release.

$ sudo dpkg -i ../com.github.mubitosh.qrshare_0.7.0_amd64.deb

To unistall, just the below command. This one can be executed from anywhere.

$ sudo dpkg -r com.github.mubitosh.qrshare

This project uses gb for golang project management.

Go bindings for GTK3 gotk3 https://github.com/gotk3/gotk3

A barcode creation lib for golang https://github.com/boombuler/barcode

Golang (Go) bindings for GNU's gettext https://github.com/gosexy/gettext

How it works

The components are a file server, a contractor file to have an option in the right click menu and a QR encoder. When the QR Share option is selected from the right click menu, the app starts a file server in the background. A link is generated in the form http://default-interface-ip-address:random-port-number/. The QR encoder simply encodes this link and window displays the generated QR code. This code can be scanned by any app which can recognise QR code. Afer clicking the link, the file can be downloaded. Sharing is stopped when the Stop Sharing button is clicked on the QR window.