Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - Adalher

Páginas: 1 ... 5 6 [7]
121
Dudas y pedidos generales / Deteccion de proxy de Sb0t 5.38
« en: Abril 26, 2017, 08:35:11 am »
Hola,

hay algo fascinante que no puedo descifrar porque siempre me pierdo en esto. Sea porque llame metodos de otro proyecto, clase o que hay muchas referncias. Pero alguien sabe como hace Sb0t para detectar proxys?

En el proyecto core hay una clase llamada Events.cs con este metodo:
Código: (csharp) [Seleccionar]
public static bool ProxyDetected(IClient client)
        {
            bool result = true;

            if (DefaultCommands)
                result = cmds.ProxyDetected(client != null ? client.IUser : null);

            js.ProxyDetected(client != null ? client.IUser : null);

            if (result)
                ExtensionManager.Plugins.ForEach(x =>
                {
                    try
                    {
                        result = x.Plugin.ProxyDetected(client != null ? client.IUser : null);

                        if (!result)
                            return;
                    }
                    catch { }
                });

            return result;
        }

Y en el proyecto scripting hay una clase llamada ServerEvents.cs con este metodo:
Código: (csharp) [Seleccionar]
public bool ProxyDetected(IUser client)
        {
            if (this.CanScript)
            {
                JSScript[] scripts = ScriptManager.Scripts.ToArray();

                foreach (JSScript s in scripts)
                {
                    Objects.JSUser u = s.GetUser(client);

                    if (u != null)
                        try
                        {
                            bool result = s.JS.CallGlobalFunction("onProxyDetected", u);

                            if (!result)
                                return false;
                        }
                        catch (Jurassic.JavaScriptException e)
                        {
                            ErrorDispatcher.SendError(s.ScriptName, e.Message, e.LineNumber);
                        }
                        catch { }
                }
            }

            return true;
        }

Todo el codigo fuente de Sb0t se puede descargar desde aqui:
https://github.com/AresChat/sb0t/releases/tag/v5.38

Yo tuve muchos problemas. Ya empezo con esto:

if (DefaultCommands)

Yo crei que deberia de haber un falso o verdadero.

Ustedes saben como hace Sb0t para detectar proxys?

Gracias y saludos

Páginas: 1 ... 5 6 [7]