Fixes related with ANSI colors
This commit is contained in:
parent
ef7ebdc219
commit
652a81bce4
@ -4,7 +4,7 @@
|
|||||||
[](https://github.com/mesacarlos/WebConsole/releases/latest)
|
[](https://github.com/mesacarlos/WebConsole/releases/latest)
|
||||||

|

|
||||||
|
|
||||||
WebConsole is a Spigot plugin for Minecraft 1.8-1.18+ that allows you to view your server console and manage your server from anywhere. It creates a WebSocket server in the background used by the web interface to send commands, receive your console log and manage your server.
|
WebConsole is a Spigot plugin for Minecraft 1.8-1.21+ that allows you to view your server console and manage your server from anywhere. It creates a WebSocket server in the background used by the web interface to send commands, receive your console log and manage your server.
|
||||||
|
|
||||||
Don't worry about privacy or security: all data is stored in your browser locally and your PC will connect directly to your minecraft server. No intermediary web servers, just you and your MC server.
|
Don't worry about privacy or security: all data is stored in your browser locally and your PC will connect directly to your minecraft server. No intermediary web servers, just you and your MC server.
|
||||||
|
|
||||||
|
18
client/package-lock.json
generated
18
client/package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "web-console-client",
|
"name": "web-console-client",
|
||||||
"version": "2.5.0",
|
"version": "2.6.0",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "web-console-client",
|
"name": "web-console-client",
|
||||||
"version": "2.5.0",
|
"version": "2.6.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@angular/animations": "~13.3.0",
|
"@angular/animations": "~13.3.0",
|
||||||
"@angular/common": "~13.3.0",
|
"@angular/common": "~13.3.0",
|
||||||
@ -26,6 +26,7 @@
|
|||||||
"@ngx-translate/core": "^14.0.0",
|
"@ngx-translate/core": "^14.0.0",
|
||||||
"@ngx-translate/http-loader": "^7.0.0",
|
"@ngx-translate/http-loader": "^7.0.0",
|
||||||
"@popperjs/core": "^2.10.2",
|
"@popperjs/core": "^2.10.2",
|
||||||
|
"ansi_up": "^6.0.2",
|
||||||
"bootstrap": "^5.1.3",
|
"bootstrap": "^5.1.3",
|
||||||
"rxjs": "~7.5.0",
|
"rxjs": "~7.5.0",
|
||||||
"tslib": "^2.3.0",
|
"tslib": "^2.3.0",
|
||||||
@ -3432,6 +3433,14 @@
|
|||||||
"ajv": "^8.8.2"
|
"ajv": "^8.8.2"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/ansi_up": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi_up/-/ansi_up-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-3G3vKvl1ilEp7J1u6BmULpMA0xVoW/f4Ekqhl8RTrJrhEBkonKn5k3bUc5Xt+qDayA6iDX0jyUh3AbZjB/l0tw==",
|
||||||
|
"engines": {
|
||||||
|
"node": "*"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/ansi-colors": {
|
"node_modules/ansi-colors": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
||||||
@ -14572,6 +14581,11 @@
|
|||||||
"fast-deep-equal": "^3.1.3"
|
"fast-deep-equal": "^3.1.3"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"ansi_up": {
|
||||||
|
"version": "6.0.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/ansi_up/-/ansi_up-6.0.2.tgz",
|
||||||
|
"integrity": "sha512-3G3vKvl1ilEp7J1u6BmULpMA0xVoW/f4Ekqhl8RTrJrhEBkonKn5k3bUc5Xt+qDayA6iDX0jyUh3AbZjB/l0tw=="
|
||||||
|
},
|
||||||
"ansi-colors": {
|
"ansi-colors": {
|
||||||
"version": "4.1.1",
|
"version": "4.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "web-console-client",
|
"name": "web-console-client",
|
||||||
"version": "2.5.0",
|
"version": "2.7.0",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"ng": "ng",
|
"ng": "ng",
|
||||||
"start": "ng serve",
|
"start": "ng serve",
|
||||||
@ -28,6 +28,7 @@
|
|||||||
"@ngx-translate/core": "^14.0.0",
|
"@ngx-translate/core": "^14.0.0",
|
||||||
"@ngx-translate/http-loader": "^7.0.0",
|
"@ngx-translate/http-loader": "^7.0.0",
|
||||||
"@popperjs/core": "^2.10.2",
|
"@popperjs/core": "^2.10.2",
|
||||||
|
"ansi_up": "^6.0.2",
|
||||||
"bootstrap": "^5.1.3",
|
"bootstrap": "^5.1.3",
|
||||||
"rxjs": "~7.5.0",
|
"rxjs": "~7.5.0",
|
||||||
"tslib": "^2.3.0",
|
"tslib": "^2.3.0",
|
||||||
|
@ -19,6 +19,7 @@ import { WebSocketResponse } from 'src/app/_dto/response/WebSocketResponse';
|
|||||||
import { ServerDto } from 'src/app/_dto/ServerDto';
|
import { ServerDto } from 'src/app/_dto/ServerDto';
|
||||||
import { SettingsEnum, StorageService } from 'src/app/_services/storage.service';
|
import { SettingsEnum, StorageService } from 'src/app/_services/storage.service';
|
||||||
import { WebconsoleService } from 'src/app/_services/webconsole.service';
|
import { WebconsoleService } from 'src/app/_services/webconsole.service';
|
||||||
|
import { AnsiUp } from "ansi_up"
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-console',
|
selector: 'app-console',
|
||||||
@ -211,26 +212,7 @@ export class ConsoleComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||||||
msg = msg.replace(/</g, "<");
|
msg = msg.replace(/</g, "<");
|
||||||
msg = msg.replace(/(?:\r\n|\r|\n)/g, "<br>");
|
msg = msg.replace(/(?:\r\n|\r|\n)/g, "<br>");
|
||||||
|
|
||||||
//Color filter for Windows (thanks to SuperPykkon)
|
//Color filter for MC codes.
|
||||||
msg = msg.replace(/\[0;30;22m/g, "<span style='color: #000000;'>"); //&0
|
|
||||||
msg = msg.replace(/\[0;34;22m/g, "<span style='color: #0000AA;'>"); //&1
|
|
||||||
msg = msg.replace(/\[0;32;22m/g, "<span style='color: #00AA00;'>"); //&2
|
|
||||||
msg = msg.replace(/\[0;36;22m/g, "<span style='color: #00AAAA;'>"); //&3
|
|
||||||
msg = msg.replace(/\[0;31;22m/g, "<span style='color: #AA0000;'>"); //&4
|
|
||||||
msg = msg.replace(/\[0;35;22m/g, "<span style='color: #AA00AA;'>"); //&5
|
|
||||||
msg = msg.replace(/\[0;33;22m/g, "<span style='color: #FFAA00;'>"); //&6
|
|
||||||
msg = msg.replace(/\[0;37;22m/g, "<span style='color: #AAAAAA;'>"); //&7
|
|
||||||
msg = msg.replace(/\[0;30;1m/g, "<span style='color: #555555;'>"); //&8
|
|
||||||
msg = msg.replace(/\[0;34;1m/g, "<span style='color: #5555FF;'>"); //&9
|
|
||||||
msg = msg.replace(/\[0;32;1m/g, "<span style='color: #55FF55;'>"); //&a
|
|
||||||
msg = msg.replace(/\[0;36;1m/g, "<span style='color: #55FFFF;'>"); //&b
|
|
||||||
msg = msg.replace(/\[0;31;1m/g, "<span style='color: #FF5555;'>"); //&c
|
|
||||||
msg = msg.replace(/\[0;35;1m/g, "<span style='color: #FF55FF;'>"); //&d
|
|
||||||
msg = msg.replace(/\[0;33;1m/g, "<span style='color: #FFFF55;'>"); //&e
|
|
||||||
msg = msg.replace(/\[0;37;1m/g, "<span style='color: #FFFFFF;'>"); //&f
|
|
||||||
msg = msg.replace(/\[m/g, "</span>"); //&f
|
|
||||||
|
|
||||||
//Color filter for UNIX (This is easier!)
|
|
||||||
msg = msg.replace(/§0/g, "<span style='color: #000000;'>"); //&0
|
msg = msg.replace(/§0/g, "<span style='color: #000000;'>"); //&0
|
||||||
msg = msg.replace(/§1/g, "<span style='color: #0000AA;'>"); //&1
|
msg = msg.replace(/§1/g, "<span style='color: #0000AA;'>"); //&1
|
||||||
msg = msg.replace(/§2/g, "<span style='color: #00AA00;'>"); //&2
|
msg = msg.replace(/§2/g, "<span style='color: #00AA00;'>"); //&2
|
||||||
@ -280,6 +262,10 @@ export class ConsoleComponent implements OnInit, AfterViewInit, OnDestroy {
|
|||||||
|
|
||||||
msg = msg.replace(/r/g, "</span>"); //&r
|
msg = msg.replace(/r/g, "</span>"); //&r
|
||||||
|
|
||||||
|
// ANSI Processing
|
||||||
|
var ansi_up = new AnsiUp();
|
||||||
|
msg = ansi_up.ansi_to_html(msg);
|
||||||
|
|
||||||
//Append datetime if enabled
|
//Append datetime if enabled
|
||||||
if (this.storageService.getSetting(SettingsEnum.DateTimePrefix)) {
|
if (this.storageService.getSetting(SettingsEnum.DateTimePrefix)) {
|
||||||
if (typeof time !== 'undefined' && time !== null) //if time is present and not null
|
if (typeof time !== 'undefined' && time !== null) //if time is present and not null
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="navbar-nav ms-auto">
|
<ul class="navbar-nav ms-auto">
|
||||||
<span class="navbar-text">v2.5 - </span>
|
<span class="navbar-text">v2.7 - </span>
|
||||||
<a class="nav-link" target="_blank" href="https://github.com/mesacarlos/WebConsole">
|
<a class="nav-link" target="_blank" href="https://github.com/mesacarlos/WebConsole">
|
||||||
<fa-icon [icon]="icons.faArrowUpRightFromSquare"></fa-icon> GitHub
|
<fa-icon [icon]="icons.faArrowUpRightFromSquare"></fa-icon> GitHub
|
||||||
</a>
|
</a>
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
name: WebConsole
|
name: WebConsole
|
||||||
main: es.mesacarlos.webconsole.WebConsole
|
main: es.mesacarlos.webconsole.WebConsole
|
||||||
api-version: 1.13
|
api-version: 1.13
|
||||||
version: 2.6
|
version: 2.7
|
||||||
description: WebSocket-based web console
|
description: WebSocket-based web console
|
||||||
author: Carlos Mesa
|
author: Carlos Mesa
|
||||||
commands:
|
commands:
|
||||||
|
2
pom.xml
2
pom.xml
@ -4,7 +4,7 @@
|
|||||||
<modelVersion>4.0.0</modelVersion>
|
<modelVersion>4.0.0</modelVersion>
|
||||||
<groupId>WebConsole</groupId>
|
<groupId>WebConsole</groupId>
|
||||||
<artifactId>WebConsole</artifactId>
|
<artifactId>WebConsole</artifactId>
|
||||||
<version>2.6</version>
|
<version>2.7</version>
|
||||||
<build>
|
<build>
|
||||||
<sourceDirectory>src</sourceDirectory>
|
<sourceDirectory>src</sourceDirectory>
|
||||||
<plugins>
|
<plugins>
|
||||||
|
@ -130,8 +130,7 @@ public class LogFilter implements Filter{
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Result filter(LogEvent event) {
|
public Result filter(LogEvent event) {
|
||||||
String message = event.getMessage().getFormattedMessage().replaceAll("\u001b"," ");
|
wsServer.onNewConsoleLinePrinted(event.getMessage().getFormattedMessage());
|
||||||
wsServer.onNewConsoleLinePrinted(message);
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user