())
- {
- lvContributors.Items.Add((string)o["login"]);
- }
- });
-
- }
- catch (Exception)
- {
- this.Invoke((MethodInvoker)delegate
- {
- //shrink all
- this.Height = 174;
- });
- }
-
- }
-
- private void lvContributors_ColumnWidthChanging(object sender, ColumnWidthChangingEventArgs e)
- {
- //Keep the width not changed.
- e.NewWidth = ((ListView)sender).Columns[e.ColumnIndex].Width;
- //Cancel the event.
- e.Cancel = true;
- }
-
- private void lvContributors_SelectedIndexChanged(object sender, EventArgs e)
- {
- //Pls no touching the snek list.
- lvContributors.SelectedIndices.Clear();
- }
-
- private void lvContributors_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
- {
- e.Graphics.FillRectangle(Brushes.Red, e.Bounds);
- e.DrawText();
- }
-
}
}
diff --git a/Boop/MyIP.Designer.cs b/Boop/MyIP.Designer.cs
deleted file mode 100644
index 3b46100..0000000
--- a/Boop/MyIP.Designer.cs
+++ /dev/null
@@ -1,81 +0,0 @@
-namespace Boop
-{
- partial class MyIP
- {
- ///
- /// Required designer variable.
- ///
- private System.ComponentModel.IContainer components = null;
-
- ///
- /// Clean up any resources being used.
- ///
- protected override void Dispose(bool disposing)
- {
- if (disposing && (components != null))
- {
- components.Dispose();
- }
- base.Dispose(disposing);
- }
-
- #region Windows Form Designer generated code
-
- ///
- /// Required method for Designer support - do not modify
- /// the contents of this method with the code editor.
- ///
- private void InitializeComponent()
- {
- this.label1 = new System.Windows.Forms.Label();
- this.pictureBox1 = new System.Windows.Forms.PictureBox();
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
- this.SuspendLayout();
- //
- // label1
- //
- this.label1.Font = new System.Drawing.Font("Segoe UI", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
- this.label1.Location = new System.Drawing.Point(12, 366);
- this.label1.Name = "label1";
- this.label1.Size = new System.Drawing.Size(411, 21);
- this.label1.TabIndex = 1;
- this.label1.Text = "Your IP is that numeric thingy";
- this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
- //
- // pictureBox1
- //
- this.pictureBox1.Image = global::Boop.Properties.Resources.IP;
- this.pictureBox1.Location = new System.Drawing.Point(12, 12);
- this.pictureBox1.Name = "pictureBox1";
- this.pictureBox1.Size = new System.Drawing.Size(411, 351);
- this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom;
- this.pictureBox1.TabIndex = 2;
- this.pictureBox1.TabStop = false;
- //
- // MyIP
- //
- this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
- this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
- this.ClientSize = new System.Drawing.Size(435, 389);
- this.Controls.Add(this.pictureBox1);
- this.Controls.Add(this.label1);
- this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
- this.MaximizeBox = false;
- this.MinimizeBox = false;
- this.Name = "MyIP";
- this.Padding = new System.Windows.Forms.Padding(9);
- this.ShowIcon = false;
- this.ShowInTaskbar = false;
- this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
- this.Text = "Where is my IP?";
- this.Load += new System.EventHandler(this.MyIP_Load);
- ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
- this.ResumeLayout(false);
-
- }
-
- #endregion
- private System.Windows.Forms.Label label1;
- private System.Windows.Forms.PictureBox pictureBox1;
- }
-}
diff --git a/Boop/MyIP.cs b/Boop/MyIP.cs
deleted file mode 100644
index 3ef707f..0000000
--- a/Boop/MyIP.cs
+++ /dev/null
@@ -1,24 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Linq;
-using System.Reflection;
-using System.Threading.Tasks;
-using System.Windows.Forms;
-
-namespace Boop
-{
- partial class MyIP : Form
- {
- public MyIP()
- {
- InitializeComponent();
- }
-
- private void MyIP_Load(object sender, EventArgs e)
- {
-
- }
- }
-}
diff --git a/Boop/MyIP.resx b/Boop/MyIP.resx
deleted file mode 100644
index 1af7de1..0000000
--- a/Boop/MyIP.resx
+++ /dev/null
@@ -1,120 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/Boop/MyServer.cs b/Boop/MyServer.cs
deleted file mode 100644
index 6b8a799..0000000
--- a/Boop/MyServer.cs
+++ /dev/null
@@ -1,113 +0,0 @@
-// CsHTTPServer
-//
-// rmortega77@yahoo.es
-// The use of this software is subject to the following agreement
-//
-// 1. Don't use it to kill.
-// 2. Don't use to lie.
-// 3. If you learned something give it back.
-// 4. If you make money with it, consider sharing with the author.
-// 5. If you do not complies with 1 to 5, you may not use this software.
-//
-// If you have money to spare, and found useful, or funny, or anything
-// worth on this software, and want to contribute with future free
-// software development.
-// You may contact the author at rmortega77@yahoo.es
-// Contributions can be from money to hardware spareparts (better), or
-// a bug fix (best), or printed bibliografy, or thanks...
-// just write me.
-
-
-//I owe this guy ^ a beer.
-
-using System;
-using System.Text;
-
-using System.IO;
-using System.Web;
-
-using Microsoft.Win32;
-
-
-namespace rmortega77.CsHTTPServer
-{
- ///
- /// Summary description for MyServer.
- ///
- public class MyServer : CsHTTPServer
- {
- public string Folder;
-
- public MyServer(): base()
- {
- this.Folder = "c:\\www";
- }
-
- public MyServer(int thePort, string theFolder): base(thePort)
- {
- this.Folder = theFolder;
- }
-
- public override void OnResponse(ref HTTPRequestStruct rq, ref HTTPResponseStruct rp)
- {
- string path = this.Folder + rq.URL.Replace("/",@"\");
-
- //path = HttpUtility.UrlDecode(path); WOT??
- //path = path.Replace("%20", " ");
-
-
- if (Directory.Exists(path))
- {
- if (File.Exists(path + "default.htm"))
- path += "\\default.htm";
- else
- {
- string[] dirs = Directory.GetDirectories(path);
- string[] files = Directory.GetFiles(path);
-
- string bodyStr = "\n";
- bodyStr += "\n";
- bodyStr += "\n";
- bodyStr += "\n";
- bodyStr += "Folder listing, to do not see this add a 'default.htm' document\n
\n";
- for ( int i = 0; i[" + Path.GetFileName( dirs[i] ) + "]\n";
- for ( int i = 0; i" + Path.GetFileName( files[i] ) + "\n";
- bodyStr += "\n";
-
- rp.BodyData = Encoding.ASCII.GetBytes(bodyStr);
- return;
- }
- }
-
- if (File.Exists(path))
- {
- //RegistryKey rk = Registry.ClassesRoot.OpenSubKey(Path.GetExtension(path), true);
-
- // Get the data from a specified item in the key.
-
- FileStream input = new FileStream(path, FileMode.Open);
- // Open the stream and read it back.
- rp.Headers["Content-type"] = "application / octet - stream";
- rp.Headers["Content-Length"] = input.Length.ToString();
- rp.fs = input;
- }
- else
- {
-
- rp.status = (int)RespState.NOT_FOUND;
-
- string bodyStr = "\n";
- bodyStr += "\n";
- bodyStr += "\n";
- bodyStr += "\n";
- bodyStr += "File not found!!\n";
-
- rp.BodyData = Encoding.ASCII.GetBytes(bodyStr);
-
- }
-
- }
- }
-}
diff --git a/Boop/NetUtil.cs b/Boop/NetUtil.cs
index 6186dd3..93e3366 100644
--- a/Boop/NetUtil.cs
+++ b/Boop/NetUtil.cs
@@ -11,94 +11,126 @@
namespace Boop
{
- namespace NetUtil
- {
- class IPv4
- {
-
- public static int iIPIndex = -1;
- //Known Nintendo Mac adresses
- public static readonly List Nontendo = new List { "E84ECE", "E0E751", "E00C7F", "D86BF7", "CCFB65", "CC9E00", "B8AE6E", "A4C0E1", "A45C27", "9CE635", "98B6E9", "8CCDE8", "8C56C5", "7CBB8A", "78A2A0", "58BDA3", "40F407", "40D28A", "34AF2C", "2C10C1", "182A7B", "002709", "002659", "0025A0", "0024F3", "002444", "00241E", "0023CC", "002331", "0022D7", "0022AA", "00224C", "0021BD", "002147", "001FC5", "001F32", "001EA9", "001E35", "001DBC", "001CBE", "001BEA", "001B7A", "001AE9", "0019FD", "00191D", "0017AB", "001656", "0009BF" };
-
-
-
- ///
- /// Dups the result of arp -a into a list of a really neat struct.
- /// Not the cleanest way but it works for me.
- ///
- static List GetAllMacAddressesAndIppairs()
- {
- List mip = new List();
- System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
- pProcess.StartInfo.FileName = "arp";
- pProcess.StartInfo.Arguments = "-a ";
- pProcess.StartInfo.UseShellExecute = false;
- pProcess.StartInfo.RedirectStandardOutput = true;
- pProcess.StartInfo.CreateNoWindow = true;
- pProcess.Start();
- string cmdOutput = pProcess.StandardOutput.ReadToEnd();
- string pattern = @"(?([0-9]{1,3}\.?){4})\s*(?([a-f0-9]{2}-?){6})";
-
- foreach (Match m in Regex.Matches(cmdOutput, pattern, RegexOptions.IgnoreCase))
- {
- mip.Add(new MacIpPair()
- {
- MacAddress = m.Groups["mac"].Value,
- IpAddress = m.Groups["ip"].Value
- });
- }
-
- return mip;
- }
- public struct MacIpPair
- {
- public string MacAddress;
- public string IpAddress;
- }
-
- ///
- /// Returns the first ip adress whose MAC adress matches one from the known nintendo list.
- ///
- public static string GetFirst3DS()
- {
- foreach (var item in GetAllMacAddressesAndIppairs())
- {
- string MAC = "";
- MAC = item.MacAddress.Replace("-", "");
- MAC = MAC.Substring(0, 6);
- MAC = MAC.ToUpper();
- if (Nontendo.Contains(MAC))
- {
- return item.IpAddress;
- }
- }
- return ""; //Empty string means "No 3ds in range". To be used by the main thread to inform the user. (should I raise an exception? :S )
- }
-
- ///
- /// Retrieves the local IPv4 Address
- ///
- /// Returns your computer's Loopback if no Network detected.
- public static string Local
- {
- get { return Dns.GetHostEntry(Dns.GetHostName()).AddressList.DefaultIfEmpty(IPAddress.Loopback).Where(ip => ip.AddressFamily == AddressFamily.InterNetwork).ElementAt(iIPIndex).ToString(); }
- }
-
-
- ///
- /// Validates if the specified string is an IPv4 Address
- ///
- /// The string to compare
- /// True if the address is valid.
- public static bool Validate(string ipString)
- {
- if (ipString == "0.0.0.0" || ipString == "127.0.0.1")
- {
- return false;
- }
- return new Regex(@"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$").IsMatch(ipString); //Check the octets
- }
-
- }
- }
+ namespace NetUtil
+ {
+ class IPv4
+ {
+
+ public static int iIPIndex = -1;
+
+
+ //Known Nintendo Mac adresses //Will no longer be supported :|
+ public static readonly List Nontendo = new List { "0009BF", "001656", "0017AB", "00191D", "0019FD", "001AE9", "001B7A", "001BEA", "001CBE", "001DBC", "001E35", "001EA9", "001F32", "001FC5", "002147", "0021BD", "00224C", "0022AA", "0022D7", "002331", "0023CC", "00241E", "002444", "0024F3", "0025A0", "002659", "002709", "0403D6", "182A7B", "2C10C1", "34AF2C", "40D28A", "40F407", "582F40", "58BDA3", "5C521E", "606BFF", "64B5C6", "78A2A0", "7CBB8A", "8C56C5", "8CCDE8", "98B6E9", "9CE635", "A438CC", "A45C27", "A4C0E1", "B87826", "B88AEC", "B8AE6E", "CC9E00", "CCFB65", "D86BF7", "DC68EB", "E00C7F", "E0E751", "E84ECE", "ECC40D", "E84ECE" };
+
+
+ ///
+ /// Dups the result of arp -a into a list of a really neat struct.
+ /// Not the cleanest way but it works for me.
+ ///
+ static List GetAllMacAddressesAndIppairs()
+ {
+ List mip = new List();
+ System.Diagnostics.Process pProcess = new System.Diagnostics.Process();
+ pProcess.StartInfo.FileName = "arp";
+ pProcess.StartInfo.Arguments = "-a ";
+ pProcess.StartInfo.UseShellExecute = false;
+ pProcess.StartInfo.RedirectStandardOutput = true;
+ pProcess.StartInfo.CreateNoWindow = true;
+ pProcess.Start();
+ string cmdOutput = pProcess.StandardOutput.ReadToEnd();
+ string pattern = @"(?([0-9]{1,3}\.?){4})\s*(?([a-f0-9]{2}-?){6})";
+
+ foreach (Match m in Regex.Matches(cmdOutput, pattern, RegexOptions.IgnoreCase))
+ {
+ mip.Add(new MacIpPair()
+ {
+ MacAddress = m.Groups["mac"].Value,
+ IpAddress = m.Groups["ip"].Value
+ });
+ }
+
+ return mip;
+ }
+ public struct MacIpPair
+ {
+ public string MacAddress;
+ public string IpAddress;
+ }
+
+ ///
+ /// Returns the first ip adress whose MAC adress matches one from the known nintendo list.
+ ///
+ public static string GetFirstNintendoIP()
+ {
+ foreach (var item in GetAllMacAddressesAndIppairs())
+ {
+ string MAC = "";
+ MAC = item.MacAddress.Replace("-", "");
+ MAC = MAC.Substring(0, 6);
+ MAC = MAC.ToUpper();
+ if (Nontendo.Contains(MAC))
+ {
+ return item.IpAddress;
+ }
+ }
+ return ""; //Empty string means "No 3ds in range". To be used by the main thread to inform the user. (should I raise an exception? :S )
+ }
+
+ ///
+ /// Retrieves the local IPv4 Address
+ ///
+ /// Returns your computer's Loopback if no Network detected.
+ public static string Local
+ {
+ get { return Dns.GetHostEntry(Dns.GetHostName()).AddressList.DefaultIfEmpty(IPAddress.Loopback).Where(ip => ip.AddressFamily == AddressFamily.InterNetwork).ElementAt(iIPIndex).ToString(); }
+ }
+
+
+ ///
+ /// Validates if the specified string is an IPv4 Address
+ ///
+ /// The string to compare
+ /// True if the address is valid.
+ public static bool Validate(string ipString)
+ {
+ if (ipString == "0.0.0.0" || ipString == "127.0.0.1")
+ {
+ return false;
+ }
+ return new Regex(@"^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$").IsMatch(ipString); //Check the octets
+ }
+
+ ///
+ /// Validates if the specified string is a port
+ ///
+ /// The string to compare
+ /// True if the port is a number.
+ public static bool ValidatePort(string portString)
+ {
+ return (new Regex(@"[0-9]{1,5}").IsMatch(portString)); //between 1 and 5 digits.
+ }
+
+ ///
+ /// TestPort
+ ///
+ ///
+ ///
+ public static bool PortInUse(int port)
+ {
+ bool inUse = false;
+ IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties();
+ IPEndPoint[] ipEndPoints = ipProperties.GetActiveTcpListeners();
+ foreach (IPEndPoint endPoint in ipEndPoints)
+ {
+ if (endPoint.Port == port)
+ {
+ inUse = true;
+ break;
+ }
+ }
+ return inUse;
+ }
+
+ }
+ }
}
diff --git a/Boop/Properties/AssemblyInfo.cs b/Boop/Properties/AssemblyInfo.cs
index f1a1dd4..159bff0 100644
--- a/Boop/Properties/AssemblyInfo.cs
+++ b/Boop/Properties/AssemblyInfo.cs
@@ -6,11 +6,11 @@
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Boop")]
-[assembly: AssemblyDescription("Network file server for FBI")]
+[assembly: AssemblyDescription("Network file server for Nintendo Switch and Nintendo 3DS")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Elemental Code (Milton Candelero)")]
[assembly: AssemblyProduct("Boop")]
-[assembly: AssemblyCopyright("Copyright © 2016")]
+[assembly: AssemblyCopyright("This software is under The Unlicence. Please be good.")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.4.0.0")]
-[assembly: AssemblyFileVersion("1.4.0.0")]
+[assembly: AssemblyVersion("2.0.0.0")]
+[assembly: AssemblyFileVersion("2.0.0.0")]
diff --git a/Boop/Properties/Resources.Designer.cs b/Boop/Properties/Resources.Designer.cs
index 2f5116b..462208d 100644
--- a/Boop/Properties/Resources.Designer.cs
+++ b/Boop/Properties/Resources.Designer.cs
@@ -63,9 +63,9 @@ internal Resources() {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap Boop1 {
+ internal static System.Drawing.Bitmap _3ds {
get {
- object obj = ResourceManager.GetObject("Boop1", resourceCulture);
+ object obj = ResourceManager.GetObject("_3ds", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -73,9 +73,9 @@ internal static System.Drawing.Bitmap Boop1 {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap github {
+ internal static System.Drawing.Bitmap _switch {
get {
- object obj = ResourceManager.GetObject("github", resourceCulture);
+ object obj = ResourceManager.GetObject("_switch", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -83,9 +83,9 @@ internal static System.Drawing.Bitmap github {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap info {
+ internal static System.Drawing.Bitmap generic {
get {
- object obj = ResourceManager.GetObject("info", resourceCulture);
+ object obj = ResourceManager.GetObject("generic", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -93,9 +93,9 @@ internal static System.Drawing.Bitmap info {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap IP {
+ internal static System.Drawing.Bitmap github {
get {
- object obj = ResourceManager.GetObject("IP", resourceCulture);
+ object obj = ResourceManager.GetObject("github", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -103,9 +103,9 @@ internal static System.Drawing.Bitmap IP {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap snekicon {
+ internal static System.Drawing.Bitmap info {
get {
- object obj = ResourceManager.GetObject("snekicon", resourceCulture);
+ object obj = ResourceManager.GetObject("info", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
@@ -113,9 +113,9 @@ internal static System.Drawing.Bitmap snekicon {
///
/// Looks up a localized resource of type System.Drawing.Bitmap.
///
- internal static System.Drawing.Bitmap snekicon1 {
+ internal static System.Drawing.Bitmap snek2icon {
get {
- object obj = ResourceManager.GetObject("snekicon1", resourceCulture);
+ object obj = ResourceManager.GetObject("snek2icon", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
diff --git a/Boop/Properties/Resources.resx b/Boop/Properties/Resources.resx
index 9f7ed3e..a0e8db7 100644
--- a/Boop/Properties/Resources.resx
+++ b/Boop/Properties/Resources.resx
@@ -118,22 +118,22 @@
System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
- ..\Resources\Boop1.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\snekicon.ico;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
-
- ..\Resources\IP.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\generic.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
..\Resources\info.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\3ds.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
..\Resources\github.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
-
- ..\Resources\snekicon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+ ..\Resources\switch.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
+
+
+ ..\Resources\snek2icon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file
diff --git a/Boop/Properties/Settings.Designer.cs b/Boop/Properties/Settings.Designer.cs
index 8f6f4e2..c3ab24f 100644
--- a/Boop/Properties/Settings.Designer.cs
+++ b/Boop/Properties/Settings.Designer.cs
@@ -26,24 +26,24 @@ public static Settings Default {
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("192.168.1.1")]
- public string saved3DSIP {
+ public string savedIP {
get {
- return ((string)(this["saved3DSIP"]));
+ return ((string)(this["savedIP"]));
}
set {
- this["saved3DSIP"] = value;
+ this["savedIP"] = value;
}
}
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Configuration.DefaultSettingValueAttribute("True")]
- public bool bGuess {
+ [global::System.Configuration.DefaultSettingValueAttribute("8080")]
+ public string savedPort {
get {
- return ((bool)(this["bGuess"]));
+ return ((string)(this["savedPort"]));
}
set {
- this["bGuess"] = value;
+ this["savedPort"] = value;
}
}
}
diff --git a/Boop/Properties/Settings.settings b/Boop/Properties/Settings.settings
index 87e3498..5ae81b6 100644
--- a/Boop/Properties/Settings.settings
+++ b/Boop/Properties/Settings.settings
@@ -2,11 +2,11 @@
-
+
192.168.1.1
-
- True
+
+ 8080
\ No newline at end of file
diff --git a/Boop/Resources/3ds.png b/Boop/Resources/3ds.png
new file mode 100644
index 0000000..fdc7e66
Binary files /dev/null and b/Boop/Resources/3ds.png differ
diff --git a/Boop/Resources/generic.png b/Boop/Resources/generic.png
new file mode 100644
index 0000000..243d14c
Binary files /dev/null and b/Boop/Resources/generic.png differ
diff --git a/Boop/Resources/snek2icon.png b/Boop/Resources/snek2icon.png
new file mode 100644
index 0000000..6e2eae7
Binary files /dev/null and b/Boop/Resources/snek2icon.png differ
diff --git a/Boop/Resources/switch.png b/Boop/Resources/switch.png
new file mode 100644
index 0000000..e22ba13
Binary files /dev/null and b/Boop/Resources/switch.png differ
diff --git a/Boop/UpdateChecker.cs b/Boop/UpdateChecker.cs
deleted file mode 100644
index fd24c34..0000000
--- a/Boop/UpdateChecker.cs
+++ /dev/null
@@ -1,92 +0,0 @@
-using System;
-using System.Reflection;
-using System.Diagnostics;
-using System.Net;
-using System.IO;
-using Newtonsoft.Json.Linq;
-
-namespace Boop
-{
- class UpdateChecker
- {
- int iMajor;
- int iMinor;
- int iFix;
-
- public String sUrl { get; private set; }
-
- public static string GetCurrentVersion()
- {
- Assembly assembly = Assembly.GetExecutingAssembly();
- FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
- return fileVersionInfo.ProductMajorPart.ToString() + "." + fileVersionInfo.ProductMinorPart.ToString() + "." + fileVersionInfo.ProductBuildPart.ToString();
- }
-
- public UpdateChecker(int Major, int Minor, int Fix)
- {
- sUrl = "";
- iMajor = Major;
- iMinor = Minor;
- iFix = Fix;
- }
-
- public UpdateChecker()
- {
- sUrl = "";
- Assembly assembly = Assembly.GetExecutingAssembly();
- FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
- iMajor = fileVersionInfo.ProductMajorPart;
- iMinor = fileVersionInfo.ProductMinorPart;
- iFix = fileVersionInfo.ProductBuildPart;
- }
-
- public bool CheckForUpdates() //To maybe do: The json object that gitgub exposes has a field that marks the release as "pre-release" or not. Maybe optional to check if release or pre release?
- {
- HttpWebRequest HttpRequestObj = (HttpWebRequest)HttpWebRequest.Create(@"https://api.github.com/repos/miltoncandelero/boop/releases/latest");
- HttpRequestObj.Credentials = CredentialCache.DefaultCredentials;
- HttpRequestObj.ContentType = "application/json";
- HttpRequestObj.Method = "GET";
- HttpRequestObj.Accept = "application/json";
- HttpRequestObj.UserAgent = "Boop"; // NEEDS SOMETHING WRITTEN!
- HttpWebResponse response = (HttpWebResponse)HttpRequestObj.GetResponse();
- string content = new StreamReader(response.GetResponseStream()).ReadToEnd();
-
- JObject jObject = JObject.Parse(content);
- string Ver = (string)jObject["tag_name"];
- sUrl = (string)jObject["html_url"];
- try
- {
- String[] SplitVer = Ver.Split('.');
-
- int sMajor = int.Parse(SplitVer[0]);
- int sMinor = int.Parse(SplitVer[1]);
- int sFix = int.Parse(SplitVer[2]);
-
- //There must be a WAAAAY better way of doing this, but I can't see it right now.
- if (sMajor > iMajor) return true;
- if (sMajor < iMajor) return false;
-
- if (sMajor == iMajor)
- {
- if (sMinor > iMinor) return true;
- if (sMinor < iMinor) return false;
- if (sMinor == iMinor)
- {
- if (sFix > iFix) return true; else return false;
- }
-
- }
-
-
- return false;
- }
- catch (Exception)
- {
- throw new Exception("Probably messed up the Tags in Github");
- }
-
- }
-
-
- }
-}
diff --git a/Boop/Utils.cs b/Boop/Utils.cs
new file mode 100644
index 0000000..a9c9221
--- /dev/null
+++ b/Boop/Utils.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Reflection;
+using System.Diagnostics;
+using System.Net;
+using System.IO;
+
+namespace Boop
+{
+ class Utils
+ {
+ public static string GetCurrentVersion()
+ {
+ Assembly assembly = Assembly.GetExecutingAssembly();
+ FileVersionInfo fileVersionInfo = FileVersionInfo.GetVersionInfo(assembly.Location);
+ return fileVersionInfo.ProductMajorPart.ToString() + "." + fileVersionInfo.ProductMinorPart.ToString() + "." + fileVersionInfo.ProductBuildPart.ToString();
+ }
+
+ }
+}
diff --git a/Boop/bin/Debug/Boop.vshost.exe.config b/Boop/bin/Debug/Boop.vshost.exe.config
index 5fbd0fa..265f943 100644
--- a/Boop/bin/Debug/Boop.vshost.exe.config
+++ b/Boop/bin/Debug/Boop.vshost.exe.config
@@ -1,21 +1,21 @@
-
+
-
-
+
+
-
+
-
+
192.168.1.1
-
- True
+
+ 8080
-
\ No newline at end of file
+
diff --git a/Boop/bin/Release/Boop.vshost.exe.config b/Boop/bin/Release/Boop.vshost.exe.config
index 5fbd0fa..265f943 100644
--- a/Boop/bin/Release/Boop.vshost.exe.config
+++ b/Boop/bin/Release/Boop.vshost.exe.config
@@ -1,21 +1,21 @@
-
+
-
-
+
+
-
+
-
+
192.168.1.1
-
- True
+
+ 8080
-
\ No newline at end of file
+
diff --git a/Boop/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Boop/obj/Debug/DesignTimeResolveAssemblyReferences.cache
index 536a745..900a5aa 100644
Binary files a/Boop/obj/Debug/DesignTimeResolveAssemblyReferences.cache and b/Boop/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/Boop/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Boop/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache
index 4b07edf..3067353 100644
Binary files a/Boop/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache and b/Boop/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Boop/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll b/Boop/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll
index 273f47f..e60f50d 100644
Binary files a/Boop/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll and b/Boop/obj/Debug/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/Boop/obj/Release/DesignTimeResolveAssemblyReferences.cache b/Boop/obj/Release/DesignTimeResolveAssemblyReferences.cache
index c217d15..2bea62f 100644
Binary files a/Boop/obj/Release/DesignTimeResolveAssemblyReferences.cache and b/Boop/obj/Release/DesignTimeResolveAssemblyReferences.cache differ
diff --git a/Boop/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/Boop/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache
index 3118139..14ec7ad 100644
Binary files a/Boop/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache and b/Boop/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache differ
diff --git a/Boop/obj/Release/TempPE/Properties.Resources.Designer.cs.dll b/Boop/obj/Release/TempPE/Properties.Resources.Designer.cs.dll
index e3a8e52..626290f 100644
Binary files a/Boop/obj/Release/TempPE/Properties.Resources.Designer.cs.dll and b/Boop/obj/Release/TempPE/Properties.Resources.Designer.cs.dll differ
diff --git a/Boop/packages.config b/Boop/packages.config
index 9d64bf3..f2ca19d 100644
--- a/Boop/packages.config
+++ b/Boop/packages.config
@@ -1,4 +1,5 @@
-
+
+
\ No newline at end of file
diff --git a/Boop/snek2icon.ico b/Boop/snek2icon.ico
new file mode 100644
index 0000000..64ca97c
Binary files /dev/null and b/Boop/snek2icon.ico differ
diff --git a/README.md b/README.md
index d00649b..883c71b 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,11 @@
# Boop
-***Become a friend of the snek***
+***Become a friend of the sneks***
-Current release: **1.4.0**
+**NOW WITH SWITCH SUPPORT!**
-Boop is a C# implementation of the [servefiles.py from FBI](https://github.com/Steveice10/FBI/tree/2.4.5/servefiles)
+Current release: **2.0.0**
+
+Boop is a C# implementation of the [servefiles.py from FBI](https://github.com/Steveice10/FBI/tree/2.4.5/servefiles) and [remote_install_pc.py from Tinfoil](https://github.com/Adubbz/Tinfoil/blob/master/tools/remote_install_pc.py)
Boop is completely rewritten in C# and thus is snek friendly (No python needed).
@@ -11,14 +13,15 @@ Enough talk! Take me to the [download page!](https://github.com/miltoncandelero/
## Features:
+* Switch .nsp and 3DS .cia support!
* Easy to use GUI.
* Full Drag and Drop support.
* Multi-File Booping.
-* We host using TCPListener. *The snek won!*
+* We host using EmbedIO. (HTTP 2.0 supported!)
* Doesn't require administrator rights.
* Selecting an IP address if you are connected to multiple networks.
-* Sneks looking after you.
+* Sneks (one with a top hat) looking after you.
## Screenshot:
-![Snek Screenshot](/Screenshot1.2.PNG?raw=true "Boop v1.4.0")
+![Snek Screenshot](/boop2.png?raw=true "Boop v2.0.0")
diff --git a/Screenshot1.2.PNG b/Screenshot1.2.PNG
deleted file mode 100644
index fdc8497..0000000
Binary files a/Screenshot1.2.PNG and /dev/null differ
diff --git a/boop2.png b/boop2.png
new file mode 100644
index 0000000..aa80b93
Binary files /dev/null and b/boop2.png differ