GithubHelp home page GithubHelp logo

bootblock / network-trigger Goto Github PK

View Code? Open in Web Editor NEW
0.0 0.0 0.0 3 KB

Allows control of a Windows system by monitoring network Wake on Lan wake-up and ping messages

Home Page: https://biqubic.com/network-trigger

launcher network

network-trigger's People

Contributors

bootblock avatar

Watchers

 avatar

network-trigger's Issues

Add Ping Event

Add a Ping event that opens a port and listens for a ping.

Add a Wake Action

Add a BaseAction that sends a wake event to a specific or set of Mac IDs. This will allow the waking of devices when another device has been woken.

I don't personally have a use for this but others might.

Add a Welcome screen on startup

The purpose of the Welcome screen is to notify the user that the application requires network access and specifically why: to detect wake broadcast messages and to perform update checking. Allow the user to disable update checking via the Welcome screen (and the Settings window, as usual).

Streamline the Listen feature

Listening for wake on Lan messages currently requires clicking on the Listen button; this is a holdover from the initial testing implementation, so update it to the final user experience version.

Increment EventCount on a per-Mac ID basis

Currently, when a wake event is detected the global EventCount int is incremented regardless of the destination Mac ID.

Add support for a per-Mac ID increment counter.

Infinite loop detection

Having a WakeEvent that responds to a MAC ID that then performs a WakeAction sending the same MAC ID out can result in an infinite loop. There's an option within Settings - Events to prevent responding to WakeAction wake events, but add support for detecting whether an infinite loop may occur.

Add notification settings to BaseEvent

Add options to the BaseEvent so it can optionally play back some kind of notification (sound, visual later on, etc) to denote that it has been triggered.

Redesign Devices window

The Devices which should be redesigned so now it contains a list of devices and their corresponding MAC IDs - a sort of address book.

The matched, etc, features are no longer required.

Redesign functionality so each action can contain multiple steps

Completely redesign the application so each Action can contain multiple steps, rather than only allowing one network event to match to one Action.

While performing this re-architecture, rename the existing Action to Event and have an Action as part of an Actions collection under the Event.

Rename the application

An application that reacts to wake events on the network probably shouldn't be called Ping Control, should it?

Make all changes within Settings immediate

Modifying any options within the Settings window should immediately take affect; the Save button at the bottom of the window should also be removed so there's just a Close button.

Rework Settings - Interface - Sound Effects area

Now that Events have their own notification settings, Action Performed can be removed. Take a pass over the other sound settings to determine whether they can be reworked or removed entirely.

Centralise Ping/Wake Events

As Ping and Wake events are broadcast messages, it's worth having the application itself listen for those events as one socket (each) can cover all PingEvent / WakeEvent use cases.

Visual issue with cboEvent_EventSettings_PlayTriggerSound

There's an issue with cboEvent_EventSettings_PlayTriggerSound.

  • Select an Event and make sure it has a trigger sound specified
  • Select another Event that has no sound set
    • You need to cursor over the above ComboBoxEx control for it to correctly draw the no item selected label

Add Shutdown Immediately to Power Shutdown tool

By default, the Shutdown.exe notifies the user that the system will be shutting down in a minute. Add an option to disable this notice for an immediate shutdown; isn't required for the Windows API version.

Rewrite the core detection implementation

Rather than responding to just Mac IDs, instead, create a BaseEvent that can be inherited from so multiple types of events (wake, ping, etc) can be responded to.

Match against Mac ID

MAC IDs don't actually need to point to valid devices; because of this, Ping Control can match against the ID rather than EventCount to perform an action. This will allow an arbitrary number of events rather than just a count like 1, 2, 3, etc.

Add a HttpEvent Event

Add an Event that'll listen for HTTP requests, specifically with specific query strings and the like.

Add option to discard own Wake events

Network Trigger detects self-sent wake packets; this can result in an infinite loop if WakeEvent has a WakeAction.

Because of this, add an option to discard wake events that are the result of sending a wake via WakeAction.

Add Options property to BaseAction

The current use for this would be to allow the specification of something like AllowUserRun so the user can test-invoke the BaseAction via a context menu within the Actions list.

Add optional sounds

Add an optional sound to play when a device has been matched, and another sound to play when a device hasn't been matched (and thus, ignored).

Allow MAC IDs to have a match-all wildcard

WakeEvent should be able to identify a * symbol to match all.

Allowing general wildcard matching may be implemented in the future as it doesn't entirely make sense as MAC IDs with similar values tend to be hardware of the same batch and even then they're quite different.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.