Author: Raphael M. Raberger Language: C#
Description: COSIG is an innovative framework for creating and managing computational graphs. Unlike traditional computational graphs that focus on mathematical operators, COSIG's nodes represent discrete tasks that need to be executed. This makes COSIG more akin to a workflow designer than a mathematical tool.
The framework is especially useful for tasks related to OSINT (Open Source Intelligence), offering pre-built nodes designed for various OSINT operations. However, its flexible architecture allows it to be adapted for a wide range of other applications.
Key Features:
- Task-Based Nodes: Each node represents a specific task rather than a mathematical operation.
- Flexible Workflow Design: Easily create, manage, and visualize complex workflows, yet only programatically.
- OSINT Specialization: Includes a variety of nodes specifically for OSINT tasks.
- Expandable Architecture: Users can add custom nodes to tailor the framework to their needs.
- Open Source: COSIG is free to use and modify, encouraging community contributions and improvements.
- .NET 8.0 SDK
- Visual Studio or any preferred C# IDE
-
Clone the repository:
git clone https://github.com/username/COSIG.git cd COSIG
-
Open the project in Visual Studio or your preferred C# IDE.
-
Restore dependencies and build the project:
dotnet restore dotnet build
Basic example of how to use COSIG will be provided here.
- Task-Based Nodes: Each node in the computational graph is a task that needs to be executed, such as data collection, data processing, or reporting.
- Workflow Designer: Easy interface to add nodes to the graph to also realize complex tasks.
- OSINT Focus: Nodes include functionalities like web scraping, social media monitoring, and data aggregation, tailored for open source intelligence.
- Expandable by Users: Users can write their own nodes in C#, making it easy to expand and customize the framework for specific needs.
- Future Enhancements: Ongoing development aims to introduce a graphical user interface, improved visualization, and more customization options.
- User-Written Nodes: Implement functionality to allow users to create and integrate their own custom nodes.
- GUI Development: Design and develop a graphical user interface for easier interaction and workflow management.
- Visualization Improvements: Enhance the visualization capabilities for better representation of workflows and task statuses.
- Merge Nodes: Develop nodes capable of handling and merging multiple input files to streamline data processing.
- More Customization: Add options for users to customize the behavior and appearance of nodes and workflows.
We welcome and encourage contributions from the community! Here’s how you can contribute:
- Submit Pull Requests: Help us improve by submitting your code changes.
- Report Issues: Found a bug or have a feature request? Please report it on the GitHub issues page.
- Write Documentation: Help improve our documentation for better user experience.
For more information, questions, or suggestions, please contact Raphael M. Raberger at Github or X (details in Github Profile)