Skip to content

An opinionated cross platform c# service framework

License

Notifications You must be signed in to change notification settings

Sebastian-Roth/zazzles

 
 

Repository files navigation

Zazzles

Concept

Zazzles is an opinionated cross platform server<->client framework designed for the FOG Client.

Development

Stories in progress

Windows Linux
Windows Linux

Building

Environment

To build Zazzles, any OS can be used, as long as it is capable of msbuild or xbuild targeted at .NET 4.5

Build Command

[msbuild/xbuild] Zazzles.sln

The binaries will be in bin

Modules

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.

Noteworthy API

Bus

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

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.

Debugger

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

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

About

An opinionated cross platform c# service framework

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.7%
  • Other 0.3%