mirror of
https://github.com/gnh1201/welsonjs.git
synced 2025-06-08 22:29:02 +00:00
Merge pull request #269 from gnh1201/dev
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
Some checks are pending
CodeQL / Analyze (javascript) (push) Waiting to run
Update license headers, contact email, and fix broken files
This commit is contained in:
commit
3e4bf1d1ed
|
@ -41,7 +41,7 @@ deploy:
|
||||||
notifications:
|
notifications:
|
||||||
- provider: Email
|
- provider: Email
|
||||||
to:
|
to:
|
||||||
- abuse@catswords.net
|
- gnh1201@catswords.re.kr
|
||||||
subject: 'Build #{{build}} {{status}}'
|
subject: 'Build #{{build}} {{status}}'
|
||||||
on_build_success: false
|
on_build_success: false
|
||||||
on_build_failure: true
|
on_build_failure: true
|
||||||
|
|
|
@ -90,7 +90,7 @@ function say() {
|
||||||
exports.say = say;
|
exports.say = say;
|
||||||
|
|
||||||
exports.VERSIONINFO = "SayHello (sayhello.js) version 0.1";
|
exports.VERSIONINFO = "SayHello (sayhello.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
```
|
```
|
||||||
|
|
2
app.hta
2
app.hta
|
@ -51,7 +51,7 @@
|
||||||
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
|
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
|
||||||
<meta name="description" content="WelsonJS, Build a Windows app on the Windows built-in JavaScript engine" />
|
<meta name="description" content="WelsonJS, Build a Windows app on the Windows built-in JavaScript engine" />
|
||||||
<meta name="keywords" content="webapp" />
|
<meta name="keywords" content="webapp" />
|
||||||
<meta name="author" content="abuse@catswords.net" />
|
<meta name="author" content="gnh1201@catswords.re.kr" />
|
||||||
<meta name="generator" content="welsonjs" />
|
<meta name="generator" content="welsonjs" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<link type="image/x-icon" rel="icon" href="app/favicon.ico" />
|
<link type="image/x-icon" rel="icon" href="app/favicon.ico" />
|
||||||
|
|
4
app.js
4
app.js
|
@ -1,6 +1,6 @@
|
||||||
// app.js
|
// app.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// SPDX-License-Identifier: GPL-3.0-or-later
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// SPDX-FileCopyrightText: 2025 Catswords OSS and WelsonJS Contributors
|
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
|
||||||
// Bootstrap code for running a javascript app in windows. Run as:
|
// Bootstrap code for running a javascript app in windows. Run as:
|
||||||
|
@ -693,7 +693,7 @@ function __main__() {
|
||||||
console.log(" WelsonJS - Build a Windows app on the Windows built-in JavaScript engine");
|
console.log(" WelsonJS - Build a Windows app on the Windows built-in JavaScript engine");
|
||||||
console.log(" C-2021-000237 (cros.or.kr), 10.5281/zenodo.11382385 (doi.org), 2023-A0562 (oss.kr), Codename Macadamia");
|
console.log(" C-2021-000237 (cros.or.kr), 10.5281/zenodo.11382385 (doi.org), 2023-A0562 (oss.kr), Codename Macadamia");
|
||||||
console.log(" This software is distributed as open source under the GPL 3.0 or MS-RL licenses.");
|
console.log(" This software is distributed as open source under the GPL 3.0 or MS-RL licenses.");
|
||||||
console.log(" Please support this project: https://gnh1201.link");
|
console.log(" Please support this project: https://github.com/sponsors/gnh1201");
|
||||||
console.log(" Source code available: https://github.com/gnh1201/welsonjs");
|
console.log(" Source code available: https://github.com/gnh1201/welsonjs");
|
||||||
console.log("");
|
console.log("");
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
# WelsonJS-WebRequest.ps1
|
# WelsonJS-WebRequest.ps1
|
||||||
# Namhyeon Go <abuse@catswords.net>
|
# Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
# https://github.com/gnh1201/welsonjs
|
# https://github.com/gnh1201/welsonjs
|
||||||
param(
|
param(
|
||||||
[string]$url,
|
[string]$url,
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
// index.js - The entrypoint on WelsonJS GUI envionment
|
// index.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// The entrypoint on WelsonJS GUI envionment
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var Browser = require("lib/browser");
|
var Browser = require("lib/browser");
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
// bgloader.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
if (!Array.prototype.map) {
|
if (!Array.prototype.map) {
|
||||||
Array.prototype.map = function(fn) {
|
Array.prototype.map = function(fn) {
|
||||||
var rv = [];
|
var rv = [];
|
||||||
|
|
9
bootstrap.js
vendored
9
bootstrap.js
vendored
|
@ -1,9 +1,8 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// bootstrap.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// bootstrap.js
|
|
||||||
//
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
var STD = require("lib/std");
|
var STD = require("lib/std");
|
||||||
var PS = require("lib/powershell");
|
var PS = require("lib/powershell");
|
||||||
var REG = require("lib/registry");
|
var REG = require("lib/registry");
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"welsonjs": "0.2.7"
|
"welsonjs": "0.2.7"
|
||||||
},
|
},
|
||||||
"authors": [
|
"authors": [
|
||||||
"Namhyeon Go <abuse@catswords.net>"
|
"Namhyeon Go <gnh1201@catswords.re.kr>"
|
||||||
],
|
],
|
||||||
"references": [
|
"references": [
|
||||||
"https://github.com/gnh1201/welsonjs",
|
"https://github.com/gnh1201/welsonjs",
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
"welsonjs": "0.2.7"
|
"welsonjs": "0.2.7"
|
||||||
},
|
},
|
||||||
"authors": [
|
"authors": [
|
||||||
"Namhyeon Go <abuse@catswords.net>"
|
"Namhyeon Go <gnh1201@catswords.re.kr>"
|
||||||
],
|
],
|
||||||
"references": [
|
"references": [
|
||||||
"https://github.com/gnh1201/welsonjs",
|
"https://github.com/gnh1201/welsonjs",
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
// defaultService.example.js
|
// defaultService.example.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
// Examples of class (prototype) and instance referencing .env values
|
// Examples of class (prototype) and instance referencing .env values
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// encryptor.js
|
// encryptor.js
|
||||||
// HIGHT(ISO/IEC 18033-3) encryption and decryption tool for WelsonJS
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// HIGHT(ISO/IEC 18033-3) encryption and decryption tool for WelsonJS framework
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var Toolkit = require("lib/toolkit");
|
var Toolkit = require("lib/toolkit");
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// certchecker.js
|
// certchecker.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
var RAND = require("lib/rand");
|
var RAND = require("lib/rand");
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// virustotal.js
|
// virustotal.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
var Chrome = require("lib/chrome");
|
var Chrome = require("lib/chrome");
|
||||||
|
|
10
lib/adb.js
10
lib/adb.js
|
@ -1,6 +1,10 @@
|
||||||
// Android Debug Bridge API
|
// adb.js
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Android Debug Bridge API
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
@ -130,6 +134,6 @@ exports.createEmulator = function(binPath) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.VERSIONINFO = "Android Debug Bridge Interface (adb.js) version 0.2.2";
|
exports.VERSIONINFO = "Android Debug Bridge Interface (adb.js) version 0.2.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
// anthropic.js
|
// anthropic.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Anthropic/Claude requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// Anthropic requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - Privacy Policy: https://www.anthropic.com/legal/privacy
|
// https://www.anthropic.com/legal/privacy
|
||||||
//
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
|
@ -55,6 +56,6 @@ function chat(content) {
|
||||||
exports.chat = chat;
|
exports.chat = chat;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Anthropic (Claude) interface (anthropic.js) version 0.1.4";
|
exports.VERSIONINFO = "Anthropic (Claude) interface (anthropic.js) version 0.1.4";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// archive.js
|
// archive.js
|
||||||
// File archiver library for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
|
// File archiver library for WelsonJS framework
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
|
@ -119,6 +121,6 @@ exports.create = function(engine) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.VERSIONINFO = "File archiver library (archive.js) version 0.1-dev";
|
exports.VERSIONINFO = "File archiver library (archive.js) version 0.1-dev";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// autohotkey.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// AutoHotKey API
|
// AutoHotKey API
|
||||||
///////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
exports.VERSIONINFO = "AutoHotKey (autohotkey.js) version 0.1";
|
exports.VERSIONINFO = "AutoHotKey (autohotkey.js) version 0.1";
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// autoit.js
|
// autoit.js
|
||||||
// AutoIt (AutoIt3, AutoItX) API interface for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// AutoIt (AutoIt3, AutoItX) API interface for WelsonJS framework
|
||||||
|
//
|
||||||
function AutoItObject() {
|
function AutoItObject() {
|
||||||
this._interface = null;
|
this._interface = null;
|
||||||
|
|
||||||
|
|
|
@ -1,11 +1,12 @@
|
||||||
// aviation.js
|
// aviation.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Aviation Data Integration requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// AviationStack, SearchApi requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - AviationStack website: https://aviationstack.com/?utm_source=FirstPromoter&utm_medium=Affiliate&fpr=namhyeon71
|
// https://aviationstack.com/?utm_source=FirstPromoter&utm_medium=Affiliate&fpr=namhyeon71
|
||||||
// - SearchApi website: https://www.searchapi.io/?via=namhyeon
|
// https://www.searchapi.io/?via=namhyeon
|
||||||
//
|
//
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
var CRED = require("lib/credentials");
|
var CRED = require("lib/credentials");
|
||||||
|
@ -114,6 +115,6 @@ exports.getRoundTrip = getRoundTrip;
|
||||||
exports.getOneWay = getOneWay;
|
exports.getOneWay = getOneWay;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Aviation Data Integration (aviation.js) version 0.1.3";
|
exports.VERSIONINFO = "Aviation Data Integration (aviation.js) version 0.1.3";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// base64.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Base64 API
|
// Base64 API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
//var XML = require("lib/xml");
|
//var XML = require("lib/xml");
|
||||||
var PS = require("lib/powershell");
|
var PS = require("lib/powershell");
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// browser.js
|
// browser.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Browser Compatibility Layer
|
||||||
|
//
|
||||||
// only less than IE 9
|
// only less than IE 9
|
||||||
if (!window.addEventListener) {
|
if (!window.addEventListener) {
|
||||||
global.Element = function() {};
|
global.Element = function() {};
|
||||||
|
@ -285,6 +288,6 @@ exports.reload = reload;
|
||||||
exports.close = close;
|
exports.close = close;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Browser Compatibility Layer (browser.js) version 0.1.7";
|
exports.VERSIONINFO = "Browser Compatibility Layer (browser.js) version 0.1.7";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
// catproxy.js
|
// catproxy.js
|
||||||
// Caterpillar Proxy Integration for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Caterpillar Proxy Integration for WelsonJS framework
|
||||||
|
//
|
||||||
var JSONRPC2 = require("lib/jsonrpc2");
|
var JSONRPC2 = require("lib/jsonrpc2");
|
||||||
|
|
||||||
function CatProxyClient(url) {
|
function CatProxyClient(url) {
|
||||||
|
@ -70,6 +74,6 @@ exports.create = create;
|
||||||
exports.CatProxyClient = CatProxyClient;
|
exports.CatProxyClient = CatProxyClient;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Caterpillar Proxy Integration (caterpillar.js) version 0.1.5";
|
exports.VERSIONINFO = "Caterpillar Proxy Integration (caterpillar.js) version 0.1.5";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
// chatgpt.js
|
// chatgpt.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// ChatGPT requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// ChatGPT requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - Privacy Policy: https://openai.com/policies/row-privacy-policy/
|
// https://openai.com/policies/row-privacy-policy/
|
||||||
//
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
|
@ -53,6 +54,6 @@ function chat(content) {
|
||||||
exports.chat = chat;
|
exports.chat = chat;
|
||||||
|
|
||||||
exports.VERSIONINFO = "OpenAI (ChatGPT) interface version 0.1.2";
|
exports.VERSIONINFO = "OpenAI (ChatGPT) interface version 0.1.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// chrome.js
|
// chrome.js
|
||||||
// Chrome Web Browser Debugging Interface for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
|
// Chrome Web Browser Debugging Interface for WelsonJS framework
|
||||||
|
//
|
||||||
var STD = require("lib/std");
|
var STD = require("lib/std");
|
||||||
var RAND = require("lib/rand");
|
var RAND = require("lib/rand");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
|
@ -1,11 +1,14 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// cloudflare.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Cloudflare API
|
// Cloudflare API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
exports.VERSIONINFO = "Cloudflare Lib (cloudflare.js) version 0.1";
|
exports.VERSIONINFO = "Cloudflare(d) Integration (cloudflare.js) version 0.1";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// config.js
|
||||||
// Config API
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
////////////////////////////////////////////////////////////////////////
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var XML = require("lib/xml");
|
var XML = require("lib/xml");
|
||||||
|
|
||||||
exports.getValue = function(key) {
|
exports.getValue = function(key) {
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
// cookie.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var CookieObject = function() {
|
var CookieObject = function() {
|
||||||
this.expireDays = 90;
|
this.expireDays = 90;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
// coupang.js
|
// coupang.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
||||||
// You can download the server-side script that implements this functionality from the link below:
|
// You can download the server-side script that implements this functionality from the link below:
|
||||||
// https://github.com/gnh1201/caterpillar
|
// https://github.com/gnh1201/caterpillar
|
||||||
|
@ -27,6 +28,6 @@ function search(s) {
|
||||||
exports.search = search;
|
exports.search = search;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Coupang Product Search Client (coupang.js) version 0.1.1";
|
exports.VERSIONINFO = "Coupang Product Search Client (coupang.js) version 0.1.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// credentials.js
|
// credentials.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
@ -64,6 +65,6 @@ exports.push = push;
|
||||||
exports.get = get;
|
exports.get = get;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Credential store (credentials.js) version 0.1";
|
exports.VERSIONINFO = "Credential store (credentials.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// db.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Example Database API
|
// Example Database API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var LIB = require("lib/std");
|
var LIB = require("lib/std");
|
||||||
|
|
||||||
exports.VERSIONINFO = "Database Lib (db.js) version 1.0";
|
exports.VERSIONINFO = "Database Lib (db.js) version 1.0";
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// extramath.js
|
// extramath.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
// https://app.rdbl.io/T0AB411UHDW9/S0VLKP4HKVGC/P0TL9IQZOUFT
|
//
|
||||||
|
// Documentation: https://app.rdbl.io/T0AB411UHDW9/S0VLKP4HKVGC/P0TL9IQZOUFT
|
||||||
|
//
|
||||||
// DTM(Document-term Matrix): https://en.wikipedia.org/wiki/Document-term_matrix
|
// DTM(Document-term Matrix): https://en.wikipedia.org/wiki/Document-term_matrix
|
||||||
function DTM() {
|
function DTM() {
|
||||||
this.data = [];
|
this.data = [];
|
||||||
|
@ -75,6 +77,6 @@ exports.export_measureSimilarity = export_measureSimilarity;
|
||||||
exports.cartesianProduct = cartesianProduct;
|
exports.cartesianProduct = cartesianProduct;
|
||||||
|
|
||||||
exports.VERSIONINFO = "ExtraMath module (extramath.js) version 0.0.5";
|
exports.VERSIONINFO = "ExtraMath module (extramath.js) version 0.0.5";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
// fakeworker.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var BASE64 = require("lib/base64");
|
var BASE64 = require("lib/base64");
|
||||||
|
|
||||||
function FakeWorker() {
|
function FakeWorker() {
|
||||||
|
@ -168,6 +173,6 @@ exports.repeat = function(target, worker, onError) {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.VERSIONINFO = "FakeWorker module (fakeworker.js) version 0.0.6";
|
exports.VERSIONINFO = "FakeWorker module (fakeworker.js) version 0.0.6";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
12
lib/file.js
12
lib/file.js
|
@ -1,10 +1,10 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// file.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// file.js
|
// FILE IO Library with the PIPE based IPC (lib/pipe-ipc.js)
|
||||||
// with the PIPE based IPC (lib/pipe-ipc.js)
|
|
||||||
//
|
//
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
var STD = require("lib/std");
|
var STD = require("lib/std");
|
||||||
var PipeIPC = require("lib/pipe-ipc");
|
var PipeIPC = require("lib/pipe-ipc");
|
||||||
|
|
||||||
|
@ -254,6 +254,6 @@ exports.loadEnvFromArgs = loadEnvFromArgs;
|
||||||
exports.CdoCharset = PipeIPC.CdoCharset;
|
exports.CdoCharset = PipeIPC.CdoCharset;
|
||||||
|
|
||||||
exports.VERSIONINFO = "File IO Library (file.js) version 0.2.13";
|
exports.VERSIONINFO = "File IO Library (file.js) version 0.2.13";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// msoffice.js
|
// filetypes.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
// https://support.microsoft.com/en-au/office/file-formats-that-are-supported-in-excel-0943ff2c-6014-4e8d-aaea-b83d51d46247
|
// https://support.microsoft.com/en-au/office/file-formats-that-are-supported-in-excel-0943ff2c-6014-4e8d-aaea-b83d51d46247
|
||||||
|
@ -21,6 +22,6 @@ function getExtensionsByOpenWith(openwith) {
|
||||||
exports.getExtensionsByOpenWith = getExtensionsByOpenWith;
|
exports.getExtensionsByOpenWith = getExtensionsByOpenWith;
|
||||||
|
|
||||||
exports.VERSIONINFO = "FileTypes version 0.0.1";
|
exports.VERSIONINFO = "FileTypes version 0.0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
10
lib/fsm.js
10
lib/fsm.js
|
@ -1,8 +1,10 @@
|
||||||
// fsm.js
|
// fsm.js
|
||||||
// FSM(Finite State Machine) library for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// FSM(Finite State Machine) library for WelsonJS framework
|
||||||
|
//
|
||||||
// State constructor function
|
// State constructor function
|
||||||
function State(name) {
|
function State(name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
|
@ -81,6 +83,6 @@ exports.State = State;
|
||||||
exports.FSM = FSM;
|
exports.FSM = FSM;
|
||||||
|
|
||||||
exports.VERSIONINFO = "FSM(Finite State Machine) library (fsm.js) version 0.1";
|
exports.VERSIONINFO = "FSM(Finite State Machine) library (fsm.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
11
lib/grok.js
11
lib/grok.js
|
@ -1,10 +1,11 @@
|
||||||
// grok.js
|
// grok.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Grok (x.ai) requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// Grok requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - Privacy Policy: https://x.ai/legal/privacy-policy
|
// https://x.ai/legal/privacy-policy
|
||||||
//
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
|
@ -48,6 +49,6 @@ function chat(content) {
|
||||||
exports.chat = chat;
|
exports.chat = chat;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Grok (x.ai) interface version 0.1";
|
exports.VERSIONINFO = "Grok (x.ai) interface version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
11
lib/groq.js
11
lib/groq.js
|
@ -1,10 +1,11 @@
|
||||||
// groq.js
|
// groq.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Groq requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// Groq requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - Privacy Policy: https://groq.com/privacy-policy/
|
// https://groq.com/privacy-policy/
|
||||||
//
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
|
@ -42,6 +43,6 @@ function chat(content) {
|
||||||
exports.chat = chat;
|
exports.chat = chat;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Groq (GroqCloud) interface (groq.js) version 0.1.1";
|
exports.VERSIONINFO = "Groq (GroqCloud) interface (groq.js) version 0.1.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
12
lib/gtk.js
12
lib/gtk.js
|
@ -1,12 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// gtk.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// GTKServer API
|
// GTKServer API - GTK GUI Programming with WSH (Windows Scripting Host)
|
||||||
//
|
//
|
||||||
// * Breif: GTK GUI Programming with WSH (Windows Scripting Host)
|
|
||||||
// * Author: Go Namhyeon <gnh1201@gmail.com>
|
|
||||||
// * Project site: https://github.com/gnh1201/welsonjs
|
|
||||||
//
|
|
||||||
////////////////////////////////////////////////////////////////////////
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
// set binPath
|
// set binPath
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
// har.js
|
// har.js
|
||||||
// HAR(HTTP Archive) manipulate and replay tools
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// HAR(HTTP Archive) manipulate and replay tools
|
||||||
|
//
|
||||||
var PipeIPC = require("lib/pipe-ipc");
|
var PipeIPC = require("lib/pipe-ipc");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
|
@ -106,6 +110,6 @@ var HARObject = function() {
|
||||||
exports.HARObject = HARObject;
|
exports.HARObject = HARObject;
|
||||||
|
|
||||||
exports.VERSIONINFO = "HAR(HTTP Archive) manipulate and replay tools version 0.1.8";
|
exports.VERSIONINFO = "HAR(HTTP Archive) manipulate and replay tools version 0.1.8";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = require;
|
exports.require = require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// hosts.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Hosts API
|
// Hosts API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// http.js
|
// http.js
|
||||||
// HTTP REST API client for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// HTTP REST API client for WelsonJS framework
|
||||||
|
//
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// httpserver.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// HTTPServer API
|
// HTTPServer API
|
||||||
///////////////////////////////////////////////////////////////////////
|
//
|
||||||
var HTTPServer = {
|
var HTTPServer = {
|
||||||
_this: this, // Avoid conflicts between HTTPServer and Winsock variables
|
_this: this, // Avoid conflicts between HTTPServer and Winsock variables
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
// ip-reputation.js
|
// ip-reputation.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// IP Reputation Checker requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
// AbuseIPDB requires an internet connection, and data may be transmitted externally. Please check the terms of use and privacy policy.
|
||||||
// - AbuseIPDB website: https://www.abuseipdb.com/
|
// https://www.abuseipdb.com/
|
||||||
//
|
//
|
||||||
var HTTP = require("lib/http");
|
var HTTP = require("lib/http");
|
||||||
var APIKEY = require("lib/apikey");
|
var APIKEY = require("lib/apikey");
|
||||||
|
@ -27,6 +28,6 @@ function check(ip_address) {
|
||||||
exports.check = check;
|
exports.check = check;
|
||||||
|
|
||||||
exports.VERSIONINFO = "IP Reputation Checker (ip-reputation.js) version 0.1";
|
exports.VERSIONINFO = "IP Reputation Checker (ip-reputation.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// jsonrpc2.js
|
// jsonrpc2.js
|
||||||
// JSON-RPC 2.0 wrapper for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
|
// JSON-RPC 2.0 wrapper for WelsonJS framework
|
||||||
|
//
|
||||||
function JsonRpc2(url) {
|
function JsonRpc2(url) {
|
||||||
this.url = url;
|
this.url = url;
|
||||||
this.userAgent = "php-httpproxy/0.1.5 (Client; WelsonJS)";
|
this.userAgent = "php-httpproxy/0.1.5 (Client; WelsonJS)";
|
||||||
|
@ -57,6 +59,6 @@ exports.create = create;
|
||||||
exports.DEFAULT_JSONRPC2_URL = DEFAULT_JSONRPC2_URL;
|
exports.DEFAULT_JSONRPC2_URL = DEFAULT_JSONRPC2_URL;
|
||||||
|
|
||||||
exports.VERSIONINFO = "JSON-RPC 2.0 wrapper (jsonrpc2.js) version 0.1.5";
|
exports.VERSIONINFO = "JSON-RPC 2.0 wrapper (jsonrpc2.js) version 0.1.5";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
191
lib/kakaotalk.js
Normal file
191
lib/kakaotalk.js
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
// kakaotalk.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// KakaoTalk (Instant Messaging Service in South Korea) automation testing (PoC) library
|
||||||
|
//
|
||||||
|
var Toolkit = require("lib/toolkit");
|
||||||
|
var AutoIt = require("lib/autoit");
|
||||||
|
|
||||||
|
function KakaoTalk() {
|
||||||
|
this.lastTemplate = "";
|
||||||
|
this.nextTemplate = "wall.png";
|
||||||
|
this.oAutoIt = AutoIt.create();
|
||||||
|
|
||||||
|
// 사용할 메시지 지정
|
||||||
|
this.message = {
|
||||||
|
start: "ㅎㄱㅎㅈ", // 하트 교환을 요청하는 메시지
|
||||||
|
clipboardPaste: "^v", // 클립보드에 복사된 내용(이미지)를 붙여넣기
|
||||||
|
pushed: "ㄴ" // 하트 번호 인증 (스크린샷 전송) 후 보낼 메시지. **카톡은 답글 모드에선 그림 첨부를 지원하지 않음**
|
||||||
|
};
|
||||||
|
this.setMessage = function(messageType, messageText) {
|
||||||
|
this.message[messageType] = messageText;
|
||||||
|
};
|
||||||
|
|
||||||
|
// 템플릿 제어
|
||||||
|
this.setLastTemplate = function(templateName) {
|
||||||
|
this.lastTemplate = templateName;
|
||||||
|
};
|
||||||
|
this.setNextTemplate = function(templateName) {
|
||||||
|
this.nextTemplate = templateName;
|
||||||
|
};
|
||||||
|
|
||||||
|
// x: 화면 좌표 X, y: 화면 좌표 Y, dx: 화면 좌표 X 보정값, dy: 화면 좌표 Y 보정값
|
||||||
|
this.mouseMove = function(x, y, dx, dy) {
|
||||||
|
this.oAutoIt.mouseMove(x + dx, y + dy);
|
||||||
|
};
|
||||||
|
|
||||||
|
// x: 화면 좌표 X, y: 화면 좌표 Y, dx: 화면 좌표 X 보정값, dy: 화면 좌표 Y 보정값
|
||||||
|
this.mouseClick = function(x, y, dx, dy) {
|
||||||
|
this.mouseMove(x, y, dx, dy);
|
||||||
|
this.oAutoIt.mouseClick("left");
|
||||||
|
};
|
||||||
|
|
||||||
|
this.sendKeys = function(keys) {
|
||||||
|
this.oAutoIt.send(keys);
|
||||||
|
};
|
||||||
|
|
||||||
|
this.check = function(params) {
|
||||||
|
// 메시지 띄우기 (값이 정상적으로 들어오는지 확인용)
|
||||||
|
//Toolkit.alert(JSON.stringify(params));
|
||||||
|
|
||||||
|
// 전달 받은 좌표를 숫자로 변환
|
||||||
|
var x = parseInt(params.position.x);
|
||||||
|
var y = parseInt(params.position.y);
|
||||||
|
|
||||||
|
// 템플릿 이름
|
||||||
|
var templateName = params.fileName;
|
||||||
|
|
||||||
|
// 각 클릭 단계별 처리
|
||||||
|
switch (templateName) {
|
||||||
|
case "wall.png": // 입력창 클릭
|
||||||
|
// 초기 상태에서 들어온 경우
|
||||||
|
if (this.lastTemplate == "") {
|
||||||
|
this.mouseClick(x, y, -32, 32); // 채팅창 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.sendKeys(this.message.start); // 메시지 입력
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_message_send.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
|
||||||
|
// 하트를 누르고 프로필 창 닫기까지 완료한 경우
|
||||||
|
if (this.lastTemplate == "binary_button_close_profile_blured.png") {
|
||||||
|
this.mouseClick(x, y, -32, 32); // 채팅창 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
|
||||||
|
this.sendKeys(this.message.clipboardPaste); // 붙여넣기 명령
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_clipboard_send.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "wall_reply_ready.png":
|
||||||
|
// 하트 누른거 인증
|
||||||
|
if (this.lastTemplate == "button_reply.png") {
|
||||||
|
this.mouseClick(x, y, -32, 56 + 32); // 채팅창 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.sendKeys(this.message.pushed); // "눌렀다"는 메시지 입력
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_message_send.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
// 클립보드 전송
|
||||||
|
case "button_clipboard_send.png":
|
||||||
|
if (this.lastTemplate == "wall.png") {
|
||||||
|
this.mouseClick(x, y, 0, 0); // 클립보드 전송 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("mention_reply.png:-1"); // 기억해두었던 "나에게 답장" 위치 다시 찾기
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "button_message_send.png": // 메시지 전송 버튼 찾았을 때
|
||||||
|
// 이전 작업이 신규 메시지 전송일 때
|
||||||
|
if (this.lastTemplate == "wall.png") {
|
||||||
|
this.mouseClick(x, y, 0, 0); // 메시지 전송 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("mention_reply.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
|
||||||
|
// 이전 작업이 답글 전송일 때
|
||||||
|
if (this.lastTemplate == "wall_reply_ready.png") {
|
||||||
|
this.mouseClick(x, y, 0, 0); // 메시지 전송 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
|
||||||
|
/**** 회기점 (여기서는 "ㅎㄱㅎㅈ" 메시지를 이미 보낸 상태이므로, 다시 메시지를 보내지 않고 다른 응답을 기다림.) ****/
|
||||||
|
this.setNextTemplate("mention_reply.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "mention_reply.png": // 답글이 도착했을 때
|
||||||
|
// 이전 작업이 메시지 전송 버튼 클릭이었을 때에만 진행
|
||||||
|
if (this.lastTemplate == "button_message_send.png") {
|
||||||
|
this.mouseClick(x, y, -40, -9); // 아바타 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("binary_button_view_profile.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
|
||||||
|
// 하트 찍기를 완료하고 "나에게 답장" 메시지를 다시 찾은 경우 진행
|
||||||
|
if (this.lastTemplate == "button_clipboard_send.png") {
|
||||||
|
this.mouseMove(x, y, 100, 30); // 해당 메시지로 커서 이동
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_reply.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "button_reply.png": // 답글 버튼을 찾았을 때
|
||||||
|
// "나에게 답장" 메시지를 다시 찾은 뒤, 답글 버튼을 눌렀을 때에만 진행
|
||||||
|
if (this.lastTemplate == "mention_reply.png") {
|
||||||
|
this.mouseClick(x, y, 5, 5); // 답글 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("wall_reply_ready.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "binary_button_view_profile.png": // 프로필 보기 버튼을 찾았을 때
|
||||||
|
// 답글이 온 경우에만 진행
|
||||||
|
if (this.lastTemplate == "mention_reply.png") {
|
||||||
|
this.mouseClick(x, y, 0, 0); // 프로필 보기 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_heart.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "button_heart.png": // 하트 버튼 찾았을 때
|
||||||
|
if (this.lastTemplate == "binary_button_view_profile.png") {
|
||||||
|
this.mouseClick(x, y, 0, 0); // 하트 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("button_heart_clicked.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "button_heart_clicked.png": // 하트 버튼 클릭했을 때
|
||||||
|
if (this.lastTemplate == "button_heart.png") {
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("binary_button_close_profile_blured.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
case "binary_button_close_profile_blured.png": // 프로필 창을 닫기
|
||||||
|
if (this.lastTemplate == "button_heart_clicked.png") { // 하트 버튼을 찍고 들어왔으면
|
||||||
|
this.mouseClick(x, y, 3, 3); // 프로필 창 닫기 버튼 클릭
|
||||||
|
sleep(1000); // 1초 기다림
|
||||||
|
this.setLastTemplate(templateName); // 현재 상태 저장
|
||||||
|
this.setNextTemplate("wall.png"); // 다음 상태 설정
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
exports.KakaoTalk = KakaoTalk;
|
|
@ -1,10 +1,12 @@
|
||||||
// language-inference-engine.js
|
// language-inference-engine.js
|
||||||
// Language Inference Engine (e.g., NLP, LLM) services integration
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// ***SECURITY NOTICE***
|
// Language Inference Engine (e.g., NLP, LLM) services integration
|
||||||
// Language Inference Engine requires an internet connection, and data may be transmitted externally. Users must adhere to the terms of use and privacy policy.
|
//
|
||||||
|
// SECURITY NOTICE
|
||||||
|
// A LLM service requires an internet connection, and data may be transmitted externally. Please the terms of use and privacy policy.
|
||||||
// - OpenAI: https://openai.com/policies/row-privacy-policy/
|
// - OpenAI: https://openai.com/policies/row-privacy-policy/
|
||||||
// - Anthropic: https://www.anthropic.com/legal/privacy
|
// - Anthropic: https://www.anthropic.com/legal/privacy
|
||||||
// - Groq: https://groq.com/privacy-policy/
|
// - Groq: https://groq.com/privacy-policy/
|
||||||
|
@ -552,6 +554,6 @@ exports.create = function() {
|
||||||
};
|
};
|
||||||
|
|
||||||
exports.VERSIONINFO = "Language Inference Engine integration version 0.1.11";
|
exports.VERSIONINFO = "Language Inference Engine integration version 0.1.11";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// ldplayer.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// LDPlayer API
|
// LDPlayer API
|
||||||
///////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// lz77.js
|
// lz77.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
function compress(input) {
|
function compress(input) {
|
||||||
var compressed = '';
|
var compressed = '';
|
||||||
var searchBufferIndex = 0;
|
var searchBufferIndex = 0;
|
||||||
|
@ -67,6 +69,6 @@ exports.compress = compress;
|
||||||
exports.decompress = decompress;
|
exports.decompress = decompress;
|
||||||
|
|
||||||
exports.VERSIONINFO = "LZ77 (MsCompress) algorithm implementation version 0.1";
|
exports.VERSIONINFO = "LZ77 (MsCompress) algorithm implementation version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
14
lib/msmq.js
14
lib/msmq.js
|
@ -1,13 +1,13 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// msmq.js
|
||||||
// MSMQ(Microsoft Message Queuing) API
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// references:
|
// references:
|
||||||
// - https://gist.github.com/vladaman/6375841
|
// https://gist.github.com/vladaman/6375841
|
||||||
// - https://docs.microsoft.com/en-us/previous-versions/windows/desktop/msmq/ms703952(v=vs.85)
|
// https://docs.microsoft.com/en-us/previous-versions/windows/desktop/msmq/ms703952(v=vs.85)
|
||||||
// - https://docs.microsoft.com/en-us/previous-versions/windows/desktop/msmq/ms705286(v=vs.85)
|
// https://docs.microsoft.com/en-us/previous-versions/windows/desktop/msmq/ms705286(v=vs.85)
|
||||||
//
|
//
|
||||||
////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
var MSMQObject = function(queueName) {
|
var MSMQObject = function(queueName) {
|
||||||
var MQ_SEND_ACCESS = 2;
|
var MQ_SEND_ACCESS = 2;
|
||||||
var MQ_DENY_NONE = 0;
|
var MQ_DENY_NONE = 0;
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// msoffice.js
|
// msoffice.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var STD = require("lib/std");
|
var STD = require("lib/std");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
@ -222,6 +224,6 @@ exports.PowerPoint = PowerPoint;
|
||||||
exports.Word = Word;
|
exports.Word = Word;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Microsoft Office interface (msoffice.js) version 0.2.0";
|
exports.VERSIONINFO = "Microsoft Office interface (msoffice.js) version 0.2.0";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
11
lib/nmap.js
11
lib/nmap.js
|
@ -1,7 +1,8 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// nmap.js
|
||||||
// NMAP interface API
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
////////////////////////////////////////////////////////////////////////
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var client = require("lib/catproxy");
|
var client = require("lib/catproxy");
|
||||||
|
|
||||||
var PortScanner = function(binpath, url) {
|
var PortScanner = function(binpath, url) {
|
||||||
|
@ -23,6 +24,6 @@ var PortScanner = function(binpath, url) {
|
||||||
exports.PortScanner = PortScanner;
|
exports.PortScanner = PortScanner;
|
||||||
|
|
||||||
exports.VERSIONINFO = "NMAP interface version 0.2";
|
exports.VERSIONINFO = "NMAP interface version 0.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// noxplayer.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// NoxPlayer API
|
// NoxPlayer API
|
||||||
///////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
// ovftool.js
|
// ovftool.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// Download OVFTool (Open Virtualization Format (OVF) Tool):
|
// Download OVFTool (Open Virtualization Format (OVF) Tool):
|
||||||
|
@ -66,6 +67,6 @@ exports.setCredential = setCredential;
|
||||||
exports.create = create;
|
exports.create = create;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Broadcom/VMware OVF Tool interface (ovftool.js) version 0.1.2";
|
exports.VERSIONINFO = "Broadcom/VMware OVF Tool interface (ovftool.js) version 0.1.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// pipe-ipc.js
|
// pipe-ipc.js
|
||||||
// Pipe based IPC implementation for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Pipe based IPC implementation for WelsonJS framework
|
||||||
|
//
|
||||||
var STD = require("lib/std");
|
var STD = require("lib/std");
|
||||||
|
|
||||||
// https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method
|
// https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/opentextfile-method
|
||||||
|
@ -553,6 +556,6 @@ exports.adSaveCreateOverWrite = adSaveCreateOverWrite;
|
||||||
exports.adModeReadWrite = adModeReadWrite;
|
exports.adModeReadWrite = adModeReadWrite;
|
||||||
|
|
||||||
exports.VERSIONINFO = "PIPE-based IPC Module (pipe-ipc.js) version 0.1.23";
|
exports.VERSIONINFO = "PIPE-based IPC Module (pipe-ipc.js) version 0.1.23";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = require;
|
exports.require = require;
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
// Powershell Interface API
|
// powershell.js
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Powershell Interface API
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
var PowershellObject = function() {
|
var PowershellObject = function() {
|
||||||
|
@ -149,6 +153,6 @@ exports.execCommand = execCommand;
|
||||||
exports.runAs = runAs;
|
exports.runAs = runAs;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Powershell Interface (powershell.js) version 0.1.4";
|
exports.VERSIONINFO = "Powershell Interface (powershell.js) version 0.1.4";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
// punycode.js
|
// punycode.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
||||||
// You can download the server-side script that implements this functionality from the link below:
|
// You can download the server-side script that implements this functionality from the link below:
|
||||||
// https://github.com/gnh1201/caterpillar
|
// https://github.com/gnh1201/caterpillar
|
||||||
|
@ -43,6 +44,6 @@ exports.encode = encode;
|
||||||
exports.decode = decode;
|
exports.decode = decode;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Punycode Conversion Client (punycode.js) version 0.2.4";
|
exports.VERSIONINFO = "Punycode Conversion Client (punycode.js) version 0.2.4";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// python3.js
|
// python3.js
|
||||||
// Python Interface
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Python Interface
|
||||||
|
//
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
// rand.js
|
// rand.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
function randomize() {
|
function randomize() {
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// registry.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Registry API
|
// Registry API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
// http://apidock.com/ruby/Win32/Registry/Constants
|
// http://apidock.com/ruby/Win32/Registry/Constants
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// router.js
|
// router.js
|
||||||
// Content-Type based URI router for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
|
// Content-Type based URI router for WelsonJS framework
|
||||||
|
//
|
||||||
function RouteModel(path, callback) {
|
function RouteModel(path, callback) {
|
||||||
this.path = path;
|
this.path = path;
|
||||||
this.callback = callback;
|
this.callback = callback;
|
||||||
|
@ -88,6 +90,6 @@ function RouterObject() {
|
||||||
exports.Router = new RouterObject();
|
exports.Router = new RouterObject();
|
||||||
|
|
||||||
exports.VERSIONINFO = "Content-Type based URI router (router.js) version 0.1.2";
|
exports.VERSIONINFO = "Content-Type based URI router (router.js) version 0.1.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
// sendboxie.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
var SandboxieObject = function() {
|
var SandboxieObject = function() {
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// security.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Security Policy API
|
// Security Policy API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var REG = require("lib/registry");
|
var REG = require("lib/registry");
|
||||||
|
@ -85,6 +88,6 @@ exports.getAntiVirusProducts = getAntiVirusProducts;
|
||||||
exports.OpenThreatSettings = OpenThreatSettings;
|
exports.OpenThreatSettings = OpenThreatSettings;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Security Policy Module (security.js) version 0.2.2";
|
exports.VERSIONINFO = "Security Policy Module (security.js) version 0.2.2";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,11 +1,10 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// sendmail.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// sendmail.js
|
// Sendmail using either CDO or Persits.MailSender
|
||||||
//
|
//
|
||||||
// Sendmail using either CDO or Persits.MailSender
|
|
||||||
//
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Private APIs / Utility functions
|
// Private APIs / Utility functions
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// serp.js
|
// serp.js
|
||||||
// SERP/SEO tools integration for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// SERP/SEO tools integration for WelsonJS framework
|
||||||
|
//
|
||||||
function parseUrl(url) {
|
function parseUrl(url) {
|
||||||
var getEngine = function(url) {
|
var getEngine = function(url) {
|
||||||
var defaultEngine = "google";
|
var defaultEngine = "google";
|
||||||
|
@ -59,6 +62,6 @@ function parseUrl(url) {
|
||||||
exports.parseUrl = parseUrl;
|
exports.parseUrl = parseUrl;
|
||||||
|
|
||||||
exports.VERSIONINFO = "SERP/SEO tools integration (serp.js) version 0.1";
|
exports.VERSIONINFO = "SERP/SEO tools integration (serp.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// shadowsocks.js
|
||||||
// Shadowsocks API
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
////////////////////////////////////////////////////////////////////////
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var CONFIG = require("lib/config");
|
var CONFIG = require("lib/config");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
|
|
10
lib/shell.js
10
lib/shell.js
|
@ -1,6 +1,10 @@
|
||||||
// Windows Shell Interface with WelsonJS Pipe-IPC module
|
// shell.js
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Windows Shell Interface with WelsonJS Pipe-IPC module
|
||||||
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var PipeIPC = require("lib/pipe-ipc");
|
var PipeIPC = require("lib/pipe-ipc");
|
||||||
|
|
||||||
|
@ -255,6 +259,6 @@ exports.getPathOfMyDocuments = function() {
|
||||||
exports.CdoCharset = PipeIPC.CdoCharset;
|
exports.CdoCharset = PipeIPC.CdoCharset;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Windows Shell Interface (shell.js) version 0.3.18";
|
exports.VERSIONINFO = "Windows Shell Interface (shell.js) version 0.3.18";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,8 +1,10 @@
|
||||||
// std.js
|
// std.js
|
||||||
// WelsonJS Standard Library
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
|
// WelsonJS Standard Library
|
||||||
|
//
|
||||||
// Polyfills
|
// Polyfills
|
||||||
if (!Function.prototype.GetResource) {
|
if (!Function.prototype.GetResource) {
|
||||||
Function.prototype.GetResource = function(ResourceName) {
|
Function.prototype.GetResource = function(ResourceName) {
|
||||||
|
@ -617,6 +619,6 @@ exports.confirm = confirm;
|
||||||
exports.prompt = prompt;
|
exports.prompt = prompt;
|
||||||
|
|
||||||
exports.VERSIONINFO = "WelsonJS Standard Library (std.js) version 0.8.17";
|
exports.VERSIONINFO = "WelsonJS Standard Library (std.js) version 0.8.17";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
/*
|
// strings.js
|
||||||
* strings.js
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
*/
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
function numberFormat(number, decimals, decPoint, thousandsSep) { // eslint-disable-line camelcase
|
function numberFormat(number, decimals, decPoint, thousandsSep) { // eslint-disable-line camelcase
|
||||||
// discuss at: https://locutus.io/php/number_format/
|
// discuss at: https://locutus.io/php/number_format/
|
||||||
// original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)
|
// original by: Jonas Raoni Soares Silva (https://www.jsfromhell.com)
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
// lib/system.js
|
// system.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var WMI = require("lib/wmi");
|
var WMI = require("lib/wmi");
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// task-scheduler.js
|
// task-scheduler.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Connect to Task Scheduler service
|
// Connect to Task Scheduler service
|
||||||
function connect() {
|
function connect() {
|
||||||
var service = CreateObject("Schedule.Service");
|
var service = CreateObject("Schedule.Service");
|
||||||
|
@ -92,6 +94,6 @@ exports.createAndRegisterTask = createAndRegisterTask;
|
||||||
exports.test = test;
|
exports.test = test;
|
||||||
|
|
||||||
exports.VERSIONINFO = "Windows Task Scheduler Scripting Interface (task-scheduler.js) version 0.1";
|
exports.VERSIONINFO = "Windows Task Scheduler Scripting Interface (task-scheduler.js) version 0.1";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = require;
|
exports.require = require;
|
||||||
|
|
36
lib/task.js
36
lib/task.js
|
@ -1,21 +1,23 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// task.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Task API (Time-sharing based `async`, `setTimeout`, `setInterval`, implementation in WSH.js)
|
// Task API (Time-sharing based `async`, `setTimeout`, `setInterval`, implementation in WSH.js)
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
// example:
|
||||||
/* // example:
|
// var TASK = require("lib/task");
|
||||||
* // var TASK = require("lib/task");
|
// var taskQueue = TASK.createTaskQueue();
|
||||||
* // var taskQueue = TASK.createTaskQueue();
|
// TASK.putTask(queue, TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(100); }, [1, 2, 3]))
|
||||||
* // TASK.putTask(queue, TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(100); }, [1, 2, 3]))
|
// .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(200); }, [4, 5, 6]))
|
||||||
* // .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(200); }, [4, 5, 6]))
|
// .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(300); }, [7, 8, 9]))
|
||||||
* // .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(300); }, [7, 8, 9]))
|
// ;
|
||||||
* // ;
|
// TASK.putTask(queue, TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(100); }, [3, 2, 1])
|
||||||
* // TASK.putTask(queue, TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(100); }, [3, 2, 1])
|
// .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(200); }, [6, 5, 4]))
|
||||||
* // .then(TASK.createTask(function(task, a, b, c) { console.log(a + b + c); sleep(200); }, [6, 5, 4]))
|
// .then(TASK.createTask(function(task, a, b, c) { TASK.stop(); console.log(a + b + c); sleep(300); }, [9, 8, 7]))
|
||||||
* // .then(TASK.createTask(function(task, a, b, c) { TASK.stop(); console.log(a + b + c); sleep(300); }, [9, 8, 7]))
|
// ;
|
||||||
* // ;
|
// taskQueue.run();
|
||||||
* // taskQueue.run();
|
//
|
||||||
*/
|
|
||||||
|
|
||||||
function Task(f, params) {
|
function Task(f, params) {
|
||||||
this.f = f;
|
this.f = f;
|
||||||
this.params = params;
|
this.params = params;
|
||||||
|
|
111
lib/timer.js
111
lib/timer.js
|
@ -1,111 +0,0 @@
|
||||||
/*
|
|
||||||
Windows Scripting Host doesn't provide setTimeout and clearTimeout.
|
|
||||||
This serves as a replacement.
|
|
||||||
|
|
||||||
To use:
|
|
||||||
|
|
||||||
Set up all the deferred actions you like with the usual setTimeout calls
|
|
||||||
setTimeout(function() {
|
|
||||||
// do something
|
|
||||||
}, 200);
|
|
||||||
|
|
||||||
Then call setTimeout.queue.run().
|
|
||||||
Deferred actions can spawn more deferred actions.
|
|
||||||
If the queue ever runs dry, it will stop running and return.
|
|
||||||
Remember, javascript is single-threaded. If you put more
|
|
||||||
functions in the queue, call the run method again.
|
|
||||||
*/
|
|
||||||
|
|
||||||
exports.VERSIONINFO = "Timer Module (timer.js) version 0.1";
|
|
||||||
exports.global = global;
|
|
||||||
exports.require = global.require;
|
|
||||||
|
|
||||||
exports.sleep = function(ms, callback) {
|
|
||||||
WScript.Sleep(ms);
|
|
||||||
if(typeof(callback) == "function") {
|
|
||||||
callback();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.setTimeout = function(func, delay) {
|
|
||||||
var when = new Date().getTime() + delay;
|
|
||||||
return exports.setTimeout.queue.add(func, when);
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.clearTimeout = function(timer) {
|
|
||||||
exports.setTimeout.queue.del(timer);
|
|
||||||
};
|
|
||||||
|
|
||||||
// A queue object, with methods add, del, run.
|
|
||||||
// Tied to setTimeout to keep it out of the global namespace.
|
|
||||||
|
|
||||||
exports.setTimeout.queue = (function() {
|
|
||||||
var store = [];
|
|
||||||
var nextid = 0;
|
|
||||||
|
|
||||||
return {
|
|
||||||
add: function(func, when) {
|
|
||||||
store.push({
|
|
||||||
id: nextid,
|
|
||||||
func: func,
|
|
||||||
when: when
|
|
||||||
});
|
|
||||||
return nextid++;
|
|
||||||
},
|
|
||||||
|
|
||||||
del: function(id) {
|
|
||||||
for (var i = 0; i < store.length; i++) {
|
|
||||||
if (store[i].id == id) {
|
|
||||||
store.splice(i, 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
run: function() {
|
|
||||||
while (store.length > 0) {
|
|
||||||
var now = new Date().getTime();
|
|
||||||
for (var i = 0; i < store.length; i++) {
|
|
||||||
var item = store[i];
|
|
||||||
|
|
||||||
if (now > item.when) {
|
|
||||||
exports.setTimeout.queue.del(item.id);
|
|
||||||
item.func(); // <---- actually invoke the function here
|
|
||||||
|
|
||||||
// Note: we can't continue looping through the queue here,
|
|
||||||
// because we removed one of the items. The loop limit is
|
|
||||||
// now incorrect. Easiest thing to do is restart the loop.
|
|
||||||
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
// We burn a millisecond here to throttle the looping.
|
|
||||||
// Otherwise it will loop on the order of 200,000 times per sec.
|
|
||||||
|
|
||||||
exports.sleep(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})();
|
|
||||||
|
|
||||||
exports.setTimeout.test = function() {
|
|
||||||
console.log('You should see: C,A,D,N,M');
|
|
||||||
|
|
||||||
exports.setTimeout(console.log('A'), 500);
|
|
||||||
var b = setTimeout(console.log('B'), 1220);
|
|
||||||
exports.setTimeout(console.log('C'), 300);
|
|
||||||
exports.setTimeout(console.log('D'), 1000);
|
|
||||||
clearTimeout(b);
|
|
||||||
|
|
||||||
exports.setTimeout(function() {
|
|
||||||
console.log('N');
|
|
||||||
exports.setTimeout(function() {
|
|
||||||
console.log('M');
|
|
||||||
}, 100)
|
|
||||||
}, 1300);
|
|
||||||
|
|
||||||
exports.setTimeout.queue.run();
|
|
||||||
console.log('done');
|
|
||||||
};
|
|
||||||
|
|
||||||
///// setTimeout.test(); // uncomment to run test
|
|
|
@ -1,8 +1,10 @@
|
||||||
// toolkit.js
|
// toolkit.js
|
||||||
// WelsonJS native toolkit interface version 0.3.7
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// WelsonJS native toolkit interface version 0.3.7
|
||||||
|
//
|
||||||
function ToolkitObject() {
|
function ToolkitObject() {
|
||||||
this._interface = null;
|
this._interface = null;
|
||||||
|
|
||||||
|
@ -120,6 +122,6 @@ exports.encryptStringHIGHT = encryptString;
|
||||||
exports.decryptStringHIGHT = decryptString;
|
exports.decryptStringHIGHT = decryptString;
|
||||||
|
|
||||||
exports.VERSIONINFO = "WelsonJS native toolkit interface version 0.3.7";
|
exports.VERSIONINFO = "WelsonJS native toolkit interface version 0.3.7";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
// totp.js
|
// totp.js
|
||||||
// TOTP library for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// ***SECURITY NOTICE***
|
// SECURITY NOTICE
|
||||||
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
// Due to potential security issues, the Public API URL is not provided. If you need to request access, please refer to the project's contact information.
|
||||||
// You can download the server-side script that implements this functionality from the link below:
|
// You can download the server-side script that implements this functionality from the link below:
|
||||||
// https://github.com/gnh1201/caterpillar
|
// https://github.com/gnh1201/caterpillar
|
||||||
|
@ -44,7 +44,7 @@ exports.getPubKey = getPubKey;
|
||||||
exports.getOtp = getOtp;
|
exports.getOtp = getOtp;
|
||||||
|
|
||||||
exports.VERSIONINFO = "TOTP Client (totp.js) version 0.1.8";
|
exports.VERSIONINFO = "TOTP Client (totp.js) version 0.1.8";
|
||||||
exports.AUTHOR = "abuse@catswords.net";
|
exports.AUTHOR = "gnh1201@catswords.re.kr";
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// tun2sock.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// TUN2SOCKS API
|
// TUN2SOCKS API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// uri.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// uri.js
|
|
||||||
//
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
|
||||||
|
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
// Private APIs / Utility functions
|
// Private APIs / Utility functions
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
/////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// vbscript.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// VBScript API
|
// VBScript API
|
||||||
///////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
exports.VERSIONINFO = "VBScript (vbscript.js) version 0.1";
|
exports.VERSIONINFO = "VBScript (vbscript.js) version 0.1";
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// virtualinput.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// VirtualInput API
|
// VirtualInput API
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var VirtualInputObject = function() {
|
var VirtualInputObject = function() {
|
||||||
this.oShell = null;
|
this.oShell = null;
|
||||||
this.oAutoIt = null;
|
this.oAutoIt = null;
|
||||||
|
|
12
lib/wamr.js
12
lib/wamr.js
|
@ -1,7 +1,11 @@
|
||||||
// WAMR for WelsonJS
|
// wamr.js
|
||||||
// - WAMR: https://github.com/bytecodealliance/wasm-micro-runtime
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// - WelsonJS: https://github.com/gnh1201/welsonjs
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// WAMR(WebAssembly Micro Runtime) integration for WelsonJS framework
|
||||||
|
// https://github.com/bytecodealliance/wasm-micro-runtime
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
var WAMRObject = function() {
|
var WAMRObject = function() {
|
||||||
|
|
|
@ -1,10 +1,11 @@
|
||||||
// Websocket API for WelsonJS framework
|
// websocket.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
//
|
//
|
||||||
// references:
|
// references:
|
||||||
// - https://stackoverflow.com/questions/52783655/use-curl-with-chrome-remote-debugging
|
// https://stackoverflow.com/questions/52783655/use-curl-with-chrome-remote-debugging
|
||||||
// - https://github.com/vi/websocat
|
// https://github.com/vi/websocat
|
||||||
//
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// winlibs.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// Windows Library API
|
// Windows Library API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
|
|
|
@ -1,35 +1,122 @@
|
||||||
//////////////////////////////////////////////////////////////////////////////////
|
// winservice.js
|
||||||
// VirtualInput API
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
/////////////////////////////////////////////////////////////////////////////////
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// Windows Service API
|
||||||
|
//
|
||||||
|
var SHELL = require("lib/shell");
|
||||||
|
|
||||||
var VirtualInputObject = function() {
|
exports.VERSIONINFO = "Windows Service Lib (service.js) version 0.1";
|
||||||
this.oShell = null;
|
|
||||||
this.oAutoIt = null;
|
|
||||||
|
|
||||||
this.create = function() {
|
|
||||||
try {
|
|
||||||
this.oShell = CreateObject("WScript.Shell");
|
|
||||||
this.oAutoIt = CreateObject("AutoItX.Control");
|
|
||||||
} catch (e) {
|
|
||||||
console.error("VirtualInputObject.create() -> " + e.message);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
this.moveMouse = function(x, y) {
|
|
||||||
this.oAutoIt.MouseMove(x, y);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.sendKeys = function(s) {
|
|
||||||
this.oShell.SendKeys(s);
|
|
||||||
};
|
|
||||||
|
|
||||||
this.create();
|
|
||||||
};
|
|
||||||
|
|
||||||
exports.VERSIONINFO = "VirtualInput Lib (virtualinput.js) version 0.1";
|
|
||||||
exports.global = global;
|
exports.global = global;
|
||||||
exports.require = global.require;
|
exports.require = global.require;
|
||||||
|
|
||||||
exports.create = function() {
|
// https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-r2-and-2012/dd228922(v=ws.11)
|
||||||
return new VirtualInputObject();
|
exports.queryService = function(name, options) {
|
||||||
|
var cmd = [
|
||||||
|
"sc",
|
||||||
|
"query",
|
||||||
|
name
|
||||||
|
],
|
||||||
|
_options = {
|
||||||
|
type: [
|
||||||
|
"service", // type= {driver | service | all}
|
||||||
|
"own" // type= {own | share | interact | kernel | filesys | rec | adapt}
|
||||||
|
],
|
||||||
|
state: "active", // state= {active | inactive | all}
|
||||||
|
bufsize: "1024", // bufsize= <BufferSize>
|
||||||
|
ri: "0", // ri= <ResumeIndex>
|
||||||
|
group: "" // group= <GroupName>
|
||||||
|
};
|
||||||
|
|
||||||
|
for (var k in _options) {
|
||||||
|
if (k in options) {
|
||||||
|
_options[k] = options[k];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_options[k] !== false) {
|
||||||
|
if (Array.isArray(_options[k])) {
|
||||||
|
for (var i in options[k]) {
|
||||||
|
cmd.push(k + '=');
|
||||||
|
cmd.push(_options[k][i]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cmd.push(k + '=');
|
||||||
|
cmd.push(_options[k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return SHELL.exec(cmd);
|
||||||
|
};
|
||||||
|
|
||||||
|
// https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/sc-create
|
||||||
|
exports.createService = function(name, options) {
|
||||||
|
var cmd = [
|
||||||
|
"sc",
|
||||||
|
"create",
|
||||||
|
name
|
||||||
|
],
|
||||||
|
_options = {
|
||||||
|
type: "share", // type= {own | share | kernel | filesys | rec | interact type= {own | share}}
|
||||||
|
start: "demand", // start= {boot | system | auto | demand | disabled | delayed-auto }
|
||||||
|
error: "normal", // error= {normal | severe | critical | ignore}
|
||||||
|
binPath: false, // binpath= <BinaryPathName>
|
||||||
|
group: false, // group= <LoadOrderGroup>
|
||||||
|
tag: false, // tag= {yes | no}
|
||||||
|
depend: false, // depend= <dependencies>
|
||||||
|
obj: false, // obj= {<AccountName> | <ObjectName>}
|
||||||
|
DisplayName: false, // displayname= <DisplayName>
|
||||||
|
password: false // password= <Password>
|
||||||
|
};
|
||||||
|
|
||||||
|
for (var k in _options) {
|
||||||
|
if (k in options) {
|
||||||
|
_options[k] = options[k];
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_options[k] !== false) {
|
||||||
|
if (Array.isArray(_options[k])) {
|
||||||
|
for (var i in options[k]) {
|
||||||
|
cmd.push(k + '=');
|
||||||
|
cmd.push(_options[k][i]);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
cmd.push(k + '=');
|
||||||
|
cmd.push(_options[k]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return SHELL.exec(cmd);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.startService = function(name, args) {
|
||||||
|
var cmd = [
|
||||||
|
"sc",
|
||||||
|
"start",
|
||||||
|
name
|
||||||
|
];
|
||||||
|
|
||||||
|
if (typeof(args) !== "undefined") {
|
||||||
|
cmd = cmd.concat(args);
|
||||||
|
}
|
||||||
|
|
||||||
|
return SHELL.exec(cmd);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.stopService = function(name) {
|
||||||
|
return SHELL.exec([
|
||||||
|
"sc",
|
||||||
|
"stop",
|
||||||
|
name
|
||||||
|
]);
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.deleteService = function(name) {
|
||||||
|
return SHELL.exec([
|
||||||
|
"sc",
|
||||||
|
"delete",
|
||||||
|
name
|
||||||
|
]);
|
||||||
};
|
};
|
|
@ -1,7 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// wintap.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// WindowsTAP API
|
// WindowsTAP API
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
|
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
// wmi.js
|
// wmi.js
|
||||||
// WMI(Windows Management Instrumentation) API interface for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
|
// WMI(Windows Management Instrumentation) API interface for WelsonJS framework
|
||||||
|
//
|
||||||
var WMIQueryObject = function() {
|
var WMIQueryObject = function() {
|
||||||
var wbemFlagReturnImmediately = 0x10;
|
var wbemFlagReturnImmediately = 0x10;
|
||||||
var wbemFlagForwardOnly = 0x20;
|
var wbemFlagForwardOnly = 0x20;
|
||||||
|
|
|
@ -1,6 +1,10 @@
|
||||||
////////////////////////////////////////////////////////////////////////
|
// xml.js
|
||||||
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// XML interface
|
// XML interface
|
||||||
////////////////////////////////////////////////////////////////////////
|
//
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
var PipeIPC = require("lib/pipe-ipc");
|
var PipeIPC = require("lib/pipe-ipc");
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// officeloader.js
|
// officeloader.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var Office = require("lib/msoffice");
|
var Office = require("lib/msoffice");
|
||||||
var ChatGPT = require("lib/chatgpt");
|
var ChatGPT = require("lib/chatgpt");
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
; @created_on 2020-06-26
|
; @created_on 2020-06-26
|
||||||
; @updated_on 2025-03-21
|
; @updated_on 2025-03-21
|
||||||
; @author Namhyeon Go (Catswords Research) <abuse@catswords.net>
|
; @author Namhyeon Go <gnh1201@catswords.re.kr>
|
||||||
|
|
||||||
[Setup]
|
[Setup]
|
||||||
AppName=WelsonJS
|
AppName=WelsonJS
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
// shoutcut.js
|
// shoutcut.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// testloader.js
|
// testloader.js
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https://github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
// load libraries
|
// load libraries
|
||||||
var FILE = require("lib/file");
|
var FILE = require("lib/file");
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// uriloader.js
|
// uriloader.js
|
||||||
// URI scheme loader for WelsonJS framework
|
// Copyright 2019-2025, Namhyeon Go <gnh1201@catswords.re.kr> and the WelsonJS contributors.
|
||||||
// Namhyeon Go <abuse@catswords.net>
|
// SPDX-License-Identifier: GPL-3.0-or-later
|
||||||
// https;//github.com/gnh1201/welsonjs
|
// https://github.com/gnh1201/welsonjs
|
||||||
|
//
|
||||||
var SYS = require("lib/system");
|
var SYS = require("lib/system");
|
||||||
var SHELL = require("lib/shell");
|
var SHELL = require("lib/shell");
|
||||||
var URI = require("lib/uri");
|
var URI = require("lib/uri");
|
||||||
|
|
Loading…
Reference in New Issue
Block a user