4

I'm looking for a program that looks like a chat app, i.e. shows green when the user is on the LAN or red when their device is not on the network. I don't want it to be a chat program, just an indicator so that people can see who is in the office and who is not. It also has to be able to run on multiple networks connected via VPN.

Is there anything around that does this? That is, when people in the office who are permanent have a little app in their windows taskbar, when one of the other staff who come and go, say their phone connects to our WiFi or their laptops connect to the LAN a little notification pops up in the permanent office staffs notification to alert them to who is available in the office.

What I assume would happen is something along these lines: You have a server DB with the names of all the people in the company and a list of their device mac addresses so when their phone, PC, tablet etc connect to the network the server sees the MAC address (IPs are DHCP so wouldn't work) but the server polls every 2 minutes or something using ARP etc and when the MAC address is connected it sets the user to "in the office" and then broadcasts that to users clients who have a list of users on a little app like ICQ or Skype etc and it changes them from red (out of office) to green (in office).

  • 1
    What kind of triggers should be counted to tell whether a member is "in the office"? "Anything goes", or do you have specific things in mind that would be good or would be no-gos? What OSes are involved might be relevant as well for the "triggering client". – Izzy Oct 20 '16 at 14:52
  • what i assume would happen is something along these lines. You have a server DB with the names of all the people in the company and a list of their device mac addresses so when their phone, PC, tablet etc connect t the network the server sees the mac address (IPs are DHCP so wouldnt work) but the server polls every 2 minutes or something using arp etc and when the mac address is connected it sets the user to "in the office" and then broadcasts that to users clients who have a list of users on a little app like ICQ or skype etc and it changes them from red (out of office) to green (in office) – user8675 Oct 20 '16 at 23:19
  • Thanks for the feedback! Integrated that with your original post (comments will be cleaned up soon). I don't know about such a software, but want to add another potential trigger you might consider valid (and if so, edit your question accordingly): Bluetooth devices also have a MAC, and there's even software making use of that to e.g. unlock the computer screen when the MAC is in range. – Izzy Oct 21 '16 at 9:58
1

I programmed a tool for you.

It's called PC Presence and does exactly what you want. Unfortunately, I didn't have enough time to implement notifications yet, but on/off view already works.

From the README:


What it does

This is a small tool that allows you to make an easy network where any PC can see whether the others are online / offline.

Instructions

  • Download the installer onto each of your PCs (depending on your system architecture, it is the PC-Presence_Setup_x[something].exe file in this repository).
  • Install PC Presence.
  • When you open the app, it wants you to enter a "server URL".
  • From here you can follow below steps.

Make your on free server on Pythonanywhere

This option is more secure and better, but also a little bit more complicated.

  • Download or clone this repository.
  • Visit the Pythonanywhere site and register a free account.
  • Log in.
  • Just ignore all the stuff shown to you and go to the "Web" tab.
  • Click on "Add new web app".
  • Choose "Flask" and "Python 3.4". Leave everything else as it is.
  • Go on the "Files" tab.
  • Navigate to the directory "mysite".
  • Find the button "New file" and click on it.
  • Upload the file (from this repository) "flask_server/mysite/flask_app.py".
  • Yes, you want to overwrite the existing file.
  • Upload the file (from this repository) "flask_server/mysite/registration.html".
  • Go back to the "Web" tab.
  • Click on "Reload [your username].pythonanywhere.com".
  • Visit https:// [your username].pythonanywhere.com/register.
  • Enter a team name and a team password (team name can only contain letters, for security purposes).
  • :tada: Your team is registered! In the app, enter your server URL (which is [your username].pythonanywhere.com, without any http or https stuff and without slashes), your team name and your user name which is specific to you.
  • You get a list of all people in your team. Green means online, red means offline.

Optional: Disable other team registrations on your server

If you want to disable other team registrations on your server (so no other people can register their team on your server), go to the "Files" tab again and open mysite/flask_app.py.

Now you'll find a line in the editor that says registrationEnabled = True. Change it to registrationEnabled = False.

On the upper right corner, click on "Save" and on the reload button (with the two arrows).

Security

Sorry, there is not much. You can't double-register teams. PC Presence will allow double logins from the same user and will not verify anything.

Refresh rate

PC Presenter refreshes online/offline every minute. When the program is closed, your status changes to offline after 2 minutes.

Autostart

Whenever you turn your PC back on, you'll have to start PC Presence to make you visible in the team. You can also put PC Presence into the Autostart folder.

Plans for the future

  • Notifications
  • Auto-Updating
  • Autostart

PC Presence icon


PC Presence is MIT-licensed, so you can use it for commercial purposes as well.

If you have issues, contact me and I'll help you.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.