9 Commits

Author SHA1 Message Date
Felix Rieseberg
6bf7678079 build: Use ascProvider 2019-12-02 15:54:29 -08:00
Felix Rieseberg
5396cae0f0 build: Notarize the app 2019-12-02 13:23:53 -08:00
Felix Rieseberg
c5a24643fd build: Tell me what's going on 2019-12-01 19:19:53 -08:00
Felix Rieseberg
59a651a205 build: Oops, actually code-sign this thing 2019-12-01 17:49:57 -08:00
Felix Rieseberg
f5cb94776a 2.2.1 2019-11-30 13:09:58 -08:00
Felix Rieseberg
982c866899 chore: Bump dependencies 2019-11-30 12:44:43 -08:00
Felix Rieseberg
9e8cef8da7 chore: Update Electron 2019-11-22 18:13:59 -08:00
Felix Rieseberg
3b76a39060 fix: Ensure that links show up 2019-11-22 18:06:58 -08:00
Felix Rieseberg
e7d515de84 docs: Update Readme 2019-08-24 19:02:48 +02:00
10 changed files with 2028 additions and 2056 deletions

View File

@@ -13,6 +13,10 @@ install:
$filename = "$workingDirectory\cert.p12"
$bytes = [Convert]::FromBase64String($env:WINDOWS_CERTIFICATE_P12)
[IO.File]::WriteAllBytes($filename, $bytes)
$env:WINDOWS_CERTIFICATE_FILE = $filename
$sec = ConvertTo-SecureString -String $env:WINDOWS_CERTIFICATE_PASSWORD -Force -AsPlainText
$cert = Get-PfxData -Password $sec $filename
Write-Host $cert.EndEntityCertificates
}
- ps: Install-Product node $env:nodejs_version x64
- node --version

View File

@@ -4,7 +4,7 @@ os:
- linux
- osx
dist: trusty
osx_image: xcode8.3
osx_image: xcode10
sudo: false
cache:

View File

@@ -5,8 +5,8 @@ This is Windows 95, running in an [Electron](https://electronjs.org/) app. Yes,
## Downloads
| | Windows | macOS | Linux |
|---------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Standalone Download | 📦[Standalone, 32-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-2.1.1-win32-standalone-ia32.zip) <br /> 📦[Standalone, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-2.1.1-win32-standalone-x64.zip) | 📦[Standalone](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-macos-2.1.1.zip) | |
| Installer | 💽[Setup, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-2.1.1-setup-win32-x64.exe) <br /> 💽[Setup, 32-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-2.1.1-setup-win32-ia32.exe) | | 💽[deb, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-linux-2.1.1_amd64.deb) <br /> 💽[rpm, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.1.1/windows95-linux-2.1.1.x86_64.rpm) |
| Standalone Download | 📦[Standalone, 32-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-2.2.0-win32-standalone-ia32.zip) <br /> 📦[Standalone, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-2.2.0-win32-standalone-x64.zip) | 📦[Standalone](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-macos-2.2.0.zip) | |
| Installer | 💽[Setup, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-2.2.0-setup-win32-x64.exe) <br /> 💽[Setup, 32-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-2.2.0-setup-win32-ia32.exe) | | 💽[deb, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-linux-2.2.0_amd64.deb) <br /> 💽[rpm, 64-bit](https://github.com/felixrieseberg/windows95/releases/download/v2.2.0/windows95-linux-2.2.0.x86_64.rpm) |
![Screenshot](https://user-images.githubusercontent.com/1426799/44532591-4ceb3680-a6a8-11e8-8c2c-bc29f3bfdef7.png)

View File

@@ -3,7 +3,8 @@ const package = require('./package.json');
module.exports = {
hooks: {
generateAssets: require('./tools/generateAssets')
generateAssets: require('./tools/generateAssets'),
postPackage: require('./tools/notarize')
},
packagerConfig: {
asar: false,
@@ -12,10 +13,15 @@ module.exports = {
appCategoryType: 'public.app-category.developer-tools',
win32metadata: {
CompanyName: 'Felix Rieseberg',
OriginalFilename: 'windows95',
OriginalFilename: 'windows95'
},
osxSign: {
identity: 'Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)'
identity: 'Developer ID Application: Felix Rieseberg (LT94ZKYDCJ)',
'hardened-runtime': true,
'gatekeeper-assess': false,
'entitlements': 'static/entitlements.plist',
'entitlements-inherit': 'static/entitlements.plist',
'signature-flags': 'library'
},
ignore: [
/\/assets(\/?)/,

3948
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{
"name": "windows95",
"productName": "windows95",
"version": "2.2.0",
"version": "2.2.1",
"description": "Windows 95, in an app. I'm sorry.",
"main": "./dist/src/main/main",
"scripts": {
@@ -18,43 +18,34 @@
"config": {
"forge": "./forge.config.js"
},
"standard": {
"globals": [
"appState",
"V86Starter",
"windows95"
],
"ignore": [
"/src/renderer/lib/*.js"
]
},
"dependencies": {
"electron-squirrel-startup": "^1.0.0",
"fs-extra": "^8.1.0",
"react": "^16.7.0",
"react-dom": "^16.7.0",
"react": "^16.12.0",
"react-dom": "^16.12.0",
"tslib": "^1.10.0",
"update-electron-app": "^1.5.0"
},
"devDependencies": {
"@electron-forge/cli": "^6.0.0-beta.44",
"@electron-forge/maker-deb": "^6.0.0-beta.44",
"@electron-forge/maker-flatpak": "^6.0.0-beta.44",
"@electron-forge/maker-rpm": "^6.0.0-beta.44",
"@electron-forge/maker-squirrel": "^6.0.0-beta.44",
"@electron-forge/maker-zip": "^6.0.0-beta.44",
"@electron-forge/publisher-github": "^6.0.0-beta.44",
"@types/fs-extra": "^8.0.0",
"@types/node": "^12.7.2",
"@types/react": "^16.9.2",
"@types/react-dom": "^16.8.5",
"electron": "6.0.2",
"less": "^3.10.1",
"node-abi": "^2.11.0",
"parcel-bundler": "^1.12.3",
"prettier": "^1.18.2",
"@electron-forge/cli": "^6.0.0-beta.45",
"@electron-forge/maker-deb": "^6.0.0-beta.45",
"@electron-forge/maker-flatpak": "^6.0.0-beta.45",
"@electron-forge/maker-rpm": "^6.0.0-beta.45",
"@electron-forge/maker-squirrel": "^6.0.0-beta.45",
"@electron-forge/maker-zip": "^6.0.0-beta.45",
"@electron-forge/publisher-github": "^6.0.0-beta.45",
"@types/fs-extra": "^8.0.1",
"@types/node": "^12.12.14",
"@types/react": "^16.9.13",
"@types/react-dom": "^16.9.4",
"electron": "7.1.2",
"electron-notarize": "^0.2.1",
"less": "^3.10.3",
"node-abi": "^2.13.0",
"parcel-bundler": "^1.12.4",
"prettier": "^1.19.1",
"rimraf": "^3.0.0",
"standard": "^13.1.0",
"typescript": "^3.5.3"
"standard": "^14.3.1",
"typescript": "^3.7.2"
}
}

View File

@@ -100,4 +100,18 @@ section {
input[type=submit]:focus:before {
border-color: #dedede grey grey #dedede;
}
.card {
// Fix link colors
.link, .link:active, .link:link, .link:visited, a, a:active, a:link, a:visited {
color: #008080;
text-decoration: underline;
cursor: pointer;
}
// Ensure a-elements in fieldsets receive click events
fieldset:before {
pointer-events: none;
}
}
}

View File

@@ -56,12 +56,7 @@ export class CardDrive extends React.Component<CardDriveProps, CardDriveState> {
can). However, tools exist that let you mount this drive, like the
freeware tool{" "}
<a
href="#"
onClick={() =>
shell.openExternal(
"https://www.osforensics.com/tools/mount-disk-images.html"
)
}
href="https://google.com"
>
OSFMount
</a>

10
static/entitlements.plist Normal file
View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.cs.allow-jit</key>
<true/>
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
<true/>
</dict>
</plist>

30
tools/notarize.js Normal file
View File

@@ -0,0 +1,30 @@
const { notarize } = require('electron-notarize');
const path = require('path');
const buildOutput = path.resolve(
__dirname,
'..',
'out',
'windows95-darwin-x64',
'windows95.app'
);
module.exports = function () {
if (process.platform !== 'darwin') {
console.log('Not a Mac; skipping notarization');
return;
}
console.log('Notarizing...');
return notarize({
appBundleId: 'com.felixrieseberg.windows95',
appPath: buildOutput,
appleId: process.env.APPLE_ID,
appleIdPassword: process.env.APPLE_ID_PASSWORD,
ascProvider: 'LT94ZKYDCJ'
}).catch((e) => {
console.error(e);
throw e;
});
}