diff --git a/CloudflareSolverRe.Captcha.dll b/CloudflareSolverRe.Captcha.dll new file mode 100644 index 0000000..ae5bd46 Binary files /dev/null and b/CloudflareSolverRe.Captcha.dll differ diff --git a/CloudflareSolverRe.dll b/CloudflareSolverRe.dll new file mode 100644 index 0000000..ee41a91 Binary files /dev/null and b/CloudflareSolverRe.dll differ diff --git a/Extreme.Net.dll b/Extreme.Net.dll index 872c305..0b1c5d0 100644 Binary files a/Extreme.Net.dll and b/Extreme.Net.dll differ diff --git a/OpenBullet.sln b/OpenBullet.sln index 7faa0cf..d518d6d 100644 --- a/OpenBullet.sln +++ b/OpenBullet.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 15 -VisualStudioVersion = 15.0.27130.2036 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29509.3 MinimumVisualStudioVersion = 10.0.40219.1 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenBullet", "OpenBullet\OpenBullet.csproj", "{99E40E7F-00A4-4FB1-9441-B05A56C47C08}" EndProject @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RuriLib", "RuriLib\RuriLib. EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenBulletCLI", "OpenBulletCLI\OpenBulletCLI.csproj", "{0B6D8B01-861E-4CAF-B1C9-6670884381DB}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PluginFramework", "PluginFramework\PluginFramework.csproj", "{E1DD89D0-EC1D-4849-A2B6-ADB261DFA3CE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -27,6 +29,10 @@ Global {0B6D8B01-861E-4CAF-B1C9-6670884381DB}.Debug|Any CPU.Build.0 = Debug|Any CPU {0B6D8B01-861E-4CAF-B1C9-6670884381DB}.Release|Any CPU.ActiveCfg = Release|Any CPU {0B6D8B01-861E-4CAF-B1C9-6670884381DB}.Release|Any CPU.Build.0 = Release|Any CPU + {E1DD89D0-EC1D-4849-A2B6-ADB261DFA3CE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E1DD89D0-EC1D-4849-A2B6-ADB261DFA3CE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E1DD89D0-EC1D-4849-A2B6-ADB261DFA3CE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E1DD89D0-EC1D-4849-A2B6-ADB261DFA3CE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/OpenBullet/App.config b/OpenBullet/App.config index b203939..a24c5e9 100644 --- a/OpenBullet/App.config +++ b/OpenBullet/App.config @@ -12,7 +12,7 @@ - + diff --git a/OpenBullet/Extensions.cs b/OpenBullet/Extensions.cs index aaccf01..775b362 100644 --- a/OpenBullet/Extensions.cs +++ b/OpenBullet/Extensions.cs @@ -8,10 +8,25 @@ using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Media; +using PluginFramework; +using RuriLib; using RuriLib.Models; namespace OpenBullet { + public static class BlocksExtensions + { + public static IEnumerable OnlyPlugins(this IEnumerable blocks) + { + return blocks.Where(b => b.IsPlugin()); + } + + public static bool IsPlugin(this BlockBase block) + { + return block.GetType().GetInterface(nameof(IBlockPlugin)) == typeof(IBlockPlugin); + } + } + public static class EnumerableExtensions { public static void SaveToFile(this IEnumerable items, string fileName, Func mapping) diff --git a/OpenBullet/LSDoc.xml b/OpenBullet/LSDoc.xml index 149ebd2..b469c2b 100644 --- a/OpenBullet/LSDoc.xml +++ b/OpenBullet/LSDoc.xml @@ -171,39 +171,39 @@ ELEMENT LOCATOR "STRING" [INDEX] Allowed Actions: ## Spawn a div with a given id to a (x,y) absolute position, so you can use it as element hook for mouse movement -SPAWN "ID" X Y +SPAWN "ID" "X" "Y" CLICK [ELEMENT] CLICKANDHOLD [ELEMENT] RIGHTCLICK [ELEMENT] DOUBLECLICK [ELEMENT] DRAGANDDROP ELEMENT -> ELEMENT -DRAGANDDROPWITHOFFSET X Y ELEMENT +DRAGANDDROPWITHOFFSET "X" "Y" ELEMENT KEYDOWN "KEY" [ELEMENT] KEYUP "KEY" [ELEMENT] -MOVEBY X Y +MOVEBY "X" "Y" MOVETO ELEMENT RELEASE [ELEMENT] SENDKEYS "KEYS" [ELEMENT] ## Draws random points in a square starting from the top left corner and with the given width and height DRAWPOINTS MAXW MAXH AMOUNT -DRAWLINE (X1 Y2 -> X2 Y2 / ELEMENT -> ELEMENT) : AMOUNT -DRAWLINEHUMAN (X1 Y1 -> X2 Y2 / ELEMENT -> ELEMENT) : AMOUNT [GRAVITY WIND] +DRAWLINE ("X1" "Y1" -> "X2" "Y2" / ELEMENT -> ELEMENT) : AMOUNT +DRAWLINEHUMAN ("X1" "Y1" -> "X2" "Y2" / ELEMENT -> ELEMENT) : AMOUNT [GRAVITY WIND] Examples: ## Moving to an element and clicking 100 pixels right of it MOUSEACTION MOVETO ELEMENT CLASS "testclass" 1 - MOVEBY 100 0 + MOVEBY "100" "0" CLICK ## Moving to a specific set of coordinates on the page MOUSEACTION - SPAWN "target" 100 150 + SPAWN "target" "100" "150" MOVETO ELEMENT ID "target" ## Moving like a human from point A (0,0) to point B (700,700). The lower the AMOUNT, the faster the line is drawn MOUSEACTION - DRAWLINEHUMAN 0 0 -> 700 700 : 150 1 1 + DRAWLINEHUMAN "0" "0" -> "700" "700" : 150 1 1 ## Moving like a human from element with id="one" to element with id="two", 20 points and default gravity/wind MOUSEACTION @@ -239,7 +239,7 @@ FUNCTION Translate StopAfterFirstMatch=True FUNCTION DateToUnixTime "format" "input" -> VAR "DATE" FUNCTION Replace "what" "with" UseRegex=True "input" -> VAR "REPLACED" FUNCTION RegexMatch "pattern" "input" -> VAR "MATCHED" -FUNCTION RandomNum 0 100 -> VAR "RANDOM" +FUNCTION RandomNum "0" "100" -> VAR "RANDOM" FUNCTION CountOccurrences "tofind" "input" -> VAR "COUNT" FUNCTION CharAt "index" "input" -> VAR "CHAR" FUNCTION Substring "startindex" "length" "input" -> VAR "SUBSTRING" diff --git a/OpenBullet/MainWindow.xaml b/OpenBullet/MainWindow.xaml index 6d66cc5..c5aaf99 100644 --- a/OpenBullet/MainWindow.xaml +++ b/OpenBullet/MainWindow.xaml @@ -88,6 +88,7 @@