Archived
Compare commits
4
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2af033f845 | ||
|
|
a4d79c3640 | ||
|
|
370e5757f0 | ||
|
|
4e42ef79e2 |
No files matched your search
+8
-7
@@ -25,17 +25,18 @@ type: kubernetes
|
||||
name: build:tag
|
||||
|
||||
steps:
|
||||
- name: run electron packager
|
||||
- name: run packager
|
||||
depends_on: ["clone"]
|
||||
image: registry.odit.services/hub/library/node:19.9.0-alpine3.16
|
||||
image: node:19.8.1.0-alpine3.17
|
||||
commands:
|
||||
- apk add git zip -f
|
||||
- yarn
|
||||
- yarn build
|
||||
- npm i -g pnpm
|
||||
- pnpm i
|
||||
- pnpm build
|
||||
- mkdir dist
|
||||
- zip -r dist/@lfk-scanclient-electron-linux-x64.zip out/@lfk-scanclient-electron-linux-x64
|
||||
- zip -r dist/@lfkscan-linux-x64.zip dist/@lfkscan-linux_x64
|
||||
- name: gitea_release
|
||||
depends_on: ["run electron packager"]
|
||||
depends_on: ["run packager"]
|
||||
image: plugins/gitea-release
|
||||
settings:
|
||||
title: Release ${DRONE_TAG}
|
||||
@@ -68,7 +69,7 @@ name: prepare:tag
|
||||
|
||||
steps:
|
||||
- name: bump package version
|
||||
image: registry.odit.services/hub/library/node:19.9.0-alpine3.16
|
||||
image: node:alpine
|
||||
commands:
|
||||
- npm --no-git-tag-version version ${SOURCE_TAG}
|
||||
- name: push new version to repo
|
||||
|
||||
+7
-174
@@ -1,175 +1,8 @@
|
||||
# ---> Node
|
||||
# Logs
|
||||
logs
|
||||
/bin
|
||||
/dist
|
||||
node_modules
|
||||
.storage
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
lerna-debug.log*
|
||||
|
||||
# Diagnostic reports (https://nodejs.org/api/report.html)
|
||||
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
|
||||
|
||||
# Runtime data
|
||||
pids
|
||||
*.pid
|
||||
*.seed
|
||||
*.pid.lock
|
||||
|
||||
# Directory for instrumented libs generated by jscoverage/JSCover
|
||||
lib-cov
|
||||
|
||||
# Coverage directory used by tools like istanbul
|
||||
coverage
|
||||
*.lcov
|
||||
|
||||
# nyc test coverage
|
||||
.nyc_output
|
||||
|
||||
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
|
||||
.grunt
|
||||
|
||||
# Bower dependency directory (https://bower.io/)
|
||||
bower_components
|
||||
|
||||
# node-waf configuration
|
||||
.lock-wscript
|
||||
|
||||
# Compiled binary addons (https://nodejs.org/api/addons.html)
|
||||
build/Release
|
||||
|
||||
# Dependency directories
|
||||
node_modules/
|
||||
jspm_packages/
|
||||
|
||||
# Snowpack dependency directory (https://snowpack.dev/)
|
||||
web_modules/
|
||||
|
||||
# TypeScript cache
|
||||
*.tsbuildinfo
|
||||
|
||||
# Optional npm cache directory
|
||||
.npm
|
||||
|
||||
# Optional eslint cache
|
||||
.eslintcache
|
||||
|
||||
# Microbundle cache
|
||||
.rpt2_cache/
|
||||
.rts2_cache_cjs/
|
||||
.rts2_cache_es/
|
||||
.rts2_cache_umd/
|
||||
|
||||
# Optional REPL history
|
||||
.node_repl_history
|
||||
|
||||
# Output of 'npm pack'
|
||||
*.tgz
|
||||
|
||||
# Yarn Integrity file
|
||||
.yarn-integrity
|
||||
|
||||
# dotenv environment variables file
|
||||
.env
|
||||
.env.test
|
||||
|
||||
# parcel-bundler cache (https://parceljs.org/)
|
||||
.cache
|
||||
.parcel-cache
|
||||
|
||||
# Next.js build output
|
||||
.next
|
||||
out
|
||||
|
||||
# Nuxt.js build / generate output
|
||||
.nuxt
|
||||
dist
|
||||
|
||||
# Gatsby files
|
||||
.cache/
|
||||
# Comment in the public line in if your project uses Gatsby and not Next.js
|
||||
# https://nextjs.org/blog/next-9-1#public-directory-support
|
||||
# public
|
||||
|
||||
# vuepress build output
|
||||
.vuepress/dist
|
||||
|
||||
# Serverless directories
|
||||
.serverless/
|
||||
|
||||
# FuseBox cache
|
||||
.fusebox/
|
||||
|
||||
# DynamoDB Local files
|
||||
.dynamodb/
|
||||
|
||||
# TernJS port file
|
||||
.tern-port
|
||||
|
||||
# Stores VSCode versions used for testing VSCode extensions
|
||||
.vscode-test
|
||||
|
||||
# yarn v2
|
||||
.yarn/cache
|
||||
.yarn/unplugged
|
||||
.yarn/build-state.yml
|
||||
.yarn/install-state.gz
|
||||
.pnp.*
|
||||
|
||||
# ---> Windows
|
||||
# Windows thumbnail cache files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
|
||||
# Dump file
|
||||
*.stackdump
|
||||
|
||||
# Folder config file
|
||||
[Dd]esktop.ini
|
||||
|
||||
# Recycle Bin used on file shares
|
||||
$RECYCLE.BIN/
|
||||
|
||||
# Windows Installer files
|
||||
*.cab
|
||||
*.msi
|
||||
*.msix
|
||||
*.msm
|
||||
*.msp
|
||||
|
||||
# Windows shortcuts
|
||||
*.lnk
|
||||
|
||||
# ---> macOS
|
||||
# General
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Icon must end with two \r
|
||||
Icon
|
||||
|
||||
|
||||
# Thumbnails
|
||||
._*
|
||||
|
||||
# Files that might appear in the root of a volume
|
||||
.DocumentRevisions-V100
|
||||
.fseventsd
|
||||
.Spotlight-V100
|
||||
.TemporaryItems
|
||||
.Trashes
|
||||
.VolumeIcon.icns
|
||||
.com.apple.timemachine.donotpresent
|
||||
|
||||
# Directories potentially created on remote AFP share
|
||||
.AppleDB
|
||||
.AppleDesktop
|
||||
Network Trash Folder
|
||||
Temporary Items
|
||||
.apdisk
|
||||
|
||||
app.zip
|
||||
/appcode
|
||||
.tmp
|
||||
appcode.zip
|
||||
appcode
|
||||
@@ -1,19 +0,0 @@
|
||||
# scanclient-electron
|
||||
|
||||
electron packaged scanclient
|
||||
|
||||
## Package
|
||||
> Automagicly discovers your os and selects the right packager
|
||||
|
||||
```
|
||||
pnpm i
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## Bundle as MSI
|
||||
> You need to install the [WiX MSI Buildtools](https://wixtoolset.org/docs/wix3/) first
|
||||
|
||||
```
|
||||
pnpm i
|
||||
pnpm build:msi
|
||||
```
|
||||
@@ -0,0 +1,3 @@
|
||||
const fs = require('fs');
|
||||
|
||||
fs.copyFileSync("./neutralino.js", "./appcode/dist/neutralino.js");
|
||||
+16
-10
@@ -1,14 +1,20 @@
|
||||
const axios = require('axios').default;
|
||||
const unzip = require('unzip-stream');
|
||||
const fs = require('fs');
|
||||
const download = require('download');
|
||||
//
|
||||
(async function () {
|
||||
const releaseInfo = await (await fetch("https://git.odit.services/api/v1/repos/lfk/scanclient/releases")).json();
|
||||
if (releaseInfo.length > 0) {
|
||||
const download_file = releaseInfo[0].assets.find((a) => a.name === 'dist.zip').browser_download_url;
|
||||
//
|
||||
const { Readable } = require('stream');
|
||||
const { finished } = require('stream/promises');
|
||||
|
||||
axios.get('https://git.odit.services/api/v1/repos/lfk/scanclient/releases').then(({ data }) => {
|
||||
(async () => {
|
||||
const download_file = data[0].assets.find((a) => a.name === 'dist.zip').browser_download_url;
|
||||
fs.writeFileSync('app.zip', await download(download_file));
|
||||
fs.createReadStream('app.zip').pipe(unzip.Parse()).on('entry', () => {
|
||||
fs.createReadStream('app.zip').pipe(unzip.Extract({ path: './appcode/' }));
|
||||
const stream = fs.createWriteStream('./appcode.zip');
|
||||
const { body } = await fetch(download_file);
|
||||
await finished(Readable.fromWeb(body).pipe(stream));
|
||||
//
|
||||
fs.createReadStream('appcode.zip').pipe(unzip.Parse()).on('entry', () => {
|
||||
fs.createReadStream('appcode.zip').pipe(unzip.Extract({ path: './appcode/' }));
|
||||
});
|
||||
})();
|
||||
});
|
||||
}
|
||||
})()
|
||||
BIN
Binary file not shown.
|
Before Width: | Height: | Size: 112 KiB |
@@ -1,39 +0,0 @@
|
||||
const { app, BrowserWindow } = require('electron');
|
||||
const path = require('path');
|
||||
|
||||
function createWindow() {
|
||||
const mainWindow = new BrowserWindow({
|
||||
width: 800,
|
||||
height: 600,
|
||||
fullscreen: true
|
||||
// webPreferences: {
|
||||
// preload: path.join(__dirname, 'preload.js')
|
||||
// }
|
||||
});
|
||||
mainWindow.loadFile('appcode/dist/index.html');
|
||||
// mainWindow.removeMenu();
|
||||
// mainWindow.webContents.openDevTools()
|
||||
}
|
||||
|
||||
// This method will be called when Electron has finished
|
||||
// initialization and is ready to create browser windows.
|
||||
// Some APIs can only be used after this event occurs.
|
||||
app.whenReady().then(() => {
|
||||
createWindow();
|
||||
|
||||
app.on('activate', function() {
|
||||
// On macOS it's common to re-create a window in the app when the
|
||||
// dock icon is clicked and there are no other windows open.
|
||||
if (BrowserWindow.getAllWindows().length === 0) createWindow();
|
||||
});
|
||||
});
|
||||
|
||||
// Quit when all windows are closed, except on macOS. There, it's common
|
||||
// for applications and their menu bar to stay active until the user quits
|
||||
// explicitly with Cmd + Q.
|
||||
app.on('window-all-closed', function() {
|
||||
if (process.platform !== 'darwin') app.quit();
|
||||
});
|
||||
|
||||
// In this file you can include the rest of your app's specific main process
|
||||
// code. You can also put them in separate files and require them here.
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/neutralinojs/neutralinojs/main/schemas/neutralino.config.schema.json",
|
||||
"applicationId": "lfk.odit.services",
|
||||
"version": "1.0.0",
|
||||
"defaultMode": "window",
|
||||
"port": 0,
|
||||
"documentRoot": "/appcode/dist/",
|
||||
"url": "/",
|
||||
"enableServer": true,
|
||||
"enableNativeAPI": true,
|
||||
"tokenSecurity": "one-time",
|
||||
"logging": {
|
||||
"enabled": true,
|
||||
"writeToLogFile": true
|
||||
},
|
||||
"nativeAllowList": [
|
||||
"app.*",
|
||||
"os.*",
|
||||
"debug.log"
|
||||
],
|
||||
"modes": {
|
||||
"window": {
|
||||
"title": "LfK!Scan",
|
||||
"width": 800,
|
||||
"height": 500,
|
||||
"minWidth": 400,
|
||||
"minHeight": 400,
|
||||
"fullScreen": true,
|
||||
"alwaysOnTop": false,
|
||||
"icon": "/appcode/dist/favicon.png",
|
||||
"enableInspector": false,
|
||||
"borderless": false,
|
||||
"maximize": true,
|
||||
"hidden": false,
|
||||
"resizable": true,
|
||||
"exitProcessOnClose": true
|
||||
},
|
||||
"browser": {
|
||||
"globalVariables": {
|
||||
"TEST": "Test value browser"
|
||||
},
|
||||
"nativeBlockList": [
|
||||
"filesystem.*"
|
||||
]
|
||||
},
|
||||
"chrome": {
|
||||
"width": 800,
|
||||
"height": 500,
|
||||
"args": "--user-agent=\"Neutralinojs chrome mode\"",
|
||||
"nativeBlockList": [
|
||||
"filesystem.*",
|
||||
"os.*"
|
||||
]
|
||||
}
|
||||
},
|
||||
"cli": {
|
||||
"binaryName": "lfkscan",
|
||||
"resourcesPath": "/appcode/",
|
||||
"extensionsPath": "/extensions/",
|
||||
"clientLibrary": "/appcode/dist/neutralino.js",
|
||||
"binaryVersion": "4.10.0",
|
||||
"clientVersion": "3.8.2"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
var Neutralino=function(e){"use strict";function t(e,t,n,o){return new(n||(n=Promise))((function(i,r){function s(e){try{u(o.next(e))}catch(e){r(e)}}function a(e){try{u(o.throw(e))}catch(e){r(e)}}function u(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(s,a)}u((o=o.apply(e,t||[])).next())}))}function n(){return l("extensions.getStats")}var o={__proto__:null,dispatch:function(e,o,i){return new Promise(((r,s)=>t(this,void 0,void 0,(function*(){let t=yield n();if(t.loaded.includes(e))if(t.connected.includes(e))try{let t=yield l("extensions.dispatch",{extensionId:e,event:o,data:i});r(t)}catch(e){s(e)}else!function(e,t){e in c?c[e].push(t):c[e]=[t]}(e,{method:"extensions.dispatch",data:{extensionId:e,event:o,data:i},resolve:r,reject:s});else s({code:"NE_EX_EXTNOTL",message:`${e} is not loaded`})}))))},broadcast:function(e,t){return l("extensions.broadcast",{event:e,data:t})},getStats:n};function i(e,t){return window.addEventListener(e,t),Promise.resolve({success:!0,message:"Event listener added"})}function r(e,t){let n=new CustomEvent(e,{detail:t});return window.dispatchEvent(n),Promise.resolve({success:!0,message:"Message dispatched"})}let s,a={},u=[],c={};function d(){window.NL_TOKEN&&sessionStorage.setItem("NL_TOKEN",window.NL_TOKEN),s=new WebSocket(`ws://${window.location.hostname}:${window.NL_PORT}`),function(){if(i("ready",(()=>t(this,void 0,void 0,(function*(){if(yield f(u),!window.NL_EXTENABLED)return;let e=yield n();for(let t of e.connected)r("extensionReady",t)})))),i("extClientConnect",(e=>{r("extensionReady",e.detail)})),!window.NL_EXTENABLED)return;i("extensionReady",(e=>t(this,void 0,void 0,(function*(){e.detail in c&&(yield f(c[e.detail]),delete c[e.detail])}))))}(),function(){s.addEventListener("message",(e=>{var t,n;const o=JSON.parse(e.data);o.id&&o.id in a?((null===(t=o.data)||void 0===t?void 0:t.error)?(a[o.id].reject(o.data.error),"NE_RT_INVTOKN"==o.data.error.code&&(s.close(),document.body.innerText="",document.write("<code>NE_RT_INVTOKN</code>: Neutralinojs application configuration prevents accepting native calls from this client."))):(null===(n=o.data)||void 0===n?void 0:n.success)&&a[o.id].resolve(o.data.hasOwnProperty("returnValue")?o.data.returnValue:o.data),delete a[o.id]):o.event&&r(o.event,o.data)})),s.addEventListener("open",(e=>t(this,void 0,void 0,(function*(){r("ready")})))),s.addEventListener("close",(e=>t(this,void 0,void 0,(function*(){r("serverOffline",{code:"NE_CL_NSEROFF",message:"Neutralino server is offline. Try restarting the application"})}))))}()}function l(e,t){return new Promise(((n,o)=>{if((null==s?void 0:s.readyState)!=WebSocket.OPEN)return i={method:e,data:t,resolve:n,reject:o},void u.push(i);var i;const r="10000000-1000-4000-8000-100000000000".replace(/[018]/g,(e=>(e^crypto.getRandomValues(new Uint8Array(1))[0]&15>>e/4).toString(16))),c=window.NL_TOKEN||sessionStorage.getItem("NL_TOKEN")||"";a[r]={resolve:n,reject:o},s.send(JSON.stringify({id:r,method:e,data:t,accessToken:c}))}))}function f(e){return t(this,void 0,void 0,(function*(){for(;e.length>0;){let t=e.shift();try{let e=yield l(t.method,t.data);t.resolve(e)}catch(e){t.reject(e)}}}))}function p(e,t){return l("filesystem.writeBinaryFile",{path:e,data:g(t)})}function g(e){let t=new Uint8Array(e),n="";for(let e of t)n+=String.fromCharCode(e);return window.btoa(n)}var w,m,v={__proto__:null,createDirectory:function(e){return l("filesystem.createDirectory",{path:e})},removeDirectory:function(e){return l("filesystem.removeDirectory",{path:e})},writeFile:function(e,t){return l("filesystem.writeFile",{path:e,data:t})},appendFile:function(e,t){return l("filesystem.appendFile",{path:e,data:t})},writeBinaryFile:p,appendBinaryFile:function(e,t){return l("filesystem.appendBinaryFile",{path:e,data:g(t)})},readFile:function(e,t){return l("filesystem.readFile",Object.assign({path:e},t))},readBinaryFile:function(e,t){return new Promise(((n,o)=>{l("filesystem.readBinaryFile",Object.assign({path:e},t)).then((e=>{let t=window.atob(e),o=t.length,i=new Uint8Array(o);for(let e=0;e<o;e++)i[e]=t.charCodeAt(e);n(i.buffer)})).catch((e=>{o(e)}))}))},openFile:function(e){return l("filesystem.openFile",{path:e})},updateOpenedFile:function(e,t,n){return l("filesystem.updateOpenedFile",{id:e,event:t,data:n})},getOpenedFileInfo:function(e){return l("filesystem.getOpenedFileInfo",{id:e})},removeFile:function(e){return l("filesystem.removeFile",{path:e})},readDirectory:function(e){return l("filesystem.readDirectory",{path:e})},copyFile:function(e,t){return l("filesystem.copyFile",{source:e,destination:t})},moveFile:function(e,t){return l("filesystem.moveFile",{source:e,destination:t})},getStats:function(e){return l("filesystem.getStats",{path:e})}};function _(e,t){return l("os.execCommand",Object.assign({command:e},t))}!function(e){e.WARNING="WARNING",e.ERROR="ERROR",e.INFO="INFO",e.QUESTION="QUESTION"}(w||(w={})),function(e){e.OK="OK",e.OK_CANCEL="OK_CANCEL",e.YES_NO="YES_NO",e.YES_NO_CANCEL="YES_NOLine truncated
|
||||
+5
-55
@@ -1,63 +1,13 @@
|
||||
{
|
||||
"name": "@lfk/scanclient-electron",
|
||||
"version": "1.0.0",
|
||||
"description": "minimal electron application",
|
||||
"version": "0.2.0",
|
||||
"description": "minimal packaged lfkscan application",
|
||||
"main": "main.js",
|
||||
"scripts": {
|
||||
"download": "node download.js",
|
||||
"build:msi": "node download.js && electron-forge make",
|
||||
"build": "yarn download && yarn electron-forge package",
|
||||
"electron:start": "electron-forge start"
|
||||
"build": "neu update && node download.js && node build--neutralino.js && neu build"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@electron-forge/cli": "^6.0.0-beta.54",
|
||||
"@electron-forge/maker-deb": "^6.0.0-beta.54",
|
||||
"@electron-forge/maker-rpm": "^6.0.0-beta.54",
|
||||
"@electron-forge/maker-squirrel": "^6.0.0-beta.54",
|
||||
"@electron-forge/maker-wix": "^6.0.5",
|
||||
"@electron-forge/maker-zip": "^6.0.0-beta.54",
|
||||
"@taraus-he/tdunzip": "^1.0.4",
|
||||
"axios": "^0.21.1",
|
||||
"download": "^8.0.0",
|
||||
"electron-nightly": "14.0.0-nightly.20210319",
|
||||
"extract-zip": "^2.0.1",
|
||||
"js-file-downloader": "^1.1.16",
|
||||
"@neutralinojs/neu": "^9.5.0",
|
||||
"unzip-stream": "^0.3.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"electron-squirrel-startup": "1.0.0"
|
||||
},
|
||||
"config": {
|
||||
"forge": {
|
||||
"packagerConfig": {},
|
||||
"makers": [
|
||||
{
|
||||
"name": "@electron-forge/maker-zip",
|
||||
"platforms": [
|
||||
"darwin"
|
||||
],
|
||||
"config": {
|
||||
"name": "lfk__scanclient"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-wix",
|
||||
"config": {
|
||||
"manufacturer": "ODIT.Services",
|
||||
"shortname": "LfKScan",
|
||||
"name": "LfKScan",
|
||||
"icon": "./favicon.ico"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-deb",
|
||||
"config": {}
|
||||
},
|
||||
{
|
||||
"name": "@electron-forge/maker-rpm",
|
||||
"config": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+315
-3289
File diff suppressed because it is too large.
Load diff
@@ -1,92 +0,0 @@
|
||||
{
|
||||
"id": 112,
|
||||
"tag_name": "0.1.1",
|
||||
"target_commitish": "main",
|
||||
"name": "0.1.1",
|
||||
"body": "Husky 🐶\r\nCI build",
|
||||
"url": "https://git.odit.services/api/v1/repos/lfk/scanclient/releases/112",
|
||||
"html_url": "https://git.odit.services/lfk/scanclient/releases/tag/0.1.1",
|
||||
"tarball_url": "https://git.odit.services/lfk/scanclient/archive/0.1.1.tar.gz",
|
||||
"zipball_url": "https://git.odit.services/lfk/scanclient/archive/0.1.1.zip",
|
||||
"draft": false,
|
||||
"prerelease": false,
|
||||
"created_at": "2021-03-19T17:51:46Z",
|
||||
"published_at": "2021-03-19T17:51:46Z",
|
||||
"author": {
|
||||
"id": 2,
|
||||
"login": "philipp",
|
||||
"full_name": "Philipp Dormann",
|
||||
"email": "philipp@philippdormann.de",
|
||||
"avatar_url": "https://git.odit.services/user/avatar/philipp/-1",
|
||||
"language": "en-US",
|
||||
"is_admin": true,
|
||||
"last_login": "2021-03-17T15:29:38Z",
|
||||
"created": "2020-10-30T14:18:23Z",
|
||||
"username": "philipp"
|
||||
},
|
||||
"assets": [
|
||||
{
|
||||
"id": 52,
|
||||
"name": "sha512sum.txt",
|
||||
"size": 143,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:11Z",
|
||||
"uuid": "acda3b63-6b2b-40f3-89d1-8cf2b255b18d",
|
||||
"browser_download_url": "https://git.odit.services/attachments/acda3b63-6b2b-40f3-89d1-8cf2b255b18d"
|
||||
},
|
||||
{
|
||||
"id": 51,
|
||||
"name": "dist.zip",
|
||||
"size": 99014,
|
||||
"download_count": 1,
|
||||
"created_at": "2021-03-19T17:52:11Z",
|
||||
"uuid": "4b00c80a-ac17-4ad7-a5ba-5aed2e24b29a",
|
||||
"browser_download_url": "https://git.odit.services/attachments/4b00c80a-ac17-4ad7-a5ba-5aed2e24b29a"
|
||||
},
|
||||
{
|
||||
"id": 53,
|
||||
"name": "adler32sum.txt",
|
||||
"size": 25,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:11Z",
|
||||
"uuid": "a6183b19-71fc-485c-81f1-819d356f7526",
|
||||
"browser_download_url": "https://git.odit.services/attachments/a6183b19-71fc-485c-81f1-819d356f7526"
|
||||
},
|
||||
{
|
||||
"id": 54,
|
||||
"name": "crc32sum.txt",
|
||||
"size": 24,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:11Z",
|
||||
"uuid": "f39318ed-f92a-4fac-b5df-468cafd2df2f",
|
||||
"browser_download_url": "https://git.odit.services/attachments/f39318ed-f92a-4fac-b5df-468cafd2df2f"
|
||||
},
|
||||
{
|
||||
"id": 55,
|
||||
"name": "md5sum.txt",
|
||||
"size": 47,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:11Z",
|
||||
"uuid": "88601f1d-647a-40cc-ae44-55105eafa2f1",
|
||||
"browser_download_url": "https://git.odit.services/attachments/88601f1d-647a-40cc-ae44-55105eafa2f1"
|
||||
},
|
||||
{
|
||||
"id": 56,
|
||||
"name": "sha1sum.txt",
|
||||
"size": 55,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:12Z",
|
||||
"uuid": "04b67d7c-10f5-4e13-a11a-015eddf4591e",
|
||||
"browser_download_url": "https://git.odit.services/attachments/04b67d7c-10f5-4e13-a11a-015eddf4591e"
|
||||
},
|
||||
{
|
||||
"id": 57,
|
||||
"name": "sha256sum.txt",
|
||||
"size": 79,
|
||||
"download_count": 0,
|
||||
"created_at": "2021-03-19T17:52:12Z",
|
||||
"uuid": "77252928-127c-4cb6-b69c-956c5b8c0708",
|
||||
"browser_download_url": "https://git.odit.services/attachments/77252928-127c-4cb6-b69c-956c5b8c0708"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user