diff --git a/ShiftOS.Main/ShiftOS.Main.csproj b/ShiftOS.Main/ShiftOS.Main.csproj index 8b47e6a..2171874 100644 --- a/ShiftOS.Main/ShiftOS.Main.csproj +++ b/ShiftOS.Main/ShiftOS.Main.csproj @@ -102,6 +102,7 @@ + diff --git a/ShiftOS.Main/ShiftOS/Apps/Terminal.cs b/ShiftOS.Main/ShiftOS/Apps/Terminal.cs index 44452ab..cf20bd9 100644 --- a/ShiftOS.Main/ShiftOS/Apps/Terminal.cs +++ b/ShiftOS.Main/ShiftOS/Apps/Terminal.cs @@ -11,7 +11,7 @@ namespace ShiftOS.Main.ShiftOS.Apps { public int TerminalID = TerminalBackend.trmTopID++; // Used so that we can have multiple instances of the terminal whilst the command begin run knowing what terminal to send the text to - very complicated ;) public string defaulttextBefore = "user> "; - public string defaulttextResult = "[user@shiftos~]$> "; // NOT YET IMPLEMENTED!!! + public string defaulttextResult = "[user@shiftos ~]$ "; // NOT YET IMPLEMENTED!!! public bool DoClear = false; public bool RunningCommand = false; public bool WaitingResponse = false; diff --git a/ShiftOS.Main/Terminal/Commands/tcpip.cs b/ShiftOS.Main/Terminal/Commands/tcpip.cs new file mode 100644 index 0000000..5e0e232 --- /dev/null +++ b/ShiftOS.Main/Terminal/Commands/tcpip.cs @@ -0,0 +1,51 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using ShiftOS.Main; + +namespace ShiftOS.Main.Terminal.Commands +{ + public class tcpip : TerminalCommand + { + public override string Name { get; } = "tcpip"; + public override string Summary { get; } = "Shows a list of incoming or outgoing commands."; + public override string Usage { get; } = "tcpip "; + public override bool Unlocked { get; set; } = false; + + public override void Run(params string[] args) + { + var r = new Random(); + string gen = Generate(13); + if (args.Length == 0) + { + WriteLine("tcpip: syntax error"); + return; + } + switch (args[0].ToLower()) + { + default: + WriteLine("tcpip: syntax error"); + break; + case "incoming": + WriteLine($"Incoming connections from localhost:"); + WriteLine($"IP ADDRESS v4 COMPUTER NAME"); + WriteLine($"{r.Next(0, 255)}.{r.Next(0, 255)}.{r.Next(0, 255)}.{r.Next(255)} {gen}"); + break; + } + } + public string Generate(int amountToGenerate) + { + var r = new Random(); + + string symbols = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghjklmnopqrstuvwxyz0123456789!@#$%^&*()"; + char[] array = new char[amountToGenerate]; + for (int i = 0; i < amountToGenerate; i++) + { + array[i] = symbols[r.Next(0, symbols.Length)]; + } + return new string(array); + } + } +}