Add a QR scanner for Android and iOS
As BASE64 URIs are pretty long, it would be very convenient to add a QR scanner in the "Add access key" dialog on mobile apps.
@bjrnio Thanks for the suggestion. I agree this would be a useful feature.
Any prospects?
Pretty please?
Just to enumerate the options here, there are a few cordova plugins for this, the most popular seeming to be https://www.npmjs.com/package/cordova-plugin-qrscanner - however, it's been over three years since any of them have been updated
I've also had some luck with https://github.com/ericblade/quagga2 (demo here), which is more actively maintained, though that would require an unofficial plugin (https://github.com/ericblade/quagga2-reader-qr) 😬
Changing our cross-platform situation would allow us to use flutter or capacitor to solve this problem instead (https://github.com/capacitor-community/barcode-scanner)
As a temporary solution can't we just add a way to import a list of servers from a textview/file. Whatever is easier to implement with Cordova?
@mseriukov The Outline app claims the ss:// URL format (and also the https://... invite URLs, on Android), so scanning one of those in the system QR code scanner should offer to open Outline. Does that cover your use case? If not, what is missing from that flow?
Does that cover your use case? If not, what is missing from that flow?
@bemasc Adding one ss:// server is trivial. One can just use copy/paste to do that. It gets trickier when you need to add a list of servers as currently you only can do it copy-pasting one by one(I assume nobody sane would type it by hand). Shadowsocks-ng for mac can export a list of servers as a QR code. So I think that it would be a nice feature to read such a QR. I understand that adding this feature has cross-platform difficulties so what I propose is to add a way of importing multiple servers at once. Any way that works.
Just to make it more concrete. On my mac machine I have around 30 ss:// servers and I want them to also be available on my mobile devices without copy-pasting them one by one for each device.