Example #1
0
        public string GetStream(string address)
        {
            var serveralias = address.Split('/')[0];
            var filename = address.Substring(Math.Min(serveralias.Length + 1, address.Length));
            var server = "";
            var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv"));
            foreach (var nameServer in nameServers)
            {
                server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r');
                if (server != "") { break; }
            }

            if (!server.StartsWith("http://")) { server = "http://" + server; }
            var resolvedAddress = Path.Combine(server, filename).Replace('\\', '/');

            var siteContent = "";
            foreach (var appendage in new[] { "", ".tk", "/index.tk" })
            {
                try
                {
                    var siteRequest = ((HttpWebResponse)WebRequest.Create((resolvedAddress + appendage).Replace('\\', '/')).GetResponse());
                    siteContent = new StreamReader(siteRequest.GetResponseStream()).ReadToEnd();
                    if (!Regex.IsMatch(siteContent, "Apache.*at.*Port", RegexOptions.Singleline))
                    {
                        break;
                    }
                }
                catch (Exception e)
                {
                    Debug.WriteLine(e);
                }
            }

            return siteContent;
        }
Example #2
0
        private static string Server(string serveralias)
        {
            var server = "";
            var nameServers = new CSVDocument(File.ReadAllText("nameserver.csv"));
            foreach(var nameServer in nameServers) {
                try {
                    server = new WebClient().DownloadString(string.Format(nameServer["Pattern"], serveralias)).Trim(' ', '\n', '\r');
                    if(server != "") { break; }
                } catch(Exception e) { /* ignored for now */ }
            }

            if(!server.StartsWith("http://")) { server = "http://" + server; }
            return server;
        }
Example #3
0
        public string FindName()
        {
            var response = new WebClient().DownloadString("http://example.com/");
            var prefix = "Hello, ";
            var suffix = "!";

            if (!response.StartsWith(prefix))
            {
                throw new NotImplementedException("The beginning of the response is invalid.");
            }

            if (!response.EndsWith(suffix))
            {
                throw new NotImplementedException("The ending of the response is invalid.");
            }

            return response.Substring(prefix.Length, response.Length - prefix.Length - suffix.Length);
        }
Example #4
0
 private string getCountry(string ip)
 {
     string response = new WebClient().DownloadString(API + ip);
     return response.StartsWith("fail,") ? "N/A" : response.Split(',')[1].Replace("\"","");
 }