Skip to content

Commit 8a7c8aa

Browse files
add project
1 parent f9616a7 commit 8a7c8aa

File tree

142 files changed

+5131
-2
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

142 files changed

+5131
-2
lines changed

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
bin/
2+
obj/
3+
/packages/
4+
riderModule.iml
5+
/_ReSharper.Caches/
6+
.idea
7+
.vs
8+
info.md
9+
Properties/

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 SolveCaptcha
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 645 additions & 2 deletions
Large diffs are not rendered by default.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
using System.Linq;
3+
using SolveCaptcha.Captcha;
4+
5+
namespace SolveCaptcha.Examples
6+
{
7+
public class AmazonWafExample
8+
{
9+
public AmazonWafExample(string apiKey)
10+
{
11+
SolveCaptcha solver = new SolveCaptcha(apiKey);
12+
13+
AmazonWaf captcha = new AmazonWaf();
14+
captcha.SetSiteKey("AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AF5H1K/siwSLK7RfstKtN5bAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglg");
15+
captcha.SetUrl("https://non-existent-example.execute-api.us-east-1.amazonaws.com");
16+
captcha.SetContext("test_iv");
17+
captcha.SetIV("test_context");
18+
19+
try
20+
{
21+
solver.Solve(captcha).Wait();
22+
Console.WriteLine("Captcha solved: " + captcha.Code);
23+
}
24+
catch (AggregateException e)
25+
{
26+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
27+
}
28+
}
29+
}
30+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.Linq;
3+
using SolveCaptcha.Captcha;
4+
5+
namespace SolveCaptcha.Examples
6+
{
7+
public class AmazonWafOptionsExample
8+
{
9+
public AmazonWafOptionsExample(string apiKey)
10+
{
11+
SolveCaptcha solver = new SolveCaptcha(apiKey);
12+
13+
AmazonWaf captcha = new AmazonWaf();
14+
captcha.SetSiteKey("AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AF5H1K/siwSLK7RfstKtN5bAAAAfjB8BgkqhkiG9w0BBwagbzBtAgEAMGgGCSqGSIb3DQEHATAeBglg");
15+
captcha.SetUrl("https://non-existent-example.execute-api.us-east-1.amazonaws.com");
16+
captcha.SetContext("test_iv");
17+
captcha.SetIV("test_context");
18+
captcha.SetProxy("HTTPS", "login:password@IP_address:PORT");
19+
20+
try
21+
{
22+
solver.Solve(captcha).Wait();
23+
Console.WriteLine("Captcha solved: " + captcha.Code);
24+
}
25+
catch (AggregateException e)
26+
{
27+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
28+
}
29+
}
30+
}
31+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
using System;
2+
using System.Linq;
3+
using SolveCaptcha.Captcha;
4+
5+
namespace SolveCaptcha.Examples
6+
{
7+
public class AtbCAPTCHAExample
8+
{
9+
public AtbCAPTCHAExample(string apiKey)
10+
{
11+
SolveCaptcha solver = new SolveCaptcha(apiKey);
12+
13+
AtbCAPTCHA atbCAPTCHA = new AtbCAPTCHA();
14+
atbCAPTCHA.SetAppId("af23e041b22d000a11e22a230fa8991c");
15+
atbCAPTCHA.SetApiServer("https://cap.aisecurius.com");
16+
atbCAPTCHA.SetPageUrl("https://www.example.com/");
17+
18+
try
19+
{
20+
solver.Solve(atbCAPTCHA).Wait();
21+
Console.WriteLine("Captcha solved: " + atbCAPTCHA.Code);
22+
}
23+
catch (AggregateException e)
24+
{
25+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
26+
}
27+
}
28+
}
29+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using System;
2+
using System.IO;
3+
using System.Linq;
4+
using SolveCaptcha.Captcha;
5+
6+
namespace SolveCaptcha.Examples
7+
{
8+
public class AudioCaptchaExample
9+
{
10+
public AudioCaptchaExample(string apiKey)
11+
{
12+
SolveCaptcha solver = new SolveCaptcha(apiKey);
13+
14+
byte[] bytes = File.ReadAllBytes("resources/audio-en.mp3");
15+
string base64EncodedImage = Convert.ToBase64String(bytes);
16+
17+
AudioCaptcha captcha = new AudioCaptcha();
18+
captcha.SetBase64(base64EncodedImage);
19+
20+
try
21+
{
22+
solver.Solve(captcha).Wait();
23+
Console.WriteLine("Captcha solved: " + captcha.Code);
24+
}
25+
catch (AggregateException e)
26+
{
27+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
28+
}
29+
}
30+
}
31+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using System.IO;
3+
using System.Linq;
4+
using SolveCaptcha.Captcha;
5+
6+
namespace SolveCaptcha.Examples
7+
{
8+
public class AudioCaptchaOptionsExample
9+
{
10+
public AudioCaptchaOptionsExample(string apiKey)
11+
{
12+
SolveCaptcha solver = new SolveCaptcha(apiKey);
13+
14+
byte[] bytes = File.ReadAllBytes("resources/audio-ru.mp3");
15+
string base64EncodedImage = Convert.ToBase64String(bytes);
16+
17+
AudioCaptcha captcha = new AudioCaptcha();
18+
captcha.SetBase64(base64EncodedImage);
19+
captcha.SetLang("ru");
20+
21+
try
22+
{
23+
solver.Solve(captcha).Wait();
24+
Console.WriteLine("Captcha solved: " + captcha.Code);
25+
}
26+
catch (AggregateException e)
27+
{
28+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
29+
}
30+
}
31+
}
32+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
using System;
2+
using System.IO;
3+
using System.Linq;
4+
using SolveCaptcha.Captcha;
5+
6+
namespace SolveCaptcha.Examples
7+
{
8+
public class CanvasBase64Example
9+
{
10+
public CanvasBase64Example(string apiKey)
11+
{
12+
SolveCaptcha solver = new SolveCaptcha(apiKey);
13+
14+
byte[] bytes = File.ReadAllBytes("resources/canvas.jpg");
15+
string base64EncodedImage = Convert.ToBase64String(bytes);
16+
17+
Canvas captcha = new Canvas();
18+
captcha.SetBase64(base64EncodedImage);
19+
captcha.SetHintText("Draw around apple");
20+
21+
try
22+
{
23+
solver.Solve(captcha).Wait();
24+
Console.WriteLine("Captcha solved: " + captcha.Code);
25+
}
26+
catch (AggregateException e)
27+
{
28+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
29+
}
30+
}
31+
}
32+
}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
using System;
2+
using System.Linq;
3+
using SolveCaptcha.Captcha;
4+
5+
namespace SolveCaptcha.Examples
6+
{
7+
public class CanvasExample
8+
{
9+
public CanvasExample(string apiKey)
10+
{
11+
SolveCaptcha solver = new SolveCaptcha(apiKey);
12+
13+
Canvas captcha = new Canvas();
14+
captcha.SetFile("resources/canvas.jpg");
15+
captcha.SetHintText("Draw around apple");
16+
17+
try
18+
{
19+
solver.Solve(captcha).Wait();
20+
Console.WriteLine("Captcha solved: " + captcha.Code);
21+
}
22+
catch (AggregateException e)
23+
{
24+
Console.WriteLine("Error occurred: " + e.InnerExceptions.First().Message);
25+
}
26+
}
27+
}
28+
}

0 commit comments

Comments
 (0)