Compare commits

..

3 Commits

Author SHA1 Message Date
b1ek d20c29d042
add clear command 2023-03-20 21:01:03 +10:00
b1ek 87a21f54f3
browserify crypto 2023-03-20 21:00:51 +10:00
b1ek c50949576b
attempt at implementing /dev/random 2023-03-20 21:00:05 +10:00
5 changed files with 55 additions and 5 deletions

View File

@ -8,6 +8,7 @@
"devDependencies": { "devDependencies": {
"assert": "^2.0.0", "assert": "^2.0.0",
"buffer": "^5.5.0", "buffer": "^5.5.0",
"crypto-browserify": "^3.12.0",
"events": "^3.1.0", "events": "^3.1.0",
"parcel": "^2.8.3", "parcel": "^2.8.3",
"parcel-namer-without-hash": "^0.0.1", "parcel-namer-without-hash": "^0.0.1",

View File

@ -1,5 +1,6 @@
import React from 'react'; import React from 'react';
import { XTerm } from 'xterm-for-react' import { XTerm } from 'xterm-for-react';
import { Terminal } from 'xterm';
export class Console extends React.Component { export class Console extends React.Component {
constructor(props) { constructor(props) {
@ -16,14 +17,21 @@ export class Console extends React.Component {
background: '#212121', background: '#212121',
brightGreen: '#15a179' brightGreen: '#15a179'
}, },
convertEol: true convertEol: true,
rows: 30,
cols: 200
}} }}
/> />
</div>; </div>;
} }
componentDidMount() { componentDidMount() {
require('./emulator')(this.terminal.current); const term_ref = this.terminal.current;
this.terminal.current.terminal.focus(); require('./emulator')(term_ref);
/** @type { Terminal } */
const terminal = term_ref.terminal;
terminal.focus();
} }
} }

View File

@ -0,0 +1,25 @@
const { Terminal } = require("xterm");
const package = require('../../../package.json');
/**
*
* @param {string[]} argv
* @param {Terminal} terminal
*/
module.exports = (argv, terminal) => {
if (argv.indexOf('--help') != -1) {
terminal.write(
`Usage: ${argv[0]} [options]
-V Print resume.js version
`
);
return;
}
if (argv.indexOf('-V') != -1) {
terminal.write(`resume.js version ${package.version} by ${package.author}\n`);
return;
}
terminal.clear();
}

View File

@ -11,6 +11,7 @@ let cmds = {
'import_file': require('./import_file'), 'import_file': require('./import_file'),
'zsh': require('./zsh'), 'zsh': require('./zsh'),
'ps': require('./ps'), 'ps': require('./ps'),
'clear': require('./clear'),
// alias l='ls -l' // alias l='ls -l'
'l': (a,t) => {require('./ls')([...a, '-l'], t)}, 'l': (a,t) => {require('./ls')([...a, '-l'], t)},

View File

@ -3,6 +3,21 @@ fs.writeFileSync('README.md', 'uwu');
const { ufs } = require('unionfs'); const { ufs } = require('unionfs');
ufs.use(fs).use(vol.fromJSON(require('./files'))); ufs.use(fs).use(vol.fromJSON(require('./files')));
ufs.constants = fs.constants;
if (!fs.existsSync('dev'))
fs.mkdirSync('dev');
// /dev/random & /dev/random
(async () => {
const delay = t => new Promise(resolve => setTimeout(resolve, t));;
const crypto = require('crypto');
while (true) {
await delay(3);
const buffer = crypto.randomBytes(16);
fs.writeFileSync('dev/urandom', buffer);
fs.writeFileSync('dev/random', buffer)
}
})();
module.exports = ufs; module.exports = ufs;