[Project] An extensible (plugin based) windows service that performs actions for NFC events



  • I'm really excited about this software. I cannot wait until there is an installer for it. Also how is the kick starter going ? is that still happening ? @johnyma22 since it seems so close already have you considered to just sell it in the NFC ring store any bypass the kick starter ? This may save time in getting it to all the punters.



  • @jasok2
    I dont think the kickstarter is going to delay it at all. You can already get the latest version now. The kickstarter is just going to add polish (RE: installers and crap) because it seems unlikely that I'll get around to that any time soon. I like the idea of using a kickstarter to add some professionalism to open source projects. So many of them could be really useful if an installer was made and a nice UI designed and used.


  • NFC Ring Team

    Yea @jasok2 KS to us has never been about sales, it's about community, validation and exposure. You can get using this right now (it works) with some hardware / environments but we need funds to make it work with other environments and to make it accessible.

    Me and @lokki are still working hard to get the campaign launched but I'm at MWC over the coming days and that is consuming my time! :)



  • Package updated.
    http://maz.net.au/#/Journal/e1455064153
    "Update 4: Attempted to support having multiple readers plugged in simultaneously. I only have one reader so I can't test if its fixed but it still works with a single reader."

    I need other people to test.

    I've also added some very basic upgrade instructions. Let me know if it works any better (or worse).
    Thanks
    Maz


  • Community Helper

    *EDIT - belay that, it works perfectly. Even with all the readers plugged in. I just can't follow simple upgrade instructions and have lost my compute priveleges for the day.


  • Community Helper

    Any idea why the service would be stopping after 5 minutes on lockscreen, dude?



  • The service is supposed to go into a suspend state as soon as it gets a "OnSessionChange" message from the OS. The whole time it's locked, the service should be essentially not doing anything, but still set as "Running".
    In the "NFCRingServiceHost.exe.config" file is an isDebug setting near the bottom of the file. Set that to "True" and then lock the pc for 5 mins. Attach the log.txt file here if the service stopped. At the moment it just logs what events it got and startup / shutdown signals so theres no private data in it (human readable if you want to check it out). That'll be able to tell me what is going on.
    Thanks
    Maz



  • @Lokki
    Also, I just left mine locked for about 3 hours while i was out and it was still running when I came back. So we'll have to troubleshoot for cause (i cant immediately replicate it).


  • Community Helper

    I saw it happen this time - I don't use a screen saver or anything but the screen blinked black. Then no login.

    16-02-17 17:49:05 Core starting
    16-02-17 17:49:05 Core started
    16-02-17 17:49:05 NFC Reading started
    16-02-17 17:49:05 Plugins loading
    16-02-17 17:49:05 Plugins loaded
    16-02-17 17:49:05 Service started
    16-02-17 17:49:10 Session state changed: SessionLock
    16-02-17 17:49:10 Core stopping
    16-02-17 17:49:10 NFC Reading stopped
    16-02-17 17:49:10 Core stopped
    16-02-17 17:49:10 Workstation Locked
    16-02-17 17:54:51 Session state changed: SessionUnlock
    16-02-17 17:54:51 Workstation unlocking or logging on
    16-02-17 17:54:53 Core starting
    16-02-17 17:54:53 Core started



  • Package updated. Now with even more logging.
    Also, I tested it on win 7 and 10 tonight so I can confirm it works on everything since win7 and its just specific configurations that have problems that I need to look at.



  • Apologies to anyone who is in the process of updating, I just remembered that I needed to handle bad data from a card reader better than just crashing the whole system. So I've just added update 6.



  • Okay. Update 7 is the last for the night. Could other users with windows 10 please test and see if the credential provider / unlock part fails if the machine is left locked for 5 minutes. I need to find out if it is specific hardware that is causing it or windows 10 in general.
    Thanks.
    Maz



  • Random question. Does anyone actually need a 32-bit version?
    I just had a quick look and I don't think there is any reason it can't be made except that I don't have a single 32-bit machine anywhere (not even among friends and family) so I'm not sure its worth any effort.
    Maz


  • Community Helper

    There'll be someone out there who is stuck running 32 bit. I have a 32 bit win10 machine here for testing.



  • I am alive. I made it to the USA and i have my nfc reader with me. Unfortunately, I don't have a PC yet but I can continue development using my laptop (and windows 7).
    If people could use the issue tracker on https://github.com/mclear/Sesame that'd give my work a bit more direction.
    Thanks
    Maz


  • NFC Ring Team

    Welcome to the US Maz! We hope you settle in well!



  • I was just tinkering and found a neat feature. Because my credential provider talks to the service, I can have it suspend the services normal functions when a credential window is active. Which means I can use my ring to log into remote servers etc. its just a matter of getting the name of the server from the context of the credential provider (im sure its there somewhere. otherwise it sends my usual username and password).
    Anyway. just thought that was cool.
    Maz


  • NFC Ring Team

    @maz_net_au haha yeah that is awesome!! Video coming soon? :p



  • I'm in Japan again for a while. Hopefully today I can go and source some tiny NFC reader from Akihabara and then continue working on it this weekend (its a long weekend in Japan). I'll definitely post a video when i've made some more progress. I'll also update the github. But now that I've got this idea, I'm going to move the credential provider part of the service as a main part, rather than as a plugin so that it makes more sense to use this so suspend plugin processing (so that swiping a ring with an RDP credential prompt up doesnt lock your local machine instead of passing the login). Otherwise i'd have to make a more complex rules engine for processing plugins

    i.e. you'd "activate" a plugin to run "only when the machine is logged in" and set the order that they ran and also make one be able to stop processing all of the others. and this might have to be registered on a "per ring" basis.
    so
    check ring
    -> get list of plugins
    -> get machine state (locked, unlocked, awaiting credential)
    -> run plugins in order
    -> check plugin result, and stop processing plugins if required

    Its all doable. I'll work on it and post an update when i've made a decision for how I want to do things.