Share Wi-Fi passwords with QR codes or NFC tags

Overview

WiFiKeyShare

Build Status

WiFiKeyShare lets you easily share your Wi-Fi password by generating a QR code or by writing it to an NFC tag.

The format of the string encoded in the QR code is commonly used and should be recognized by most barcode scanner applications.

The NFC tag is formatted in the same way as Android does since it introduced its "Write to NFC tag" option in Lollipop. That means people running Android 5.0+ won't have to download any specific app to connect to the network after scanning the tag.

Note

Android does not let apps read the saved Wi-Fi passwords, so the user will need the enter them manually for each network. However, the passwords will automatically be retrieved if WiFiKeyShare is given root access.

Comments
  • Wi-Fi keys are wrong

    Wi-Fi keys are wrong

    Dear, I like this app and I think that it can be very useful! But in my device this app doesn't work... Wi-Fi keys are wrong... About my device:

    • Galaxy S4, model GT-I9508
    • Android version 4.4.2

    For example, a correct key is "bernard00", but the app show "b2463c2485153db0562decbf72864f44"

    Only me have this problem?

    Thanks for your support.

    bug wontfix 
    opened by jbs68 8
  • Copyright violation

    Copyright violation

    Hi @bparmentier

    I found this app on Google Play Store. This guys just took the source code, added some ads and put it on the Google Play Store...

    As you are the owner of the source code, feel free to open a request to google here to remove the false app from the Store, if it's your wish ;)

    Don't forget to tell Google that:

    • The app is licensed under GNU GPL v3 and this guy is violating it by distributing the app without distributing the source code;
    • He is falsely claiming he made the app;
    • Also tell them that this guy has done the same thing already with other apps. Probably this is worth mentioning. (I watch him)
    opened by Poussinou 3
  • Add possibility to show passwords

    Add possibility to show passwords

    While this app is great for sharing connections with other smartphones, it doesn't help at all when you want to copy some connection to your laptop or TV. An option to show and maybe share (via usual Android sharing mechanisms) the password would make the app perfect.

    opened by jplitza 2
  • Android 10

    Android 10

    App needs to request "location permission" to work on Android 10:

    12-13 16:06:05.898  1330  1404 I ActivityManager: Start proc 26757:be.brunoparmentier.wifikeyshare/u0a326 for activity {be.brunoparmentier.wifikeyshare/be.brunoparmentier.wifikeyshare.ui.activities.WifiListActivity}
    12-13 16:06:05.905 26757 26757 E er.wifikeyshar: Not starting debugger since process cannot load the jdwp agent.
    12-13 16:06:05.976  1330  4089 E WifiService: Permission violation - getConfiguredNetworks not allowed for uid=10326, packageName=be.brunoparmentier.wifikeyshare, reason=java.lang.SecurityException: UID 10326 has no location permission
    

    See: https://developer.android.com/guide/topics/connectivity/wifi-scan

    opened by nowster 1
  • Make a new release

    Make a new release

    I guess the development for this app is back on. It would be nice to get the latest changes from fdroid. Can you create a new release, since the last is from 2016?

    opened by jsparber 1
  • Travis build fails with

    Travis build fails with "Could not find aapt2-proto.jar"

    FAILURE: Build failed with an exception.
    * What went wrong:
    A problem occurred configuring root project 'WiFiKeyShare'.
    > Could not resolve all artifacts for configuration ':classpath'.
       > Could not find aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1).
         Searched in the following locations:
             https://jcenter.bintray.com/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar
    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.
    * Get more help at https://help.gradle.org
    BUILD FAILED in 22s
    The command "./gradlew build" exited with 1.
    
    opened by bparmentier 1
  • Inclusion to F-Droid?

    Inclusion to F-Droid?

    F-Droid is a catalogue of free and open source software and is mainly aimed at people who value their privacy and don't want to rely on proprietary services and apps like google, amazon, etc. Status is an awesome app and would definitely fit in the repository. Inclusion policy requires consent of the developer. If you support the idea, I'll fill the inclusion form.

    Contributing guide: https://gitlab.com/fdroid/fdroiddata/blob/master/CONTRIBUTING.md

    More information about updates is here: https://f-droid.org/en/docs/Build_Metadata_Reference/#Update-Check-Mode https://f-droid.org/en/docs/FAQ_-_App_Developers/#do-i-need-to-tell-you-when-i-update

    opened by Perflyst 1
  • Password of  the current WiFi network

    Password of the current WiFi network

    I think it might be possible to retrieve WiFi password in terms of Bar-code of the currently connected WiFi network.This functionality will give non root users some joy.

    opened by surbhitrao 1
  • Wi-Fi networks with special characters in SSID/key produce an invalid QR code

    Wi-Fi networks with special characters in SSID/key produce an invalid QR code

    As described in https://github.com/zxing/zxing/wiki/Barcode-Contents#wi-fi-network-config-android-ios-11, a Wi-Fi network with the literal SSID "foo;bar\baz" is recognized as "foo in the QR code.

    The final string should be something like WIFI:T:nopass;S:\"foo\;bar\\baz\";; but instead gives WIFI:T:nopass;S:"foo;bar\baz";;.

    The code to improve is in app/src/main/java/be/brunoparmentier/wifikeyshare/utils/QrCodeUtils.java.

    bug 
    opened by bparmentier 0
  • Change repos order in Gradle file

    Change repos order in Gradle file

    Fixes the following build error:

    Could not find aapt2-proto.jar (com.android.tools.build:aapt2-proto:0.3.1). Searched in the following locations: https://jcenter.bintray.com/com/android/tools/build/aapt2-proto/0.3.1/aapt2-proto-0.3.1.jar

    Fixes #36

    opened by bparmentier 0
  • NullPointerException in WifiNetwork.getSsidFromWifiConfiguration

    NullPointerException in WifiNetwork.getSsidFromWifiConfiguration

    Seems like WifiNetwork.SSID can sometimes be null (WiFiKeyShare 1.1 on Samsung Galaxy S6):

    E/AndroidRuntime( 8372): FATAL EXCEPTION: AsyncTask #1
    E/AndroidRuntime( 8372): Process: be.brunoparmentier.wifikeyshare, PID: 8372
    E/AndroidRuntime( 8372): java.lang.RuntimeException: An error occured while executing doInBackground()
    E/AndroidRuntime( 8372):    at android.os.AsyncTask$3.done(AsyncTask.java:304)
    E/AndroidRuntime( 8372):    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
    E/AndroidRuntime( 8372):    at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
    E/AndroidRuntime( 8372):    at java.util.concurrent.FutureTask.run(FutureTask.java:242)
    E/AndroidRuntime( 8372):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
    E/AndroidRuntime( 8372):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    E/AndroidRuntime( 8372):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    E/AndroidRuntime( 8372):    at java.lang.Thread.run(Thread.java:818)
    E/AndroidRuntime( 8372): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.startsWith(java.lang.String)' on a null object reference
    E/AndroidRuntime( 8372):    at be.brunoparmentier.wifikeyshare.model.WifiNetwork.getSsidFromWifiConfiguration(WifiNetwork.java:76)
    E/AndroidRuntime( 8372):    at be.brunoparmentier.wifikeyshare.model.WifiNetwork.fromWifiConfiguration(WifiNetwork.java:66)
    E/AndroidRuntime( 8372):    at be.brunoparmentier.wifikeyshare.ui.activities.WifiListActivity$WifiListTask.doInBackground(WifiListActivity.java:313)
    E/AndroidRuntime( 8372):    at be.brunoparmentier.wifikeyshare.ui.activities.WifiListActivity$WifiListTask.doInBackground(WifiListActivity.java:297)
    E/AndroidRuntime( 8372):    at android.os.AsyncTask$2.call(AsyncTask.java:292)
    E/AndroidRuntime( 8372):    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    E/AndroidRuntime( 8372):    ... 4 more
    

    Trying to get more info from user.

    bug 
    opened by bparmentier 0
  • slow startup since 1.2.0, after 1.1.1 (F-Droid builds)

    slow startup since 1.2.0, after 1.1.1 (F-Droid builds)

    After updating from 1.1.1 (F-Droid build) to 1.2.0 (F-Droid build) the startup of WiFiKeyShare became very slow. With 1.2.0 there's nothing in the wifi list for about 13 seconds. With 1.1.1 the list loaded under 1 second. F-Droid builds: https://f-droid.org/en/packages/be.brunoparmentier.wifikeyshare/

    I have ~100 wifis saved. Downgrading to 1.1.1 solves the problem immediately and the "My Wifi Passwords" app also works fine (but provides no QR codes, because of which I prefer WiFiKeyShare). My Wifi Password @ F-Droid: https://f-droid.org/de/packages/info.aario.mywifipasswords/

    Here's some logcat output, generating while the app started. WiFiKeyShare-1.2.0-fdroid_slow_startup.txt

    opened by kolAflash 1
  • Please just list all the passwords.

    Please just list all the passwords.

    There's nothing very special, holy or sacred about my WiFi passwords that they cannot all be displayed simply in one list, side by side, to locate errors or inconsistencies or convenient eyeball sharing with a friend. Clicking each SSID, then menu, then View Password is a tedious and unnecessary layer of security.

    We have Pin Code protection for legitimate security. We can disable root access for legitimate security. We can lock our device for legitimate security. The three-extra-clicks-per-password feels like a UI design flaw or system incompatibility.

    Wasn't sure if the app even worked until I discovered the hidden menu. Nearly uninstalled the app in disappointment thinking it didn't work on Android 8.1, the same way WiFiKeyView doesn't work on Android 8.1. (WiFi password viewers have a long history of not working or being fake playstore apps. Instant affirmation that the app works when first launched is a design must.)

    Thanks!

    opened by a-raccoon 0
  • NullPointerException when calling WifiListActivity.onCreateContextMenu

    NullPointerException when calling WifiListActivity.onCreateContextMenu

    Application version: 1.1.1 Android version: 7.1

    java.lang.NullPointerException: 
      at be.brunoparmentier.wifikeyshare.ui.activities.WifiListActivity.onCreateContextMenu (WifiListActivity.java:219)
      at android.view.View.createContextMenu (View.java:10798)
      at com.android.internal.view.menu.ContextMenuBuilder.showPopup (ContextMenuBuilder.java:100)
      at com.android.internal.policy.DecorView.showContextMenuForChildInternal (DecorView.java:794)
      at com.android.internal.policy.DecorView.showContextMenuForChild (DecorView.java:771)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.ViewGroup.showContextMenuForChild (ViewGroup.java:791)
      at android.view.View.showContextMenu (View.java:5809)
      at android.view.View.performLongClickInternal (View.java:5728)
      at android.view.View.performLongClick (View.java:5682)
      at android.view.View.performLongClick (View.java:5700)
      at android.view.View$CheckForLongPress.run (View.java:22434)
      at android.os.Handler.handleCallback (Handler.java:754)
      at android.os.Handler.dispatchMessage (Handler.java:95)
      at android.os.Looper.loop (Looper.java:163)
      at android.app.ActivityThread.main (ActivityThread.java:6383)
      at java.lang.reflect.Method.invoke (Native Method)
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:904)
      at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:794)
    
    bug 
    opened by bparmentier 0
  • Doesn't work in Nougat (LineageOS)

    Doesn't work in Nougat (LineageOS)

    I'm running the latest nightly on a Shamu.

    Using the LineageOS Privacy Guard root binaries.

    Permission is never asked, list is blank. I hate to use a closed-source app in Play.

    opened by orachas 3
Releases(v1.2.0)
Owner
Bruno Parmentier
Bruno Parmentier
Secret Codes is an Open Source application that allows you to browse through hidden codes of your Android phone.

####Secret Codes is an Open Source application that allows you to browse through hidden codes of your Android phone. This application will scan throug

Simon Marquis 251 Jan 6, 2023
Clippy - Android app that adds a "Copy to clipboard" share target to android share sheet (Especially for MIUI)

Clippy Android app that adds a "Copy to clipboard" share target to android share sheet MIUI 11 and 12 lack a "Copy to clipboard" option in the system

kriticalflare 2 Jan 3, 2022
Android app with a simple NFC payment system to manage visitor consumption at short-duration events and festivals. (Research project)

Clevent Também disponível em Português Clevent is an Android application developed for a Undergraduate Research that uses NFC technology to create a p

Newton Scavazzini 9 Oct 19, 2022
Java/Kotlin lightweight implementation of RFC-6238 and RFC-4226 to generate and validate time-based one-time passwords (TOTP).

1time Java/Kotlin lightweight implementation of RFC-6238 and RFC-4226 to generate and validate time-based one-time passwords (TOTP). Maven / gradle de

Atlassian Labs 31 Dec 21, 2022
An app which displays questions from Stack Exchange from it's api. Can search questions with tags as well. Uses MVVM architecture, dependency injection, coroutines, retrofit2 for network calls

Stack Exchange app What the app does? Shows a list of trending questions from stack exchange api Can search for the desires question. Can add tags to

null 0 Apr 27, 2022
Oratio Library for Android Studio helps you simplify your Android TTS codes

Oratio Oratio is a library for Android Studio. This library is useful to a number of developers who are currently making apps using android TTS(Text-T

Jacob Lim 1 Oct 28, 2021
An application to create custom QR codes to specify waste types and waste disposal procedures for products.

wasteqr An application to create custom QR codes to specify waste types and waste disposal procedures for products. What is WasteQR? WasteQR is an app

Mihir Arya 1 May 24, 2022
This repo provides a sample application that demonstrates how you can speed up the authentication experience for frontline workers on shared devices using QR codes.

Project This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experienc

Microsoft 5 Dec 7, 2022
Android application to slice and share your pictures

Piclice A practical tool which helps users to slice and share their pictures. Features Displaying all pictures of system Gallery Slicing and resizing

Navid 182 Nov 22, 2022
An app for random Reddit memes with the option to share it as well!

Meme Share App What - An app for random Reddit memes with the option to share it as well! Why - Wanted to learn about integrating APIs with Android ap

Infosecc Gurung 0 Jul 14, 2022
Share your minecraft-adventure with your friends in nation-party.

Nation Party Make your adventure as shared with your friends and family in Nation Party. Features * Create your own party with your own name; * Invite

Luiz Otávio 1 Jan 9, 2022
Android News App built in kotlin with implementation of MVVM architecture, android navigation components and retrofit. Displays news to users allowing them to share and save news.

News-App Android news app built in kotlin that fetches news data from news api with Retrofit and displays news to users. This App follow MVVM architec

Raj Manjrekar 16 Dec 29, 2022
Connect UPG is an app that enables students to interact and share their thoughts, emotions, feeling as things

Connect UPG is an app that enables students to interact and share their thoughts, emotions, feeling as things

Krish Parekh 7 Jan 18, 2022
App for viewing passwords for the Nextcloud Passwords app.

Nextcloud Passwords WARNING: This app is still in progress, and thus some features like password editing or creation are not done yet. This app connec

Hèctor Godoy 6 Dec 2, 2022
An Android App meant to use NFC technology to communicate with and emulate RFID tags

An Android App meant to use NFC technology to communicate with and emulate RFID tags. Built by Niklaas Cotta & Jordan Whiteley, for CIS 433 WI22.

Niklaas Cotta 0 Jan 29, 2022
Secret Codes is an Open Source application that allows you to browse through hidden codes of your Android phone.

####Secret Codes is an Open Source application that allows you to browse through hidden codes of your Android phone. This application will scan throug

Simon Marquis 251 Jan 6, 2023
A library which will save you a lot of time from writing the same intent creation code. it consist of many intent creation codes like Share, Contacts, Email and etc, which you can easily use.

Android-Intent-Library A library which will save you a lot of time from writing the same intent creation code. it consist of many intent creation code

Next 67 Aug 24, 2022
Clippy - Android app that adds a "Copy to clipboard" share target to android share sheet (Especially for MIUI)

Clippy Android app that adds a "Copy to clipboard" share target to android share sheet MIUI 11 and 12 lack a "Copy to clipboard" option in the system

kriticalflare 2 Jan 3, 2022
Android Navigation Fragment Share Element Example: Use Share Element Transition with recyclerView Item and ViewPager2 Item.

Android-Navigation-Fragment-Share-Element-Example 说明 Android 使用Navigation导航切换Fragment中使用共享元素过渡动画的例子:将在listFragment的RecyclerView的Item共享元素过渡到pagerFragme

null 3 Sep 28, 2022
SSI/NFC desktop/terminal API

Gimly SSI Card Terminal Gimly SSI Card Terminal is a REST API for Self Sovereign Identity interactions between apps, servers, terminals having an NFC

Gimly 0 Nov 8, 2021