Zazzles is an opinionated cross platform server<->client framework designed for the FOG Client.
Windows | Linux |
---|---|
To build Zazzles, any OS can be used, as long as it is capable of msbuild
or xbuild
targeted at .NET 4.5
[msbuild/xbuild] Zazzles.sln
The binaries will be in bin
The framework's functionality derives from modules. Each module has 1 specific goal, and is isolated from every other module. Each module is executed in a sandbox-like environment, preventing bad code from crashing the service. Since each module is isolated, the framework's server can choose which modules to enable or disable.
The Bus is an IPC publisher/subscriber system. The currently implementation uses a local websocket server bound to the 127.0.0.1 loopback address. The Bus provides methods for both IPC and non-IPC events. It should be assumed that this websocket can be compromised at any time, thus treat all messages that derived from an IPC source, with the possible exception of root, with caution.
Log.Debug
calls will only output if Zazzles was build in Debug
mode. This is because Log methods are built with preprocessor directives to prevent the possiblility of sensitive data being logged in Release builds.
The Debugger will provides an interface for building tools capable of allowing a strings to call individual methods / modules with parameters. The tool will offer little benifit unless Zazzles is built in Debug mode, due to the preprocessor directives in Log.Debug
User.GetInactivityTime()
will only work on Linux if xprintidle
is installed. This also means inactivity checks cannot occur on any non xsession (such as ssh).