-
Notifications
You must be signed in to change notification settings - Fork 0
/
Form1.cs
135 lines (120 loc) · 6.57 KB
/
Form1.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
namespace PinksaleTrending
{
public partial class Form1 : Form
{
public Form1()
{
var browserList = new List<string> { "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0", "Mozilla/5.0 (Macintosh; Intel Mac OS X 13_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.5 Safari/605.1.15", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.51" };
Random rnd = new Random();
int index = rnd.Next(browserList.Count);
var settings = new CefSettings();
//settings.CefCommandLineArgs.Add("headless");
settings.CefCommandLineArgs.Add("disable-gpu");
settings.CefCommandLineArgs.Add("no-sandbox");
settings.CefCommandLineArgs.Add("disable-dev-shm-usage");
settings.CefCommandLineArgs.Add("disable-software-rasterizer");
settings.CefCommandLineArgs.Add("disable-extensions");
settings.CefCommandLineArgs.Add("mute-audio");
settings.CefCommandLineArgs.Add("disable-setuid-sandbox");
settings.CefCommandLineArgs.Add("disable-application-cache");
settings.CefCommandLineArgs.Add("media-cache-size=1");
settings.CefCommandLineArgs.Add("disk-cache-size=1");
settings.CefCommandLineArgs.Add("aggressive-cache-discard");
settings.CefCommandLineArgs.Add("start-maximized");
settings.CefCommandLineArgs.Add("disable-infobars");
settings.CefCommandLineArgs.Add("disable-notifications");
settings.CefCommandLineArgs.Add("disable-offline-auto-reload");
settings.CefCommandLineArgs.Add("disable-offline-auto-reload-visible-only");
settings.CefCommandLineArgs.Add("blink-settings=imagesEnabled=false");
//settings.CefCommandLineArgs.Add("disable-image-loading");
settings.UserAgent = browserList[index];
Cef.Initialize(settings);
InitializeComponent();
}
bool isTorRunning = false;
private async void button3_Click(object sender, EventArgs e)
{
if (button3.Text == "Stop...")
{
checkBox1.Checked = false;
checkBox1.Enabled = false;
button3.Text = "Start Trending Loop";
button3.Enabled = true;
}
else
{
button3.Enabled = false;
// configure
var settings = new TorSharpSettings
{
ZippedToolsDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "TorZipped"),
ExtractedToolsDirectory = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "TorExtracted"),
PrivoxySettings = { Port = 1337 },
TorSettings =
{
SocksPort = 1338,
ControlPort = 1339,
ControlPassword = "",
},
};
// download tools
await new TorSharpToolFetcher(settings, new HttpClient()).FetchAsync();
// execute
var proxy = new TorSharpProxy(settings);
var handler = new HttpClientHandler
{
Proxy = new WebProxy(new Uri("http://localhost:" + settings.PrivoxySettings.Port))
};
var httpClient = new HttpClient(handler);
if (isTorRunning == false)
{
await proxy.ConfigureAndStartAsync();
isTorRunning = true;
button3.Text = "Tor Proxy Started";
}
await Cef.UIThreadTaskFactory.StartNew(delegate
{
string ip = "127.0.0.1";
string port = "1337";
var rc = chromiumWebBrowser1.GetBrowser().GetHost().RequestContext;
var dict = new Dictionary<string, object>
{
{ "mode", "fixed_servers" },
{ "server", "" + ip + ":" + port + "" }
};
string error;
bool success = rc.SetPreference("proxy", dict, out error);
});
await chromiumWebBrowser1.LoadUrlAsync(textBox1.Text);
checkBox1.Enabled = true;
button3.Enabled = false;
while (checkBox1.Checked == false)
{
Application.DoEvents();
}
button3.Text = "Stop...";
button3.Enabled = true;
checkBox1.Enabled = false;
while (checkBox1.Checked == true && button3.Text == "Stop...")
{
await chromiumWebBrowser1.LoadUrlAsync(textBox1.Text);
var scriptTelegram = @"const telegramLink = document.querySelector('a[href^=""https://t.me""]:not([href*=""pink""])');
telegramLink.click();";
chromiumWebBrowser1.ExecuteScriptAsync(scriptTelegram);
var scriptGithub = @"const githubLink = document.querySelector('a[href^=""https://github""]:not([href*=""pink""])');
githubLink.click();";
chromiumWebBrowser1.ExecuteScriptAsync(scriptGithub);
var scriptDiscord = @"const discordLink = document.querySelector('a[href^=""https://discord.gg""]:not([href*=""pink""])');
discordLink.click();";
chromiumWebBrowser1.ExecuteScriptAsync(scriptDiscord);
Cef.Shutdown();
var scriptContractCopy = @"document.querySelectorAll('.is-flex.mt-1.mb-2 a')[1].click();";
chromiumWebBrowser1.ExecuteScriptAsync(scriptContractCopy);
var scriptShare = @"document.querySelectorAll('.is-flex.mt-1.mb-2 a')[2].click();";
chromiumWebBrowser1.ExecuteScriptAsync(scriptShare);
await proxy.GetNewIdentityAsync();
chromiumWebBrowser1.Reload(true);
}
}
}
}