清理程序,并移除 BouncyCastle 的dll

This commit is contained in:
梅浩东
2025-04-14 15:16:55 +08:00
parent fe9c3ca5ae
commit bfb1ff514d
25 changed files with 133 additions and 135 deletions
+9 -9
View File
@@ -37,10 +37,10 @@ namespace BarrageGrab
static AppRuntime() static AppRuntime()
{ {
} }
public static void Init() public static void Init()
{ {
WsServer = new WsBarrageServer(); WsServer = new WsBarrageServer();
RoomCaches = new RoomCacheManager(); RoomCaches = new RoomCacheManager();
@@ -57,7 +57,7 @@ namespace BarrageGrab
var hWnd = WinApi.GetConsoleWindow(); var hWnd = WinApi.GetConsoleWindow();
if (hWnd != IntPtr.Zero) if (hWnd != IntPtr.Zero)
{ {
WinApi.ShowWindow(hWnd, show? WinApi.CmdShow.SW_SHOW:WinApi.CmdShow.SW_HIDE); WinApi.ShowWindow(hWnd, show ? WinApi.CmdShow.SW_SHOW : WinApi.CmdShow.SW_HIDE);
} }
} }
@@ -95,7 +95,7 @@ namespace BarrageGrab
WebRoomId = webrid, WebRoomId = webrid,
Title = "房间" + webrid Title = "房间" + webrid
}; };
var succ = RoomInfoCache.TryAdd(roomid,info); var succ = RoomInfoCache.TryAdd(roomid, info);
if (succ) if (succ)
{ {
OnCache?.Invoke(this, new RoomCacheEventArgs() OnCache?.Invoke(this, new RoomCacheEventArgs()
@@ -130,7 +130,7 @@ namespace BarrageGrab
var succ = RoomInfoCache.TryAdd(roomid, roomInfo); var succ = RoomInfoCache.TryAdd(roomid, roomInfo);
if (succ) if (succ)
{ {
OnCache?.Invoke(this,new RoomCacheEventArgs() OnCache?.Invoke(this, new RoomCacheEventArgs()
{ {
Model = 0, Model = 0,
RoomInfo = roomInfo RoomInfo = roomInfo
@@ -147,7 +147,7 @@ namespace BarrageGrab
public string GetCachedWebRoomid(string roomid) public string GetCachedWebRoomid(string roomid)
{ {
RoomInfo value; RoomInfo value;
if (RoomInfoCache.TryGetValue(roomid,out value)) return value.WebRoomId??"未知"; if (RoomInfoCache.TryGetValue(roomid, out value)) return value.WebRoomId ?? "未知";
return "未知"; return "未知";
} }
@@ -177,13 +177,13 @@ namespace BarrageGrab
public class RoomCacheEventArgs : EventArgs public class RoomCacheEventArgs : EventArgs
{ {
public RoomInfo RoomInfo { get; set; } public RoomInfo RoomInfo { get; set; }
/// <summary> /// <summary>
/// 0:添加,1更新,2删除 /// 0:添加,1更新,2删除
/// </summary> /// </summary>
public int Model { get; set; } public int Model { get; set; }
} }
} }
} }
} }
+1 -1
View File
@@ -1,12 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Configuration; using System.Configuration;
using System.Drawing;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BarrageGrab.Modles.JsonEntity; using BarrageGrab.Modles.JsonEntity;
using static System.Configuration.ConfigurationManager; using static System.Configuration.ConfigurationManager;
using System.Drawing;
namespace BarrageGrab namespace BarrageGrab
{ {
+5 -5
View File
@@ -1,13 +1,13 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO.Ports;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.IO.Ports;
using Jint;
using Jint.Runtime;
using System.Windows.Forms; using System.Windows.Forms;
using Jint;
using Jint.Native; using Jint.Native;
using Jint.Runtime;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -34,7 +34,7 @@ namespace BarrageGrab
{ {
Logger.LogError(ex, $"comPortFilter.js 执行错误: {ex.Message}"); Logger.LogError(ex, $"comPortFilter.js 执行错误: {ex.Message}");
throw; throw;
} }
} }
} }
@@ -81,7 +81,7 @@ namespace BarrageGrab
catch (Exception ex) catch (Exception ex)
{ {
Logger.LogError(ex, $"串口过滤器 onPackData 执行错误:{ex.Message}"); Logger.LogError(ex, $"串口过滤器 onPackData 执行错误:{ex.Message}");
return; return;
} }
if (result == null) return; if (result == null) return;
+2 -2
View File
@@ -55,7 +55,7 @@ namespace BarrageGrab
Logger.LogError($"礼物信息从服务器请求失败: {ex.Message}"); Logger.LogError($"礼物信息从服务器请求失败: {ex.Message}");
return null; return null;
} }
} }
/// <summary> /// <summary>
/// 获取房间信息,通过原生接口 /// 获取房间信息,通过原生接口
@@ -69,7 +69,7 @@ namespace BarrageGrab
string url = "https://live.douyin.com/webcast/room/web/enter/"; string url = "https://live.douyin.com/webcast/room/web/enter/";
var client = new HttpClient(); var client = new HttpClient();
var uri = new UriBuilder(url); var uri = new UriBuilder(url);
var dict = new Dictionary<string, string>(); var dict = new Dictionary<string, string>();
+19 -19
View File
@@ -1,8 +1,4 @@
using BarrageGrab.Forms; using System;
using BarrageGrab.Forms.Models;
using BarrageGrab.Modles.JsonEntity;
using BarrageGrab.Proxy;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@@ -13,6 +9,10 @@ using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using BarrageGrab.Forms;
using BarrageGrab.Forms.Models;
using BarrageGrab.Modles.JsonEntity;
using BarrageGrab.Proxy;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -29,7 +29,7 @@ namespace BarrageGrab
InitializeComponent(); InitializeComponent();
barServer.OnPrint += WssService_OnPrint; barServer.OnPrint += WssService_OnPrint;
barServer.Grab.Proxy.OnProxyStatus += Proxy_OnProxyStatus; barServer.Grab.Proxy.OnProxyStatus += Proxy_OnProxyStatus;
AppRuntime.RoomCaches.OnCache += RoomCaches_OnCache; AppRuntime.RoomCaches.OnCache += RoomCaches_OnCache;
} }
private void InitTabPages() private void InitTabPages()
@@ -85,8 +85,8 @@ namespace BarrageGrab
private void Ck_CheckedChanged(object sender, EventArgs e) private void Ck_CheckedChanged(object sender, EventArgs e)
{ {
CheckBox cbx = sender as CheckBox; CheckBox cbx = sender as CheckBox;
if (cbx == null) return; if (cbx == null) return;
var selected = GetCheckedBarTypes((FlowLayoutPanel)cbx.Parent); var selected = GetCheckedBarTypes((FlowLayoutPanel)cbx.Parent);
if (cbx.Parent.Parent == this.tabPage_Console) if (cbx.Parent.Parent == this.tabPage_Console)
{ {
@@ -96,7 +96,7 @@ namespace BarrageGrab
{ {
AppSetting.Current.PushFilter = selected; AppSetting.Current.PushFilter = selected;
} }
if(cbx.Parent.Parent == this.tabPage_Log) if (cbx.Parent.Parent == this.tabPage_Log)
{ {
AppSetting.Current.LogFilter = selected; AppSetting.Current.LogFilter = selected;
} }
@@ -113,12 +113,12 @@ namespace BarrageGrab
if (cbk.Checked && cbk.Name.StartsWith("cbx_bartype_")) if (cbk.Checked && cbk.Name.StartsWith("cbx_bartype_"))
{ {
list.Add((int)cbk.Tag); list.Add((int)cbk.Tag);
} }
} }
return list.OrderBy(o => o).ToArray(); return list.OrderBy(o => o).ToArray();
} }
private Dictionary<int,string> GetMsgTypes() private Dictionary<int, string> GetMsgTypes()
{ {
var dic = new Dictionary<int, string>(); var dic = new Dictionary<int, string>();
Type enumType = typeof(PackMsgType); Type enumType = typeof(PackMsgType);
@@ -127,7 +127,7 @@ namespace BarrageGrab
{ {
DescriptionAttribute attribute = (DescriptionAttribute)field.GetCustomAttribute(typeof(DescriptionAttribute), false); DescriptionAttribute attribute = (DescriptionAttribute)field.GetCustomAttribute(typeof(DescriptionAttribute), false);
int value = (int)field.GetValue(null); int value = (int)field.GetValue(null);
if (attribute != null && value>0) if (attribute != null && value > 0)
{ {
dic.Add(value, attribute.Description); dic.Add(value, attribute.Description);
} }
@@ -146,7 +146,7 @@ namespace BarrageGrab
this.label3.Text = $"房间缓存列表({AppRuntime.RoomCaches.RoomInfoCache.Count})"; this.label3.Text = $"房间缓存列表({AppRuntime.RoomCaches.RoomInfoCache.Count})";
list_roomCaches.Items.Add(item); list_roomCaches.Items.Add(item);
} }
})); }));
} }
private void FormView_Load(object sender, EventArgs e) private void FormView_Load(object sender, EventArgs e)
@@ -165,7 +165,7 @@ namespace BarrageGrab
this.Invoke(new Action(() => this.Invoke(new Action(() =>
{ {
this.cbx_enableProxy.Checked = e.Open; this.cbx_enableProxy.Checked = e.Open;
})); }));
} }
private void WssService_OnPrint(object sender, WsBarrageServer.PrintEventArgs e) private void WssService_OnPrint(object sender, WsBarrageServer.PrintEventArgs e)
@@ -187,7 +187,7 @@ namespace BarrageGrab
this.rich_output.Clear(); this.rich_output.Clear();
printCount = 0; printCount = 0;
} }
})); }));
} }
private void cbx_enableProxy_CheckedChanged(object sender, EventArgs e) private void cbx_enableProxy_CheckedChanged(object sender, EventArgs e)
@@ -209,7 +209,7 @@ namespace BarrageGrab
var selectedItem = list_roomCaches.SelectedItem as RoomCacheItem; var selectedItem = list_roomCaches.SelectedItem as RoomCacheItem;
if (selectedItem == null) return; if (selectedItem == null) return;
var form = new RoomDetail(selectedItem.RoomInfo); var form = new RoomDetail(selectedItem.RoomInfo);
form.ShowDialog(); form.ShowDialog();
} }
@@ -225,8 +225,8 @@ namespace BarrageGrab
catch (Exception ex) catch (Exception ex)
{ {
//弹窗提示错误 //弹窗提示错误
MessageBox.Show(ex.Message,"设置失败"); MessageBox.Show(ex.Message, "设置失败");
} }
} }
private void cbx_barrageLog_CheckedChanged(object sender, EventArgs e) private void cbx_barrageLog_CheckedChanged(object sender, EventArgs e)
@@ -235,5 +235,5 @@ namespace BarrageGrab
AppSetting.Current.BarrageLog = checker.Checked; AppSetting.Current.BarrageLog = checker.Checked;
AppSetting.Current.Save(); AppSetting.Current.Save();
} }
} }
} }
+3 -3
View File
@@ -1,9 +1,9 @@
using BarrageGrab.Modles; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using BarrageGrab.Modles;
namespace BarrageGrab.Forms.Models namespace BarrageGrab.Forms.Models
{ {
@@ -21,7 +21,7 @@ namespace BarrageGrab.Forms.Models
public override string ToString() public override string ToString()
{ {
if (RoomInfo == null) return "NULL"; if (RoomInfo == null) return "NULL";
return $"({RoomInfo.WebRoomId}){RoomInfo?.Owner?.Nickname??"-1"}"; return $"({RoomInfo.WebRoomId}){RoomInfo?.Owner?.Nickname ?? "-1"}";
} }
} }
} }
+3 -3
View File
@@ -1,5 +1,4 @@
using BarrageGrab.Modles; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.ComponentModel; using System.ComponentModel;
using System.Data; using System.Data;
@@ -8,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Windows.Forms; using System.Windows.Forms;
using BarrageGrab.Modles;
using Newtonsoft.Json; using Newtonsoft.Json;
namespace BarrageGrab.Forms namespace BarrageGrab.Forms
@@ -18,7 +18,7 @@ namespace BarrageGrab.Forms
{ {
InitializeComponent(); InitializeComponent();
//小驼峰 //小驼峰
var json = JsonConvert.SerializeObject(info,Formatting.Indented,new JsonSerializerSettings() var json = JsonConvert.SerializeObject(info, Formatting.Indented, new JsonSerializerSettings()
{ {
ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver() ContractResolver = new Newtonsoft.Json.Serialization.CamelCasePropertyNamesContractResolver()
}); });
+12 -12
View File
@@ -1,12 +1,12 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.IO;
using Jint; using Jint;
using Newtonsoft.Json;
using Jint.Native; using Jint.Native;
using Newtonsoft.Json;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -83,7 +83,7 @@ namespace BarrageGrab
Engine eng; Engine eng;
public JsEncoder(Engine eng) public JsEncoder(Engine eng)
{ {
this.eng = eng; this.eng = eng;
} }
private JsValue ByteConvert(byte[] buff) private JsValue ByteConvert(byte[] buff)
@@ -165,14 +165,14 @@ namespace BarrageGrab
return eng.Invoke("byteToUint8Array", buff); return eng.Invoke("byteToUint8Array", buff);
} }
public JsValue toNumber(byte[] buff,int startIndex = 0) public JsValue toNumber(byte[] buff, int startIndex = 0)
{ {
return BitConverter.ToDouble(buff, startIndex); return BitConverter.ToDouble(buff, startIndex);
} }
public bool toBoolean(byte[] buff, int startIndex = 0) public bool toBoolean(byte[] buff, int startIndex = 0)
{ {
return BitConverter.ToBoolean(buff, startIndex); return BitConverter.ToBoolean(buff, startIndex);
} }
public string toString(byte[] buff, int startIndex = 0) public string toString(byte[] buff, int startIndex = 0)
@@ -182,7 +182,7 @@ namespace BarrageGrab
public string toString(byte[] buff, int startIndex, int length) public string toString(byte[] buff, int startIndex, int length)
{ {
return BitConverter.ToString(buff, startIndex, length); return BitConverter.ToString(buff, startIndex, length);
} }
public JsValue getBytes(JsValue value) public JsValue getBytes(JsValue value)
@@ -190,21 +190,21 @@ namespace BarrageGrab
byte[] buff = new byte[0]; byte[] buff = new byte[0];
switch (value.Type) switch (value.Type)
{ {
case Jint.Runtime.Types.Empty: case Jint.Runtime.Types.Empty:
case Jint.Runtime.Types.Undefined: case Jint.Runtime.Types.Undefined:
case Jint.Runtime.Types.Null: case Jint.Runtime.Types.Null:
break; break;
case Jint.Runtime.Types.Boolean: case Jint.Runtime.Types.Boolean:
buff = BitConverter.GetBytes(value.AsBoolean()); buff = BitConverter.GetBytes(value.AsBoolean());
break; break;
case Jint.Runtime.Types.Number: case Jint.Runtime.Types.Number:
buff = BitConverter.GetBytes(value.AsNumber()); buff = BitConverter.GetBytes(value.AsNumber());
break; break;
case Jint.Runtime.Types.BigInt: case Jint.Runtime.Types.BigInt:
buff = BitConverter.GetBytes((long)value.AsNumber()); buff = BitConverter.GetBytes((long)value.AsNumber());
break; break;
default: default:
throw new Exception($"不支持该类型转换:" + value.Type); throw new Exception($"不支持该类型转换:" + value.Type);
} }
return ByteConvert(buff); return ByteConvert(buff);
+7 -7
View File
@@ -1,18 +1,18 @@
using HtmlAgilityPack; using System;
using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.IO; using System.IO;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices;
using System.Runtime.InteropServices.ComTypes;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Runtime.InteropServices; using HtmlAgilityPack;
using IWshRuntimeLibrary; using IWshRuntimeLibrary;
using File = System.IO.File;
using Microsoft.Win32; using Microsoft.Win32;
using System.Diagnostics;
using Newtonsoft.Json; using Newtonsoft.Json;
using System.Runtime.InteropServices.ComTypes; using File = System.IO.File;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -219,7 +219,7 @@ namespace BarrageGrab
Logger.LogInfo($"直播伴侣文件改动检测点1已拦截"); Logger.LogInfo($"直播伴侣文件改动检测点1已拦截");
} }
checkReg = new Regex(@"if\(\(0,\w.integrityCheckReport\)\(\w\),!\w\.ok\)"); checkReg = new Regex(@"if\(\(0,\w.integrityCheckReport\)\(\w\),!\w\.ok\)");
if (checkReg.IsMatch(content)) if (checkReg.IsMatch(content))
{ {
+3 -3
View File
@@ -1,11 +1,11 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using NLog;
using BarrageGrab.Modles.JsonEntity; using BarrageGrab.Modles.JsonEntity;
using System.IO; using NLog;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -83,7 +83,7 @@ namespace BarrageGrab
{ {
var dir = Path.Combine(AppContext.BaseDirectory, "logs", "弹幕日志"); var dir = Path.Combine(AppContext.BaseDirectory, "logs", "弹幕日志");
var room = AppRuntime.RoomCaches.GetCachedWebRoomInfo(msg.RoomId.ToString()); var room = AppRuntime.RoomCaches.GetCachedWebRoomInfo(msg.RoomId.ToString());
if(room == null) return; if (room == null) return;
var date = DateTime.Now.ToString("yyyy年MM月dd日直播"); var date = DateTime.Now.ToString("yyyy年MM月dd日直播");
var nickName = SafePathString(room?.Owner?.Nickname ?? "-1"); var nickName = SafePathString(room?.Owner?.Nickname ?? "-1");
dir = Path.Combine(dir, $"({room.WebRoomId}){nickName}", date, "场次" + msg.RoomId.ToString()); dir = Path.Combine(dir, $"({room.WebRoomId}){nickName}", date, "场次" + msg.RoomId.ToString());
+1 -1
View File
@@ -31,7 +31,7 @@ namespace BarrageGrab.Modles
this.Code = -1; this.Code = -1;
} }
public BusinessExecption(string msg,object data) : base(msg) public BusinessExecption(string msg, object data) : base(msg)
{ {
this.ErrorTarget = data; this.ErrorTarget = data;
} }
@@ -8,8 +8,8 @@ namespace BarrageGrab.Modles.JsonEntity
public enum PackMsgType public enum PackMsgType
{ {
[Description("无")] [Description("无")]
无 = 0, 无 = 0,
[Description("消息")] [Description("消息")]
弹幕消息 = 1, 弹幕消息 = 1,
[Description("点赞")] [Description("点赞")]
点赞消息 = 2, 点赞消息 = 2,
@@ -71,8 +71,8 @@ namespace BarrageGrab.Modles.JsonEntity
/// <summary> /// <summary>
/// 消息类型 /// 消息类型
/// </summary> /// </summary>
public PackMsgType Type { get; set; } public PackMsgType Type { get; set; }
/// <summary> /// <summary>
/// 进程名 /// 进程名
/// </summary> /// </summary>
@@ -88,7 +88,7 @@ namespace BarrageGrab.Modles.JsonEntity
} }
public BarrageMsgPack(string data, PackMsgType type,string processName) public BarrageMsgPack(string data, PackMsgType type, string processName)
{ {
Data = data; Data = data;
Type = type; Type = type;
@@ -304,8 +304,8 @@ namespace BarrageGrab.Modles.JsonEntity
/// <summary> /// <summary>
/// 抖币价格 /// 抖币价格
/// </summary> /// </summary>
public int DiamondCount { get; set; } public int DiamondCount { get; set; }
/// <summary> /// <summary>
/// 该礼物是否可连击 /// 该礼物是否可连击
/// </summary> /// </summary>
+1 -1
View File
@@ -16,7 +16,7 @@ namespace BarrageGrab.Modles.JsonEntity
/// <summary> /// <summary>
/// 空指令 /// 空指令
/// </summary> /// </summary>
None = 0, None = 0,
/// <summary> /// <summary>
/// 安全关闭程序 /// 安全关闭程序
+3 -3
View File
@@ -4,8 +4,8 @@ using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
namespace BarrageGrab.Modles namespace BarrageGrab.Modles
{ {
@@ -659,7 +659,7 @@ namespace BarrageGrab.Modles
} }
info = dto; info = dto;
return Tuple.Create(0, "succ"); return Tuple.Create(0, "succ");
@@ -710,7 +710,7 @@ namespace BarrageGrab.Modles
SecUid = roomOwner["sec_uid"].ToString(), SecUid = roomOwner["sec_uid"].ToString(),
HeadUrl = roomOwner["avatar_thumb"]["url_list"].Values<string>()?.FirstOrDefault() ?? "", HeadUrl = roomOwner["avatar_thumb"]["url_list"].Values<string>()?.FirstOrDefault() ?? "",
FollowStatus = roomOwner["follow_info"]["follow_status"].Value<int>() FollowStatus = roomOwner["follow_info"]["follow_status"].Value<int>()
}; };
} }
info = dto; info = dto;
+5 -5
View File
@@ -31,13 +31,13 @@ namespace BarrageGrab
/// </summary> /// </summary>
/// <param name="obj"></param> /// <param name="obj"></param>
/// <returns></returns> /// <returns></returns>
public static string ToJson(this object obj,bool format = false) public static string ToJson(this object obj, bool format = false)
{ {
if (obj is string) if (obj is string)
{ {
return obj.ToString(); return obj.ToString();
} }
return JsonConvert.SerializeObject(obj, format?Formatting.Indented:Formatting.None); return JsonConvert.SerializeObject(obj, format ? Formatting.Indented : Formatting.None);
} }
/// <summary> /// <summary>
@@ -136,7 +136,7 @@ namespace BarrageGrab
} }
return cookies; return cookies;
} }
/// <summary> /// <summary>
/// 追加另一个字典 /// 追加另一个字典
/// </summary> /// </summary>
@@ -159,11 +159,11 @@ namespace BarrageGrab
else else
{ {
res.Add(item.Key, item.Value); res.Add(item.Key, item.Value);
} }
} }
return res; return res;
} }
/// <summary> /// <summary>
/// 转换为Cookie对象列表 /// 转换为Cookie对象列表
+6 -6
View File
@@ -1,14 +1,14 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO;
using System.Linq; using System.Linq;
using System.Net.Sockets;
using System.Net; using System.Net;
using System.Net.Sockets;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Threading; using System.Threading;
using System.IO;
using Jint.Runtime;
using System.Windows.Forms; using System.Windows.Forms;
using Jint.Runtime;
namespace BarrageGrab namespace BarrageGrab
{ {
@@ -37,18 +37,18 @@ namespace BarrageGrab
catch (Exception ex) catch (Exception ex)
{ {
Logger.LogError(ex, $"程序初始化错误,{ex.Message}"); Logger.LogError(ex, $"程序初始化错误,{ex.Message}");
MessageBox.Show(ex.Message, "程序初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error); MessageBox.Show(ex.Message, "程序初始化错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
exited = true; exited = true;
} }
while (!exited) while (!exited)
{ {
Thread.Sleep(500); Thread.Sleep(500);
} }
if (!AppRuntime.WsServer.IsDisposed) if (!AppRuntime.WsServer.IsDisposed)
{ {
AppRuntime.WsServer.Dispose(); AppRuntime.WsServer.Dispose();
} }
Logger.PrintColor("服务器已关闭..."); Logger.PrintColor("服务器已关闭...");
+2 -2
View File
@@ -1,5 +1,5 @@
using System.Resources; using System.Reflection;
using System.Reflection; using System.Resources;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
+2 -2
View File
@@ -1,6 +1,6 @@
using System; using System;
using System.Reflection;
using System.Collections.Generic; using System.Collections.Generic;
using System.Reflection;
using BarrageGrab.Proxy.ProxyEventArgs; using BarrageGrab.Proxy.ProxyEventArgs;
namespace BarrageGrab.Proxy namespace BarrageGrab.Proxy
@@ -42,5 +42,5 @@ namespace BarrageGrab.Proxy
/// 开始监听 /// 开始监听
/// </summary> /// </summary>
void Start(); void Start();
} }
} }
@@ -30,7 +30,7 @@ namespace BarrageGrab.Proxy.ProxyEventArgs
/// <summary> /// <summary>
/// 域名 /// 域名
/// </summary> /// </summary>
public string HostName { get; set; } public string HostName { get; set; }
/// <summary> /// <summary>
/// 有效载荷 /// 有效载荷
@@ -6,11 +6,11 @@ using System.Threading.Tasks;
namespace BarrageGrab.Proxy.ProxyEventArgs namespace BarrageGrab.Proxy.ProxyEventArgs
{ {
public class SystemProxyChangeEventArgs:EventArgs public class SystemProxyChangeEventArgs : EventArgs
{ {
/// <summary> /// <summary>
/// True 以开启:False: 已关闭 /// True 以开启:False: 已关闭
/// </summary> /// </summary>
public bool Open { get; set; } public bool Open { get; set; }
} }
} }
+6 -6
View File
@@ -1,14 +1,14 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics;
using System.Linq; using System.Linq;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography; using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using Microsoft.Win32;
using System.Diagnostics;
using BarrageGrab.Proxy.ProxyEventArgs; using BarrageGrab.Proxy.ProxyEventArgs;
using Microsoft.Win32;
namespace BarrageGrab.Proxy namespace BarrageGrab.Proxy
{ {
@@ -42,7 +42,7 @@ namespace BarrageGrab.Proxy
public abstract void Start(); public abstract void Start();
public abstract void SetUpstreamProxy(string addr); public abstract void SetUpstreamProxy(string addr);
//https://live.douyin.com/webcast/gift/list/ [礼物数据接口] //https://live.douyin.com/webcast/gift/list/ [礼物数据接口]
@@ -109,7 +109,7 @@ namespace BarrageGrab.Proxy
RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true); RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
registry.SetValue("ProxyEnable", 1); registry.SetValue("ProxyEnable", 1);
registry.SetValue("ProxyServer", $"127.0.0.1:{ProxyPort}"); registry.SetValue("ProxyServer", $"127.0.0.1:{ProxyPort}");
OnProxyStatus?.Invoke(this, new SystemProxyChangeEventArgs() OnProxyStatus?.Invoke(this, new SystemProxyChangeEventArgs()
{ {
Open = true Open = true
@@ -128,7 +128,7 @@ namespace BarrageGrab.Proxy
{ {
Open = false Open = false
}); });
} }
public static bool ProxyIsOpen() public static bool ProxyIsOpen()
{ {
+18 -17
View File
@@ -1,31 +1,31 @@
using System; using System;
using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.IO.Compression;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Http;
using System.Net.Security; using System.Net.Security;
using System.Security.Cryptography;
using System.Security.Cryptography.X509Certificates;
using System.Security.Policy;
using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using BarrageGrab.Modles; using BarrageGrab.Modles;
using BarrageGrab.Modles.JsonEntity; using BarrageGrab.Modles.JsonEntity;
using BarrageGrab.Proxy.ProxyEventArgs; using BarrageGrab.Proxy.ProxyEventArgs;
using Newtonsoft.Json.Linq; using BrotliSharpLib;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using NLog.LayoutRenderers;
using Titanium.Web.Proxy; using Titanium.Web.Proxy;
using Titanium.Web.Proxy.EventArguments; using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Http; using Titanium.Web.Proxy.Http;
using Titanium.Web.Proxy.Models; using Titanium.Web.Proxy.Models;
using Titanium.Web.Proxy.StreamExtended.Network; using Titanium.Web.Proxy.StreamExtended.Network;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;
using HtmlDocument = HtmlAgilityPack.HtmlDocument; using HtmlDocument = HtmlAgilityPack.HtmlDocument;
using System.Net.Http;
using System.Text;
using BrotliSharpLib;
using System.IO.Compression;
using System.Collections.Concurrent;
using System.Security.Policy;
using NLog.LayoutRenderers;
namespace BarrageGrab.Proxy namespace BarrageGrab.Proxy
{ {
@@ -37,7 +37,7 @@ namespace BarrageGrab.Proxy
List<string> rinfoRequestings = new List<string>(); List<string> rinfoRequestings = new List<string>();
const string SCRIPT_HOST = "lf-cdn-tos.bytescm.com"; const string SCRIPT_HOST = "lf-cdn-tos.bytescm.com";
const string LIVE_HOST = "live.douyin.com"; const string LIVE_HOST = "live.douyin.com";
const string DOUYIN_HOST = "www.douyin.com"; const string DOUYIN_HOST = "www.douyin.com";
const string USER_INFO_PATH = "/webcast/user/me/"; const string USER_INFO_PATH = "/webcast/user/me/";
const string BARRAGE_POOL_PATH = "/webcast/im/fetch"; const string BARRAGE_POOL_PATH = "/webcast/im/fetch";
@@ -90,17 +90,18 @@ namespace BarrageGrab.Proxy
proxyServer.CertificateManager.CertificateValidDays = 365 * 10; proxyServer.CertificateManager.CertificateValidDays = 365 * 10;
proxyServer.CertificateManager.SaveFakeCertificates = true; proxyServer.CertificateManager.SaveFakeCertificates = true;
proxyServer.CertificateManager.CertificateEngine = Titanium.Web.Proxy.Network.CertificateEngine.DefaultWindows;
proxyServer.CertificateManager.OverwritePfxFile = false;
proxyServer.CertificateManager.RootCertificate = GetCert(); proxyServer.CertificateManager.RootCertificate = GetCert();
if (proxyServer.CertificateManager.RootCertificate == null) if (proxyServer.CertificateManager.RootCertificate == null)
{ {
Logger.PrintColor("正在进行证书安装,需要信任该证书才可进行https解密,若有提示请确定"); Logger.PrintColor("正在进行证书安装,需要信任该证书才可进行https解密,若有提示请确定");
proxyServer.CertificateManager.CreateRootCertificate(); proxyServer.CertificateManager.CreateRootCertificate();
} }
//信任证书
proxyServer.CertificateManager.CreateRootCertificate();
proxyServer.CertificateManager.TrustRootCertificate(true); proxyServer.CertificateManager.TrustRootCertificate(true);
//https://github.com/justcoding121/titanium-web-proxy/issues/828
proxyServer.ServerCertificateValidationCallback += ProxyServer_ServerCertificateValidationCallback; proxyServer.ServerCertificateValidationCallback += ProxyServer_ServerCertificateValidationCallback;
//proxyServer.BeforeRequest += ProxyServer_BeforeRequest; //proxyServer.BeforeRequest += ProxyServer_BeforeRequest;
proxyServer.BeforeResponse += ProxyServer_BeforeResponse; proxyServer.BeforeResponse += ProxyServer_BeforeResponse;
@@ -628,12 +629,12 @@ namespace BarrageGrab.Proxy
WEBCAST_AMEMV_HOST , //直播伴侣开播请求地址 WEBCAST_AMEMV_HOST , //直播伴侣开播请求地址
"*-webcast-platform.bytetos.com", //新的脚本地址 "*-webcast-platform.bytetos.com", //新的脚本地址
"*webcast*" //所有带webcast的域名 "*webcast*" //所有带webcast的域名
}; };
if (decryptSsls.Contains(hostname)) if (decryptSsls.Contains(hostname))
{ {
return true; return true;
} }
if (hostname.WildcardMatchAny(decryptSsls)) if (hostname.WildcardMatchAny(decryptSsls))
{ {
@@ -654,7 +655,7 @@ namespace BarrageGrab.Proxy
var processid = args.HttpClient.ProcessId.Value; var processid = args.HttpClient.ProcessId.Value;
List<byte> messageData = new List<byte>(); List<byte> messageData = new List<byte>();
try try
{ {
foreach (var frame in args.WebSocketDecoderReceive.Decode(e.Buffer, e.Offset, e.Count)) foreach (var frame in args.WebSocketDecoderReceive.Decode(e.Buffer, e.Offset, e.Count))
+12 -12
View File
@@ -1,23 +1,23 @@
using System; using System;
using System.Collections.Concurrent;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.Dynamic;
using System.IO;
using System.IO.Compression;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Net.Http;
using System.Net.WebSockets; using System.Net.WebSockets;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Timers; using System.Timers;
using Fleck;
using Newtonsoft.Json;
using BarrageGrab.Modles; using BarrageGrab.Modles;
using Newtonsoft.Json.Linq;
using System.Net.Http;
using System.IO.Compression;
using System.IO;
using BarrageGrab.Modles.JsonEntity; using BarrageGrab.Modles.JsonEntity;
using BarrageGrab.Modles.ProtoEntity; using BarrageGrab.Modles.ProtoEntity;
using System.Drawing; using Fleck;
using System.Collections.Concurrent; using Newtonsoft.Json;
using System.Dynamic; using Newtonsoft.Json.Linq;
using static BarrageGrab.Modles.ProtoEntity.Image; using static BarrageGrab.Modles.ProtoEntity.Image;
using static BarrageGrab.Modles.WebCastGift; using static BarrageGrab.Modles.WebCastGift;
@@ -220,10 +220,10 @@ namespace BarrageGrab
if (isAdmin) if (isAdmin)
{ {
text+= " [管理员]"; text += " [管理员]";
} }
if(isAnchor) if (isAnchor)
{ {
text += " [主播]"; text += " [主播]";
} }
@@ -286,7 +286,7 @@ namespace BarrageGrab
{ {
if (msg == null) return; if (msg == null) return;
var roomInfo = AppRuntime.RoomCaches.GetCachedWebRoomInfo(msg.RoomId.ToString()); var roomInfo = AppRuntime.RoomCaches.GetCachedWebRoomInfo(msg.RoomId.ToString());
if (roomInfo != null && roomInfo.Owner!=null) if (roomInfo != null && roomInfo.Owner != null)
{ {
msg.Onwer = new RoomAnchorInfo() msg.Onwer = new RoomAnchorInfo()
{ {
+2 -2
View File
@@ -5,10 +5,10 @@ using System.IO.Compression;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using ProtoBuf; using BarrageGrab.Modles.ProtoEntity;
using BarrageGrab.Proxy; using BarrageGrab.Proxy;
using BarrageGrab.Proxy.ProxyEventArgs; using BarrageGrab.Proxy.ProxyEventArgs;
using BarrageGrab.Modles.ProtoEntity; using ProtoBuf;
namespace BarrageGrab namespace BarrageGrab
{ {
+1 -4
View File
@@ -70,9 +70,6 @@
<Reference Include="BouncyCastle.Crypto, Version=1.8.8.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL"> <Reference Include="BouncyCastle.Crypto, Version=1.8.8.0, Culture=neutral, PublicKeyToken=0e99375e54769942, processorArchitecture=MSIL">
<HintPath>..\packages\Portable.BouncyCastle.1.8.8\lib\net40\BouncyCastle.Crypto.dll</HintPath> <HintPath>..\packages\Portable.BouncyCastle.1.8.8\lib\net40\BouncyCastle.Crypto.dll</HintPath>
</Reference> </Reference>
<Reference Include="BouncyCastle.Cryptography, Version=2.0.0.0, Culture=neutral, PublicKeyToken=072edcf4a5328938, processorArchitecture=MSIL">
<HintPath>..\packages\BouncyCastle.Cryptography.2.0.0\lib\net461\BouncyCastle.Cryptography.dll</HintPath>
</Reference>
<Reference Include="BrotliSharpLib, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3f4e2a1cd615fcb7, processorArchitecture=MSIL"> <Reference Include="BrotliSharpLib, Version=0.3.2.0, Culture=neutral, PublicKeyToken=3f4e2a1cd615fcb7, processorArchitecture=MSIL">
<HintPath>..\packages\BrotliSharpLib.0.3.3\lib\net451\BrotliSharpLib.dll</HintPath> <HintPath>..\packages\BrotliSharpLib.0.3.3\lib\net451\BrotliSharpLib.dll</HintPath>
</Reference> </Reference>
@@ -206,11 +203,11 @@
</Reference> </Reference>
<Reference Include="System.Web.Extensions" /> <Reference Include="System.Web.Extensions" />
<Reference Include="System.Windows.Forms" /> <Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" /> <Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" /> <Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" /> <Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" /> <Reference Include="System.Data" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"> <Reference Include="System.Xml.ReaderWriter, Version=4.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath> <HintPath>..\packages\System.Xml.ReaderWriter.4.3.0\lib\net46\System.Xml.ReaderWriter.dll</HintPath>
</Reference> </Reference>