mirror of
https://github.com/netchx/netch.git
synced 2026-04-05 19:45:05 +08:00
分流预备工作
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using Netch.Models;
|
||||
using Netch.Utils;
|
||||
|
||||
@@ -21,7 +20,7 @@ namespace Netch.Controllers
|
||||
if (Global.Settings.BootShadowsocksFromDLL && (mode.Type == 0 || mode.Type == 1 || mode.Type == 2))
|
||||
{
|
||||
State = State.Starting;
|
||||
var client = Encoding.UTF8.GetBytes($"0.0.0.0:{Global.Settings.Socks5LocalPort}");
|
||||
var client = Encoding.UTF8.GetBytes($"{LocalAddress}:{Socks5LocalPort}");
|
||||
var remote = Encoding.UTF8.GetBytes($"{server.Hostname}:{server.Port}");
|
||||
var passwd = Encoding.UTF8.GetBytes($"{server.Password}");
|
||||
var method = Encoding.UTF8.GetBytes($"{server.EncryptMethod}");
|
||||
@@ -49,7 +48,7 @@ namespace Netch.Controllers
|
||||
#region Argument
|
||||
|
||||
var argument = new StringBuilder();
|
||||
argument.Append($"-s {server.Hostname} -p {server.Port} -b {Global.Settings.LocalAddress} -l {Global.Settings.Socks5LocalPort} -m {server.EncryptMethod} -k \"{server.Password}\" -u");
|
||||
argument.Append($"-s {server.Hostname} -p {server.Port} -b {LocalAddress} -l {Socks5LocalPort} -m {server.EncryptMethod} -k \"{server.Password}\" -u");
|
||||
if (!string.IsNullOrWhiteSpace(server.Plugin) && !string.IsNullOrWhiteSpace(server.PluginOption))
|
||||
argument.Append($" --plugin {server.Plugin} --plugin-opts \"{server.PluginOption}\"");
|
||||
if (mode.BypassChina) argument.Append(" --acl default.acl");
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Netch.Controllers
|
||||
if (!string.IsNullOrEmpty(server.OBFSParam)) argument.Append($" -g \"{server.OBFSParam}\"");
|
||||
}
|
||||
|
||||
argument.Append($" -b {Global.Settings.LocalAddress} -l {Global.Settings.Socks5LocalPort} -u");
|
||||
argument.Append($" -b {LocalAddress} -l {Socks5LocalPort} -u");
|
||||
if (mode.BypassChina) argument.Append(" --acl default.acl");
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -22,8 +22,8 @@ namespace Netch.Controllers
|
||||
{
|
||||
File.WriteAllText("data\\last.json", JsonConvert.SerializeObject(new Trojan
|
||||
{
|
||||
local_addr = Global.Settings.LocalAddress,
|
||||
local_port = Global.Settings.Socks5LocalPort,
|
||||
local_addr = LocalAddress,
|
||||
local_port = Socks5LocalPort,
|
||||
remote_addr = server.Hostname,
|
||||
remote_port = server.Port,
|
||||
password = new List<string>
|
||||
|
||||
@@ -27,8 +27,8 @@ namespace Netch.Controllers
|
||||
new VMess.Inbounds
|
||||
{
|
||||
settings = new VMess.InboundSettings(),
|
||||
port = Global.Settings.Socks5LocalPort,
|
||||
listen = Global.Settings.LocalAddress
|
||||
port = Socks5LocalPort,
|
||||
listen = LocalAddress
|
||||
}
|
||||
},
|
||||
outbounds = new List<VMess.Outbounds>
|
||||
|
||||
@@ -1,9 +1,26 @@
|
||||
using Netch.Models;
|
||||
using Netch.Utils;
|
||||
|
||||
namespace Netch.Controllers
|
||||
{
|
||||
public abstract class EncryptedProxy : Controller
|
||||
{
|
||||
private int? _socks5Port;
|
||||
|
||||
public int Socks5LocalPort
|
||||
{
|
||||
get => _socks5Port ?? Global.Settings.Socks5LocalPort;
|
||||
set => _socks5Port = value;
|
||||
}
|
||||
|
||||
private string _localAddress;
|
||||
|
||||
public string LocalAddress
|
||||
{
|
||||
get => _localAddress ?? Global.Settings.LocalAddress;
|
||||
set => _localAddress = value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 启动
|
||||
/// </summary>
|
||||
|
||||
@@ -148,7 +148,7 @@ namespace Netch.Controllers
|
||||
if (result)
|
||||
{
|
||||
// 加密代理成功启动
|
||||
UsingPorts.Add(Global.Settings.Socks5LocalPort); // 记录Socks5使用端口
|
||||
UsingPorts.Add(pEncryptedProxyController.Socks5LocalPort); // 记录Socks5使用端口
|
||||
|
||||
switch (mode.Type)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user