diff --git a/src/commands/Utility/aboutme.js b/src/commands/Utility/aboutme.js new file mode 100644 index 0000000..a568d11 --- /dev/null +++ b/src/commands/Utility/aboutme.js @@ -0,0 +1,26 @@ +export default class AboutmeCommand { + execute(term, params, directory, setDirectory) { + let userAgent = navigator.userAgent; + let browserMatch = userAgent.match(/(Firefox|Edg|Edge|Chrome|Safari|Opera|MSIE|Trident)\/?\s*(\d+)/i); + let browserName = browserMatch[1]; + let browserVersion = browserMatch[2]; + let osMatch = userAgent.match(/(iOS|iPhone OS|Android|Symbian|Windows|Mac OS X|Linux)/i); + let osName = osMatch[1]; + let hostname = window.location.hostname; + term.writeln("User agent: " + userAgent); + term.writeln("Browser name: " + browserName); + term.writeln("Browser version: " + browserVersion); + term.writeln("Operating system: " + osName); + term.writeln("Hostname: " + hostname); + } + + description() { + return "Prints information about the user's browser and device"; + } + + help(term) { + term.writeln("Usage: aboutme"); + term.writeln("Prints information about the user's browser and device, such as user agent, browser name and version, operating system, and hostname."); + } + } + \ No newline at end of file diff --git a/src/registration.js b/src/registration.js index a1a270c..47e8824 100644 --- a/src/registration.js +++ b/src/registration.js @@ -24,6 +24,7 @@ import DeleteCommand from "./commands/Filesystem/rm"; import DeleteDirectoryCommand from "./commands/Filesystem/rmdir"; import WeatherCommand from "./commands/Utility/weather"; import StatusCommand from "./commands/System/status"; +import AboutmeCommand from "./commands/Utility/aboutme"; import DownloadCommand from "./commands/Filesystem/download"; import UploadCommand from "./commands/Filesystem/upload"; @@ -63,6 +64,7 @@ export const registerAllCommands = () => { registeredCommands['ip'] = new IpCommand(); registeredCommands['geoip'] = new GeoIpCommand(); registeredCommands['geo'] = new GeoCommand(); + registeredCommands['aboutme'] = new AboutmeCommand(); registeredCommands['weather'] = new WeatherCommand(); // ECodeAPI