Commit 33ae74b7 authored by nanahira's avatar nanahira

dashboard show ip

parent f2146c4f
...@@ -50,6 +50,7 @@ export class IpResolver { ...@@ -50,6 +50,7 @@ export class IpResolver {
} }
toIpv4(ip: string): string { toIpv4(ip: string): string {
if (!ip) return ip;
if (ip.startsWith('::ffff:')) { if (ip.startsWith('::ffff:')) {
return ip.slice(7); return ip.slice(7);
} }
...@@ -57,6 +58,7 @@ export class IpResolver { ...@@ -57,6 +58,7 @@ export class IpResolver {
} }
toIpv6(ip: string): string { toIpv6(ip: string): string {
if (!ip) return ip;
if (/^(\d{1,3}\.){3}\d{1,3}$/.test(ip)) { if (/^(\d{1,3}\.){3}\d{1,3}$/.test(ip)) {
return '::ffff:' + ip; return '::ffff:' + ip;
} }
......
...@@ -4,6 +4,7 @@ import { DialoguesProvider, TipsProvider } from '../feats/resource'; ...@@ -4,6 +4,7 @@ import { DialoguesProvider, TipsProvider } from '../feats/resource';
import { RoomDeathService } from '../feats/room-death-service'; import { RoomDeathService } from '../feats/room-death-service';
import { DuelStage, RoomInfo, RoomManager } from '../room'; import { DuelStage, RoomInfo, RoomManager } from '../room';
import { LegacyRoomIdService } from './legacy-room-id-service'; import { LegacyRoomIdService } from './legacy-room-id-service';
import { IpResolver } from '../client/ip-resolver';
type ApiMessageHandler = { type ApiMessageHandler = {
permission: string; permission: string;
...@@ -24,6 +25,7 @@ export class LegacyApiService { ...@@ -24,6 +25,7 @@ export class LegacyApiService {
private logger = this.ctx.createLogger('LegacyApiService'); private logger = this.ctx.createLogger('LegacyApiService');
private roomIdService = this.ctx.get(() => LegacyRoomIdService); private roomIdService = this.ctx.get(() => LegacyRoomIdService);
private handlers = new Map<string, ApiMessageHandler>(); private handlers = new Map<string, ApiMessageHandler>();
private ipResolver = this.ctx.get(() => IpResolver);
constructor(private ctx: Context) { constructor(private ctx: Context) {
this.registerDefaultHandlers(); this.registerDefaultHandlers();
...@@ -161,7 +163,7 @@ export class LegacyApiService { ...@@ -161,7 +163,7 @@ export class LegacyApiService {
.map((player) => ({ .map((player) => ({
id: '-1', id: '-1',
name: player.name, name: player.name,
ip: player.ip || null, ip: this.ipResolver.toIpv4(player.ip) || null,
status: status:
info.duelStage !== DuelStage.Begin info.duelStage !== DuelStage.Begin
? { ? {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment