Your rating: None Average: 4.9 (15 votes)

This app will monitor your WiFi connection. And when it is not connected to a trusted network, it will shutdown your wifi device.

The idea is that when you leave your home, your mobile phone is looking for WiFi networks. Nowadays companies uses WiFi tracking devices in order to see how much people are walking by. If this is done throughout a hole city, you can be 'followed'.

There are more solutions for this like MAC spoofing. But this app will also save some power, because it will shutdown the wifi device.

When you start the app, it is not monitoring your networks. First add a new trusted network. Pull down and select Update trusted networks. If your wifi is running, it shows a list of visibile networks. Select your network. Known networks are preselected.

Trusted networks are saved with their name and mac address. This should prevent staying online on a spoofed WiFi network.

By then hitting the WiFiKilL3r button, the app will monitor your networks. And when you leave home, it will shutdown your WiFi. When it does, it will send a notification.

The app will be running in the backgroud as of version 0.3! Yesh this means total protection all the time!

Soure at https://github.com/theyosh/WiFiKilL3r . Issues will be responded to

Application versions: 
File wifikill3r-0.1-1.armv7hl.rpm76.72 KB24/06/2016 - 00:00
File wifikill3r-0.2-1.armv7hl.rpm76.94 KB03/07/2016 - 14:39
File wifikill3r-0.3-1.armv7hl.rpm79.87 KB06/11/2016 - 00:23
File wifikill3r-0.3-2.armv7hl.rpm81.43 KB06/11/2016 - 14:03
File wifikill3r-0.3-3.armv7hl.rpm81.52 KB06/11/2016 - 15:42
File wifikill3r-0.3-4.armv7hl.rpm81.63 KB06/11/2016 - 16:49
File wifikill3r-0.4-1.armv7hl.rpm84.11 KB16/09/2017 - 18:04
File wifikill3r-0.5-2.armv7hl.rpm86.47 KB23/09/2017 - 00:00
File wifikill3r-0.5-2.i486.rpm86.63 KB23/09/2017 - 00:00
File wifikill3r-0.6-2.armv7hl.rpm86.56 KB03/11/2017 - 20:52
File wifikill3r-0.6-2.i486.rpm86.71 KB03/11/2017 - 20:52
File wifikill3r-0.7-1.armv7hl.rpm90.39 KB05/03/2019 - 22:22
File wifikill3r-0.7-1.i486.rpm90.59 KB05/03/2019 - 22:22
File wifikill3r-0.8-3.armv7hl.rpm91.86 KB10/03/2019 - 13:29
File wifikill3r-0.8-3.i486.rpm91.99 KB10/03/2019 - 13:29

- Fixed saving networks with MAC verification disabled.


Mick's picture

Working fine here on SailfishX now.

bade866's picture

Works for me now. Thank you!

dirksche's picture

Works now on Xperia X Thank you very much

zwieberl's picture

Did you look at the corresponding github issue? There is something wrong with the regex parsing the Network name. I posted a possible workaround

theyosh's picture

Hmm, totally missed that. So I have changed the code based on yours, and for me it is still working. For you now also?

zwieberl's picture

Seems to work. Have to test it with the Wifi that always disconnected, next week. If it doesn't work I will come back to you! Thanks

Mick's picture

Same happens on Jolla1. It's adding the connection to the "Valid Networks" file OK, but it then seems to ignore the list.

Mick's picture

Damn & poop!
Even with MAC Verification turned off it kills the active connection immediately when the killer switch is enabled on XperiaX. I'm going to try the app on one of my J1s, see if it's ok on that.

bade866's picture

I disabled mac verification but it stilll disconnects. When I check again my network is not preferred although it was set before. Like the prefered network does not persist.

dirksche's picture

Same on my device

arsh0r's picture

Hi, nice idea for an app. Sadly it isn't working for my setup. I have two APs on my wifi broadcasting the same ssid, but with different MACs. This way my wifi devices will alway choose the AP witch the best signal. I can add one of the APs to trusted but not both, the trusted MAC is overwritten when I approach the other AP.

olf's picture

Similar setup here, three APs with the same SSID.
IMHO checking the MAC address or BSSID of an AP should be optional.
Additionally (but not alternatively) a MAC address / BSSID list for each SSID would alleviate the situation, if there are just a few, known APs, but still fail e.g. in a hotel (there one only has the SSID as "trust anchor", thus checking MAC addresses should be made optional, IMO).

theyosh's picture

There is a new version where you can disable MAC verification. That should fix it

olf's picture

Haven't tested it yet, though.

dirksche's picture

Same here. @theyosh Did you try this app with an Xperia X? I have just one wifi, but everytime I enable the killer after adding my wifi to trusted networks your app stops wifi even if I'm connected with it.

theyosh's picture


I am running this on Xperia X right now. So that should not be the problem. Could it be that when you go the manage network page, there is no bssid value below your network name?

If that is the case, go to your phone settings, and remove your known network. Then reconnect and ad it to Jolla. This will then fix the missing bssid in my app, and should fix your isse.

I have seen this before, when you have changed the AP so there are more MAC address remembered in the phone.

bade866's picture

I have the bssid but it still disconnects.

bade866's picture

Unfortunately, i still cannot use this app on my xperia x, although I would love to. I set my WiFi network as trusted but if i enable wifikill3r, it would disconnect me in around 10 seconds saying that i have left the WiFi.

bade866's picture

Here it is what might happen here. At home, I have two connections for two parts of the house: "abis" which is in the basement, and "abis2" which is on the upper level. Both of them are set as trusted networks in WiFiKilL3R. I always connect to "abis_2" because the signal is stronger. But what is interesting is that, while connected to "abis_2", WiFiKilL3R says that wifi is enabled on "abis" (the weak signal one). Do you think this might be an issue?

theyosh's picture

Hmm, could it be that when you go to the manage network page, your network name is visible, but there is no bssid value? That means that I cannot read out the mac address of your accesspoint.


I have that when I do switching WiFi hardware. The solution is then to go to the settings of Jolla and remove the known wifi networks. Then reconnect to your wifi and my software should see the correct data and should work.


Your issue about the names is strage. So could it be that you do not see the bssid values? If so, could you try the above?

Fatti's picture

Hi, is it possible to add an option that allows the phone to share wifi but will not shut down wifi if there is no available trusted network?

theyosh's picture

Hmm, basicly it should not interrupt the Hotspot functionality. That can be added. Can take some time.

bade866's picture

Here is the behavior I get now: My network is added to the trusted network. The toggle "Kill3r disabled" never gets to show selected but it seems that the daemon is working. That is because it disables the wifi although the wifi network is in the trusted network. So what I can do is to enable the wifi but it will be turned off after a short period of time and this will repeat if I re-enable the wifi network. I guess, to get wifi access, I need to uninstall the app.

theyosh's picture

As you provided a log, I except you are able to ssh to your phone.

When logged in, run the following commands:

systemctl --user --all | grep -i wifi

systemctl --user status WiFiKilL3r.service

ls -l /home/nemo/.config/systemd/user/timers.target.wants/

ls -l /home/nemo/.config/systemd/user/user-session.target.wants/

Paste output here.

Also to stop the daemon run:

systemctl --user stop WiFiKilL3r.timer

bade866's picture

systemctl --user --all | grep -i wifi
  WiFiKilL3r.service      loaded    inactive   dead      WiFiKilL3r
  WiFiKilL3r.timer         loaded    active     waiting   WiFiKilL3r Cronjob timer


systemctl --user status WiFiKilL3r.service
● WiFiKilL3r.service - WiFiKilL3r
   Loaded: loaded (/usr/lib/systemd/user/WiFiKilL3r.service; enabled; vendor preset: enabled)
   Active: inactive (dead) since Fri 2017-11-03 17:06:49 EDT; 1min 19s ago
  Process: 3464 ExecStart=/bin/bash /usr/share/WiFiKilL3r/qml/python/WiFiKilL3r_Cron.sh (code=exited, status=0/SUCCESS)
 Main PID: 3464 (code=exited, status=0/SUCCESS)


ls -l /home/nemo/.config/systemd/user/timers.target.wants/
total 0
lrwxrwxrwx 1 nemo nemo 53 Oct 31 00:28 WiFiKilL3r.timer -> /home/nemo/.local/share/systemd/user/WiFiKilL3r.timer


ls -l /home/nemo/.config/systemd/user/user-session.target.wants/
total 0
lrwxrwxrwx 1 nemo nemo 55 Oct 31 00:28 WiFiKilL3r.service -> /home/nemo/.local/share/systemd/user/WiFiKilL3r.service
lrwxrwxrwx 1 nemo nemo 51 Nov  3 00:35 chatmailstatuschecker.service -> /usr/lib/systemd/user/chatmailstatuschecker.service
lrwxrwxrwx 1 nemo nemo 54 Oct 15 16:25 osmscout-server.socket -> /home/nemo/.config/systemd/user/osmscout-server.socket

theyosh's picture

Hmm, sounds like old files are still in use.

Not sure what is the right order to fix, but the following should do the trick. As normal user do the following:

systemctl --user stop WiFiKilL3r.timer

systemctl --user stop WiFiKilL3r.service

systemctl --user disable WiFiKilL3r.service

systemctl --user disable WiFiKilL3r.timer

As root:

rm /home/nemo/.local/share/systemd/user/WiFiKilL3r.*

And see if the files are removed from that location. Then as user nemo again:

systemctl --user daemon-reload

systemctl --user enable WiFiKilL3r.service

systemctl --user enable WiFiKilL3r.timer

systemctl --user start WiFiKilL3r.service

systemctl --user start WiFiKilL3r.timer

systemctl --user status WiFiKilL3r.timer

That should cleanup old files that should not be there anymore. And load the new systemd files at the right location.


bade866's picture

That folder was empty. I followed all the other steps. Files must be stored somewhere else because the trusted networks were not removed.  Now I can toggle change both toggles. If KilL3r is enabled, it will still disconnect me from from wifi when the timer is up. It says “ WiFi is disabled due to leaving trusted networks”. BTW, I have tried the steps twice and folder was still empty.
[root@Sailfish nemo]# rm /home/nemo/.local/share/systemd/user/WiFiKilL3r.*
rm: cannot remove `/home/nemo/.local/share/systemd/user/WiFiKilL3r.*': No such file or directory
** the folder is empty
[root@Sailfish nemo]# find / -name "WiFiKilL*"

bade866's picture

Here it is the tail of the log:

[03-11-2017 16:15:50] INFO - Start cron run
[03-11-2017 16:15:51] INFO - WifiKilL3r status: Wifi is disabled due to leaving trusted networks!
[03-11-2017 16:16:50] INFO - Reloading systemd daemon
[03-11-2017 16:16:50] INFO - Start cron run
[03-11-2017 16:17:50] INFO - Reloading systemd daemon
[03-11-2017 16:17:51] INFO - Start cron run
[03-11-2017 16:18:50] INFO - Reloading systemd daemon
[03-11-2017 16:18:51] INFO - Start cron run

theyosh's picture

Ok, turns out that Xperia X is 64 bit ARM. Did not detect that correctly. So I have it currently fully working as expected.

bade866's picture

I still cannot start the daemon on my Xperia. Nothing happens when I click the toggle button. Log has multiple rows with 'Reloading systemd daemon'.