Initial commit of webservice host for the update server service.
This commit is contained in:
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "tononixPC.UpdateServer"]
|
||||||
|
path = tononixPC.UpdateServer
|
||||||
|
url = https://tonoxisisle.services/git/TononixOS/tononixOS_webservice_update-service
|
||||||
1
tononixPC.UpdateServer
Submodule
1
tononixPC.UpdateServer
Submodule
Submodule tononixPC.UpdateServer added at 266f9910b7
59
tononixPC.UpdateServer.Server/Program.cs
Executable file
59
tononixPC.UpdateServer.Server/Program.cs
Executable file
@@ -0,0 +1,59 @@
|
|||||||
|
using Microsoft.AspNetCore;
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.AspNetCore.Rewrite;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
using System;
|
||||||
|
|
||||||
|
namespace tononixPC.UpdateServer.Server
|
||||||
|
{
|
||||||
|
internal class Program
|
||||||
|
{
|
||||||
|
static void Main(string[] args)
|
||||||
|
{
|
||||||
|
var host = WebHost.CreateDefaultBuilder(args)
|
||||||
|
.UseStartup<Startup>()
|
||||||
|
.Build();
|
||||||
|
|
||||||
|
host.Run();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
internal class Startup
|
||||||
|
{
|
||||||
|
public void ConfigureServices(IServiceCollection services)
|
||||||
|
{
|
||||||
|
// Adds a default in-memory implementation of IDistributedCache.
|
||||||
|
services.AddDistributedMemoryCache();
|
||||||
|
|
||||||
|
services.AddSession(options =>
|
||||||
|
{
|
||||||
|
options.IdleTimeout = TimeSpan.FromMinutes(30);
|
||||||
|
options.Cookie.HttpOnly = true;
|
||||||
|
});
|
||||||
|
|
||||||
|
services.AddPhp(options =>
|
||||||
|
{
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||||
|
{
|
||||||
|
if (env.IsDevelopment())
|
||||||
|
{
|
||||||
|
app.UseDeveloperExceptionPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
app.UseSession();
|
||||||
|
// Make the server rewrite to update.php
|
||||||
|
var options = new RewriteOptions()
|
||||||
|
.AddRewrite(@"^(.*)$", "update.php/$1", skipRemainingRules: true);
|
||||||
|
app.UseRewriter(options);
|
||||||
|
app.UsePhp();
|
||||||
|
app.UseDefaultFiles();
|
||||||
|
app.UseStaticFiles();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
22
tononixPC.UpdateServer.Server/Properties/launchSettings.json
Executable file
22
tononixPC.UpdateServer.Server/Properties/launchSettings.json
Executable file
@@ -0,0 +1,22 @@
|
|||||||
|
{
|
||||||
|
"profiles": {
|
||||||
|
"tononixPC.UpdateServer.Server": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"applicationUrl": "http://localhost:60225"
|
||||||
|
},
|
||||||
|
"WSL": {
|
||||||
|
"commandName": "WSL2",
|
||||||
|
"launchBrowser": true,
|
||||||
|
"launchUrl": "http://localhost:60225",
|
||||||
|
"environmentVariables": {
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development",
|
||||||
|
"ASPNETCORE_URLS": "http://localhost:60225"
|
||||||
|
},
|
||||||
|
"distributionName": ""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
23
tononixPC.UpdateServer.Server/tononixPC.UpdateServer.Server.csproj
Executable file
23
tononixPC.UpdateServer.Server/tononixPC.UpdateServer.Server.csproj
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<OutputType>Exe</OutputType>
|
||||||
|
<TargetFrameworks>netcoreapp6.0</TargetFrameworks>
|
||||||
|
<RuntimeIdentifiers>win-x64;linux-x64</RuntimeIdentifiers>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="wwwroot\" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Peachpie.AspNetCore.Web" Version="1.2.0-r15261" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\tononixPC.UpdateServer\tononixPC.UpdateServer.msbuildproj">
|
||||||
|
<PrivateAssets>None</PrivateAssets>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
||||||
9
tononixPC.UpdateServer.Server/tononixPC.UpdateServer.Server.csproj.user
Executable file
9
tononixPC.UpdateServer.Server/tononixPC.UpdateServer.Server.csproj.user
Executable file
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(TargetFramework)|$(Platform)'=='Debug|netcoreapp6.0|AnyCPU'">
|
||||||
|
<DebuggerFlavor>ProjectDebugger</DebuggerFlavor>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup>
|
||||||
|
<ActiveDebugProfile>tononixPC.UpdateServer.Server</ActiveDebugProfile>
|
||||||
|
</PropertyGroup>
|
||||||
|
</Project>
|
||||||
File diff suppressed because one or more lines are too long
61
tononixPC.UpdateServer.Server/wwwroot/manifests/os/tononixOS.xml
Executable file
61
tononixPC.UpdateServer.Server/wwwroot/manifests/os/tononixOS.xml
Executable file
@@ -0,0 +1,61 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<distribution>
|
||||||
|
<!-- Attributes provide the name, description, icon and the group that PINN will put the OS in. -->
|
||||||
|
<info name="tononixOS Home Edition" description="tononixOS Home Edition" icon="" group="General">
|
||||||
|
<homepage></homepage>
|
||||||
|
<release-date>TBA</release-date>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<!-- Supported models should be referred to by name, PINN uses these. -->
|
||||||
|
<supported-model>Raspberry Pi 3 Model B+</supported-model>
|
||||||
|
<supported-model>Raspberry Pi 3</supported-model>
|
||||||
|
<supported-model>Raspberry Pi 4</supported-model>
|
||||||
|
</info>
|
||||||
|
<supports-backup>false</supports-backup>
|
||||||
|
<nominal-size></nominal-size>
|
||||||
|
<download-size></download-size>
|
||||||
|
<!-- Attributes control whether the tarball signature check must pass and/or if the checksum check must pass -->
|
||||||
|
<security verifyTarballSignature="true" enforceChecksum="true">
|
||||||
|
<md5sum></md5sum>
|
||||||
|
<sha1sum></sha1sum>
|
||||||
|
<sha256sum></sha256sum>
|
||||||
|
<sha512sum></sha512sum>
|
||||||
|
</security>
|
||||||
|
<!-- Settings for the OS -->
|
||||||
|
<settings>
|
||||||
|
<!-- Default user account -->
|
||||||
|
<defaults>
|
||||||
|
<username>user</username>
|
||||||
|
<password>user</password>
|
||||||
|
</defaults>
|
||||||
|
<!-- Boot options -->
|
||||||
|
<boot>
|
||||||
|
<supports-usb-boot>false</supports-usb-boot>
|
||||||
|
<supports-sda-boot>false</supports-sda-boot>
|
||||||
|
<supports-sda-root>false</supports-sda-root>
|
||||||
|
</boot>
|
||||||
|
<!-- Partition table layout -->
|
||||||
|
<partitions>
|
||||||
|
<partition label="boot" type="FAT">
|
||||||
|
<mkfs-options>-F 32</mkfs-options>
|
||||||
|
<uncompressed-tarball-size></uncompressed-tarball-size>
|
||||||
|
<partition-size></partition-size>
|
||||||
|
<want-maximised>false</want-maximised>
|
||||||
|
<tarball></tarball>
|
||||||
|
</partition>
|
||||||
|
<partition label="root" type="ext4">
|
||||||
|
<mkfs-options>-c</mkfs-options>
|
||||||
|
<want-maximised>true</want-maximised>
|
||||||
|
<uncompressed-tarball-size></uncompressed-tarball-size>
|
||||||
|
<partition-size></partition-size>
|
||||||
|
<tarball></tarball>
|
||||||
|
</partition>
|
||||||
|
<partition label="appfs" type="ext4" version="1.0">
|
||||||
|
<mkfs-options>-c</mkfs-options>
|
||||||
|
<want-maximised>true</want-maximised>
|
||||||
|
<uncompressed-tarball-size></uncompressed-tarball-size>
|
||||||
|
<partition-size></partition-size>
|
||||||
|
<tarball></tarball>
|
||||||
|
</partition>
|
||||||
|
</partitions>
|
||||||
|
</settings>
|
||||||
|
</distribution>
|
||||||
23
tononixPC.UpdateServer.Server/wwwroot/manifests/recovery.xml
Executable file
23
tononixPC.UpdateServer.Server/wwwroot/manifests/recovery.xml
Executable file
@@ -0,0 +1,23 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<recovery-update>
|
||||||
|
<version>1.0.2.2</version>
|
||||||
|
<build-date>2023-01-17</build-date>
|
||||||
|
<git>
|
||||||
|
<pinn>
|
||||||
|
<branch>master</branch>
|
||||||
|
<commit>206afc83287084783bead347f3e55a91de6d0fe7</commit>
|
||||||
|
</pinn>
|
||||||
|
<rpi-userland>
|
||||||
|
<branch>master</branch>
|
||||||
|
<commit>54fd97ae4066a10b6b02089bc769ceed328737e0</commit>
|
||||||
|
</rpi-userland>
|
||||||
|
<rpi-firmware>
|
||||||
|
<branch>master</branch>
|
||||||
|
<commit>78852e166b4cf3ebb31d051e996d54792f0994b0</commit>
|
||||||
|
</rpi-firmware>
|
||||||
|
<rpi-linux>
|
||||||
|
<branch>rpi-5.4.y</branch>
|
||||||
|
<commit>ec0dcf3064b8ba99f226438214407fcea9870f76</commit>
|
||||||
|
</rpi-linux>
|
||||||
|
</git>
|
||||||
|
</recovery-update>
|
||||||
26
tononixPC.UpdateServer.Server/wwwroot/repository.xml
Executable file
26
tononixPC.UpdateServer.Server/wwwroot/repository.xml
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<os-list>
|
||||||
|
<repository>
|
||||||
|
<distribution name="tononixOS Home Edition" description="Operating System for the tononixPC" group="General">
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<download-size/>
|
||||||
|
<icon/>
|
||||||
|
<nominal-size/>
|
||||||
|
<release-date>2023-01-17</release-date>
|
||||||
|
|
||||||
|
<supported-model>Raspberry Pi 3 Model B+</supported-model>
|
||||||
|
<supported-model>Raspberry Pi 4</supported-model>
|
||||||
|
|
||||||
|
<supports-backup>false</supports-backup>
|
||||||
|
<url>
|
||||||
|
<os-info>https://tonoxisisle.services/tononixOS/os/os.json</os-info>
|
||||||
|
<marketing-info>http://tonoxisisle.services/tononixOS/os/marketing-info.tar.gz</marketing-info>
|
||||||
|
<partition-setup>https://tonoxisisle.services/tononixOS/os/partition_setup.sh</partition-setup>
|
||||||
|
<partition-info>https://tonoxisisle.services/tononixOS/os/partitions.json</partition-info>
|
||||||
|
<tarball>https://tonoxisisle.services/tononixOS/os/boot.tar.gz</tarball>
|
||||||
|
<tarball>https://tonoxisisle.services/tononixOS/os/root.tar.gz</tarball>
|
||||||
|
<tarball>https://tonoxisisle.services/tononixOS/os/editions/home/appfs.tar.gz</tarball>
|
||||||
|
</url>
|
||||||
|
</distribution>
|
||||||
|
</repository>
|
||||||
|
</os-list>
|
||||||
301
tononixPC.UpdateServer.Server/wwwroot/templates/serverstatus.tpl
Executable file
301
tononixPC.UpdateServer.Server/wwwroot/templates/serverstatus.tpl
Executable file
File diff suppressed because one or more lines are too long
31
tononixPC.UpdateServer.sln
Executable file
31
tononixPC.UpdateServer.sln
Executable file
@@ -0,0 +1,31 @@
|
|||||||
|
|
||||||
|
Microsoft Visual Studio Solution File, Format Version 12.00
|
||||||
|
# Visual Studio Version 17
|
||||||
|
VisualStudioVersion = 17.4.33213.308
|
||||||
|
MinimumVisualStudioVersion = 10.0.40219.1
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "tononixPC.UpdateServer.Server", "tononixPC.UpdateServer.Server\tononixPC.UpdateServer.Server.csproj", "{E9E0AD13-4D90-4668-8E6C-0B44E98123CF}"
|
||||||
|
EndProject
|
||||||
|
Project("{13B669BE-BB05-4DDF-9536-439F39A36129}") = "tononixPC.UpdateServer", "tononixPC.UpdateServer\tononixPC.UpdateServer.msbuildproj", "{D69D6A6B-2C58-4709-B65D-61B9C2835DDA}"
|
||||||
|
EndProject
|
||||||
|
Global
|
||||||
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
|
Debug|Any CPU = Debug|Any CPU
|
||||||
|
Release|Any CPU = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ProjectConfigurationPlatforms) = postSolution
|
||||||
|
{E9E0AD13-4D90-4668-8E6C-0B44E98123CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{E9E0AD13-4D90-4668-8E6C-0B44E98123CF}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{E9E0AD13-4D90-4668-8E6C-0B44E98123CF}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{E9E0AD13-4D90-4668-8E6C-0B44E98123CF}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D69D6A6B-2C58-4709-B65D-61B9C2835DDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D69D6A6B-2C58-4709-B65D-61B9C2835DDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D69D6A6B-2C58-4709-B65D-61B9C2835DDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D69D6A6B-2C58-4709-B65D-61B9C2835DDA}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
|
HideSolutionNode = FALSE
|
||||||
|
EndGlobalSection
|
||||||
|
GlobalSection(ExtensibilityGlobals) = postSolution
|
||||||
|
SolutionGuid = {1F30C333-7049-4401-B99B-67C4BAE03859}
|
||||||
|
EndGlobalSection
|
||||||
|
EndGlobal
|
||||||
Reference in New Issue
Block a user