WiFiKilL3r

Rating: 
5
Your rating: None Average: 5 (7 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

Screenshots: 
Application versions: 
AttachmentSizeDate
wifikill3r-0.1-1.armv7hl.rpm76.72 KB24/06/2016 - 00:00
wifikill3r-0.2-1.armv7hl.rpm76.94 KB03/07/2016 - 14:39
wifikill3r-0.3-1.armv7hl.rpm79.87 KB06/11/2016 - 00:23
wifikill3r-0.3-2.armv7hl.rpm81.43 KB06/11/2016 - 14:03
wifikill3r-0.3-3.armv7hl.rpm81.52 KB06/11/2016 - 15:42
wifikill3r-0.3-4.armv7hl.rpm81.63 KB06/11/2016 - 16:49
wifikill3r-0.4-1.armv7hl.rpm84.11 KB16/09/2017 - 18:04
wifikill3r-0.5-1.armv7hl.rpm86.3 KB20/09/2017 - 23:36
wifikill3r-0.5-1.i486.rpm86.38 KB20/09/2017 - 23:36
wifikill3r-0.5-2.armv7hl.rpm86.47 KB23/09/2017 - 00:00
wifikill3r-0.5-2.i486.rpm86.63 KB23/09/2017 - 00:00
wifikill3r-0.6-1.armv7hl.rpm86.44 KB02/11/2017 - 22:37
wifikill3r-0.6-1.i486.rpm86.61 KB02/11/2017 - 22:37
wifikill3r-0.6-2.armv7hl.rpm86.56 KB03/11/2017 - 20:52
wifikill3r-0.6-2.i486.rpm86.71 KB03/11/2017 - 20:52
Changelog: 

- Fix for Xperia X and other 64 ARM devices

Comments

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*"
/usr/lib/systemd/user/WiFiKilL3r.timer
/usr/lib/systemd/user/WiFiKilL3r.service
/usr/share/WiFiKilL3r
/usr/share/WiFiKilL3r/translations/WiFiKilL3r-nl.qm
/usr/share/WiFiKilL3r/translations/WiFiKilL3r-sv.qm
/usr/share/WiFiKilL3r/qml/WiFiKilL3r.qml
/usr/share/WiFiKilL3r/qml/images/WiFiKilL3r.png
/usr/share/WiFiKilL3r/qml/python/WiFiKilL3r.pyo
/usr/share/WiFiKilL3r/qml/python/WiFiKilL3r_Cron.sh
/usr/share/WiFiKilL3r/qml/python/WiFiKilL3r.pyc
/usr/share/WiFiKilL3r/qml/python/systemd/WiFiKilL3r.timer
/usr/share/WiFiKilL3r/qml/python/systemd/WiFiKilL3r.service
/usr/share/WiFiKilL3r/qml/python/WiFiKilL3r.py
/usr/share/applications/WiFiKilL3r.desktop
/usr/share/icons/hicolor/256x256/apps/WiFiKilL3r.png
/usr/share/icons/hicolor/86x86/apps/WiFiKilL3r.png
/usr/share/icons/hicolor/108x108/apps/WiFiKilL3r.png
/usr/share/icons/hicolor/128x128/apps/WiFiKilL3r.png
/usr/bin/WiFiKilL3r
/opt/alien/usr/lib/systemd/user/WiFiKilL3r.timer
/opt/alien/usr/lib/systemd/user/WiFiKilL3r.service

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'. 

abis866p's picture

This app is great but i cannot start the daemon on my Xperia X. I cannot enable the kill3r option at all.

theyosh's picture

Fixed! Systemd settings where wrong. Now it is working. I have just tested on my own Xperia X

theyosh's picture

Hmmm, another device with issues. Sounds like I have to order an  Xperia X to test it. I should not know how to fix this.

I has to do with the rights of the normal user and systemd settings

breiti_oi's picture

Hi, i'm not able to start the wifikill3r daemon. The .log file shows the app want's to write the .service file into
/home/nemo/.local/share/systemd/user
while all other service files are located in
/home/nemo/.local/share/systemd/user/user-session.target.wants

Anyone else having this issue?
And is there an easy way to fix? Nonetheless it's a cool piece of software, thanks for your efforts and belief in SFOS! :)

theyosh's picture

That is correct. The idea is that the files are stored somewhere inside systemd folder. So they are known. When you open the app, and enable the killer option, there should be a symlink create at location: /home/nemo/.local/share/systemd/user/user-session.target.wants This will enable the 'cron' feature.

Else post the loglines here and I will have a look

breiti_oi's picture

Well that's the problem, I can't start the daemon.
Here is a short piece of the wifikill3r.log:[17-09-2017 12:35:24] INFO - Installing WiFiKilL3r service to location: /home/nemo/.local/share/systemd/user/WiFiKilL3r.service
[17-09-2017 12:35:24] INFO - Installing WiFiKilL3r service to location: /home/nemo/.local/share/systemd/user/WiFiKilL3r.service

....and so on.
About every minute it tries to install the file (or symlink), but can't do it.
Perhaps due to missing permissions for nemo for the /systemd/ folder?
EDIT: it also doesn't work if symlink the files manually from /usr/share/... to ~/.local/share/.../user-session...

theyosh's picture

And with version 0.6-1 it should be fixed. You where right about the systemd files and locations. It is now all working

breiti_oi's picture

Yes it's working, thanks a lot! :)

theyosh's picture

yeah!!! party time :)

theyosh's picture

So it is a rights issue. I have changed the package install script to copy those systemd files during post install. So the files are now on the right place. And all should work now. Try version 0.5-2

theyosh's picture

What kind of device do you have. Sounds strange.

breiti_oi's picture

I'm on Jolla C.

theyosh's picture

That could be a problem. As far I know there are software difference between Jolla C and Jolla 1. And I have a Jolla 1. But I do not know what the deferences are. I will have to look into it. I do not know how long that would take.

To help me a bit, could you mail the logfile to: openrepos.net@theyosh.nl ?

hemiwi's picture

Hi theyosh,

thanks for that awesome app which is saving 20% of battery power daily. It enhanced my daily phone life extremly. One question - would it be possible for you to port the app to Jolla Tablet (i486)? I would like to install it there too.

Thank you very much & Kind regards
hemiwi

theyosh's picture

Just created an i486 version. I am unable to test it, so I hope it works. The Emulator does not support WiFi to test.

olf's picture

Installing v0.4-1 via Warehouse under SailfishOS 2.1.1.26 fails!
Status: repo-not-available
Extra details: File '.mw/armv7hl/dbus-python3-1.2.0-1.1.13.armv7hl.rpm' not found on medium 'https://releases.jolla.com/releases/2.1.1.26/jolla/armv7hl/'

This software looks promising, if I could only install and try it. Looks like a simple packaging flaw to me (the inclusion of something in a '.mw' directory), on first sight.

*Edit:* A 'pkcon refresh' is all it takes to resolve this.

theyosh's picture

Old issue: https://github.com/theyosh/WiFiKilL3r/issues/2#issuecomment-258679073 and https://openrepos.net/comment/16221#comment-16221

So you should try mannually update your repositories. I did not change depenedencies.

olf's picture

Thanks: Yes, after a 'pkcon refresh', WiFiKilL3r installed flawlessly.

Bobsikus's picture

hello, I have one question, since this app basically do this already, could you implement (or create separate app, up to you), there still does not exist app/service which should disable wifi after no usage for some time, something like in N900 "autodisconnect" app :) thank you at least for the answer :)

theyosh's picture

You want to disconnect after X minutes when you are connected to a trusted network? That does not make sence to me. If the network is trusted, why want you to disconnect?

Else, if the network is not trusted where you are connected with, or when there are now kown networks available, it will shutdown and disconnect.

So, those are the two cases I see. I can't see an autodisconnect feather. For GPRS I can image it because off costs. Else not

Bramba's picture

Dear theyosh,

thanks a lot for this nice idea to improve users privacy! :-)

One question from my side: Do you think you could build a simple toggle for switching on/off the daemon in Sailfish's quick-menue? I would dream about some toggle-button similar like airplane-mode, WiFi, mobile data, etc.

Maybe you could run the app completely in the background with such a button?

Thank you very much for your efforts! :-)

With best regards!
Bramba

theyosh's picture

There is already... I have next to my airplane switch a wifi switch. So this is already possible with out an app.

Pages