public static string DeleteNetworkInterfaceToBridge(string bridgeName, string interfaceName) { var cmd = $"brctl delif {bridgeName} {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DeleteNeighborsIpv6(string address, string layerAddress, string interfaceName) { var cmd = $"ip -6 neigh del {address} lladdr {layerAddress} dev {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DisableStpOnBridge(string bridgeName) { var cmd = $"brctl stp {bridgeName} off"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string AddNewAddressIpv6(string address, string interfaceName) { var cmd = $"ip -6 addr add {address} dev {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string SetBridgePathCost(string bridgeName, string path, string cost) { var cmd = $"brctl setpathcost {bridgeName} {path} {cost} set path cost"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string AddTunnelPointToPointIpv4(string interfaceName, string ttl, string foreignTunnel, string address) { var cmd = $"ip tunnel add {interfaceName} mode sit ttl {ttl} remote {foreignTunnel} local {address}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DeleteTunnelPointToPointIpv4(string interfaceName) { var cmd = $"ip tunnel del {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string AddNat(string address, string viaAddress) { var cmd = $"ip route add nat {address} via {viaAddress}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DisableInterface(string interfaceName) { var cmd = $"ip link set {interfaceName} down"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string AddMultipathRoute(string net1, string net2) { var cmd = $"ip route add default scope global nexthop dev {net1} nexthop dev {net2}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string SetBridgePortPriority(string bridgeName, string port, string priority) { var cmd = $"brctl setportprio {bridgeName} {port} {priority} set port priority"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DeleteBridgeName(string bridgeName) { var cmd = $"brctl delbr {bridgeName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string FlushConfigurationIpv6() { var cmd = $"ip addr flush dynamic"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string FlushConfigurationIpv4(string interfaceName = null) { var i = interfaceName == null ? "label \"eth *\"" : "dev {interfaceName}"; var cmd = $"ip addr flush {i}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static void AddNftRule(string prefix, string rule) { ConfigManagement.AddCommandsBundle($"{prefix} {rule}"); if (rule.Length > 0) { Terminal.Terminal.Execute($"{prefix} {rule}"); } }
public static string DeleteRouteIpv4(string gateway, string destination) { var cmd = destination == null ? $"ip route del default via {gateway}" : $"ip route del {destination} via {gateway}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DeleteAddressIpv4(string address, string range, string interfaceName, string broadcast) { var cmd = broadcast == "" ? $"ip addr del {address}/{range} dev {interfaceName}" : $"ip addr del {address}/{range} broadcast {address} dev {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); }
public static string DeleteRouteIpv6Gateway(string address, string gateway = null) { if (gateway == null) { var cmd = $"ip -6 route del default via {address}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); } else { var cmd = $"ip -6 route del {gateway} via {address}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); } }
public static string DeleteRouteIpv6Interface(string interfaceName, string gateway = null) { if (gateway == null) { var cmd = $"ip -6 route del default dev {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); } else { var cmd = $"ip -6 route del {gateway} dev {interfaceName}"; ConfigManagement.AddCommandsBundle(cmd); return(Terminal.Terminal.Execute(cmd)); } }
public TerminalModule() { this.RequiresAuthentication(); Get["/terminal"] = x => View["page-terminal"]; Post["/terminal"] = x => Response.AsJson((string)(Request.Form.Directory == "" ? Terminal.Execute((string)Request.Form.Command) : Terminal.Execute(Request.Form.Command, Request.Form.Directory))); Post["/terminal/directory"] = x => { string directory = Request.Form.Directory; string result; if (Directory.Exists(directory)) { result = directory + " > "; } else { result = "0"; } return(Response.AsJson(result)); }; Post["/terminal/directory/parent"] = x => { string result; if (!Directory.Exists((string)Request.Form.Directory)) { result = "0"; } else { var parent = Directory.GetParent((string)Request.Form.Directory); if (Directory.Exists(parent.FullName)) { result = parent.FullName + " > "; } else { result = "0"; } } return(Response.AsJson(result)); }; Post["/terminal/api"] = x => { var cmds = Request.Form.Command.Split(new[] { Environment.NewLine }, StringSplitOptions.None); var result = Request.Form.Directory == "" ? Terminal.MultiLine.Execute((string[])cmds) : Terminal.MultiLine.Execute((string[])cmds, (string)Request.Form.Directory); return(Response.AsJson(result)); }; Post["/terminal/direct/post"] = x => { var inputCommand = (string)Request.Form.Command; var commandSplit = inputCommand.Split(new[] { "$nl" }, StringSplitOptions.None).Select(cmd => ConfigManagement.SupposeCommandReplacement(cmd.Replace("$'", "\""))).ToList(); foreach (var command in commandSplit) { ConfigManagement.AddCommandsBundle(command); } var result = Terminal.MultiLine.Execute(commandSplit); return(Response.AsJson(result)); }; Post["/terminal/direct"] = x => { var inputCommand = (string)Request.Form.Command; var commandSplit = inputCommand.Split(new[] { "$nl" }, StringSplitOptions.None).Select(cmd => ConfigManagement.SupposeCommandReplacement(cmd.Replace("$'", "\""))).ToList(); var result = Terminal.MultiLine.Execute(commandSplit); return(Response.AsJson(result)); }; }
public ConfModule() { this.RequiresAuthentication(); Post["/cfg/addvalue"] = x => { var tag = (string)Request.Form.Tag; var key = (string)Request.Form.Key; var value = (string)Request.Form.Value; if (key.Length > 0) { ConfigManagement.AddValuesBundle(tag, key, value); } else { ConfigManagement.AddValuesBundle(tag, value); } return(Response.AsRedirect("/")); }; Post["/cfg/delvalue"] = x => { var tag = (string)Request.Form.Tag; var key = (string)Request.Form.Key; var value = (string)Request.Form.Value; ConfigManagement.DeleteValuesBundle(tag, key, value); return(Response.AsRedirect("/")); }; Get["/cfg/tags"] = x => { var data = ConfigManagement.GetTagsBundleValue(); var map = SelectizerMapModel.MapRawTagOfValueBundle(data); return(Response.AsJson(map)); }; Post["/cfg/addcommand"] = x => { var command = (string)Request.Form.Command; if (command.Length > 0) { ConfigManagement.AddCommandsBundle(command); } return(Response.AsRedirect("/")); }; Post["/cfg/delcommand"] = x => { var guid = (string)Request.Form.Guid; ConfigManagement.DeleteCommandsBundle(guid); return(Response.AsRedirect("/")); }; Post["/cfg/enablecommand"] = x => { var guid = (string)Request.Form.Guid; ConfigManagement.EnableCommand(guid); return(Response.AsJson(true)); }; Post["/cfg/disablecommand"] = x => { var guid = (string)Request.Form.Guid; ConfigManagement.DisableCommand(guid); return(Response.AsJson(true)); }; Post["/cfg/launchcommand"] = x => { var guid = (string)Request.Form.Guid; ConfigManagement.LaunchCommand(guid); return(Response.AsRedirect("/")); }; Post["/cfg/reindex"] = x => { var guid = (string)Request.Form.Guid; var index = (string)Request.Form.Index; var guids = guid.Split(','); var indexes = index.Split(','); for (var i = 0; i < guids.Length; i++) { ConfigManagement.AssignIndexToCommandsBundle(guids[i], indexes[i]); } return(Response.AsRedirect("/")); }; Get["/cfg/getenabled"] = x => { var data = ConfigManagement.GetCommandsBundle().Where(_ => _.IsEnabled); return(Response.AsJson(data)); }; Get["/cfg/layouts"] = x => { var data = ConfigManagement.GetCommandsBundleLayout(); var map = SelectizerMapModel.MapRawCommandBundleLayout(data); return(Response.AsJson(map)); }; Post["/cfg/export"] = x => { ConfigManagement.Export.ExportConfigurationToFile(); return(Response.AsJson(true)); }; }