Exemple #1
0
 public IObservable <TdApi.Ok> EnableProxy(TdApi.Proxy proxy)
 {
     return(_agent.Execute(new TdApi.EnableProxy
     {
         ProxyId = proxy.Id
     }));
 }
Exemple #2
0
 public IObservable <Unit> EnableProxy(TdApi.Proxy proxy)
 {
     return(_agent.Execute(new TdApi.EnableProxy
     {
         ProxyId = proxy.Id
     })
            .Select(_ => Unit.Default));
 }
Exemple #3
0
 public IObservable <TdApi.Proxy> AddProxy(TdApi.Proxy proxy)
 {
     return(_agent.Execute(new TdApi.AddProxy
     {
         Server = proxy.Server,
         Port = proxy.Port,
         Type = proxy.Type
     }));
 }
Exemple #4
0
 public IObservable <TdApi.Proxy> UpdateProxy(TdApi.Proxy proxy)
 {
     return(_agent.Execute(new TdApi.EditProxy
     {
         ProxyId = proxy.Id,
         Server = proxy.Server,
         Port = proxy.Port,
         Type = proxy.Type
     }));
 }
        public static ProxyModel FromProxy(TdApi.Proxy proxy)
        {
            var model = new ProxyModel
            {
                Id        = proxy.Id,
                Proxy     = proxy,
                IsEnabled = proxy.IsEnabled,
                IsSaved   = proxy.Id != 0
            };

            model.Server   = proxy.Server ?? "";
            model.Port     = proxy.Port == 0 ? "" : proxy.Port.ToString();
            model.Username = "";
            model.Password = "";
            model.Secret   = "";

            switch (proxy.Type)
            {
            case TdApi.ProxyType.ProxyTypeSocks5 socks5:
                model.IsSocks5 = true;
                model.Username = socks5.Username ?? "";
                model.Password = socks5.Password ?? "";
                break;

            case TdApi.ProxyType.ProxyTypeHttp http:
                model.IsHttp   = true;
                model.Username = http.Username ?? "";
                model.Password = http.Password ?? "";
                break;

            case TdApi.ProxyType.ProxyTypeMtproto mtproto:
                model.IsMtProto = true;
                model.Secret    = mtproto.Secret ?? "";
                break;
            }

            model.IsServerInputVisible   = true;
            model.IsUsernameInputVisible = model.IsSocks5 || model.IsHttp;
            model.IsPasswordInputVisible = model.IsSocks5 || model.IsHttp;
            model.IsSecretInputVisible   = model.IsMtProto;

            model.IsRemovable = true;
            model.IsEditable  = true;

            return(model);
        }
        private static IObservable <ProxyModel> AddProxy(
            this ProxyPopupContext context,
            IProxyManager proxyManager)
        {
            var proxy = new TdApi.Proxy
            {
                Server = null,
                Port   = 0,
                Type   = new TdApi.ProxyType.ProxyTypeSocks5
                {
                    Username = null,
                    Password = null
                }
            };

            var proxyModel = ProxyModel.FromProxy(proxy);

            return(Observable.Return(proxyModel));
        }
Exemple #7
0
        private IObservable <Unit> AddProxy(IProxyManager proxyManager)
        {
            var proxy = new TdApi.Proxy
            {
                Server = null,
                Port   = 0,
                Type   = new TdApi.ProxyType.ProxyTypeSocks5
                {
                    Username = null,
                    Password = null
                }
            };

            var proxyModel = ProxyModel.FromProxy(proxy);

            Model.Proxies.Add(proxyModel);

            return(Observable.Empty <Unit>());
        }
        public TdApi.Proxy ToProxy()
        {
            var proxy = new TdApi.Proxy
            {
                Id           = Proxy?.Id ?? 0,
                IsEnabled    = Proxy?.IsEnabled ?? false,
                LastUsedDate = Proxy?.LastUsedDate ?? 0
            };

            int.TryParse(Port, out var port);
            proxy.Port   = port;
            proxy.Server = Server;

            if (IsSocks5)
            {
                proxy.Type = new TdApi.ProxyType.ProxyTypeSocks5
                {
                    Username = Username,
                    Password = Password
                };
            }

            if (IsHttp)
            {
                proxy.Type = new TdApi.ProxyType.ProxyTypeHttp
                {
                    Username = Username,
                    Password = Password
                };
            }

            if (IsMtProto)
            {
                proxy.Type = new TdApi.ProxyType.ProxyTypeMtproto
                {
                    Secret = Secret
                };
            }

            return(proxy);
        }
Exemple #9
0
        public static ProxyModel FromProxy(TdApi.Proxy proxy)
        {
            var model = new ProxyModel
            {
                Proxy = proxy
            };

            model.Server = proxy.Server;
            model.Port   = proxy.Port == 0 ? "" : proxy.Port.ToString();

            switch (proxy.Type)
            {
            case TdApi.ProxyType.ProxyTypeSocks5 socks5:
                model.IsSocks5 = true;
                model.Username = socks5.Username;
                model.Password = socks5.Password;
                break;

            case TdApi.ProxyType.ProxyTypeHttp http:
                model.IsHttp   = true;
                model.Username = http.Username;
                model.Password = http.Password;
                break;

            case TdApi.ProxyType.ProxyTypeMtproto mtproto:
                model.IsMtProto = true;
                model.Secret    = mtproto.Secret;
                break;
            }

            model.IsUsernameInputVisible = model.IsSocks5 || model.IsHttp;
            model.IsPasswordInputVisible = model.IsSocks5 || model.IsHttp;
            model.IsSecretInputVisible   = model.IsMtProto;

            return(model);
        }