snapshot release
This commit is contained in:
parent
9dbba5f072
commit
8b65bc4173
|
|
@ -29,7 +29,11 @@ namespace Novetus.Core
|
|||
public INIFile(string INIPath)
|
||||
{
|
||||
path = INIPath;
|
||||
File.SetAttributes(path, FileAttributes.Normal);
|
||||
|
||||
if (!File.Exists(path))
|
||||
{
|
||||
File.Create(path).Close();
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Write Data to the INI File
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ namespace Novetus.Core
|
|||
public ExtensionManager Manager = new ExtensionManager();
|
||||
private static readonly SemaphoreLocker _locker = new SemaphoreLocker();
|
||||
public bool Started { get { return Server.ProxyRunning; } }
|
||||
private int WebProxyPort = 61710;
|
||||
|
||||
public void DoSetup()
|
||||
{
|
||||
|
|
@ -45,7 +46,9 @@ namespace Novetus.Core
|
|||
"When enabling the web proxy, Novetus will locally create a certificate upon startup that ensures the proxy's functionality. Novetus will not send any user data to anyone, as everything involving the web proxy is entirely local to this computer.\n" +
|
||||
"If you have any issue connecting to other web sites, including Roblox, closing Novetus or typing 'proxy off' into Novetus' console will fix it in most instances.\n\n" +
|
||||
"Upon pressing 'Yes', Windows will ask you for permission to install the certificate.\n\n" +
|
||||
"You can change this option at any time by typing 'proxy disable' or 'proxy on' in the Novetus console. This message will appear only once.\n";
|
||||
"You can change this option at any time by typing 'proxy disable' or 'proxy on' in the Novetus console.\n\n" +
|
||||
"NOTE: The Web proxy feature requires an Internet connection to function properly.\n\n" +
|
||||
"This message will appear only once.\n";
|
||||
|
||||
DialogResult result = MessageBox.Show(text, "Novetus - Web Proxy Opt-In", MessageBoxButtons.YesNo);
|
||||
|
||||
|
|
@ -87,8 +90,20 @@ namespace Novetus.Core
|
|||
Server.CertificateManager.RootCertificateIssuerName = "Novetus";
|
||||
Server.CertificateManager.RootCertificateName = "Novetus Web Proxy";
|
||||
Server.BeforeRequest += new AsyncEventHandler<SessionEventArgs>(OnRequest);
|
||||
UpdateEndPoint(true);
|
||||
Util.ConsolePrint("Web Proxy started on port " + GlobalVars.WebProxyPort, 3);
|
||||
|
||||
end = new ExplicitProxyEndPoint(IPAddress.Any, WebProxyPort, true);
|
||||
end.BeforeTunnelConnectRequest += new AsyncEventHandler<TunnelConnectSessionEventArgs>(OnBeforeTunnelConnectRequest);
|
||||
Server.AddEndPoint(end);
|
||||
|
||||
Server.Start();
|
||||
|
||||
foreach(ProxyEndPoint endPoint in Server.ProxyEndPoints)
|
||||
{
|
||||
Server.SetAsSystemProxy(end, ProxyProtocolType.AllHttp);
|
||||
}
|
||||
|
||||
Util.ConsolePrint("Web Proxy started on port " + WebProxyPort, 3);
|
||||
|
||||
try
|
||||
{
|
||||
foreach (IExtension extension in Manager.GetExtensionList().ToArray())
|
||||
|
|
@ -110,35 +125,6 @@ namespace Novetus.Core
|
|||
}
|
||||
}
|
||||
|
||||
public void UpdateEndPoint(bool shouldRunServer = false, bool decrypt = true)
|
||||
{
|
||||
if (Server.ProxyEndPoints.Count > 0)
|
||||
{
|
||||
Server.RemoveEndPoint(end);
|
||||
}
|
||||
|
||||
GlobalVars.WebProxyPort = GlobalVars.UserConfiguration.RobloxPort + 1;
|
||||
end = new ExplicitProxyEndPoint(IPAddress.Any, GlobalVars.WebProxyPort, decrypt);
|
||||
end.BeforeTunnelConnectRequest += new AsyncEventHandler<TunnelConnectSessionEventArgs>(OnBeforeTunnelConnectRequest);
|
||||
Server.AddEndPoint(end);
|
||||
|
||||
if (!Server.ProxyRunning && shouldRunServer)
|
||||
{
|
||||
Server.Start();
|
||||
}
|
||||
|
||||
if (Server.ProxyRunning)
|
||||
{
|
||||
foreach (ProxyEndPoint endPoint in Server.ProxyEndPoints)
|
||||
{
|
||||
Server.SetAsSystemHttpProxy(end);
|
||||
Server.SetAsSystemHttpsProxy(end);
|
||||
}
|
||||
}
|
||||
|
||||
Util.ConsolePrint("Web Proxy Endpoint updated with port " + GlobalVars.WebProxyPort, 3);
|
||||
}
|
||||
|
||||
private bool IsValidURL(HttpWebClient client)
|
||||
{
|
||||
string uri = client.Request.RequestUri.Host;
|
||||
|
|
@ -253,7 +239,7 @@ namespace Novetus.Core
|
|||
return;
|
||||
}
|
||||
|
||||
Util.ConsolePrint("Web Proxy stopping on port " + GlobalVars.WebProxyPort, 3);
|
||||
Util.ConsolePrint("Web Proxy stopping on port " + WebProxyPort, 3);
|
||||
Server.BeforeRequest -= new AsyncEventHandler<SessionEventArgs>(OnRequest);
|
||||
Server.Stop();
|
||||
|
||||
|
|
|
|||
|
|
@ -101,7 +101,6 @@ namespace Novetus.Core
|
|||
public static ScriptType GameOpened = ScriptType.None;
|
||||
public static string PlayerTripcode = "";
|
||||
#if LAUNCHER || URI
|
||||
public static int WebProxyPort = 0;
|
||||
public static WebProxy Proxy = new WebProxy();
|
||||
#endif
|
||||
#endregion
|
||||
|
|
|
|||
|
|
@ -593,7 +593,6 @@ namespace NovetusLauncher
|
|||
Tree.Focus();
|
||||
IPBox.Text = GlobalVars.CurrentServer.ToString();
|
||||
HostPortBox.Value = Convert.ToDecimal(GlobalVars.UserConfiguration.RobloxPort);
|
||||
GlobalVars.Proxy.UpdateEndPoint();
|
||||
IPLabel.Text = GlobalVars.CurrentServer.ServerIP;
|
||||
PortLabel.Text = GlobalVars.CurrentServer.ServerPort.ToString();
|
||||
DiscordPresenceCheckbox.Checked = GlobalVars.UserConfiguration.DiscordPresence;
|
||||
|
|
@ -970,7 +969,6 @@ namespace NovetusLauncher
|
|||
public void ChangeServerPort()
|
||||
{
|
||||
GlobalVars.UserConfiguration.RobloxPort = Convert.ToInt32(HostPortBox.Value);
|
||||
GlobalVars.Proxy.UpdateEndPoint();
|
||||
}
|
||||
|
||||
public void ChangeClient()
|
||||
|
|
|
|||
|
|
@ -335,7 +335,6 @@ namespace NovetusLauncher
|
|||
if (!IsLoaded)
|
||||
return;
|
||||
GlobalVars.UserConfiguration.RobloxPort = Convert.ToInt32(serverPortBox.Text);
|
||||
GlobalVars.Proxy.UpdateEndPoint();
|
||||
}
|
||||
|
||||
private void maxPlayersBox_TextChanged(object sender, TextChangedEventArgs e)
|
||||
|
|
|
|||
|
|
@ -155,7 +155,6 @@ namespace NovetusLauncher
|
|||
if (ConsoleArgs["hostport"] != null)
|
||||
{
|
||||
GlobalVars.UserConfiguration.RobloxPort = Convert.ToInt32(ConsoleArgs["hostport"]);
|
||||
GlobalVars.Proxy.UpdateEndPoint();
|
||||
}
|
||||
|
||||
if (ConsoleArgs["upnp"] != null)
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
Snapshot v23.8451.38416.1
|
||||
Snapshot v23.8469.20669.1
|
||||
Enhancements:
|
||||
- Added clean_junk.bat to allow the user to quickly reset their Novetus install.
|
||||
- The Asset Web proxy extension now tries to download online assets for quicker asset loading on future map launches.
|
||||
- Slightly increased asset loading times.
|
||||
- The Asset Web Proxy extension now tries to download online assets for quicker asset loading on future map launches.
|
||||
- Some older clients may take a long time to load assets regardless.
|
||||
- Improved reliability under Wine.
|
||||
- Enabled the use of commands in CMD mode.
|
||||
- Changing any item or color in the customization menu will now automatically save the setting. No manual saving required!
|
||||
- Added a note related to internet connection for the Web Proxy.
|
||||
----------------------------------------------------------------------------
|
||||
Snapshot v23.8428.35205.1
|
||||
Notes:
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ Commands:|3
|
|||
+ clear - Clears all text in this window.|4
|
||||
+ help - Clears all text and shows this list.|4
|
||||
+ documentation - Clears all text and shows the ClientScript documentation.|4
|
||||
+ commandline - Prints all the command line variables passed to the launcher. Good for debugging.|4
|
||||
+ config save - Saves the config file|4
|
||||
+ config load - Reloads the config file|4
|
||||
+ config reset - Resets the config file|4
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@ using System;
|
|||
using System.IO;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Net;
|
||||
using System.Collections.Generic;
|
||||
using Titanium.Web.Proxy;
|
||||
using Titanium.Web.Proxy.EventArguments;
|
||||
|
|
@ -16,11 +17,21 @@ public class Asset : IWebProxyExtension
|
|||
return "Asset Redirection Extension";
|
||||
}
|
||||
|
||||
public override string Version()
|
||||
{
|
||||
return "1.1.0";
|
||||
}
|
||||
|
||||
public override string Author()
|
||||
{
|
||||
return "Bitl";
|
||||
}
|
||||
|
||||
public override void OnExtensionLoad()
|
||||
{
|
||||
Util.ConsolePrint("NOTE - Depending on how old the client is, assets may take a long time to load. Please be patient!");
|
||||
}
|
||||
|
||||
public override bool IsValidURL(string absolutePath, string host)
|
||||
{
|
||||
return (absolutePath.EndsWith("/asset") || absolutePath.EndsWith("/asset/"));
|
||||
|
|
@ -72,22 +83,18 @@ public class Asset : IWebProxyExtension
|
|||
{
|
||||
if (!CanRedirectLocalAsset(GlobalPaths.DataPath, id, e))
|
||||
{
|
||||
//Util.ConsolePrint(Name() + ": Cannot find " + id.ToString() + " in " + GlobalPaths.DataPath + ". Checking client assets.", 5);
|
||||
if (!CanRedirectLocalAsset(GlobalPaths.AssetsPath, id, e))
|
||||
{
|
||||
//Util.ConsolePrint(Name() + ": Cannot find " + id.ToString() + " in " + GlobalPaths.AssetsPath + ". Redirecting.", 2);
|
||||
e.Redirect(url);
|
||||
|
||||
Downloader download = new Downloader(url, id.ToString());
|
||||
|
||||
download.filePath = GlobalPaths.AssetCacheDirAssets;
|
||||
download.showErrorInfo = false;
|
||||
download.overwrite = false;
|
||||
download.InitDownloadDirect("");
|
||||
|
||||
if (!download.getDownloadOutcome().Contains("Error"))
|
||||
|
||||
if (e.HttpClient.Response.StatusCode != 409)
|
||||
{
|
||||
Util.ConsolePrint(Name() + ": Localization of " + id.ToString() + " successful. Asset will be local on next launch.", 3);
|
||||
Downloader download = new Downloader(url, id.ToString());
|
||||
|
||||
download.filePath = GlobalPaths.AssetCacheDirAssets;
|
||||
download.showErrorInfo = false;
|
||||
download.overwrite = false;
|
||||
download.InitDownloadDirect("");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -260,3 +260,9 @@ We're not candy!|This is serious!
|
|||
ppShader
|
||||
You're already dead.|NANI?
|
||||
Gravitational Pull of Pepsi
|
||||
Let's fly to the castle!
|
||||
Surrender or Run.
|
||||
Aren't you excited?|Are you afraid now?
|
||||
Teaching a new dog new tricks!
|
||||
Nothing special, it's just my BASS CANNON!
|
||||
I GOT THE ZOOMIES. I WILL NEVER CEASE!
|
||||
Loading…
Reference in New Issue