') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); GitHub - Sphere10/Sphere10.Framework · GitHub
Skip to content

Repository files navigation

Sphere10 Framework logo

🚀 Sphere10 Framework: Comprehensive .NET Application Framework

Copyright © Herman Schoenfeld, Sphere 10 Software 2018 - Present

A mature, production-ready .NET framework providing a complete foundation for building full-stack applications across desktop, mobile, and web platforms. Originally designed for blockchain systems, Sphere10 Framework has evolved into a comprehensive general-purpose framework offering robust abstractions, advanced data structures, cryptographic primitives, and utilities for high-performance .NET development.

✨ What Sphere10 Framework Provides

Core Foundation

  • Unified Architecture: Consistent patterns for application lifecycle, dependency injection, configuration, and component lifecycle across all platforms
  • Enterprise Data Access: Abstracted data layer with support for multiple database engines (SQL Server, SQLite, Firebird, NHibernate) and advanced query building
  • Advanced Cryptography: Comprehensive cryptographic implementations including post-quantum algorithms, digital signatures, and multiple hashing algorithms
  • Multi-Protocol Networking: TCP, UDP, WebSockets, and RPC frameworks for building distributed systems
  • Rich Serialization: Flexible binary serialization, JSON support, and streaming implementations

Application Development

  • Desktop UI Framework: Full-featured Windows Forms component library with data binding, validation, and plugin support
  • Web UI: Blazor-based component library with wizards, modals, grids, and responsive layouts for modern web applications
  • Cross-Platform: Run applications on Windows, macOS, iOS, Android, or .NET Core/5+
  • Plugin Architecture: Dynamic plugin loading and lifecycle management for extensible applications

Specialized Features

  • Memory Efficiency: Advanced collections, paged data structures, and streaming for handling large datasets
  • Graphics & Drawing: Cross-platform drawing utilities and image manipulation
  • Performance: Caching, connection pooling, and optimized algorithms
  • Testing: Comprehensive testing framework and utilities for unit and integration testing

🔍 Tools.* Namespace — Global Utility Discovery

The Tools namespace is a defining architectural feature providing a global, IntelliSense-discoverable collection of static utility methods across the entire framework. Simply type Tools. to explore all available operations:

Core Utilities

  • Tools.Crypto — Hashing, signatures, key derivation
  • Tools.Text — String manipulation, validation, generation
  • Tools.Collection — Collection operations, filtering, transformation
  • Tools.FileSystem — File I/O, directory management, temp files
  • Tools.Reflection — Type inspection, member discovery, attributes
  • Tools.Json / Tools.Xml — Data serialization
  • Tools.Memory — Buffer operations, memory allocation
  • Tools.Maths — Mathematical utilities and RNG
  • And 30+ more...

Platform-Specific Tools

  • Tools.WinTool (Windows) — Registry, services, event logging, privileges
  • Tools.Web.Html / Tools.Web.AspNetCore (Web) — HTML utilities, ASP.NET Core integration
  • Tools.iOSTool (iOS) — iOS-specific operations
  • Tools.Data / Tools.Sqlite / Tools.MSSQL (Database) — Database provider utilities

Design Pattern

usingTools;// Discovery-first pattern — IntelliSense shows all available toolsbyte[]hash=Tools.Crypto.SHA256(data);stringsanitized=Tools.Text.RemoveWhitespace(input);varconnection=Tools.Sqlite.Create(connectionString);boolrunning=Tools.WinTool.IsServiceRunning("MyService");

For the complete Tools reference, see docs/Tools-Reference.md.

📂 Project Structure

The Sphere10 Framework consists of 45+ projects organized by category within src/, tests/, and utils/:

⚙️ Core Framework & Utilities

ProjectPurpose
Sphere10.FrameworkGeneral-purpose core library with utilities for caching, collections, cryptography, serialization, streaming, and more
Sphere10.Framework.ApplicationApplication lifecycle, dependency injection, command-line interface, and presentation framework
Sphere10.Framework.CommunicationsMulti-protocol networking layer: TCP, UDP, WebSockets, RPC, and pipes
Sphere10.Framework.GeneratorsC# source generators for compile-time code generation
HashLib4CSharpHashing library with support for MD5, SHA, BLAKE2, CRC, checksums, and more

🔒 Cryptography & Security

ProjectPurpose
Sphere10.Framework.CryptoExExtended cryptography: Bitcoin (SECP256k1), elliptic curves, hash functions, post-quantum algorithms
Sphere10.Framework.ConsensusBlockchain consensus mechanisms and validation rules framework

💾 Data Access & Persistence

ProjectPurpose
Sphere10.Framework.DataData access abstraction layer with ADO.NET enhancements, SQL query building, CSV support
Sphere10.Framework.Data.SqliteSQLite implementation for embedded databases
Sphere10.Framework.Data.FirebirdFirebird database implementation
Sphere10.Framework.Data.MSSQLMicrosoft SQL Server implementation
Sphere10.Framework.Data.NHibernateNHibernate ORM integration

🖥️ Desktop & Windows

ProjectPurpose
Sphere10.Framework.WindowsWindows platform integration: registry, services, event logging
Sphere10.Framework.Windows.FormsWindows Forms UI framework and components
Sphere10.Framework.Windows.Forms.SqliteWindows Forms with SQLite data binding
Sphere10.Framework.Windows.Forms.FirebirdWindows Forms with Firebird data binding
Sphere10.Framework.Windows.Forms.MSSQLWindows Forms with SQL Server data binding
Sphere10.Framework.Windows.LevelDBLevelDB integration for fast key-value storage

🌐 Web & Cross-Platform

ProjectPurpose
Sphere10.Framework.Web.AspNetCoreASP.NET Core integration: middleware, filters, routing, forms
Sphere10.Framework.DrawingCross-platform graphics and drawing utilities
Sphere10.Framework.NET.NET Framework-specific utilities and type introspection
Sphere10.Framework.NETCore.NET Core and modern .NET utilities
Sphere10.Framework.iOSXamarin.iOS integration for native iOS apps
Sphere10.Framework.AndroidXamarin.Android integration for native Android apps
Sphere10.Framework.macOSXamarin.macOS integration for native macOS apps

🧪 Test Projects

The tests/ directory contains 2000+ comprehensive unit and integration tests covering all framework subsystems:

Test ProjectPurpose
HashLib4CSharp.TestsTests for hashing algorithms
Sphere10.Framework.Communications.TestsNetworking and RPC tests
Sphere10.Framework.CryptoEx.TestsCryptography implementation tests
Sphere10.Framework.Data.TestsDatabase access layer tests
Sphere10.Framework.NET.Tests.NET framework utility tests
Sphere10.Framework.NETCore.Tests.NET Core utility tests
Sphere10.Framework.TestsCore framework tests
Sphere10.Framework.Windows.LevelDB.TestsLevelDB integration tests
Sphere10.Framework.Windows.TestsWindows platform tests

🎨 Presentation & UI Layer

Desktop (Windows Forms)

ProjectPurpose
Sphere10.Framework.Windows.FormsComprehensive Windows Forms UI framework with data binding, validation, and component library
Sphere10.Framework.Windows.Forms.SqliteWindows Forms with SQLite data binding and persistence
Sphere10.Framework.Windows.Forms.MSSQLWindows Forms with SQL Server data binding and persistence
Sphere10.Framework.Windows.Forms.FirebirdWindows Forms with Firebird data binding and persistence

Web & Cross-Platform UI

ProjectPurpose
Sphere10.Framework.Web.AspNetCoreASP.NET Core integration with middleware, filters, routing, and form components
Sphere10.Framework.DrawingCross-platform graphics and drawing utilities for all platforms

📚 Documentation & Learning

📐 Architecture

  1. Sphere10 Framework: Complete Architecture & Overview
  2. Framework Domains

⛓️ Blockchain Technology

  1. Blockchain: Dynamic Merkle Trees
  2. Blockchain: Real-Time Targeted Difficulty Adjustment Algorithm
  3. Post-Quantum Cryptography: Abstract Merkle Signatures (AMS)
  4. Post-Quantum Cryptography: Winternitz Abstracted Merkle Signatures (WAMS)
  5. Post-Quantum Cryptography: Faster and Smaller Winternitz Signatures

📑 Guidelines

  1. What is a 3-tier Architecture?
  2. Code-Styling Guidelines

🔗 Quick Navigation & Resources

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages