Просмотр исходного кода

Installer update

Mac Install Fix: package sentinel into the installer
cocktailpeanut 4 месяцев назад
Родитель
Сommit
92c9924c5f

BIN
assets/Sentinel.app/Contents/CodeResources


+ 54 - 0
assets/Sentinel.app/Contents/Info.plist

@@ -0,0 +1,54 @@
+<?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>BuildMachineOSBuild</key>
+	<string>24B91</string>
+	<key>CFBundleDevelopmentRegion</key>
+	<string>en</string>
+	<key>CFBundleDisplayName</key>
+	<string>Sentinel</string>
+	<key>CFBundleExecutable</key>
+	<string>Sentinel</string>
+	<key>CFBundleIconFile</key>
+	<string>AppIcon</string>
+	<key>CFBundleIconName</key>
+	<string>AppIcon</string>
+	<key>CFBundleIdentifier</key>
+	<string>com.alienator88.Sentinel</string>
+	<key>CFBundleInfoDictionaryVersion</key>
+	<string>6.0</string>
+	<key>CFBundleName</key>
+	<string>Sentinel</string>
+	<key>CFBundlePackageType</key>
+	<string>APPL</string>
+	<key>CFBundleShortVersionString</key>
+	<string>1.9</string>
+	<key>CFBundleSupportedPlatforms</key>
+	<array>
+		<string>MacOSX</string>
+	</array>
+	<key>CFBundleVersion</key>
+	<string>10</string>
+	<key>DTCompiler</key>
+	<string>com.apple.compilers.llvm.clang.1_0</string>
+	<key>DTPlatformBuild</key>
+	<string>24B75</string>
+	<key>DTPlatformName</key>
+	<string>macosx</string>
+	<key>DTPlatformVersion</key>
+	<string>15.1</string>
+	<key>DTSDKBuild</key>
+	<string>24B75</string>
+	<key>DTSDKName</key>
+	<string>macosx15.1</string>
+	<key>DTXcode</key>
+	<string>1610</string>
+	<key>DTXcodeBuild</key>
+	<string>16B40</string>
+	<key>LSApplicationCategoryType</key>
+	<string>public.app-category.utilities</string>
+	<key>LSMinimumSystemVersion</key>
+	<string>12.0</string>
+</dict>
+</plist>

BIN
assets/Sentinel.app/Contents/MacOS/Sentinel


+ 1 - 0
assets/Sentinel.app/Contents/PkgInfo

@@ -0,0 +1 @@
+APPL????

BIN
assets/Sentinel.app/Contents/Resources/AppIcon.icns


BIN
assets/Sentinel.app/Contents/Resources/Assets.car


+ 20 - 0
assets/Sentinel.app/Contents/Resources/Builds/Export/build.log

@@ -0,0 +1,20 @@
+✓ Switched active account for github.com to alienator88
+github.com
+  ✓ Logged in to github.com account alienator88 (keyring)
+  - Active account: true
+  - Git operations protocol: ssh
+  - Token: gho_************************************
+  - Token scopes: 'admin:public_key', 'gist', 'read:org', 'repo'
+
+  ✓ Logged in to github.com account alin-strongdm (keyring)
+  - Active account: false
+  - Git operations protocol: ssh
+  - Token: gho_************************************
+  - Token scopes: 'admin:public_key', 'gist', 'read:org', 'repo'
+All identities removed.
+Identity added: /Users/alin/.ssh/id_ed25519_personal (lupascu.marius@gmail.com)
+Loaded SSH keys:
+256 SHA256:ogYvK3FE9zzK3OC+c1IGvZ2GLbEP/M7gqCUdbCPbvjg lupascu.marius@gmail.com (ED25519)
+Testing SSH access to GitHub:
+Hi alienator88! You've successfully authenticated, but GitHub does not provide shell access.
+Building and archiving the app...

+ 10 - 0
assets/Sentinel.app/Contents/Resources/Builds/ExportOptions.plist

@@ -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>method</key>
+	<string>mac-application</string>
+	<key>teamID</key>
+	<string>BK8443AXLU</string>
+</dict>
+</plist>

+ 3 - 0
assets/Sentinel.app/Contents/Resources/Builds/changes.md

@@ -0,0 +1,3 @@
+## What's New
+- [x] Add error handling and elevated privileges attempt for the quarantine and sign drops - #9
+- [x] Update AF swift package and functions

+ 179 - 0
assets/Sentinel.app/Contents/_CodeSignature/CodeResources

@@ -0,0 +1,179 @@
+<?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>files</key>
+	<dict>
+		<key>Resources/AppIcon.icns</key>
+		<data>
+		h6tZDTyHZ2R2IWkVTtCxLhl+HSg=
+		</data>
+		<key>Resources/Assets.car</key>
+		<data>
+		EWjuroYvZK+QyGXE1DRkCrCdU+s=
+		</data>
+		<key>Resources/Builds/Export/build.log</key>
+		<data>
+		/1+R9frhIPUyJgc2j5eXJlGRjCc=
+		</data>
+		<key>Resources/Builds/ExportOptions.plist</key>
+		<data>
+		0MA4j9V6vZY/5lwV302/eYd+bC4=
+		</data>
+		<key>Resources/Builds/changes.md</key>
+		<data>
+		taE19+UtRUiIJQOdJrc7uT9MPNw=
+		</data>
+	</dict>
+	<key>files2</key>
+	<dict>
+		<key>Resources/AppIcon.icns</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			o9EvbNelk40Oz6CKsgeNhz96b+y/PMVfPp9npHocK9g=
+			</data>
+		</dict>
+		<key>Resources/Assets.car</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			WnZi0g40uK80Y07oFL7NaTi1zLCpxUlKPPCz6QUvr8E=
+			</data>
+		</dict>
+		<key>Resources/Builds/Export/build.log</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			k5ex4VXZ/kJW2TVuNQgARnQ3syKSjCApAth7GOxrEfI=
+			</data>
+		</dict>
+		<key>Resources/Builds/ExportOptions.plist</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			APrSQhPZDr6JTHB5NQYf4XtUpeok10HmBsSM+76Jme4=
+			</data>
+		</dict>
+		<key>Resources/Builds/changes.md</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			cqM5Q1/KdwiDyllnshzSEeV4QgbkbRpXbwGkYijg1r4=
+			</data>
+		</dict>
+		<key>embedded.provisionprofile</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			B/vWCXpwvDXC7Th62V4KnkGLNIEhWtr+/lj2y0WKaJ8=
+			</data>
+		</dict>
+	</dict>
+	<key>rules</key>
+	<dict>
+		<key>^Resources/</key>
+		<true/>
+		<key>^Resources/.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^Resources/.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Resources/Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^version.plist$</key>
+		<true/>
+	</dict>
+	<key>rules2</key>
+	<dict>
+		<key>.*\.dSYM($|/)</key>
+		<dict>
+			<key>weight</key>
+			<real>11</real>
+		</dict>
+		<key>^(.*/)?\.DS_Store$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>2000</real>
+		</dict>
+		<key>^(Frameworks|SharedFrameworks|PlugIns|Plug-ins|XPCServices|Helpers|MacOS|Library/(Automator|Spotlight|LoginItems))/</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^.*</key>
+		<true/>
+		<key>^Info\.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^PkgInfo$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^Resources/</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^Resources/.*\.lproj/</key>
+		<dict>
+			<key>optional</key>
+			<true/>
+			<key>weight</key>
+			<real>1000</real>
+		</dict>
+		<key>^Resources/.*\.lproj/locversion.plist$</key>
+		<dict>
+			<key>omit</key>
+			<true/>
+			<key>weight</key>
+			<real>1100</real>
+		</dict>
+		<key>^Resources/Base\.lproj/</key>
+		<dict>
+			<key>weight</key>
+			<real>1010</real>
+		</dict>
+		<key>^[^/]+$</key>
+		<dict>
+			<key>nested</key>
+			<true/>
+			<key>weight</key>
+			<real>10</real>
+		</dict>
+		<key>^embedded\.provisionprofile$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+		<key>^version\.plist$</key>
+		<dict>
+			<key>weight</key>
+			<real>20</real>
+		</dict>
+	</dict>
+</dict>
+</plist>

BIN
assets/Sentinel.app/Contents/embedded.provisionprofile


BIN
assets/background.gif


+ 6 - 6
package-lock.json

@@ -1,18 +1,18 @@
 {
   "name": "Pinokio",
-  "version": "3.0.26",
+  "version": "3.2.0",
   "lockfileVersion": 3,
   "requires": true,
   "packages": {
     "": {
       "name": "Pinokio",
-      "version": "3.0.26",
+      "version": "3.2.0",
       "hasInstallScript": true,
       "license": "MIT",
       "dependencies": {
         "electron-store": "^8.1.0",
         "electron-window-state": "^5.0.3",
-        "pinokiod": "^3.0.26"
+        "pinokiod": "^3.2.0"
       },
       "devDependencies": {
         "@electron/rebuild": "3.2.10",
@@ -5496,9 +5496,9 @@
       }
     },
     "node_modules/pinokiod": {
-      "version": "3.0.26",
-      "resolved": "https://registry.npmjs.org/pinokiod/-/pinokiod-3.0.26.tgz",
-      "integrity": "sha512-aV9Wq3BhIqIVLY38zeSrye52glbKO0Lmmf3jFe7hDG4R2FPKck4nUqoyuKlrXU7QEErSqoJrSu13T5UOXfC+KA==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/pinokiod/-/pinokiod-3.2.0.tgz",
+      "integrity": "sha512-+/WBFsUmsqtmAlcLUPbPlnvUnhsQovTAlGr7siFmH0iDQpLMW2lax96ZVBjOw1VJt9lJxAETxtkA3PJLQeP3Iw==",
       "dependencies": {
         "@cocktailpeanut/node-pty-prebuilt-multiarch": "^0.11.16",
         "7zip-min-win-asar-support": "^1.4.4",

+ 8 - 13
package.json

@@ -1,6 +1,6 @@
 {
   "name": "Pinokio",
-  "version": "3.0.26",
+  "version": "3.2.0",
   "homepage": "https://pinokio.computer",
   "description": "pinokio",
   "main": "main.js",
@@ -9,6 +9,7 @@
   "scripts": {
     "start": "electron .",
     "pack": "./node_modules/.bin/electron-builder --dir",
+    "eject": "hdiutil info | grep '/dev/disk' | awk '{print $1}' | xargs -I {} hdiutil detach {}",
     "dist": "npm run monkeypatch && export SNAPCRAFT_BUILD_ENVIRONMENT=host && export SNAP_DESTRUCTIVE_MODE='true' && ./node_modules/.bin/electron-builder -mwl && npm run zip",
     "zip": "node script/zip",
     "monkeypatch": "cp temp/yarn.js node_modules/app-builder-lib/out/util/yarn.js && cp temp/rebuild.js node_modules/@electron/rebuild/lib/src/rebuild.js",
@@ -35,21 +36,15 @@
       }
     ],
     "dmg": {
-      "background": "./assets/background.png",
+      "background": "./assets/background.gif",
       "contents": [
         {
-          "x": 130,
-          "y": 250
+          "x": 250,
+          "y": 150
         },
         {
-          "x": 410,
-          "y": 80,
-          "type": "file",
-          "path": "./script/patch.command"
-        },
-        {
-          "x": 410,
-          "y": 250,
+          "x": 550,
+          "y": 150,
           "type": "link",
           "path": "/Applications"
         }
@@ -108,7 +103,7 @@
   "dependencies": {
     "electron-store": "^8.1.0",
     "electron-window-state": "^5.0.3",
-    "pinokiod": "^3.0.26"
+    "pinokiod": "^3.2.0"
   },
   "devDependencies": {
     "@electron/rebuild": "3.2.10",

+ 67 - 3
script/zip.js

@@ -1,10 +1,9 @@
 const { exec } = require('child_process');
 const path = require('path')
+const fs = require('fs')
 const version = process.env.npm_package_version
 
-// Replace "ls -l" with your desired terminal command
-const command = 'ls -l';
-
+// Windows
 let exePath = path.resolve(__dirname, `../dist/Pinokio Setup ${version}.exe`)
 let zipPath = path.resolve(__dirname, `../dist/Pinokio-${version}-win32.zip`)
 exec(`zip -j "${zipPath}" "${exePath}"`, (error, stdout, stderr) => {
@@ -18,3 +17,68 @@ exec(`zip -j "${zipPath}" "${exePath}"`, (error, stdout, stderr) => {
   console.log('stderr:', stderr);
 });
 
+// Mac
+
+
+// find dmg files
+const macPaths = [{
+  dmg: path.resolve(__dirname, `../dist/Pinokio-${version}-arm64.dmg`),
+  //temp: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-arm64-temp`),
+  temp: `Pinokio-${version}-darwin-arm64`,
+  //zip: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-arm64.zip`),
+  zip: `Pinokio-${version}-darwin-arm64.zip`
+}, {
+  dmg: path.resolve(__dirname, `../dist/Pinokio-${version}.dmg`),
+  //temp: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-intel-temp`),
+  temp: `Pinokio-${version}-darwin-intel`,
+  //zip: path.resolve(__dirname, `../dist/Pinokio-${version}-darwin-intel.zip`)
+  zip: `Pinokio-${version}-darwin-intel.zip`
+}]
+let sentinelPath = path.resolve(__dirname, `../assets/Sentinel.app`)
+for(let macPath of macPaths) {
+  const zipPath = macPath.zip
+  try {
+    console.log("mkdirSync", path.resolve(__dirname, "../dist", macPath.temp))
+    fs.mkdirSync(path.resolve(__dirname, "../dist", macPath.temp), { recursive: true })
+  } catch (e) {
+    console.log("E1", e)
+  }
+  try {
+    fs.cpSync(macPath.dmg, path.resolve(__dirname, "../dist", macPath.temp, "install.dmg"), { force: true, recursive: true })
+  } catch (e) {
+    console.log("E2", e)
+  }
+  try {
+    fs.cpSync(sentinelPath, path.resolve(__dirname, "../dist", macPath.temp, "Sentinel.app"), { force: true, recursive: true })
+  } catch (e) {
+    console.log("E3", e)
+  }
+  const cmd = `zip -r "${zipPath}" "${macPath.temp}"`
+  console.log({ cmd })
+  exec(cmd, { cwd: path.resolve(__dirname, "../dist") }, (error, stdout, stderr) => {
+    if (error) {
+      console.error(`Error executing command: ${error}`);
+      return;
+    }
+
+    console.log('Command executed successfully.');
+    console.log('stdout:', stdout);
+    console.log('stderr:', stderr);
+  });
+//  try {
+//    fs.rmSync(path.resolve(__dirname, "../dist", macPath.temp), { recursive: true })
+//  } catch (e) {
+//  }
+}
+let rmFiles = [
+  `Pinokio-${version}-arm64-mac.zip`,
+  `Pinokio-${version}-mac.zip`,
+//  `Pinokio-${version}-darwin-arm64`,
+//  `Pinokio-${version}-darwin-intel`,
+]
+for(let f of rmFiles) {
+  try {
+    fs.rmSync(path.resolve(__dirname, "../dist", f), { recursive: true })
+  } catch (e) {
+  }
+}