HackSystem
Hack System
A Hack System based on ASP.NET Core and Blazor WebAssembly.
Design and implement your program and Execute it in Hack System!
Status
Nuget Packages
How to launch?
- Install .Net 6.0 SDK.
- Download source code and open in Visual Studio 2019 (16.8+).
- Set
HackSystem.WebHost
and HackSystem.WebAPI
as startup projects.
- Press F5 to run.
- Navigate to https://localhost:2473
- Enjoy it.
How to deploy?
- Edit
hosting.json
file of HackSystem.WebHost
and HackSystem.WebAPI
projects to config the port to listen.
- Edit
wwwroot/appsettings.json
file of HackSystem.Web
so that APIConfiguration.APIURL
equals urls
of HackSystem.WebHost
to config the address of Web API.
- Edit
JwtConfiguration
section of HackSystem.WebAPI
project's appsettings.json
, it is Important for security!
- Publish
HackSystem.WebHost
and HackSystem.WebAPI
projects.
HackSystem.WebHost
is just a fake host of core project HackSystem.Web
.
- Navigate to Hack System:
- Open browser and navigate to the address which you just configured for
HackSystem.WebHost
.
- Or you can use the
HackSystem.Host
project to visit Hack System.
- Before you launch
HackSystem.Host
, edit HostConfigs.json
file so that RemoteURL
equals the address which you just configured for HackSystem.WebHost
.
- Just run
HackSystem.Host.exe
.
- Enjoy it.
How to develop customized programs
Something may change with platform developing.
-
Create a new Razor Class Library project.
-
Install above nuget pakcages to this project.
-
Add a new image file named as Index.png in root folder of this project, and copy to output directory if newer.
-
Create a new Razor Component as entry component, and inherits ProgramComponentBase class.
-
Create a new static Launcher class and return the type of entry component from static Launch method.
How to deploy customized programs
Something may change with platform developing.
-
Insert a new record in database of new program.
-
INSERT INTO ProgramDetails (Id,Name,Enabled,SingleInstance,EntryAssemblyName,EntryTypeName,EntryParameter,Mandatory)
VALUES ('program0-icon-0828-hack-system000006','TaskServer',1,1,'HackSystem.Web.TaskSchedule','HackSystem.Web.TaskSchedule.Launcher','{ "Developer": "Leon" }',1);
-
Edit ProgramAssetConfiguration
section of HackSystem.WebAPI
project's appsettings.json
to config program asset folder path.
-
Create new filder named as new program ID in program asset folder.
-
Build program project and copy all files into above folder.
-
Insert a new record in database to map releationship between user and program.
-
INSERT INTO UserProgramMaps (UserId,ProgramId,PinToDesktop,PinToDock,PinToTop,"Rename")
VALUES ('msaspnet-core-user-hack-system000001','program0-icon-0828-hack-system000006',1,0,0,NULL);
-
Launch Hack System and login above user, should see the new program launch and enjoy it.
Video
Click image below to watch video.
Main Desktop (2020-09-27)
Multiple Windows Scheduler (2021-10-24)
Screen
Start Up

Register

Login

Desktop Demo



Task Scheduler

Database Migration
Setup
- Select
HackSystem.WebAPI
as Startup project;
- Open Package Manager Console in Visual Studio;
- Select
HackSystem.WebAPI.Infrastructure
as Default project in Package Manager Console;
- Input commands and execute;
Commands
Get-Help entityframework | Displays information about entity framework commands. |
Add-Migration | Creates a migration by adding a migration snapshot. |
Remove-Migration | Removes the last migration snapshot. |
Update-Database | Updates the database schema based on the last migration snapshot. |
Script-Migration | Generates a SQL script using all the migration snapshots. |
Scaffold-DbContext | Generates a DbContext and entity type classes for a specified database. This is called reverse engineering. |
Get-DbContext | Gets information about a DbContext type. |
Drop-Database | Drops the database. |