if (material)\r
entries = data.Take(9);\r
if (battle)\r
- entries = ProcessBattleLog(data);\r
+ entries = BattleLogProcessor.Process(data);\r
if (entries.Count() != records)\r
continue;\r
if (number)\r
Concat(MaterialHistory.Select(c => c.Now.ToString()));\r
}\r
\r
- private static IEnumerable<string> ProcessBattleLog(string[] data)\r
+ private static void SendFile(Socket client, string path, string mime)\r
+ {\r
+ using (var header = new StreamWriter(new MemoryStream(), Encoding.ASCII))\r
+ {\r
+ header.Write("HTTP/1.1 200 OK\r\n");\r
+ header.Write("Server: KancolleSniffer\r\n");\r
+ header.Write("Date: {0:R}\r\n", DateTime.Now);\r
+ header.Write("Content-Length: {0}\r\n", new FileInfo(path).Length);\r
+ header.Write("Content-Type: {0}\r\n", mime);\r
+ header.Write("Connection: close\r\n\r\n");\r
+ header.Flush();\r
+ client.SendFile(path, ((MemoryStream)header.BaseStream).ToArray(), null,\r
+ TransmitFileOptions.UseDefaultWorkerThread);\r
+ }\r
+ }\r
+\r
+ private static void SendProxyPac(Socket client, int port)\r
+ {\r
+ using (var header = new StreamWriter(new MemoryStream(), Encoding.ASCII))\r
+ {\r
+ header.Write("HTTP/1.1 200 OK\r\n");\r
+ header.Write("Server: KancolleSniffer\r\n");\r
+ header.Write("Date: {0:R}\r\n", DateTime.Now);\r
+ header.Write("Content-Type: application/x-ns-proxy-autoconfig\r\n");\r
+ header.Write("Connection: close\r\n\r\n");\r
+ header.Flush();\r
+ client.Send(((MemoryStream)header.BaseStream).ToArray());\r
+ }\r
+ var pacFile = @"\r
+function FindProxyForURL(url, host) {\r
+ if(isInNet(host, ""203.104.209.71"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.184.15"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.184.16"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.187.205"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.187.229"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.187.253"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.188.25"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.248.135"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.7"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.39"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.71"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.103"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.135"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.167"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.215"", ""255.255.255.255"") ||\r
+ isInNet(host, ""125.6.189.247"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.209.23"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.209.39"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.209.55"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.209.102"", ""255.255.255.255"") ||\r
+ isInNet(host, ""203.104.209.87"", ""255.255.255.255"")) {\r
+ return ""PROXY 127.0.0.1:8080"";\r
+ }\r
+ else {\r
+ return ""DIRECT"";\r
+ }\r
+}".Replace("8080", port.ToString());\r
+ client.Send(Encoding.ASCII.GetBytes(pacFile));\r
+ }\r
+ }\r
+\r
+ public static class BattleLogProcessor\r
+ {\r
+ public static IEnumerable<string> Process(string[] data)\r
{\r
if (data.Length == 35)\r
data = data.Concat(Enumerable.Repeat("", 3)).ToArray();\r
return data;\r
}\r
}\r
- return data.Take(23).Concat(new[] {string.Join("・", damaged)}).Concat(data.Skip(23));\r
- }\r
-\r
- private static void SendFile(Socket client, string path, string mime)\r
- {\r
- using (var header = new StreamWriter(new MemoryStream(), Encoding.ASCII))\r
- {\r
- header.Write("HTTP/1.1 200 OK\r\n");\r
- header.Write("Server: KancolleSniffer\r\n");\r
- header.Write("Date: {0:R}\r\n", DateTime.Now);\r
- header.Write("Content-Length: {0}\r\n", new FileInfo(path).Length);\r
- header.Write("Content-Type: {0}\r\n", mime);\r
- header.Write("Connection: close\r\n\r\n");\r
- header.Flush();\r
- client.SendFile(path, ((MemoryStream)header.BaseStream).ToArray(), null,\r
- TransmitFileOptions.UseDefaultWorkerThread);\r
- }\r
- }\r
-\r
- private static void SendProxyPac(Socket client, int port)\r
- {\r
- using (var header = new StreamWriter(new MemoryStream(), Encoding.ASCII))\r
- {\r
- header.Write("HTTP/1.1 200 OK\r\n");\r
- header.Write("Server: KancolleSniffer\r\n");\r
- header.Write("Date: {0:R}\r\n", DateTime.Now);\r
- header.Write("Content-Type: application/x-ns-proxy-autoconfig\r\n");\r
- header.Write("Connection: close\r\n\r\n");\r
- header.Flush();\r
- client.Send(((MemoryStream)header.BaseStream).ToArray());\r
- }\r
- var pacFile = @"\r
-function FindProxyForURL(url, host) {\r
- if(isInNet(host, ""203.104.209.71"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.184.15"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.184.16"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.187.205"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.187.229"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.187.253"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.188.25"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.248.135"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.7"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.39"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.71"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.103"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.135"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.167"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.215"", ""255.255.255.255"") ||\r
- isInNet(host, ""125.6.189.247"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.209.23"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.209.39"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.209.55"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.209.102"", ""255.255.255.255"") ||\r
- isInNet(host, ""203.104.209.87"", ""255.255.255.255"")) {\r
- return ""PROXY 127.0.0.1:8080"";\r
- }\r
- else {\r
- return ""DIRECT"";\r
- }\r
-}".Replace("8080", port.ToString());\r
- client.Send(Encoding.ASCII.GetBytes(pacFile));\r
+ return data.Take(23).Concat(new[] { string.Join("・", damaged) }).Concat(data.Skip(23));\r
}\r
}\r
}
\ No newline at end of file