update to v0.1.2
This commit is contained in:
parent
ddd2ea9eb5
commit
ea448c9fe1
16 changed files with 1072 additions and 6773 deletions
|
@ -4,7 +4,7 @@
|
|||
<GenerateAssemblyInfo>False</GenerateAssemblyInfo>
|
||||
<OutputType>WinExe</OutputType>
|
||||
<UseWindowsForms>True</UseWindowsForms>
|
||||
<TargetFramework>netcoreapp8.0</TargetFramework>
|
||||
<TargetFramework>net8.0-windows</TargetFramework>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<LangVersion>12.0</LangVersion>
|
||||
|
@ -12,8 +12,13 @@
|
|||
</PropertyGroup>
|
||||
<PropertyGroup>
|
||||
<RootNamespace />
|
||||
<ApplicationIcon>App.ico</ApplicationIcon>
|
||||
<PlatformTarget>x64</PlatformTarget>
|
||||
</PropertyGroup>
|
||||
<ItemGroup />
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Emgu.CV" Version="4.10.0.5680" />
|
||||
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Reference Include="HtmlAgilityPack">
|
||||
<HintPath>C:\ControlApp\HtmlAgilityPack.dll</HintPath>
|
||||
|
@ -21,11 +26,8 @@
|
|||
<Reference Include="AxInterop.WMPLib">
|
||||
<HintPath>C:\ControlApp\AxInterop.WMPLib.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Forms">
|
||||
<HintPath>C:\ControlApp\Vlc.DotNet.Forms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Vlc.DotNet.Core">
|
||||
<HintPath>C:\ControlApp\Vlc.DotNet.Core.dll</HintPath>
|
||||
<Reference Include="Microsoft.Web.WebView2.WinForms">
|
||||
<HintPath>C:\ControlApp\Microsoft.Web.WebView2.WinForms.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Interop.WMPLib">
|
||||
<HintPath>C:\ControlApp\Interop.WMPLib.dll</HintPath>
|
||||
|
@ -40,4 +42,9 @@
|
|||
<HintPath>C:\ControlApp\Emgu.CV.Bitmap.dll</HintPath>
|
||||
</Reference>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Update="App.ico">
|
||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
</Project>
|
|
@ -38,6 +38,9 @@
|
|||
<Compile Update="ControlApp\Subliminal.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="ControlApp\SubLoop.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Update="ControlApp\WatchForMe.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
|
|
@ -55,8 +55,6 @@ public class ControlApp : Form
|
|||
|
||||
private TextBox msgbx;
|
||||
|
||||
private CheckBox All_chk;
|
||||
|
||||
private Label label4;
|
||||
|
||||
private Button button9;
|
||||
|
@ -183,6 +181,8 @@ public class ControlApp : Form
|
|||
|
||||
private TextBox ScoreTxt;
|
||||
|
||||
private Button button6;
|
||||
|
||||
public ControlApp()
|
||||
{
|
||||
InitializeComponent();
|
||||
|
@ -221,6 +221,10 @@ public class ControlApp : Form
|
|||
{
|
||||
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" };
|
||||
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()
|
||||
|
@ -361,11 +365,11 @@ public class ControlApp : Form
|
|||
{
|
||||
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)
|
||||
{
|
||||
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
|
||||
{
|
||||
string usernm = "";
|
||||
bool all = All_chk.Checked;
|
||||
string comm = MainTxt.Text;
|
||||
if (all)
|
||||
{
|
||||
touser.Text = "";
|
||||
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)
|
||||
if (groupcmbx.SelectedIndex == 0 || groupcmbx.SelectedIndex == -1)
|
||||
{
|
||||
usernm = touser.Text;
|
||||
utils.sendcmd(usernm, comm, all);
|
||||
utils.sendcmd(usernm, comm, all: true);
|
||||
}
|
||||
else
|
||||
{
|
||||
touser.Text = "";
|
||||
usernm = getgroup().ToString();
|
||||
utils.sendcmd(usernm, comm, all);
|
||||
utils.sendcmd(usernm, comm, all: false);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -976,6 +957,7 @@ public class ControlApp : Form
|
|||
|
||||
private void groupcmbx_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
touser.Text = "";
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
if (disposing && components != null)
|
||||
|
@ -1102,7 +1118,6 @@ public class ControlApp : Form
|
|||
this.label5 = new System.Windows.Forms.Label();
|
||||
this.btnbx = 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.button9 = 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.label15 = new System.Windows.Forms.Label();
|
||||
this.ScoreTxt = new System.Windows.Forms.TextBox();
|
||||
this.button6 = new System.Windows.Forms.Button();
|
||||
this.menuStrip1.SuspendLayout();
|
||||
this.tabControl1.SuspendLayout();
|
||||
this.tabPage1.SuspendLayout();
|
||||
|
@ -1271,6 +1287,7 @@ public class ControlApp : Form
|
|||
this.Nocomds.Name = "Nocomds";
|
||||
this.Nocomds.Size = new System.Drawing.Size(100, 23);
|
||||
this.Nocomds.TabIndex = 0;
|
||||
this.tabPage2.Controls.Add(this.button6);
|
||||
this.tabPage2.Controls.Add(this.touser);
|
||||
this.tabPage2.Controls.Add(this.button14);
|
||||
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.btnbx);
|
||||
this.tabPage2.Controls.Add(this.msgbx);
|
||||
this.tabPage2.Controls.Add(this.All_chk);
|
||||
this.tabPage2.Controls.Add(this.label4);
|
||||
this.tabPage2.Controls.Add(this.button9);
|
||||
this.tabPage2.Controls.Add(this.button8);
|
||||
|
@ -1323,10 +1339,12 @@ public class ControlApp : Form
|
|||
this.tabPage2.UseVisualStyleBackColor = true;
|
||||
this.tabPage2.Click += new System.EventHandler(tabPage2_Click);
|
||||
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.Size = new System.Drawing.Size(140, 23);
|
||||
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.Name = "button14";
|
||||
this.button14.Size = new System.Drawing.Size(75, 46);
|
||||
|
@ -1384,7 +1402,7 @@ public class ControlApp : Form
|
|||
this.tkscreen.UseVisualStyleBackColor = true;
|
||||
this.tkscreen.Click += new System.EventHandler(tkscreen_Click);
|
||||
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.Size = new System.Drawing.Size(40, 15);
|
||||
this.label11.TabIndex = 72;
|
||||
|
@ -1395,7 +1413,7 @@ public class ControlApp : Form
|
|||
"", "Hypno", "Goon", "Censored", "Girl Cock", "Male focus", "Female focus", "BDSM", "Extreme", "Trans",
|
||||
"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.Size = new System.Drawing.Size(140, 23);
|
||||
this.groupcmbx.TabIndex = 71;
|
||||
|
@ -1492,15 +1510,8 @@ public class ControlApp : Form
|
|||
this.msgbx.Name = "msgbx";
|
||||
this.msgbx.Size = new System.Drawing.Size(241, 23);
|
||||
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.Location = new System.Drawing.Point(425, 322);
|
||||
this.label4.Location = new System.Drawing.Point(485, 322);
|
||||
this.label4.Name = "label4";
|
||||
this.label4.Size = new System.Drawing.Size(60, 15);
|
||||
this.label4.TabIndex = 48;
|
||||
|
@ -1682,6 +1693,14 @@ public class ControlApp : Form
|
|||
this.ScoreTxt.Name = "ScoreTxt";
|
||||
this.ScoreTxt.Size = new System.Drawing.Size(100, 23);
|
||||
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.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
base.ClientSize = new System.Drawing.Size(868, 503);
|
||||
|
|
|
@ -74,6 +74,10 @@ public class CustomMessage : Form
|
|||
}
|
||||
}
|
||||
|
||||
private void label1_Click(object sender, EventArgs e)
|
||||
{
|
||||
}
|
||||
|
||||
protected override void Dispose(bool disposing)
|
||||
{
|
||||
if (disposing && components != null)
|
||||
|
@ -90,14 +94,16 @@ public class CustomMessage : Form
|
|||
base.SuspendLayout();
|
||||
this.label1.AutoSize = true;
|
||||
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.Size = new System.Drawing.Size(117, 46);
|
||||
this.label1.TabIndex = 0;
|
||||
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.Location = new System.Drawing.Point(251, 177);
|
||||
this.button1.Location = new System.Drawing.Point(244, 81);
|
||||
this.button1.Name = "button1";
|
||||
this.button1.Size = new System.Drawing.Size(75, 25);
|
||||
this.button1.TabIndex = 1;
|
||||
|
@ -107,7 +113,7 @@ public class CustomMessage : Form
|
|||
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
|
||||
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.AutoSize = true;
|
||||
base.ClientSize = new System.Drawing.Size(563, 214);
|
||||
base.ClientSize = new System.Drawing.Size(563, 118);
|
||||
base.ControlBox = false;
|
||||
base.Controls.Add(this.button1);
|
||||
base.Controls.Add(this.label1);
|
||||
|
|
|
@ -8,6 +8,8 @@ public class MyCustomApplicationContext : ApplicationContext
|
|||
{
|
||||
private NotifyIcon trayIcon;
|
||||
|
||||
private ControlApp myform;
|
||||
|
||||
public MyCustomApplicationContext()
|
||||
{
|
||||
trayIcon = new NotifyIcon();
|
||||
|
@ -16,7 +18,22 @@ public class MyCustomApplicationContext : ApplicationContext
|
|||
trayIcon.ContextMenuStrip.Items.Add("Exit", null, Exit);
|
||||
trayIcon.ContextMenuStrip.Items.Add("Open", null, Open);
|
||||
trayIcon.ContextMenuStrip.Items.Add("Panic", null, Panic);
|
||||
trayIcon.ContextMenuStrip.Items.Add("Subliminal", null, Subliminal);
|
||||
trayIcon.MouseClick += TrayIcon_MouseClick;
|
||||
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)
|
||||
|
@ -27,8 +44,37 @@ public class MyCustomApplicationContext : ApplicationContext
|
|||
|
||||
private void Open(object sender, EventArgs e)
|
||||
{
|
||||
using ControlApp myform = new ControlApp();
|
||||
myform.ShowDialog();
|
||||
if (myform.IsDisposed)
|
||||
{
|
||||
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)
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -24,6 +24,12 @@ public class PopUp : Form
|
|||
|
||||
private List<string> urls;
|
||||
|
||||
private char[] poptypearr;
|
||||
|
||||
private Utils Utils;
|
||||
|
||||
private char lastchar = 'n';
|
||||
|
||||
private IContainer components;
|
||||
|
||||
private AxWindowsMediaPlayer axWindowsMediaPlayer1;
|
||||
|
@ -36,27 +42,44 @@ public class PopUp : Form
|
|||
|
||||
public PopUp(string url)
|
||||
{
|
||||
Utils = new Utils();
|
||||
urls = new List<string>();
|
||||
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;
|
||||
}
|
||||
if (poptypearr[1] == 't')
|
||||
{
|
||||
uint initialStyle = GetWindowLong(base.Handle, -20);
|
||||
SetWindowLong(base.Handle, -20, initialStyle | 0x80000 | 0x20);
|
||||
}
|
||||
run_url = url;
|
||||
switch (run_url.Substring(run_url.Length - 3, 3))
|
||||
else if (poptypearr[1] == 'c')
|
||||
{
|
||||
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
|
||||
{
|
||||
FileName = url,
|
||||
UseShellExecute = true
|
||||
});
|
||||
Close();
|
||||
break;
|
||||
}
|
||||
tmr = new Timer();
|
||||
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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
if (urls.Count > 0)
|
||||
{
|
||||
run_url = urls[0];
|
||||
urls.RemoveAt(0);
|
||||
axWindowsMediaPlayer1.Visible = true;
|
||||
axWindowsMediaPlayer1.URL = run_url;
|
||||
axWindowsMediaPlayer1.Ctlenabled = false;
|
||||
axWindowsMediaPlayer1.uiMode = "None";
|
||||
axWindowsMediaPlayer1.stretchToFit = true;
|
||||
axWindowsMediaPlayer1.settings.autoStart = true;
|
||||
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
|
||||
}
|
||||
|
@ -98,16 +143,24 @@ public class PopUp : Form
|
|||
|
||||
private void PopUp_Load(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.StartPosition = FormStartPosition.Manual;
|
||||
base.Location = new Point(randomX, randomY);
|
||||
if (poptypearr[3] == 'f')
|
||||
{
|
||||
base.WindowState = FormWindowState.Maximized;
|
||||
}
|
||||
else
|
||||
{
|
||||
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.StartPosition = FormStartPosition.Manual;
|
||||
base.Location = new Point(randomX, randomY);
|
||||
}
|
||||
axWindowsMediaPlayer1.URL = run_url;
|
||||
axWindowsMediaPlayer1.Ctlenabled = false;
|
||||
axWindowsMediaPlayer1.uiMode = "None";
|
||||
axWindowsMediaPlayer1.stretchToFit = true;
|
||||
axWindowsMediaPlayer1.settings.autoStart = true;
|
||||
axWindowsMediaPlayer1.settings.setMode("loop", varfMode: true);
|
||||
tmr.Start();
|
||||
|
@ -133,7 +186,6 @@ public class PopUp : Form
|
|||
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(800, 450);
|
||||
this.axWindowsMediaPlayer1.TabIndex = 0;
|
||||
base.AutoScaleDimensions = new System.Drawing.SizeF(7f, 15f);
|
||||
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
|
|
202
ControlApp/SubLoop.cs
Normal file
202
ControlApp/SubLoop.cs
Normal 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
120
ControlApp/SubLoop.resx
Normal 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>
|
|
@ -88,7 +88,7 @@ public class Subliminal : Form
|
|||
private void InitializeComponent()
|
||||
{
|
||||
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();
|
||||
((System.ComponentModel.ISupportInitialize)this.axWindowsMediaPlayer1).BeginInit();
|
||||
base.SuspendLayout();
|
||||
|
|
|
@ -36,8 +36,8 @@ internal class Utils
|
|||
|
||||
public void writetolog(string shortvr, string longvr)
|
||||
{
|
||||
shortvr = Decrypt(shortvr);
|
||||
longvr = Decrypt(longvr);
|
||||
shortvr = shortvr + "~~" + Decrypt(shortvr);
|
||||
longvr = longvr + "~~" + Decrypt(longvr);
|
||||
if (ConfigurationManager.AppSettings["Logging"] == "On")
|
||||
{
|
||||
if (ConfigurationManager.AppSettings["Logging"] == "On")
|
||||
|
@ -312,6 +312,8 @@ internal class Utils
|
|||
ToReturn = ToReturn.Replace("&", "yyy");
|
||||
ToReturn = ToReturn.Replace("/", "zzz");
|
||||
ToReturn = ToReturn.Replace("]", "aaa");
|
||||
ToReturn = ToReturn.Replace("G0", "ppp");
|
||||
ToReturn = ToReturn.Replace("0x", "lll");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
@ -329,6 +331,8 @@ internal class Utils
|
|||
Line = Line.Replace("yyy", "&");
|
||||
Line = Line.Replace("zzz", "/");
|
||||
Line = Line.Replace("aaa", "]");
|
||||
Line = Line.Replace("ppp", "G0");
|
||||
Line = Line.Replace("lll", "0x");
|
||||
string publickey = "santhosh";
|
||||
string privatekey = "engineer";
|
||||
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);
|
||||
cm.Show();
|
||||
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);
|
||||
s.Wait();
|
||||
using (FileStream fs = new FileStream(filename, FileMode.Create))
|
||||
|
@ -449,6 +454,14 @@ internal class Utils
|
|||
found = true;
|
||||
}
|
||||
}
|
||||
array = blist;
|
||||
foreach (string bref2 in array)
|
||||
{
|
||||
if (what.Contains(bref2) && bref2 != "")
|
||||
{
|
||||
found = true;
|
||||
}
|
||||
}
|
||||
if (!found)
|
||||
{
|
||||
ret.Add(line);
|
||||
|
@ -482,17 +495,17 @@ internal class Utils
|
|||
{
|
||||
bool found2 = false;
|
||||
string[] array = bannedref;
|
||||
foreach (string bref2 in array)
|
||||
foreach (string bref3 in array)
|
||||
{
|
||||
if (what.Contains(bref2))
|
||||
if (what.Contains(bref3))
|
||||
{
|
||||
found2 = true;
|
||||
}
|
||||
}
|
||||
array = blist;
|
||||
foreach (string bref3 in array)
|
||||
foreach (string bref4 in array)
|
||||
{
|
||||
if (what.Contains(bref3))
|
||||
if (what.Contains(bref4) && bref4 != "")
|
||||
{
|
||||
found2 = true;
|
||||
}
|
||||
|
@ -510,17 +523,17 @@ internal class Utils
|
|||
{
|
||||
bool found3 = false;
|
||||
string[] array = bannedref;
|
||||
foreach (string bref4 in array)
|
||||
foreach (string bref5 in array)
|
||||
{
|
||||
if (what.Contains(bref4))
|
||||
if (what.Contains(bref5))
|
||||
{
|
||||
found3 = true;
|
||||
}
|
||||
}
|
||||
array = blist;
|
||||
foreach (string bref5 in array)
|
||||
foreach (string bref6 in array)
|
||||
{
|
||||
if (what.Contains(bref5))
|
||||
if (what.Contains(bref6) && bref6 != "")
|
||||
{
|
||||
found3 = true;
|
||||
}
|
||||
|
@ -542,10 +555,27 @@ internal class Utils
|
|||
{
|
||||
ret.Add(line);
|
||||
}
|
||||
if (which == "L=")
|
||||
{
|
||||
ret.Add(line);
|
||||
}
|
||||
}
|
||||
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)
|
||||
{
|
||||
lines = remove_notneeded(lines);
|
||||
|
@ -612,7 +642,7 @@ internal class Utils
|
|||
{
|
||||
case "D=":
|
||||
{
|
||||
string thefile2 = "";
|
||||
string thefile3 = "";
|
||||
if (!isfile)
|
||||
{
|
||||
Process.Start(new ProcessStartInfo
|
||||
|
@ -623,11 +653,11 @@ internal class Utils
|
|||
}
|
||||
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;
|
||||
}
|
||||
|
@ -642,11 +672,54 @@ internal class Utils
|
|||
});
|
||||
continue;
|
||||
}
|
||||
string thefile3 = "";
|
||||
thefile3 = Get_File(what);
|
||||
if (thefile3 != "FAILED")
|
||||
string thefile4 = "";
|
||||
thefile4 = Get_File(what);
|
||||
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;
|
||||
}
|
||||
|
@ -656,17 +729,17 @@ internal class Utils
|
|||
{
|
||||
continue;
|
||||
}
|
||||
string thefile4 = "";
|
||||
thefile4 = Get_File(what);
|
||||
if (thefile4 != "FAILED")
|
||||
string thefile2 = "";
|
||||
thefile2 = Get_File(what);
|
||||
if (thefile2 != "FAILED")
|
||||
{
|
||||
if (ConfigurationManager.AppSettings["AutoRun"] == "True")
|
||||
{
|
||||
Process.Start(thefile4);
|
||||
Process.Start(thefile2);
|
||||
}
|
||||
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;
|
||||
|
@ -747,16 +820,16 @@ internal class Utils
|
|||
}
|
||||
if (popstyle2 == "Serial")
|
||||
{
|
||||
bool done2 = false;
|
||||
foreach (Form fm2 in Application.OpenForms)
|
||||
bool done3 = false;
|
||||
foreach (Form fm3 in Application.OpenForms)
|
||||
{
|
||||
if (fm2.GetType() == typeof(PopUp))
|
||||
if (fm3.GetType() == typeof(PopUp))
|
||||
{
|
||||
((PopUp)fm2).add_url(what);
|
||||
done2 = true;
|
||||
((PopUp)fm3).add_url(what);
|
||||
done3 = true;
|
||||
}
|
||||
}
|
||||
if (!done2)
|
||||
if (!done3)
|
||||
{
|
||||
new PopUp(what).Show();
|
||||
}
|
||||
|
@ -869,7 +942,7 @@ internal class Utils
|
|||
what = what.Replace(" ", "%20");
|
||||
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
|
||||
});
|
||||
goto end_IL_0064;
|
||||
|
@ -884,16 +957,25 @@ internal class Utils
|
|||
switch (which)
|
||||
{
|
||||
case "5=":
|
||||
new CustomMessage(what, "", 4, tts: true).ShowDialog();
|
||||
new CustomMessage(what, "", 4, tts: true).Show();
|
||||
break;
|
||||
case "6=":
|
||||
try
|
||||
{
|
||||
Bitmap image = new VideoCapture(0, VideoCapture.API.Any).QueryFrame().ToBitmap();
|
||||
string filename2 = "web" + ConfigurationManager.AppSettings["UserName"].ToString() + from + DateTime.Now.Date.ToString().Replace("/", "").Replace(" ", "")
|
||||
.Replace(":", "") + ".jpg";
|
||||
string filePath2 = ConfigurationManager.AppSettings["LocalDrive"] + filename2;
|
||||
new Bitmap(image, new Size(image.Width / 2, image.Height / 2)).Save(filePath2);
|
||||
string filename2 = "";
|
||||
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";
|
||||
filePath2 = ConfigurationManager.AppSettings["LocalDrive"] + filename2;
|
||||
new Bitmap(image, new Size(Convert.ToInt16((double)image.Width / 1.5), Convert.ToInt16((double)image.Height / 1.5))).Save(filePath2);
|
||||
}
|
||||
if (sendftpfile(filePath2))
|
||||
{
|
||||
sendcmd(from, Ecrypt("U=FTP" + filename2) + "|||", all: false);
|
||||
|
@ -907,11 +989,11 @@ internal class Utils
|
|||
case "7=":
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
@ -925,11 +1007,11 @@ internal class Utils
|
|||
case "8=":
|
||||
{
|
||||
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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,9 +3,10 @@ using System.ComponentModel;
|
|||
using System.Configuration;
|
||||
using System.Drawing;
|
||||
using System.IO;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Windows.Forms;
|
||||
using Vlc.DotNet.Core;
|
||||
using Vlc.DotNet.Forms;
|
||||
using AxWMPLib;
|
||||
using Microsoft.Web.WebView2.WinForms;
|
||||
|
||||
namespace ControlApp;
|
||||
|
||||
|
@ -15,8 +16,12 @@ public class WatchForMe : Form
|
|||
|
||||
private string pub_Url;
|
||||
|
||||
private const int INTERNET_OPTION_USER_AGENT = 41;
|
||||
|
||||
private Utils u;
|
||||
|
||||
private DirectoryInfo vlcdir;
|
||||
|
||||
private int timewatched;
|
||||
|
||||
private int timecensored;
|
||||
|
@ -33,7 +38,19 @@ public class WatchForMe : Form
|
|||
|
||||
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)
|
||||
{
|
||||
|
@ -52,41 +69,46 @@ public class WatchForMe : Form
|
|||
{
|
||||
u = new Utils();
|
||||
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();
|
||||
textBox1.Focus();
|
||||
switch (Path.GetExtension(Url))
|
||||
{
|
||||
case ".mp4":
|
||||
case ".webm":
|
||||
case ".webp":
|
||||
case ".gif":
|
||||
{
|
||||
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 (u.Get_File(Url) != "FAILED")
|
||||
{
|
||||
FileInfo fileInfo = new FileInfo(Url);
|
||||
vlcControl1.SetMedia(fileInfo, mediaOptions);
|
||||
axWindowsMediaPlayer1.URL = fileInfo.ToString();
|
||||
}
|
||||
else
|
||||
{
|
||||
vlcControl1.SetMedia(new Uri(Url), mediaOptions);
|
||||
axWindowsMediaPlayer1.URL = Url;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
FileInfo fileInfo2 = new FileInfo(Url);
|
||||
vlcControl1.SetMedia(fileInfo2, mediaOptions);
|
||||
axWindowsMediaPlayer1.URL = fileInfo2.ToString();
|
||||
}
|
||||
vlcControl1.Play();
|
||||
webView21.Visible = false;
|
||||
break;
|
||||
}
|
||||
case ".png":
|
||||
case ".jpg":
|
||||
case ".jepg":
|
||||
{
|
||||
string file = "";
|
||||
webView21.Visible = false;
|
||||
file = u.Get_File(Url);
|
||||
if (file == "FAILED")
|
||||
{
|
||||
|
@ -111,7 +133,7 @@ public class WatchForMe : Form
|
|||
{
|
||||
base.Height = i.Height;
|
||||
}
|
||||
vlcControl1.Visible = false;
|
||||
axWindowsMediaPlayer1.Visible = false;
|
||||
PictureBox pictureBox = new PictureBox
|
||||
{
|
||||
Dock = DockStyle.Fill,
|
||||
|
@ -122,12 +144,13 @@ public class WatchForMe : Form
|
|||
}
|
||||
default:
|
||||
{
|
||||
vlcControl1.Visible = false;
|
||||
WebBrowser wb = new WebBrowser();
|
||||
wb.Navigate(Url);
|
||||
wb.Dock = DockStyle.Fill;
|
||||
wb.ScriptErrorsSuppressed = true;
|
||||
base.Controls.Add(wb);
|
||||
axWindowsMediaPlayer1.Visible = false;
|
||||
if (Url.Substring(0, 4).ToUpper() != "HTTP")
|
||||
{
|
||||
Url = "http://" + Url;
|
||||
}
|
||||
Uri uri = new Uri(Url);
|
||||
webView21.Source = uri;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -144,6 +167,7 @@ public class WatchForMe : Form
|
|||
base.Deactivate += Form1_Deactivate;
|
||||
base.Activated += Form1_Reactivate;
|
||||
base.FormClosing += Form1_FormClosing;
|
||||
textBox1.SendToBack();
|
||||
}
|
||||
|
||||
private void WatchForMe_Load(object sender, EventArgs e)
|
||||
|
@ -160,6 +184,7 @@ public class WatchForMe : Form
|
|||
{
|
||||
if (!isdeactive)
|
||||
{
|
||||
textBox1.Focus();
|
||||
timewatched++;
|
||||
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)
|
||||
{
|
||||
if (e.KeyCode == Keys.Space)
|
||||
if (e.KeyCode == Keys.C)
|
||||
{
|
||||
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)
|
||||
|
@ -225,32 +268,55 @@ public class WatchForMe : Form
|
|||
private void InitializeComponent()
|
||||
{
|
||||
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.CensorTime = new System.Windows.Forms.Timer(this.components);
|
||||
this.vlcControl1 = new Vlc.DotNet.Forms.VlcControl();
|
||||
((System.ComponentModel.ISupportInitialize)this.vlcControl1).BeginInit();
|
||||
this.webView21 = new Microsoft.Web.WebView2.WinForms.WebView2();
|
||||
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();
|
||||
this.vlcControl1.BackColor = System.Drawing.Color.Black;
|
||||
this.vlcControl1.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.vlcControl1.Location = new System.Drawing.Point(0, 0);
|
||||
this.vlcControl1.Name = "vlcControl1";
|
||||
this.vlcControl1.Size = new System.Drawing.Size(1044, 647);
|
||||
this.vlcControl1.Spu = -1;
|
||||
this.vlcControl1.TabIndex = 0;
|
||||
this.vlcControl1.Visible = true;
|
||||
this.vlcControl1.Text = "vlcControl1";
|
||||
this.vlcControl1.VlcLibDirectory = new System.IO.DirectoryInfo("C:\\Program Files\\VideoLAN\\VLC");
|
||||
this.vlcControl1.EndReached += new System.EventHandler<Vlc.DotNet.Core.VlcMediaPlayerEndReachedEventArgs>(Replay);
|
||||
this.vlcControl1.KeyDown += new System.Windows.Forms.KeyEventHandler(WFM_KeyDown);
|
||||
((System.ComponentModel.ISupportInitialize)this.vlcControl1).EndInit();
|
||||
this.webView21.AllowExternalDrop = true;
|
||||
this.webView21.CreationProperties = null;
|
||||
this.webView21.DefaultBackgroundColor = System.Drawing.Color.White;
|
||||
this.webView21.Dock = System.Windows.Forms.DockStyle.Fill;
|
||||
this.webView21.Location = new System.Drawing.Point(0, 0);
|
||||
this.webView21.Name = "webView21";
|
||||
this.webView21.Size = new System.Drawing.Size(1044, 647);
|
||||
this.webView21.TabIndex = 1;
|
||||
this.webView21.ZoomFactor = 1.0;
|
||||
this.textBox1.Location = new System.Drawing.Point(224, 368);
|
||||
this.textBox1.Name = "textBox1";
|
||||
this.textBox1.Size = new System.Drawing.Size(100, 23);
|
||||
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.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
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";
|
||||
this.Text = "WatchForMe";
|
||||
base.Load += new System.EventHandler(WatchForMe_Load);
|
||||
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.PerformLayout();
|
||||
}
|
||||
|
||||
private void TextBox1_LostFocus(object sender, EventArgs e)
|
||||
{
|
||||
textBox1.Focus();
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
46
app.config
46
app.config
|
@ -6,28 +6,7 @@
|
|||
<add key="LogLvl" value="1" />
|
||||
<add key="CommonUsers" value="" />
|
||||
<add key="BlackList" value="" />
|
||||
<add key="Showblocked" value="False" />
|
||||
<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="DPopstyle" value="Serial" />
|
||||
<add key="DPaperStyle" value="Fit" />
|
||||
|
@ -48,7 +27,30 @@
|
|||
<add key="DTTS" value="False" />
|
||||
<add key="DDisM" value="False" />
|
||||
<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="UserName" value="" />
|
||||
<add key="Password" value="" />
|
||||
|
|
8
makefile
Normal file
8
makefile
Normal 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
|
26
merge.cs.sh
26
merge.cs.sh
|
@ -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"
|
Loading…
Reference in a new issue