diff --git a/.drone.yml b/.drone.yml index 35d549b..ea1b965 100644 --- a/.drone.yml +++ b/.drone.yml @@ -24,4 +24,25 @@ steps: - '& "C:\Program Files\Git\mingw64\bin\curl.exe" --user $${env:GITEA_USER}:$${env:GITEA_TOKEN} --upload-file receiver/target/x86_64-pc-windows-msvc/release/receiver.exe https://itsblue.dev/api/packages/dorian/generic/ok-ready-go/$${env:DRONE_COMMIT_SHA}/receiver-windows.exe' trigger: branch: - - main \ No newline at end of file + - main + +--- + +kind: pipeline +name: default +steps: +- name: build-crypto-helper-web + image: itsblue.dev/plugins/wasm-pack:0.0.1 + commands: + - cd crypto_helper + - wasm-pack build --target web + - mkdir -p ../web/lib + - cp pkg/crypto_helper_bg.wasm ../web/lib + - cp pkg/crypto_helper.js ../web/lib + +- name: publish + image: itsblue.dev/plugins/codeberg-pages-deploy + settings: + folder: public + ssh_key: + from_secret: gitea-ssh-key \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..131ea5f --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +web/lib diff --git a/web/lib/crypto_helper.js b/web/lib/crypto_helper.js deleted file mode 100644 index 789d119..0000000 --- a/web/lib/crypto_helper.js +++ /dev/null @@ -1,280 +0,0 @@ -let wasm_bindgen; -(function() { - const __exports = {}; - let script_src; - if (typeof document === 'undefined') { - script_src = location.href; - } else { - script_src = new URL(document.currentScript.src, location.href).toString(); - } - let wasm; - - const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); - - cachedTextDecoder.decode(); - - let cachedUint8Memory0 = null; - - function getUint8Memory0() { - if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) { - cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer); - } - return cachedUint8Memory0; - } - - function getStringFromWasm0(ptr, len) { - return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); - } - - let WASM_VECTOR_LEN = 0; - - const cachedTextEncoder = new TextEncoder('utf-8'); - - const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' - ? function (arg, view) { - return cachedTextEncoder.encodeInto(arg, view); - } - : function (arg, view) { - const buf = cachedTextEncoder.encode(arg); - view.set(buf); - return { - read: arg.length, - written: buf.length - }; - }); - - function passStringToWasm0(arg, malloc, realloc) { - - if (realloc === undefined) { - const buf = cachedTextEncoder.encode(arg); - const ptr = malloc(buf.length); - getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); - WASM_VECTOR_LEN = buf.length; - return ptr; - } - - let len = arg.length; - let ptr = malloc(len); - - const mem = getUint8Memory0(); - - let offset = 0; - - for (; offset < len; offset++) { - const code = arg.charCodeAt(offset); - if (code > 0x7F) break; - mem[ptr + offset] = code; - } - - if (offset !== len) { - if (offset !== 0) { - arg = arg.slice(offset); - } - ptr = realloc(ptr, len, len = offset + arg.length * 3); - const view = getUint8Memory0().subarray(ptr + offset, ptr + len); - const ret = encodeString(arg, view); - - offset += ret.written; - } - - WASM_VECTOR_LEN = offset; - return ptr; - } - - let cachedInt32Memory0 = null; - - function getInt32Memory0() { - if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) { - cachedInt32Memory0 = new Int32Array(wasm.memory.buffer); - } - return cachedInt32Memory0; - } - /** - */ - __exports.greet = function() { - wasm.greet(); - }; - - /** - */ - class Crypto { - - static __wrap(ptr) { - const obj = Object.create(Crypto.prototype); - obj.ptr = ptr; - - return obj; - } - - __destroy_into_raw() { - const ptr = this.ptr; - this.ptr = 0; - - return ptr; - } - - free() { - const ptr = this.__destroy_into_raw(); - wasm.__wbg_crypto_free(ptr); - } - /** - * @param {string} password - * @param {string} salt - */ - constructor(password, salt) { - const ptr0 = passStringToWasm0(password, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - const ptr1 = passStringToWasm0(salt, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len1 = WASM_VECTOR_LEN; - const ret = wasm.crypto_new(ptr0, len0, ptr1, len1); - return Crypto.__wrap(ret); - } - /** - * @param {string} input - * @returns {string} - */ - static sha256(input) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(input, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.crypto_sha256(retptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); - } - } - /** - * @param {string} plaintext - * @returns {string} - */ - encrypt(plaintext) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(plaintext, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.crypto_encrypt(retptr, this.ptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); - } - } - /** - * @param {string} ciphertext - * @returns {string} - */ - decrypt(ciphertext) { - try { - const retptr = wasm.__wbindgen_add_to_stack_pointer(-16); - const ptr0 = passStringToWasm0(ciphertext, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); - const len0 = WASM_VECTOR_LEN; - wasm.crypto_decrypt(retptr, this.ptr, ptr0, len0); - var r0 = getInt32Memory0()[retptr / 4 + 0]; - var r1 = getInt32Memory0()[retptr / 4 + 1]; - return getStringFromWasm0(r0, r1); - } finally { - wasm.__wbindgen_add_to_stack_pointer(16); - wasm.__wbindgen_free(r0, r1); - } - } - } - __exports.Crypto = Crypto; - - async function load(module, imports) { - if (typeof Response === 'function' && module instanceof Response) { - if (typeof WebAssembly.instantiateStreaming === 'function') { - try { - return await WebAssembly.instantiateStreaming(module, imports); - - } catch (e) { - if (module.headers.get('Content-Type') != 'application/wasm') { - console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); - - } else { - throw e; - } - } - } - - const bytes = await module.arrayBuffer(); - return await WebAssembly.instantiate(bytes, imports); - - } else { - const instance = await WebAssembly.instantiate(module, imports); - - if (instance instanceof WebAssembly.Instance) { - return { instance, module }; - - } else { - return instance; - } - } - } - - function getImports() { - const imports = {}; - imports.wbg = {}; - imports.wbg.__wbg_alert_0cc0cb8b17d72dde = function(arg0, arg1) { - alert(getStringFromWasm0(arg0, arg1)); - }; - imports.wbg.__wbindgen_throw = function(arg0, arg1) { - throw new Error(getStringFromWasm0(arg0, arg1)); - }; - - return imports; - } - - function initMemory(imports, maybe_memory) { - - } - - function finalizeInit(instance, module) { - wasm = instance.exports; - init.__wbindgen_wasm_module = module; - cachedInt32Memory0 = null; - cachedUint8Memory0 = null; - - - return wasm; - } - - function initSync(module) { - const imports = getImports(); - - initMemory(imports); - - if (!(module instanceof WebAssembly.Module)) { - module = new WebAssembly.Module(module); - } - - const instance = new WebAssembly.Instance(module, imports); - - return finalizeInit(instance, module); - } - - async function init(input) { - if (typeof input === 'undefined') { - input = script_src.replace(/\.js$/, '_bg.wasm'); - } - const imports = getImports(); - - if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { - input = fetch(input); - } - - initMemory(imports); - - const { instance, module } = await load(await input, imports); - - return finalizeInit(instance, module); - } - - wasm_bindgen = Object.assign(init, { initSync }, __exports); - -})(); diff --git a/web/lib/crypto_helper_bg.wasm b/web/lib/crypto_helper_bg.wasm deleted file mode 100644 index baf2cec..0000000 Binary files a/web/lib/crypto_helper_bg.wasm and /dev/null differ