update to v0.1.2

This commit is contained in:
Merith 2025-03-18 18:05:19 -07:00
parent ddd2ea9eb5
commit ea448c9fe1
16 changed files with 1072 additions and 6773 deletions

View file

@ -4,7 +4,7 @@
<GenerateAssemblyInfo>False</GenerateAssemblyInfo> <GenerateAssemblyInfo>False</GenerateAssemblyInfo>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<UseWindowsForms>True</UseWindowsForms> <UseWindowsForms>True</UseWindowsForms>
<TargetFramework>netcoreapp8.0</TargetFramework> <TargetFramework>net8.0-windows</TargetFramework>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<LangVersion>12.0</LangVersion> <LangVersion>12.0</LangVersion>
@ -12,8 +12,13 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>
<RootNamespace /> <RootNamespace />
<ApplicationIcon>App.ico</ApplicationIcon>
<PlatformTarget>x64</PlatformTarget>
</PropertyGroup> </PropertyGroup>
<ItemGroup /> <ItemGroup>
<PackageReference Include="Emgu.CV" Version="4.10.0.5680" />
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
</ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="HtmlAgilityPack"> <Reference Include="HtmlAgilityPack">
<HintPath>C:\ControlApp\HtmlAgilityPack.dll</HintPath> <HintPath>C:\ControlApp\HtmlAgilityPack.dll</HintPath>
@ -21,11 +26,8 @@
<Reference Include="AxInterop.WMPLib"> <Reference Include="AxInterop.WMPLib">
<HintPath>C:\ControlApp\AxInterop.WMPLib.dll</HintPath> <HintPath>C:\ControlApp\AxInterop.WMPLib.dll</HintPath>
</Reference> </Reference>
<Reference Include="Vlc.DotNet.Forms"> <Reference Include="Microsoft.Web.WebView2.WinForms">
<HintPath>C:\ControlApp\Vlc.DotNet.Forms.dll</HintPath> <HintPath>C:\ControlApp\Microsoft.Web.WebView2.WinForms.dll</HintPath>
</Reference>
<Reference Include="Vlc.DotNet.Core">
<HintPath>C:\ControlApp\Vlc.DotNet.Core.dll</HintPath>
</Reference> </Reference>
<Reference Include="Interop.WMPLib"> <Reference Include="Interop.WMPLib">
<HintPath>C:\ControlApp\Interop.WMPLib.dll</HintPath> <HintPath>C:\ControlApp\Interop.WMPLib.dll</HintPath>
@ -40,4 +42,9 @@
<HintPath>C:\ControlApp\Emgu.CV.Bitmap.dll</HintPath> <HintPath>C:\ControlApp\Emgu.CV.Bitmap.dll</HintPath>
</Reference> </Reference>
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Update="App.ico">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
</Project> </Project>

View file

@ -38,6 +38,9 @@
<Compile Update="ControlApp\Subliminal.cs"> <Compile Update="ControlApp\Subliminal.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Update="ControlApp\SubLoop.cs">
<SubType>Form</SubType>
</Compile>
<Compile Update="ControlApp\WatchForMe.cs"> <Compile Update="ControlApp\WatchForMe.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>

View file

@ -55,8 +55,6 @@ public class ControlApp : Form
private TextBox msgbx; private TextBox msgbx;
private CheckBox All_chk;
private Label label4; private Label label4;
private Button button9; private Button button9;
@ -183,6 +181,8 @@ public class ControlApp : Form
private TextBox ScoreTxt; private TextBox ScoreTxt;
private Button button6;
public ControlApp() public ControlApp()
{ {
InitializeComponent(); InitializeComponent();
@ -221,6 +221,10 @@ public class ControlApp : Form
{ {
base.OnLoad(e); base.OnLoad(e);
bannedsights = new string[6] { "booru.allthefallen.moe", "mega.nz", "thecontrolapp.co.uk/Pages/ControlPC", "paradroid-gamma.vercel", "imagekit.io/tools/asset-public-link", "paradroid-gamma.web.app" }; bannedsights = new string[6] { "booru.allthefallen.moe", "mega.nz", "thecontrolapp.co.uk/Pages/ControlPC", "paradroid-gamma.vercel", "imagekit.io/tools/asset-public-link", "paradroid-gamma.web.app" };
ToolTip toolTip = new ToolTip();
toolTip.SetToolTip(groupcmbx, "Sends the command to all in this group.");
toolTip.SetToolTip(touser, "Sends the command to this user.");
meuser.Text = ConfigurationManager.AppSettings["UserName"].ToString();
} }
public void refreshdom() public void refreshdom()
@ -361,11 +365,11 @@ public class ControlApp : Form
{ {
if (Nocomds.Text == "1") if (Nocomds.Text == "1")
{ {
new CustomMessage("You have " + Nocomds.Text + " outstanding command.", "", 0, tts: true).ShowDialog(); new CustomMessage("You have " + Nocomds.Text + " outstanding command.", "", 0, tts: true).Show();
} }
else if (Convert.ToInt16(Nocomds.Text) > 1) else if (Convert.ToInt16(Nocomds.Text) > 1)
{ {
new CustomMessage("You have " + Nocomds.Text + " outstanding commands.", "", 0, tts: true).ShowDialog(); new CustomMessage("You have " + Nocomds.Text + " outstanding commands.", "", 0, tts: true).Show();
} }
} }
} }
@ -576,40 +580,17 @@ public class ControlApp : Form
try try
{ {
string usernm = ""; string usernm = "";
bool all = All_chk.Checked;
string comm = MainTxt.Text; string comm = MainTxt.Text;
if (all)
{
touser.Text = "";
if (groupcmbx.SelectedIndex == 0 || groupcmbx.SelectedIndex == -1) if (groupcmbx.SelectedIndex == 0 || groupcmbx.SelectedIndex == -1)
{
MessageBox.Show("Please select a group.");
}
else
{
if (varified)
{
usernm = getgroup().ToString();
utils.sendcmd(usernm, comm, all);
}
else
{
all = false;
MessageBox.Show("Only varified users can send to all");
}
all = true;
}
}
else if (groupcmbx.SelectedIndex == 0 || groupcmbx.SelectedIndex == -1)
{ {
usernm = touser.Text; usernm = touser.Text;
utils.sendcmd(usernm, comm, all); utils.sendcmd(usernm, comm, all: true);
} }
else else
{ {
touser.Text = ""; touser.Text = "";
usernm = getgroup().ToString(); usernm = getgroup().ToString();
utils.sendcmd(usernm, comm, all); utils.sendcmd(usernm, comm, all: false);
} }
} }
catch (Exception ex) catch (Exception ex)
@ -976,6 +957,7 @@ public class ControlApp : Form
private void groupcmbx_SelectedIndexChanged(object sender, EventArgs e) private void groupcmbx_SelectedIndexChanged(object sender, EventArgs e)
{ {
touser.Text = "";
} }
private async void WaitFiveSeconds() private async void WaitFiveSeconds()
@ -1041,6 +1023,40 @@ public class ControlApp : Form
} }
} }
private void touser_SelectedIndexChanged(object sender, EventArgs e)
{
groupcmbx.Text = "";
groupcmbx.SelectedIndex = 0;
}
private void button6_Click(object sender, EventArgs e)
{
if (msgbx.Text.Length > 0)
{
string line = "L=" + msgbx.Text;
line = utils.Ecrypt(line);
TextBox mainTxt = MainTxt;
mainTxt.Text = mainTxt.Text + line + "|||";
msgbx.Text = "";
}
if (webtxt.Text.Length > 0)
{
string line2 = "L=" + webtxt.Text;
line2 = utils.Ecrypt(line2);
TextBox mainTxt2 = MainTxt;
mainTxt2.Text = mainTxt2.Text + line2 + "|||";
webtxt.Text = "";
}
if (filetxt.Text.Length > 0)
{
string line3 = "L=https://www.thecontrolapp.co.uk/storage/" + filetxt.Text;
line3 = utils.Ecrypt(line3);
TextBox mainTxt3 = MainTxt;
mainTxt3.Text = mainTxt3.Text + line3 + "|||";
filetxt.Text = "";
}
}
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && components != null) if (disposing && components != null)
@ -1102,7 +1118,6 @@ public class ControlApp : Form
this.label5 = new System.Windows.Forms.Label(); this.label5 = new System.Windows.Forms.Label();
this.btnbx = new System.Windows.Forms.TextBox(); this.btnbx = new System.Windows.Forms.TextBox();
this.msgbx = new System.Windows.Forms.TextBox(); this.msgbx = new System.Windows.Forms.TextBox();
this.All_chk = new System.Windows.Forms.CheckBox();
this.label4 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label();
this.button9 = new System.Windows.Forms.Button(); this.button9 = new System.Windows.Forms.Button();
this.button8 = new System.Windows.Forms.Button(); this.button8 = new System.Windows.Forms.Button();
@ -1132,6 +1147,7 @@ public class ControlApp : Form
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog(); this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.label15 = new System.Windows.Forms.Label(); this.label15 = new System.Windows.Forms.Label();
this.ScoreTxt = new System.Windows.Forms.TextBox(); this.ScoreTxt = new System.Windows.Forms.TextBox();
this.button6 = new System.Windows.Forms.Button();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.tabControl1.SuspendLayout(); this.tabControl1.SuspendLayout();
this.tabPage1.SuspendLayout(); this.tabPage1.SuspendLayout();
@ -1271,6 +1287,7 @@ public class ControlApp : Form
this.Nocomds.Name = "Nocomds"; this.Nocomds.Name = "Nocomds";
this.Nocomds.Size = new System.Drawing.Size(100, 23); this.Nocomds.Size = new System.Drawing.Size(100, 23);
this.Nocomds.TabIndex = 0; this.Nocomds.TabIndex = 0;
this.tabPage2.Controls.Add(this.button6);
this.tabPage2.Controls.Add(this.touser); this.tabPage2.Controls.Add(this.touser);
this.tabPage2.Controls.Add(this.button14); this.tabPage2.Controls.Add(this.button14);
this.tabPage2.Controls.Add(this.disablemsbtn); this.tabPage2.Controls.Add(this.disablemsbtn);
@ -1298,7 +1315,6 @@ public class ControlApp : Form
this.tabPage2.Controls.Add(this.label5); this.tabPage2.Controls.Add(this.label5);
this.tabPage2.Controls.Add(this.btnbx); this.tabPage2.Controls.Add(this.btnbx);
this.tabPage2.Controls.Add(this.msgbx); this.tabPage2.Controls.Add(this.msgbx);
this.tabPage2.Controls.Add(this.All_chk);
this.tabPage2.Controls.Add(this.label4); this.tabPage2.Controls.Add(this.label4);
this.tabPage2.Controls.Add(this.button9); this.tabPage2.Controls.Add(this.button9);
this.tabPage2.Controls.Add(this.button8); this.tabPage2.Controls.Add(this.button8);
@ -1323,10 +1339,12 @@ public class ControlApp : Form
this.tabPage2.UseVisualStyleBackColor = true; this.tabPage2.UseVisualStyleBackColor = true;
this.tabPage2.Click += new System.EventHandler(tabPage2_Click); this.tabPage2.Click += new System.EventHandler(tabPage2_Click);
this.touser.FormattingEnabled = true; this.touser.FormattingEnabled = true;
this.touser.Location = new System.Drawing.Point(507, 319); this.touser.Location = new System.Drawing.Point(551, 319);
this.touser.Name = "touser"; this.touser.Name = "touser";
this.touser.Size = new System.Drawing.Size(140, 23); this.touser.Size = new System.Drawing.Size(140, 23);
this.touser.TabIndex = 81; this.touser.TabIndex = 81;
this.touser.SelectedIndexChanged += new System.EventHandler(touser_SelectedIndexChanged);
this.touser.TextUpdate += new System.EventHandler(touser_SelectedIndexChanged);
this.button14.Location = new System.Drawing.Point(410, 231); this.button14.Location = new System.Drawing.Point(410, 231);
this.button14.Name = "button14"; this.button14.Name = "button14";
this.button14.Size = new System.Drawing.Size(75, 46); this.button14.Size = new System.Drawing.Size(75, 46);
@ -1384,7 +1402,7 @@ public class ControlApp : Form
this.tkscreen.UseVisualStyleBackColor = true; this.tkscreen.UseVisualStyleBackColor = true;
this.tkscreen.Click += new System.EventHandler(tkscreen_Click); this.tkscreen.Click += new System.EventHandler(tkscreen_Click);
this.label11.AutoSize = true; this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(425, 350); this.label11.Location = new System.Drawing.Point(485, 350);
this.label11.Name = "label11"; this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(40, 15); this.label11.Size = new System.Drawing.Size(40, 15);
this.label11.TabIndex = 72; this.label11.TabIndex = 72;
@ -1395,7 +1413,7 @@ public class ControlApp : Form
"", "Hypno", "Goon", "Censored", "Girl Cock", "Male focus", "Female focus", "BDSM", "Extreme", "Trans", "", "Hypno", "Goon", "Censored", "Girl Cock", "Male focus", "Female focus", "BDSM", "Extreme", "Trans",
"Panic", "Blackmail/Exposure", "Latex/Rubber", "Sissy", "Chastity", "Furry", "Feet", "Praise/Wholesome", "Misc" "Panic", "Blackmail/Exposure", "Latex/Rubber", "Sissy", "Chastity", "Furry", "Feet", "Praise/Wholesome", "Misc"
}); });
this.groupcmbx.Location = new System.Drawing.Point(507, 347); this.groupcmbx.Location = new System.Drawing.Point(551, 347);
this.groupcmbx.Name = "groupcmbx"; this.groupcmbx.Name = "groupcmbx";
this.groupcmbx.Size = new System.Drawing.Size(140, 23); this.groupcmbx.Size = new System.Drawing.Size(140, 23);
this.groupcmbx.TabIndex = 71; this.groupcmbx.TabIndex = 71;
@ -1492,15 +1510,8 @@ public class ControlApp : Form
this.msgbx.Name = "msgbx"; this.msgbx.Name = "msgbx";
this.msgbx.Size = new System.Drawing.Size(241, 23); this.msgbx.Size = new System.Drawing.Size(241, 23);
this.msgbx.TabIndex = 50; this.msgbx.TabIndex = 50;
this.All_chk.AutoSize = true;
this.All_chk.Location = new System.Drawing.Point(653, 318);
this.All_chk.Name = "All_chk";
this.All_chk.Size = new System.Drawing.Size(40, 19);
this.All_chk.TabIndex = 49;
this.All_chk.Text = "All";
this.All_chk.UseVisualStyleBackColor = true;
this.label4.AutoSize = true; this.label4.AutoSize = true;
this.label4.Location = new System.Drawing.Point(425, 322); this.label4.Location = new System.Drawing.Point(485, 322);
this.label4.Name = "label4"; this.label4.Name = "label4";
this.label4.Size = new System.Drawing.Size(60, 15); this.label4.Size = new System.Drawing.Size(60, 15);
this.label4.TabIndex = 48; this.label4.TabIndex = 48;
@ -1682,6 +1693,14 @@ public class ControlApp : Form
this.ScoreTxt.Name = "ScoreTxt"; this.ScoreTxt.Name = "ScoreTxt";
this.ScoreTxt.Size = new System.Drawing.Size(100, 23); this.ScoreTxt.Size = new System.Drawing.Size(100, 23);
this.ScoreTxt.TabIndex = 35; this.ScoreTxt.TabIndex = 35;
this.button6.Font = new System.Drawing.Font("Segoe UI", 7f);
this.button6.Location = new System.Drawing.Point(410, 283);
this.button6.Name = "button6";
this.button6.Size = new System.Drawing.Size(75, 46);
this.button6.TabIndex = 82;
this.button6.Text = "Add to Subliminal Loop";
this.button6.UseVisualStyleBackColor = true;
this.button6.Click += new System.EventHandler(button6_Click);
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f); base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.ClientSize = new System.Drawing.Size(868, 503); base.ClientSize = new System.Drawing.Size(868, 503);

View file

@ -74,6 +74,10 @@ public class CustomMessage : Form
} }
} }
private void label1_Click(object sender, EventArgs e)
{
}
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
{ {
if (disposing && components != null) if (disposing && components != null)
@ -90,14 +94,16 @@ public class CustomMessage : Form
base.SuspendLayout(); base.SuspendLayout();
this.label1.AutoSize = true; this.label1.AutoSize = true;
this.label1.Font = new System.Drawing.Font("Segoe UI", 25f, System.Drawing.FontStyle.Bold); this.label1.Font = new System.Drawing.Font("Segoe UI", 25f, System.Drawing.FontStyle.Bold);
this.label1.Location = new System.Drawing.Point(32, 79); this.label1.Location = new System.Drawing.Point(26, 24);
this.label1.MaximumSize = new System.Drawing.Size(800, 0);
this.label1.Name = "label1"; this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(117, 46); this.label1.Size = new System.Drawing.Size(117, 46);
this.label1.TabIndex = 0; this.label1.TabIndex = 0;
this.label1.Text = "label1"; this.label1.Text = "label1";
this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right; this.label1.Click += new System.EventHandler(label1_Click);
this.button1.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.button1.AutoSize = true; this.button1.AutoSize = true;
this.button1.Location = new System.Drawing.Point(251, 177); this.button1.Location = new System.Drawing.Point(244, 81);
this.button1.Name = "button1"; this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 25); this.button1.Size = new System.Drawing.Size(75, 25);
this.button1.TabIndex = 1; this.button1.TabIndex = 1;
@ -107,7 +113,7 @@ public class CustomMessage : Form
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f); base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.AutoSize = true; this.AutoSize = true;
base.ClientSize = new System.Drawing.Size(563, 214); base.ClientSize = new System.Drawing.Size(563, 118);
base.ControlBox = false; base.ControlBox = false;
base.Controls.Add(this.button1); base.Controls.Add(this.button1);
base.Controls.Add(this.label1); base.Controls.Add(this.label1);

View file

@ -8,6 +8,8 @@ public class MyCustomApplicationContext : ApplicationContext
{ {
private NotifyIcon trayIcon; private NotifyIcon trayIcon;
private ControlApp myform;
public MyCustomApplicationContext() public MyCustomApplicationContext()
{ {
trayIcon = new NotifyIcon(); trayIcon = new NotifyIcon();
@ -16,7 +18,22 @@ public class MyCustomApplicationContext : ApplicationContext
trayIcon.ContextMenuStrip.Items.Add("Exit", null, Exit); trayIcon.ContextMenuStrip.Items.Add("Exit", null, Exit);
trayIcon.ContextMenuStrip.Items.Add("Open", null, Open); trayIcon.ContextMenuStrip.Items.Add("Open", null, Open);
trayIcon.ContextMenuStrip.Items.Add("Panic", null, Panic); trayIcon.ContextMenuStrip.Items.Add("Panic", null, Panic);
trayIcon.ContextMenuStrip.Items.Add("Subliminal", null, Subliminal);
trayIcon.MouseClick += TrayIcon_MouseClick;
trayIcon.Visible = true; trayIcon.Visible = true;
myform = new ControlApp();
}
private void TrayIcon_MouseClick(object? sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (myform.IsDisposed)
{
myform = new ControlApp();
}
myform.Show();
}
} }
private void Exit(object sender, EventArgs e) private void Exit(object sender, EventArgs e)
@ -27,8 +44,37 @@ public class MyCustomApplicationContext : ApplicationContext
private void Open(object sender, EventArgs e) private void Open(object sender, EventArgs e)
{ {
using ControlApp myform = new ControlApp(); if (myform.IsDisposed)
myform.ShowDialog(); {
myform = new ControlApp();
}
myform.Show();
}
private void Subliminal(object sender, EventArgs e)
{
bool done = false;
foreach (Form fm in Application.OpenForms)
{
if (fm.GetType() == typeof(SubLoop))
{
SubLoop pop = (SubLoop)fm;
try
{
pop.Close();
done = true;
}
catch
{
continue;
}
break;
}
}
if (!done)
{
new SubLoop().Show();
}
} }
private void Panic(object sender, EventArgs e) private void Panic(object sender, EventArgs e)

File diff suppressed because it is too large Load diff

View file

@ -24,6 +24,12 @@ public class PopUp : Form
private List<string> urls; private List<string> urls;
private char[] poptypearr;
private Utils Utils;
private char lastchar = 'n';
private IContainer components; private IContainer components;
private AxWindowsMediaPlayer axWindowsMediaPlayer1; private AxWindowsMediaPlayer axWindowsMediaPlayer1;
@ -36,27 +42,44 @@ public class PopUp : Form
public PopUp(string url) public PopUp(string url)
{ {
Utils = new Utils();
urls = new List<string>(); urls = new List<string>();
InitializeComponent(); InitializeComponent();
if (ConfigurationManager.AppSettings["Clickthroughpop"] == "True") string poptypestr = "nnnn";
if (ConfigurationManager.AppSettings["PopType"] != null)
{
poptypestr = ConfigurationManager.AppSettings["PopType"];
}
poptypearr = poptypestr.ToCharArray();
if (poptypearr[0] == 's')
{ {
base.Opacity = 0.5; base.Opacity = 0.5;
}
if (poptypearr[1] == 't')
{
uint initialStyle = GetWindowLong(base.Handle, -20); uint initialStyle = GetWindowLong(base.Handle, -20);
SetWindowLong(base.Handle, -20, initialStyle | 0x80000 | 0x20); SetWindowLong(base.Handle, -20, initialStyle | 0x80000 | 0x20);
} }
run_url = url; else if (poptypearr[1] == 'c')
switch (run_url.Substring(run_url.Length - 3, 3)) {
base.Click += clickable;
axWindowsMediaPlayer1.ClickEvent += AxWindowsMediaPlayer1_ClickEvent;
}
if (poptypearr[2] == 'm' && poptypearr[3] != 'n')
{
Timer timer = new Timer();
timer.Interval = (int)TimeSpan.FromSeconds(2.0).TotalMilliseconds;
timer.Tick += popup_tick2;
timer.Start();
}
if (Utils.IsWebPage(url))
{ {
case "com":
case ".uk":
case "org":
Process.Start(new ProcessStartInfo Process.Start(new ProcessStartInfo
{ {
FileName = url, FileName = url,
UseShellExecute = true UseShellExecute = true
}); });
Close(); Close();
break;
} }
tmr = new Timer(); tmr = new Timer();
tmr.Tick += popup_tick; tmr.Tick += popup_tick;
@ -73,20 +96,42 @@ public class PopUp : Form
} }
} }
private void AxWindowsMediaPlayer1_ClickEvent(object sender, _WMPOCXEvents_ClickEvent e)
{
Close();
}
public void add_url(string url) public void add_url(string url)
{ {
urls.Add(url); urls.Add(url);
} }
public void clickable(object sender, EventArgs e)
{
Close();
}
public void popup_tick2(object sender, EventArgs e)
{
Random random = new Random();
int screenWidth = Screen.PrimaryScreen.Bounds.Width;
int screenHeight = Screen.PrimaryScreen.Bounds.Height;
int randomX = random.Next(0, screenWidth - base.Width);
int randomY = random.Next(0, screenHeight - base.Height);
base.Location = new Point(randomX, randomY);
}
public void popup_tick(object sender, EventArgs e) public void popup_tick(object sender, EventArgs e)
{ {
if (urls.Count > 0) if (urls.Count > 0)
{ {
run_url = urls[0]; run_url = urls[0];
urls.RemoveAt(0); urls.RemoveAt(0);
axWindowsMediaPlayer1.Visible = true;
axWindowsMediaPlayer1.URL = run_url; axWindowsMediaPlayer1.URL = run_url;
axWindowsMediaPlayer1.Ctlenabled = false; axWindowsMediaPlayer1.Ctlenabled = false;
axWindowsMediaPlayer1.uiMode = "None"; axWindowsMediaPlayer1.uiMode = "None";
axWindowsMediaPlayer1.stretchToFit = true;
axWindowsMediaPlayer1.settings.autoStart = true; axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true); axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
} }
@ -97,6 +142,12 @@ public class PopUp : Form
} }
private void PopUp_Load(object sender, EventArgs e) private void PopUp_Load(object sender, EventArgs e)
{
if (poptypearr[3] == 'f')
{
base.WindowState = FormWindowState.Maximized;
}
else
{ {
Random random = new Random(); Random random = new Random();
int screenWidth = Screen.PrimaryScreen.Bounds.Width; int screenWidth = Screen.PrimaryScreen.Bounds.Width;
@ -105,9 +156,11 @@ public class PopUp : Form
int randomY = random.Next(0, screenHeight - base.Height); int randomY = random.Next(0, screenHeight - base.Height);
base.StartPosition = FormStartPosition.Manual; base.StartPosition = FormStartPosition.Manual;
base.Location = new Point(randomX, randomY); base.Location = new Point(randomX, randomY);
}
axWindowsMediaPlayer1.URL = run_url; axWindowsMediaPlayer1.URL = run_url;
axWindowsMediaPlayer1.Ctlenabled = false; axWindowsMediaPlayer1.Ctlenabled = false;
axWindowsMediaPlayer1.uiMode = "None"; axWindowsMediaPlayer1.uiMode = "None";
axWindowsMediaPlayer1.stretchToFit = true;
axWindowsMediaPlayer1.settings.autoStart = true; axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true); axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
tmr.Start(); tmr.Start();
@ -133,7 +186,6 @@ public class PopUp : Form
this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0); this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1"; this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
this.axWindowsMediaPlayer1.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axWindowsMediaPlayer1.OcxState"); this.axWindowsMediaPlayer1.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axWindowsMediaPlayer1.OcxState");
this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(800, 450);
this.axWindowsMediaPlayer1.TabIndex = 0; this.axWindowsMediaPlayer1.TabIndex = 0;
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f); base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;

202
ControlApp/SubLoop.cs Normal file
View file

@ -0,0 +1,202 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using AxWMPLib;
using WMPLib;
namespace ControlApp;
public class SubLoop : Form
{
private const int GWL_STYLE = -20;
private const uint WS_POPUP = 2147483648u;
private const uint WS_CHILD = 536870912u;
private Timer tmr;
private List<string[]> itemstoloop;
private Utils Utils;
private string appDirectory;
private int position;
private IContainer components;
private AxWindowsMediaPlayer axWindowsMediaPlayer1;
private Label label1;
[DllImport("user32.dll", SetLastError = true)]
private static extern uint GetWindowLong(nint hWnd, int nIndex);
[DllImport("user32.dll")]
private static extern int SetWindowLong(nint hWnd, int nIndex, uint dwNewLong);
public SubLoop()
{
position = 0;
InitializeComponent();
label1.Text = "";
itemstoloop = new List<string[]>();
Utils = new Utils();
_ = new string[1];
appDirectory = AppDomain.CurrentDomain.BaseDirectory + "\\ConstantSubList.txt";
if (File.Exists(appDirectory))
{
string[] array = File.ReadAllLines(appDirectory);
foreach (string file in array)
{
try
{
itemstoloop.Add(Utils.seperate_string(file));
}
catch
{
}
}
}
tmr = new Timer();
tmr.Tick += loopthrough;
double time = 0.25;
tmr.Interval = (int)TimeSpan.FromMinutes(time).TotalMilliseconds;
uint initialStyle = GetWindowLong(base.Handle, -20);
SetWindowLong(base.Handle, -20, initialStyle | 0x80000 | 0x20);
BackColor = Color.Magenta;
base.TransparencyKey = Color.Magenta;
tmr.Start();
}
public void loopthrough(object sender, EventArgs e)
{
int total = itemstoloop.Count;
if (position >= total)
{
position = 0;
}
if (itemstoloop.Count <= 0 || (axWindowsMediaPlayer1.playState != WMPPlayState.wmppsStopped && axWindowsMediaPlayer1.playState != 0))
{
return;
}
string[] item = itemstoloop[position];
bool mess = true;
try
{
if (item[0] == "m")
{
mess = false;
}
doitem(item[1], mess);
}
catch
{
}
position++;
}
public void additem(string item)
{
if (!Utils.IsWebPage(item))
{
itemstoloop.Add(new string[2] { "t", item });
return;
}
item = Utils.Get_File(item);
if (item != "FAILED")
{
itemstoloop.Add(new string[2] { "m", item });
}
}
public void doitem(string item, bool message)
{
if (message)
{
label1.Visible = true;
label1.Text = item;
axWindowsMediaPlayer1.Visible = false;
return;
}
label1.Visible = false;
axWindowsMediaPlayer1.Visible = true;
axWindowsMediaPlayer1.URL = item;
axWindowsMediaPlayer1.Ctlenabled = false;
axWindowsMediaPlayer1.stretchToFit = true;
axWindowsMediaPlayer1.uiMode = "None";
axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.settings.volume = 25;
}
protected override void OnClosing(CancelEventArgs e)
{
File.Delete(appDirectory);
using (StreamWriter writer = File.AppendText(appDirectory))
{
foreach (string[] items in itemstoloop)
{
writer.WriteLine("[" + items[0] + "],[" + items[1] + "]");
}
}
tmr.Stop();
}
private void SubLoop_Load(object sender, EventArgs e)
{
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SubLoop));
this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
this.label1 = new System.Windows.Forms.Label();
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit();
base.SuspendLayout();
this.axWindowsMediaPlayer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axWindowsMediaPlayer1.Enabled = true;
this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
this.axWindowsMediaPlayer1.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axWindowsMediaPlayer1.OcxState");
this.axWindowsMediaPlayer1.TabIndex = 0;
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.Font = new System.Drawing.Font("Arial", 60f);
this.label1.Location = new System.Drawing.Point(0, 0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(800, 450);
this.label1.TabIndex = 1;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
base.WindowState = System.Windows.Forms.FormWindowState.Maximized;
base.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
base.Location = new System.Drawing.Point(0, 0);
base.TopMost = true;
base.Visible = true;
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.White;
base.Controls.Add(this.label1);
base.Controls.Add(this.axWindowsMediaPlayer1);
base.Name = "SubLoop";
base.Opacity = 0.05;
this.Text = "SubLoop";
base.Load += new System.EventHandler(SubLoop_Load);
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).EndInit();
base.ResumeLayout(false);
}
}

120
ControlApp/SubLoop.resx Normal file
View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -88,7 +88,7 @@ public class Subliminal : Form
private void InitializeComponent() private void InitializeComponent()
{ {
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(ControlApp.PopUp)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PopUp));
this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer(); this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit(); ((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit();
base.SuspendLayout(); base.SuspendLayout();

View file

@ -36,8 +36,8 @@ internal class Utils
public void writetolog(string shortvr, string longvr) public void writetolog(string shortvr, string longvr)
{ {
shortvr = Decrypt(shortvr); shortvr = shortvr + "~~" + Decrypt(shortvr);
longvr = Decrypt(longvr); longvr = longvr + "~~" + Decrypt(longvr);
if (ConfigurationManager.AppSettings["Logging"] == "On") if (ConfigurationManager.AppSettings["Logging"] == "On")
{ {
if (ConfigurationManager.AppSettings["Logging"] == "On") if (ConfigurationManager.AppSettings["Logging"] == "On")
@ -312,6 +312,8 @@ internal class Utils
ToReturn = ToReturn.Replace("&", "yyy"); ToReturn = ToReturn.Replace("&", "yyy");
ToReturn = ToReturn.Replace("/", "zzz"); ToReturn = ToReturn.Replace("/", "zzz");
ToReturn = ToReturn.Replace("]", "aaa"); ToReturn = ToReturn.Replace("]", "aaa");
ToReturn = ToReturn.Replace("G0", "ppp");
ToReturn = ToReturn.Replace("0x", "lll");
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -329,6 +331,8 @@ internal class Utils
Line = Line.Replace("yyy", "&"); Line = Line.Replace("yyy", "&");
Line = Line.Replace("zzz", "/"); Line = Line.Replace("zzz", "/");
Line = Line.Replace("aaa", "]"); Line = Line.Replace("aaa", "]");
Line = Line.Replace("ppp", "G0");
Line = Line.Replace("lll", "0x");
string publickey = "santhosh"; string publickey = "santhosh";
string privatekey = "engineer"; string privatekey = "engineer";
byte[] privatekeyByte = Encoding.UTF8.GetBytes(privatekey); byte[] privatekeyByte = Encoding.UTF8.GetBytes(privatekey);
@ -363,6 +367,7 @@ internal class Utils
using CustomMessage cm = new CustomMessage("Downloading Image please wait", "", 0, tts: false); using CustomMessage cm = new CustomMessage("Downloading Image please wait", "", 0, tts: false);
cm.Show(); cm.Show();
using HttpClient client = new HttpClient(); using HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0");
using Task<Stream> s = client.GetStreamAsync(trueuri); using Task<Stream> s = client.GetStreamAsync(trueuri);
s.Wait(); s.Wait();
using (FileStream fs = new FileStream(filename, FileMode.Create)) using (FileStream fs = new FileStream(filename, FileMode.Create))
@ -449,6 +454,14 @@ internal class Utils
found = true; found = true;
} }
} }
array = blist;
foreach (string bref2 in array)
{
if (what.Contains(bref2) && bref2 != "")
{
found = true;
}
}
if (!found) if (!found)
{ {
ret.Add(line); ret.Add(line);
@ -482,17 +495,17 @@ internal class Utils
{ {
bool found2 = false; bool found2 = false;
string[] array = bannedref; string[] array = bannedref;
foreach (string bref2 in array) foreach (string bref3 in array)
{ {
if (what.Contains(bref2)) if (what.Contains(bref3))
{ {
found2 = true; found2 = true;
} }
} }
array = blist; array = blist;
foreach (string bref3 in array) foreach (string bref4 in array)
{ {
if (what.Contains(bref3)) if (what.Contains(bref4) && bref4 != "")
{ {
found2 = true; found2 = true;
} }
@ -510,17 +523,17 @@ internal class Utils
{ {
bool found3 = false; bool found3 = false;
string[] array = bannedref; string[] array = bannedref;
foreach (string bref4 in array) foreach (string bref5 in array)
{ {
if (what.Contains(bref4)) if (what.Contains(bref5))
{ {
found3 = true; found3 = true;
} }
} }
array = blist; array = blist;
foreach (string bref5 in array) foreach (string bref6 in array)
{ {
if (what.Contains(bref5)) if (what.Contains(bref6) && bref6 != "")
{ {
found3 = true; found3 = true;
} }
@ -542,10 +555,27 @@ internal class Utils
{ {
ret.Add(line); ret.Add(line);
} }
if (which == "L=")
{
ret.Add(line);
}
} }
return ret.ToArray(); return ret.ToArray();
} }
public bool IsWebPage(string input)
{
if (Uri.TryCreate(input, UriKind.Absolute, out Uri uriResult))
{
if (!(uriResult.Scheme == Uri.UriSchemeHttp))
{
return uriResult.Scheme == Uri.UriSchemeHttps;
}
return true;
}
return false;
}
public void run_process(string[] lines, string from) public void run_process(string[] lines, string from)
{ {
lines = remove_notneeded(lines); lines = remove_notneeded(lines);
@ -612,7 +642,7 @@ internal class Utils
{ {
case "D=": case "D=":
{ {
string thefile2 = ""; string thefile3 = "";
if (!isfile) if (!isfile)
{ {
Process.Start(new ProcessStartInfo Process.Start(new ProcessStartInfo
@ -623,11 +653,11 @@ internal class Utils
} }
else else
{ {
thefile2 = Get_File(what); thefile3 = Get_File(what);
} }
if (thefile2 != "FAILED") if (thefile3 != "FAILED")
{ {
new CustomMessage("File downloaded! Find it here : " + thefile2, "", 4, tts: false).ShowDialog(); new CustomMessage("File downloaded! Find it here : " + thefile3, "", 4, tts: false).ShowDialog();
} }
goto end_IL_0064; goto end_IL_0064;
} }
@ -642,11 +672,54 @@ internal class Utils
}); });
continue; continue;
} }
string thefile3 = ""; string thefile4 = "";
thefile3 = Get_File(what); thefile4 = Get_File(what);
if (thefile3 != "FAILED") if (thefile4 != "FAILED")
{ {
Change_Wallpaper(thefile3); Change_Wallpaper(thefile4);
}
goto end_IL_0064;
}
case "L=":
{
bool done2 = false;
foreach (Form fm2 in Application.OpenForms)
{
if (fm2.GetType() == typeof(SubLoop))
{
((SubLoop)fm2).additem(what);
done2 = true;
}
}
if (done2)
{
continue;
}
string appDirectory = AppDomain.CurrentDomain.BaseDirectory + "\\ConstantSubList.txt";
string filetype = Path.GetExtension(what);
if (new string[9] { ".jpg", ".jpeg", ".gif", ".mov", ".mpg", ".mpeg", ".avi", ".png", ".mp4" }.Contains(filetype))
{
what = Get_File(what);
if (what != "FAILED")
{
using StreamWriter writer = File.AppendText(appDirectory);
writer.WriteLine("[m],[" + what + "]");
}
continue;
}
if (!IsWebPage(what) && what != "FAILED")
{
using (StreamWriter writer2 = File.AppendText(appDirectory))
{
writer2.WriteLine("[t],[" + what + "]");
}
continue;
}
what = Get_File(what);
if (what != "FAILED")
{
using StreamWriter writer3 = File.AppendText(appDirectory);
writer3.WriteLine("[m],[" + what + "]");
} }
goto end_IL_0064; goto end_IL_0064;
} }
@ -656,17 +729,17 @@ internal class Utils
{ {
continue; continue;
} }
string thefile4 = ""; string thefile2 = "";
thefile4 = Get_File(what); thefile2 = Get_File(what);
if (thefile4 != "FAILED") if (thefile2 != "FAILED")
{ {
if (ConfigurationManager.AppSettings["AutoRun"] == "True") if (ConfigurationManager.AppSettings["AutoRun"] == "True")
{ {
Process.Start(thefile4); Process.Start(thefile2);
} }
else else
{ {
new CustomMessage("Exe downloaded! Find it here : " + thefile4, "", 4, tts: false).ShowDialog(); new CustomMessage("Exe downloaded! Find it here : " + thefile2, "", 4, tts: false).ShowDialog();
} }
} }
goto end_IL_0064; goto end_IL_0064;
@ -747,16 +820,16 @@ internal class Utils
} }
if (popstyle2 == "Serial") if (popstyle2 == "Serial")
{ {
bool done2 = false; bool done3 = false;
foreach (Form fm2 in Application.OpenForms) foreach (Form fm3 in Application.OpenForms)
{ {
if (fm2.GetType() == typeof(PopUp)) if (fm3.GetType() == typeof(PopUp))
{ {
((PopUp)fm2).add_url(what); ((PopUp)fm3).add_url(what);
done2 = true; done3 = true;
} }
} }
if (!done2) if (!done3)
{ {
new PopUp(what).Show(); new PopUp(what).Show();
} }
@ -869,7 +942,7 @@ internal class Utils
what = what.Replace(" ", "%20"); what = what.Replace(" ", "%20");
Process.Start(new ProcessStartInfo Process.Start(new ProcessStartInfo
{ {
FileName = "https://twitter.com/intent/tweet?text=" + what + " [Posted by :]&url=www.thecontrolapp.co.uk", FileName = "https://x.com/intent/tweet?text=" + what + " [Posted by :]&url=www.thecontrolapp.co.uk",
UseShellExecute = true UseShellExecute = true
}); });
goto end_IL_0064; goto end_IL_0064;
@ -884,16 +957,25 @@ internal class Utils
switch (which) switch (which)
{ {
case "5=": case "5=":
new CustomMessage(what, "", 4, tts: true).ShowDialog(); new CustomMessage(what, "", 4, tts: true).Show();
break; break;
case "6=": case "6=":
try try
{ {
Bitmap image = new VideoCapture(0, VideoCapture.API.Any).QueryFrame().ToBitmap(); string filename2 = "";
string filename2 = "web" + ConfigurationManager.AppSettings["UserName"].ToString() + from + DateTime.Now.Date.ToString().Replace("/", "").Replace(" ", "") string filePath2 = "";
if (ConfigurationManager.AppSettings["WebCnt"] != null && ConfigurationManager.AppSettings["WebCnt"].ToString() == "True")
{
new CustomMessage("Webcam picture in 5...4...3...2...1...", "", 5, tts: false).Show();
}
using (VideoCapture capture = new VideoCapture(0, VideoCapture.API.Any))
{
using Bitmap image = capture.QueryFrame().ToBitmap();
filename2 = "web" + ConfigurationManager.AppSettings["UserName"].ToString() + from + DateTime.Now.Date.ToString().Replace("/", "").Replace(" ", "")
.Replace(":", "") + ".jpg"; .Replace(":", "") + ".jpg";
string filePath2 = ConfigurationManager.AppSettings["LocalDrive"] + filename2; filePath2 = ConfigurationManager.AppSettings["LocalDrive"] + filename2;
new Bitmap(image, new Size(image.Width / 2, image.Height / 2)).Save(filePath2); new Bitmap(image, new Size(Convert.ToInt16((double)image.Width / 1.5), Convert.ToInt16((double)image.Height / 1.5))).Save(filePath2);
}
if (sendftpfile(filePath2)) if (sendftpfile(filePath2))
{ {
sendcmd(from, Ecrypt("U=FTP" + filename2) + "|||", all: false); sendcmd(from, Ecrypt("U=FTP" + filename2) + "|||", all: false);
@ -907,11 +989,11 @@ internal class Utils
case "7=": case "7=":
{ {
bool found3 = false; bool found3 = false;
foreach (Form fm4 in Application.OpenForms) foreach (Form fm5 in Application.OpenForms)
{ {
if (fm4.GetType() == typeof(Blank)) if (fm5.GetType() == typeof(Blank))
{ {
((Blank)fm4).add_time(1); ((Blank)fm5).add_time(1);
found3 = true; found3 = true;
} }
} }
@ -925,11 +1007,11 @@ internal class Utils
case "8=": case "8=":
{ {
bool found2 = false; bool found2 = false;
foreach (Form fm3 in Application.OpenForms) foreach (Form fm4 in Application.OpenForms)
{ {
if (fm3.GetType() == typeof(Blank)) if (fm4.GetType() == typeof(Blank))
{ {
((Blank)fm3).add_time(1); ((Blank)fm4).add_time(1);
found2 = true; found2 = true;
} }
} }

View file

@ -3,9 +3,10 @@ using System.ComponentModel;
using System.Configuration; using System.Configuration;
using System.Drawing; using System.Drawing;
using System.IO; using System.IO;
using System.Runtime.InteropServices;
using System.Windows.Forms; using System.Windows.Forms;
using Vlc.DotNet.Core; using AxWMPLib;
using Vlc.DotNet.Forms; using Microsoft.Web.WebView2.WinForms;
namespace ControlApp; namespace ControlApp;
@ -15,8 +16,12 @@ public class WatchForMe : Form
private string pub_Url; private string pub_Url;
private const int INTERNET_OPTION_USER_AGENT = 41;
private Utils u; private Utils u;
private DirectoryInfo vlcdir;
private int timewatched; private int timewatched;
private int timecensored; private int timecensored;
@ -33,7 +38,19 @@ public class WatchForMe : Form
private Timer CensorTime; private Timer CensorTime;
private VlcControl vlcControl1; private WebView2 webView21;
private TextBox textBox1;
private AxWindowsMediaPlayer axWindowsMediaPlayer1;
[DllImport("wininet.dll", CharSet = CharSet.Auto, SetLastError = true)]
public static extern bool InternetSetOption(nint hInternet, int dwOption, string lpBuffer, int lpdwBufferLength);
private void SetUserAgent(string userAgent)
{
InternetSetOption(IntPtr.Zero, 41, userAgent, userAgent.Length);
}
private static bool IsWebPage(string input) private static bool IsWebPage(string input)
{ {
@ -52,41 +69,46 @@ public class WatchForMe : Form
{ {
u = new Utils(); u = new Utils();
senderstr = senderid; senderstr = senderid;
SetUserAgent("Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/109.0");
vlcdir = new DirectoryInfo("C:\\Program Files\\VideoLAN\\VLC");
InitializeComponent(); InitializeComponent();
textBox1.Focus();
switch (Path.GetExtension(Url)) switch (Path.GetExtension(Url))
{ {
case ".mp4": case ".mp4":
case ".webm": case ".webm":
case ".webp": case ".webp":
case ".gif": case ".gif":
{
pub_Url = Url; pub_Url = Url;
string[] mediaOptions = new string[1] { "input-repeat=50" }; axWindowsMediaPlayer1.Ctlenabled = false;
axWindowsMediaPlayer1.uiMode = "None";
axWindowsMediaPlayer1.settings.autoStart = true;
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
if (IsWebPage(Url)) if (IsWebPage(Url))
{ {
if (u.Get_File(Url) != "FAILED") if (u.Get_File(Url) != "FAILED")
{ {
FileInfo fileInfo = new FileInfo(Url); FileInfo fileInfo = new FileInfo(Url);
vlcControl1.SetMedia(fileInfo, mediaOptions); axWindowsMediaPlayer1.URL = fileInfo.ToString();
} }
else else
{ {
vlcControl1.SetMedia(new Uri(Url), mediaOptions); axWindowsMediaPlayer1.URL = Url;
} }
} }
else else
{ {
FileInfo fileInfo2 = new FileInfo(Url); FileInfo fileInfo2 = new FileInfo(Url);
vlcControl1.SetMedia(fileInfo2, mediaOptions); axWindowsMediaPlayer1.URL = fileInfo2.ToString();
} }
vlcControl1.Play(); webView21.Visible = false;
break; break;
}
case ".png": case ".png":
case ".jpg": case ".jpg":
case ".jepg": case ".jepg":
{ {
string file = ""; string file = "";
webView21.Visible = false;
file = u.Get_File(Url); file = u.Get_File(Url);
if (file == "FAILED") if (file == "FAILED")
{ {
@ -111,7 +133,7 @@ public class WatchForMe : Form
{ {
base.Height = i.Height; base.Height = i.Height;
} }
vlcControl1.Visible = false; axWindowsMediaPlayer1.Visible = false;
PictureBox pictureBox = new PictureBox PictureBox pictureBox = new PictureBox
{ {
Dock = DockStyle.Fill, Dock = DockStyle.Fill,
@ -122,12 +144,13 @@ public class WatchForMe : Form
} }
default: default:
{ {
vlcControl1.Visible = false; axWindowsMediaPlayer1.Visible = false;
WebBrowser wb = new WebBrowser(); if (Url.Substring(0, 4).ToUpper() != "HTTP")
wb.Navigate(Url); {
wb.Dock = DockStyle.Fill; Url = "http://" + Url;
wb.ScriptErrorsSuppressed = true; }
base.Controls.Add(wb); Uri uri = new Uri(Url);
webView21.Source = uri;
break; break;
} }
} }
@ -144,6 +167,7 @@ public class WatchForMe : Form
base.Deactivate += Form1_Deactivate; base.Deactivate += Form1_Deactivate;
base.Activated += Form1_Reactivate; base.Activated += Form1_Reactivate;
base.FormClosing += Form1_FormClosing; base.FormClosing += Form1_FormClosing;
textBox1.SendToBack();
} }
private void WatchForMe_Load(object sender, EventArgs e) private void WatchForMe_Load(object sender, EventArgs e)
@ -160,6 +184,7 @@ public class WatchForMe : Form
{ {
if (!isdeactive) if (!isdeactive)
{ {
textBox1.Focus();
timewatched++; timewatched++;
Text = "Watch for me Time=" + timewatched + ": Censored for=" + timecensored + ": Lost focus=" + losefocus; Text = "Watch for me Time=" + timewatched + ": Censored for=" + timecensored + ": Lost focus=" + losefocus;
} }
@ -189,9 +214,13 @@ public class WatchForMe : Form
} }
} }
public void dokeys()
{
}
private void WFM_KeyDown(object sender, KeyEventArgs e) private void WFM_KeyDown(object sender, KeyEventArgs e)
{ {
if (e.KeyCode == Keys.Space) if (e.KeyCode == Keys.C)
{ {
if (censored) if (censored)
{ {
@ -208,9 +237,23 @@ public class WatchForMe : Form
} }
} }
private void Replay(object sender, VlcMediaPlayerEndReachedEventArgs e) private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)
{ {
vlcControl1.Position = 0f; if (e.KeyChar == 'c')
{
if (censored)
{
base.Opacity = 1.0;
censored = false;
CensorTime.Stop();
}
else
{
base.Opacity = 0.0;
censored = true;
CensorTime.Start();
}
}
} }
protected override void Dispose(bool disposing) protected override void Dispose(bool disposing)
@ -225,32 +268,55 @@ public class WatchForMe : Form
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container(); this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(WatchForMe));
this.WatchTime = new System.Windows.Forms.Timer(this.components); this.WatchTime = new System.Windows.Forms.Timer(this.components);
this.CensorTime = new System.Windows.Forms.Timer(this.components); this.CensorTime = new System.Windows.Forms.Timer(this.components);
this.vlcControl1 = new Vlc.DotNet.Forms.VlcControl(); this.webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();
((System.ComponentModel.ISupportInitialize)this.vlcControl1).BeginInit(); this.textBox1 = new System.Windows.Forms.TextBox();
this.axWindowsMediaPlayer1 = new AxWMPLib.AxWindowsMediaPlayer();
((System.ComponentModel.ISupportInitialize)this.webView21).BeginInit();
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit();
base.SuspendLayout(); base.SuspendLayout();
this.vlcControl1.BackColor = System.Drawing.Color.Black; this.webView21.AllowExternalDrop = true;
this.vlcControl1.Dock = System.Windows.Forms.DockStyle.Fill; this.webView21.CreationProperties = null;
this.vlcControl1.Location = new System.Drawing.Point(0, 0); this.webView21.DefaultBackgroundColor = System.Drawing.Color.White;
this.vlcControl1.Name = "vlcControl1"; this.webView21.Dock = System.Windows.Forms.DockStyle.Fill;
this.vlcControl1.Size = new System.Drawing.Size(1044, 647); this.webView21.Location = new System.Drawing.Point(0, 0);
this.vlcControl1.Spu = -1; this.webView21.Name = "webView21";
this.vlcControl1.TabIndex = 0; this.webView21.Size = new System.Drawing.Size(1044, 647);
this.vlcControl1.Visible = true; this.webView21.TabIndex = 1;
this.vlcControl1.Text = "vlcControl1"; this.webView21.ZoomFactor = 1.0;
this.vlcControl1.VlcLibDirectory = new System.IO.DirectoryInfo("C:\\Program Files\\VideoLAN\\VLC"); this.textBox1.Location = new System.Drawing.Point(224, 368);
this.vlcControl1.EndReached += new System.EventHandler<Vlc.DotNet.Core.VlcMediaPlayerEndReachedEventArgs>(Replay); this.textBox1.Name = "textBox1";
this.vlcControl1.KeyDown += new System.Windows.Forms.KeyEventHandler(WFM_KeyDown); this.textBox1.Size = new System.Drawing.Size(100, 23);
((System.ComponentModel.ISupportInitialize)this.vlcControl1).EndInit(); this.textBox1.TabIndex = 2;
this.textBox1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(TextBox1_KeyPress);
this.textBox1.LostFocus += new System.EventHandler(TextBox1_LostFocus);
this.axWindowsMediaPlayer1.Dock = System.Windows.Forms.DockStyle.Fill;
this.axWindowsMediaPlayer1.Enabled = true;
this.axWindowsMediaPlayer1.Location = new System.Drawing.Point(0, 0);
this.axWindowsMediaPlayer1.Name = "axWindowsMediaPlayer1";
this.axWindowsMediaPlayer1.OcxState = (System.Windows.Forms.AxHost.State)resources.GetObject("axWindowsMediaPlayer1.OcxState");
this.axWindowsMediaPlayer1.Size = new System.Drawing.Size(1044, 647);
this.axWindowsMediaPlayer1.TabIndex = 3;
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f); base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.ClientSize = new System.Drawing.Size(1044, 647); base.ClientSize = new System.Drawing.Size(1044, 647);
base.Controls.Add(this.vlcControl1); base.Controls.Add(this.axWindowsMediaPlayer1);
base.Controls.Add(this.textBox1);
base.Controls.Add(this.webView21);
base.Name = "WatchForMe"; base.Name = "WatchForMe";
this.Text = "WatchForMe"; this.Text = "WatchForMe";
base.Load += new System.EventHandler(WatchForMe_Load); base.Load += new System.EventHandler(WatchForMe_Load);
base.KeyDown += new System.Windows.Forms.KeyEventHandler(WFM_KeyDown); base.KeyDown += new System.Windows.Forms.KeyEventHandler(WFM_KeyDown);
((System.ComponentModel.ISupportInitialize)this.webView21).EndInit();
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).EndInit();
base.ResumeLayout(false); base.ResumeLayout(false);
base.PerformLayout();
}
private void TextBox1_LostFocus(object sender, EventArgs e)
{
textBox1.Focus();
} }
} }

File diff suppressed because it is too large Load diff

View file

@ -6,28 +6,7 @@
<add key="LogLvl" value="1" /> <add key="LogLvl" value="1" />
<add key="CommonUsers" value="" /> <add key="CommonUsers" value="" />
<add key="BlackList" value="" /> <add key="BlackList" value="" />
<add key="Showblocked" value="False" />
<add key="Clickthroughpop" value="True" /> <add key="Clickthroughpop" value="True" />
<add key="OutstandRemind" value="True" />
<add key="Popstyle" value="Serial" />
<add key="PaperStyle" value="Fit" />
<add key="SendDelete" value="True" />
<add key="twitter" value="False" />
<add key="Watch4me" value="False" />
<add key="Screenshots" value="True" />
<add key="Audios" value="False" />
<add key="Writeformes" value="True" />
<add key="Downloads" value="False" />
<add key="Wallpapers" value="False" />
<add key="Runables" value="False" />
<add key="OpenWeb" value="False" />
<add key="PopUps" value="False" />
<add key="Messages" value="False" />
<add key="Subliminals" value="False" />
<add key="Webcam" value="True" />
<add key="TTS" value="False" />
<add key="DisM" value="True" />
<add key="PopSet" value="Short" />
<add key="DClickthroughpop" value="False" /> <add key="DClickthroughpop" value="False" />
<add key="DPopstyle" value="Serial" /> <add key="DPopstyle" value="Serial" />
<add key="DPaperStyle" value="Fit" /> <add key="DPaperStyle" value="Fit" />
@ -48,7 +27,30 @@
<add key="DTTS" value="False" /> <add key="DTTS" value="False" />
<add key="DDisM" value="False" /> <add key="DDisM" value="False" />
<add key="DPopSet" value="Short" /> <add key="DPopSet" value="Short" />
<add key="LocalDrive" value="Downloads" /> <add key="Showblocked" value="False" />
<add key="PopType" value="stnn" />
<add key="OutstandRemind" value="True" />
<add key="Popstyle" value="Parallel" />
<add key="PaperStyle" value="Fit" />
<add key="SendDelete" value="True" />
<add key="twitter" value="False" />
<add key="Watch4me" value="False" />
<add key="Screenshots" value="True" />
<add key="Audios" value="False" />
<add key="Writeformes" value="True" />
<add key="Downloads" value="False" />
<add key="Wallpapers" value="False" />
<add key="Runables" value="False" />
<add key="OpenWeb" value="False" />
<add key="PopUps" value="False" />
<add key="Messages" value="False" />
<add key="Subliminals" value="False" />
<add key="Webcam" value="True" />
<add key="TTS" value="False" />
<add key="DisM" value="True" />
<add key="PopSet" value="Short" />
<add key="WebCnt" value="True" />
<add key="LocalDrive" value="" />
<add key="AutoRun" value="False" /> <add key="AutoRun" value="False" />
<add key="UserName" value="" /> <add key="UserName" value="" />
<add key="Password" value="" /> <add key="Password" value="" />

8
makefile Normal file
View file

@ -0,0 +1,8 @@
dos2unix:
dos2unix ControlApp/*
nuget:
nuget install Emgu.CV -Version 4.10.0
nuget install Emgu.CV.Bitmap -Version 4.10.0
nuget install System.Drawing.Common -Version 9.0.0

View file

@ -1,26 +0,0 @@
#!/bin/bash
# Output file
output_file="ControlAppMonolith.cs"
# Clear the output file if it already exists
> "$output_file"
# Find all .cs files in the ./ControlApp directory
files=$(find ./ControlApp -name "*.cs")
# Extract and deduplicate using directives
using_directives=$(grep -h "^using" $files | sort | uniq)
# Write the using directives to the output file
echo "$using_directives" >> "$output_file"
echo -e "\n" >> "$output_file"
# Combine all .cs files, excluding using directives
for file in $files; do
echo "// File: $file" >> "$output_file"
grep -v "^using" "$file" >> "$output_file"
echo -e "\n" >> "$output_file"
done
echo "All .cs files have been combined into $output_file"