Пример #1
0
        public override void Command(MenuItem menuItem, string UserInput)
        {
            ListenerInteractMenuItem listenerInteractMenuItem = (ListenerInteractMenuItem)menuItem;

            // TODO: error if http lsitener already on this port
            if (listenerInteractMenuItem.listener.Status == ListenerStatus.Active)
            {
                EliteConsole.PrintFormattedErrorLine("Listener: " + listenerInteractMenuItem.listener.Name + " is already active.");
                menuItem.PrintInvalidOptionError(UserInput);
            }
            else
            {
                switch (listenerInteractMenuItem.listenerType.Name)
                {
                case "HTTP":
                    HttpListener httpListener = this.CovenantClient.ApiListenersHttpByIdGet(listenerInteractMenuItem.listener.Id ?? default);
                    httpListener.Status = ListenerStatus.Active;
                    this.CovenantClient.ApiListenersHttpPut(httpListener);
                    break;
                }
                listenerInteractMenuItem.Refresh();
                // EliteConsole.PrintFormattedHighlightLine("Started Listener: " + listenerInteractMenuItem.listener.Name);
                EventModel eventModel = new EventModel {
                    Message = "Started Listener: " + listenerInteractMenuItem.listener.Name,
                    Level   = EventLevel.Highlight,
                    Context = "*"
                };
                eventModel = this.CovenantClient.ApiEventsPost(eventModel);
                this.EventPrinter.PrintEvent(eventModel);
            }
        }
Пример #2
0
        public override void Command(MenuItem menuItem, string UserInput)
        {
            ListenerInteractMenuItem listenerInteractMenuItem = (ListenerInteractMenuItem)menuItem;
            Listener         listener = listenerInteractMenuItem.listener;
            EliteConsoleMenu menu     = new EliteConsoleMenu(EliteConsoleMenu.EliteConsoleMenuType.Parameter, listenerInteractMenuItem.listenerType.Name + " Listener: " + listener.Name);

            switch (listenerInteractMenuItem.listenerType.Name)
            {
            case "HTTP":
                HttpListener httpListener = this.CovenantClient.ApiListenersHttpByIdGet(listener.Id ?? default);
                HttpProfile  httpProfile  = this.CovenantClient.ApiListenersByIdProfileGet(httpListener.Id ?? default);
                menu.Rows.Add(new List <string> {
                    "Name:", httpListener.Name
                });
                menu.Rows.Add(new List <string> {
                    "Status:", httpListener.Status.ToString()
                });
                menu.Rows.Add(new List <string> {
                    "Description:", httpListener.Description
                });
                menu.Rows.Add(new List <string> {
                    "URL:", httpListener.Url
                });
                menu.Rows.Add(new List <string> {
                    "  ConnectAddress:", httpListener.ConnectAddress
                });
                menu.Rows.Add(new List <string> {
                    "  BindAddress:", httpListener.BindAddress
                });
                menu.Rows.Add(new List <string> {
                    "  BindPort:", httpListener.BindPort.ToString()
                });
                menu.Rows.Add(new List <string> {
                    "  UseSSL:", (httpListener.UseSSL ?? default) ? "True" : "False"
                });
                menu.Rows.Add(new List <string> {
                    "SSLCertPath:", listenerInteractMenuItem.SSLCertPath
                });
                menu.Rows.Add(new List <string> {
                    "SSLCertPassword:"******"SSLCertHash:", httpListener.SslCertHash
                });
                menu.Rows.Add(new List <string> {
                    "HttpProfile:", httpProfile.Name
                });
                break;
            }