From 36fc3dcad7cf64ff74793ed441d40ad073741f9f Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 12 Feb 2023 15:49:52 +0800 Subject: [PATCH 1/3] fix:add latest tag when triggered by release --- .github/workflows/publish-image.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-image.yml b/.github/workflows/publish-image.yml index 114e2b63d..c19834ce6 100644 --- a/.github/workflows/publish-image.yml +++ b/.github/workflows/publish-image.yml @@ -71,7 +71,7 @@ jobs: ghcrTagWithVersion="${{ env.GHC_IMG_NAME }}:$targetVersion" dockerTagWithLatest="" ghcrTagWithLatest="" - if [ "${{ github.event.inputs.autoWithLatestTag }}" == "true" ] ; then + if [ "${{ github.event.inputs.autoWithLatestTag }}" == "true" ] || [ ${{ github.event.release.created_at }} ]; then dockerTagWithLatest="$dockerImage:latest" ghcrTagWithLatest="$ghcrImage:latest" fi From 5d46e686a28a7835952fa6e4384e49941a6e0955 Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 12 Feb 2023 18:24:53 +0800 Subject: [PATCH 2/3] fix:[#228]Try to fix share video error --- CHANGELOG.md | 6 ++++-- Ray.BiliBiliTool.sln | 2 +- common.props | 2 +- .../BiliBiliAgent/Dtos/ShareVideoRequest.cs | 12 ++++++++---- .../BiliBiliAgent/Interfaces/IVideoApi.cs | 3 +-- src/Ray.BiliBiliTool.Agent/BiliCookie.cs | 15 ++++++++++++--- .../Extensions/ServiceCollectionExtension.cs | 2 +- .../DailyTaskAppService.cs | 1 - src/Ray.BiliBiliTool.Console/Program.cs | 9 +++++---- src/Ray.BiliBiliTool.Console/appsettings.json | 7 +------ .../LiveDomainService.cs | 5 +---- .../VideoDomainService.cs | 2 +- .../Cookie/CookieInfo.cs | 5 +---- .../Ray.Serilog.Sinks.Batched/BatchedSink.cs | 5 ++--- 14 files changed, 39 insertions(+), 37 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a87a8201..200990497 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -85,5 +85,7 @@ ## 0.4.2 - Merfe PRs #425 #426 #427 : Enhancement docker things, thx @zclkkk ## 0.4.3 -- Feature #419 : Add a auto shell script for install with docker -- Feature #396 : Publish docker image to GitHub pkg \ No newline at end of file +- Feature #419 : Add a auto shell script for installing with docker +- Feature #396 : Publish docker image to GitHub pkg +## 0.4.4 +- Fix #228 : Try to fix sharing video error \ No newline at end of file diff --git a/Ray.BiliBiliTool.sln b/Ray.BiliBiliTool.sln index ec70453b6..bb7f0f112 100644 --- a/Ray.BiliBiliTool.sln +++ b/Ray.BiliBiliTool.sln @@ -254,7 +254,7 @@ Global {DB227D60-0737-45C2-8CEA-F55FDA711301} = {38736647-2196-417E-8519-C48A012A63D9} {114D45C8-E4BB-47EE-89AC-BD1DC6FA3BAD} = {E9BDDCBE-A57D-4E3B-8252-708088386ADF} {2039BF6A-5EC4-439C-8D2E-77313075843A} = {E9BDDCBE-A57D-4E3B-8252-708088386ADF} - {110D3D21-8E9B-45AB-9667-6DA1DB3862AC} = {120917DC-474C-448B-9EBB-1B3BA3A20B9D} + {110D3D21-8E9B-45AB-9667-6DA1DB3862AC} = {AF21E067-3307-4E7F-8CE8-C695E6B61876} {7188698C-0A9A-43B2-B3E2-5136B14FDE13} = {110D3D21-8E9B-45AB-9667-6DA1DB3862AC} {3388A58D-91CC-4875-A29F-3E6FC3B44BF5} = {98051127-2868-4F5C-9B2C-2150975E05F3} {B6AEDD60-9C06-4391-9171-65EBD5E9D77A} = {98051127-2868-4F5C-9B2C-2150975E05F3} diff --git a/common.props b/common.props index 4afa85094..63714c814 100644 --- a/common.props +++ b/common.props @@ -1,7 +1,7 @@ Ray - 0.4.3 + 0.4.4 $(NoWarn);CS1591;CS0436 diff --git a/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Dtos/ShareVideoRequest.cs b/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Dtos/ShareVideoRequest.cs index ac7dcdd99..1d20539ac 100644 --- a/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Dtos/ShareVideoRequest.cs +++ b/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Dtos/ShareVideoRequest.cs @@ -1,8 +1,4 @@ using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Ray.BiliBiliTool.Agent.BiliBiliAgent.Dtos { @@ -17,5 +13,13 @@ public ShareVideoRequest(long aid, string csrf) public long Aid { get; set; } public string Csrf { get; set; } + + public string Eab_x { get; set; } = "1"; + + public string Ramval { get; set; } = $"{new Random().Next(3, 20)}"; + + public string Source { get; set; } = "web_normal"; + + public string Ga { get; set; } = "1"; } } diff --git a/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IVideoApi.cs b/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IVideoApi.cs index e1c5fc61d..90e3a4161 100644 --- a/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IVideoApi.cs +++ b/src/Ray.BiliBiliTool.Agent/BiliBiliAgent/Interfaces/IVideoApi.cs @@ -16,9 +16,8 @@ public interface IVideoApi : IBiliBiliApi /// 分享视频 /// /// + /// ck中必须要有buvid3,否则几率性-403 /// - [Header("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8")] - [Header("Referer", "https://www.bilibili.com/")] [Header("Origin", "https://www.bilibili.com")] [HttpPost("/x/web-interface/share/add")] Task ShareVideo([FormContent] ShareVideoRequest request); diff --git a/src/Ray.BiliBiliTool.Agent/BiliCookie.cs b/src/Ray.BiliBiliTool.Agent/BiliCookie.cs index a60acaf07..15029f40e 100644 --- a/src/Ray.BiliBiliTool.Agent/BiliCookie.cs +++ b/src/Ray.BiliBiliTool.Agent/BiliCookie.cs @@ -1,11 +1,11 @@ using System; using System.Collections.Generic; using System.ComponentModel; -using System.Net.Http.Headers; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.Abstractions; using Ray.BiliBiliTool.Config; using Ray.BiliBiliTool.Infrastructure; +using Ray.BiliBiliTool.Infrastructure.Cookie; namespace Ray.BiliBiliTool.Agent { @@ -106,9 +106,18 @@ public override void Check() public override string ToString() { - if (CookieStr.IsNotNullOrEmpty()) return CookieStr; + var re = CookieStr; + if (re.IsNullOrEmpty()) return ""; - return ""; + // https://github.com/RayWangQvQ/BiliBiliToolPro/issues/228 + if (!re.Contains("buvid3")) + { + //buvid3=G5F0F1C0-C1B5-D6E7-4CC0-13C1AAB7C1BC33815infoc; + var random = $"buvid3={Guid.NewGuid().ToString().ToUpper()}infoc; "; + re = random + re; + } + + return re; } private string GetPropertyDescription(string propertyName) diff --git a/src/Ray.BiliBiliTool.Agent/Extensions/ServiceCollectionExtension.cs b/src/Ray.BiliBiliTool.Agent/Extensions/ServiceCollectionExtension.cs index ec9b0d0e5..edd563dcb 100644 --- a/src/Ray.BiliBiliTool.Agent/Extensions/ServiceCollectionExtension.cs +++ b/src/Ray.BiliBiliTool.Agent/Extensions/ServiceCollectionExtension.cs @@ -121,7 +121,7 @@ private static IServiceCollection AddBiliBiliClientApi(this IService httpClientBuilder.ConfigureHttpClient((sp, c) => { var ck = sp.GetRequiredService(); - c.DefaultRequestHeaders.Add("Cookie", ck.CookieStr); + c.DefaultRequestHeaders.Add("Cookie", ck.ToString()); }); return services; diff --git a/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs b/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs index aa92b62c0..34e364966 100644 --- a/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs +++ b/src/Ray.BiliBiliTool.Application/DailyTaskAppService.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Threading; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Ray.BiliBiliTool.Agent.BiliBiliAgent.Dtos; diff --git a/src/Ray.BiliBiliTool.Console/Program.cs b/src/Ray.BiliBiliTool.Console/Program.cs index bb649ddad..78551d65d 100644 --- a/src/Ray.BiliBiliTool.Console/Program.cs +++ b/src/Ray.BiliBiliTool.Console/Program.cs @@ -1,6 +1,5 @@ using System; using System.Collections.Generic; -using System.Linq; using System.Reflection; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; @@ -18,21 +17,23 @@ namespace Ray.BiliBiliTool.Console { public class Program { - public static void Main(string[] args) + public static async Task Main(string[] args) { IHost host = CreateHost(args); try { - host.Run(); + await host.RunAsync(); + return 0; } catch (Exception ex) { Log.Fatal(ex, "Host terminated unexpectedly!"); + return 1; } finally { - Log.CloseAndFlush(); + await Log.CloseAndFlushAsync(); } } diff --git a/src/Ray.BiliBiliTool.Console/appsettings.json b/src/Ray.BiliBiliTool.Console/appsettings.json index 9b1e4c3d6..40401d234 100644 --- a/src/Ray.BiliBiliTool.Console/appsettings.json +++ b/src/Ray.BiliBiliTool.Console/appsettings.json @@ -1,9 +1,4 @@ { - //Cookie集合,取自浏览器,必填 - "BiliBiliCookies": [ //Cookie字符串集合,登录bilibili后F12获取,形如"_uuid=abcd; buvid3=1234; sid=abc123" - "" - ], - "RunTasks": "Daily", //要运行的任务名称[Daily,LiveLottery,UnfollowBatched,VipBigPoint,Test],多个使用&分隔,如“Daily&LiveLottery”,建议使用命令行参数指定 //程序自定义个性化配置 @@ -56,7 +51,7 @@ "RandomSleepMaxMin": 10, //随机睡眠的最大时长(单位为分钟),用于使每天运行时间在范围内相对随机,值域[0,+];配置为0表示不进行休眠 "IntervalSecondsBetweenRequestApi": 20, //两次调用api之间的间隔[0,+](单位为秒)。因为有人担心在几秒内连续调用api会被b站安全机制发现,所以为不放心的朋友添加了间隔秒数配置,两次连续调用Api之间会大于该秒数 "IntervalMethodTypes": "GET,POST", //间隔秒数所针对的HttpMethod,多个用英文逗号隔开,当前有GET和POST两种,可配置如“GET,POST” - "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.55", //请求B站接口时头部传递的User-Agent + "UserAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36 Edg/110.0.1587.41", //请求B站接口时头部传递的User-Agent "WebProxy": "" //代理,user:password@host:port }, diff --git a/src/Ray.BiliBiliTool.DomainService/LiveDomainService.cs b/src/Ray.BiliBiliTool.DomainService/LiveDomainService.cs index 6c7214b3f..345028167 100644 --- a/src/Ray.BiliBiliTool.DomainService/LiveDomainService.cs +++ b/src/Ray.BiliBiliTool.DomainService/LiveDomainService.cs @@ -1,10 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Net; -using System.Text; using System.Threading; -using System.Timers; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Newtonsoft.Json; @@ -16,7 +13,7 @@ using Ray.BiliBiliTool.Config.Options; using Ray.BiliBiliTool.DomainService.Dtos; using Ray.BiliBiliTool.DomainService.Interfaces; -using Ray.BiliBiliTool.Infrastructure; +using Ray.BiliBiliTool.Infrastructure.Cookie; namespace Ray.BiliBiliTool.DomainService { diff --git a/src/Ray.BiliBiliTool.DomainService/VideoDomainService.cs b/src/Ray.BiliBiliTool.DomainService/VideoDomainService.cs index 85a76211e..1af2f370e 100644 --- a/src/Ray.BiliBiliTool.DomainService/VideoDomainService.cs +++ b/src/Ray.BiliBiliTool.DomainService/VideoDomainService.cs @@ -189,7 +189,7 @@ public void WatchVideo(VideoInfoDto videoInfo) /// /// 分享视频 /// - /// 视频aid + /// 视频 public void ShareVideo(VideoInfoDto videoInfo) { var request = new ShareVideoRequest(long.Parse(videoInfo.Aid), _biliBiliCookie.BiliJct); diff --git a/src/Ray.BiliBiliTool.Infrastructure/Cookie/CookieInfo.cs b/src/Ray.BiliBiliTool.Infrastructure/Cookie/CookieInfo.cs index 2abc29a57..e3ce5daa1 100644 --- a/src/Ray.BiliBiliTool.Infrastructure/Cookie/CookieInfo.cs +++ b/src/Ray.BiliBiliTool.Infrastructure/Cookie/CookieInfo.cs @@ -1,11 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; -using System.Net; -using System.Text; -using System.Threading.Tasks; -namespace Ray.BiliBiliTool.Infrastructure +namespace Ray.BiliBiliTool.Infrastructure.Cookie { public class CookieInfo { diff --git a/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.Batched/BatchedSink.cs b/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.Batched/BatchedSink.cs index f0146ef71..9f83862da 100644 --- a/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.Batched/BatchedSink.cs +++ b/src/Ray.Serilog.Sinks/Ray.Serilog.Sinks.Batched/BatchedSink.cs @@ -3,7 +3,6 @@ using System.IO; using System.Linq; using System.Text; -using System.Threading.Tasks; using Serilog.Core; using Serilog.Debugging; using Serilog.Events; @@ -100,7 +99,7 @@ protected virtual void EmitBatch(IEnumerable events, string pushTitle protected abstract PushService PushService { get; } - protected virtual void PushMessage(string message, string title = "BiliBiliTool任务推送") + protected virtual void PushMessage(string message, string title = "Bili推送") { //SelfLog.WriteLine($"Trying to send message: '{message}'."); var result = PushService.PushMessage(message, title); @@ -178,7 +177,7 @@ protected virtual string GetEmoji(LogEvent log) protected virtual string GetPushTitle(LogEvent triggerLogEvent) { - var title = "BiliBiliTool推送"; + var title = "Bili"; var msg = RenderMessage(triggerLogEvent).Replace(Environment.NewLine, ""); var list = msg.Split('·').ToList(); From 7ae8109cc8e737193bece62d6cf9449d00b9286c Mon Sep 17 00:00:00 2001 From: Ray Date: Sun, 12 Feb 2023 18:35:34 +0800 Subject: [PATCH 3/3] feat:Change default docker image from dockerhub to github --- CHANGELOG.md | 3 ++- docker/README.md | 11 +++++++---- docker/install.sh | 12 ++++++------ docker/sample/docker-compose.yml | 2 +- 4 files changed, 16 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 200990497..c46da5bf6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -88,4 +88,5 @@ - Feature #419 : Add a auto shell script for installing with docker - Feature #396 : Publish docker image to GitHub pkg ## 0.4.4 -- Fix #228 : Try to fix sharing video error \ No newline at end of file +- Fix #228 : Try to fix sharing video error +- Feature: Change default docker image from dockerhub to github \ No newline at end of file diff --git a/docker/README.md b/docker/README.md index adef5fc36..3bf6510c0 100644 --- a/docker/README.md +++ b/docker/README.md @@ -88,14 +88,14 @@ docker compose pull && docker compose up -d ``` # 生成并运行容器 -docker pull zai7lou/bilibili_tool_pro +docker pull ghcr.io/raywangqvq/bilibili_tool_pro docker run -d --name="bili" \ -v /bili/Logs:/app/Logs \ -e Ray_DailyTaskConfig__Cron="0 15 * * *" \ -e Ray_LiveLotteryTaskConfig__Cron="0 22 * * *" \ -e Ray_UnfollowBatchedTaskConfig__Cron="0 6 1 * *" \ -e Ray_VipBigPointConfig__Cron="7 1 * * *" \ - zai7lou/bilibili_tool_pro + ghcr.io/raywangqvq/bilibili_tool_pro # 查看实时日志 docker logs -f bili @@ -141,7 +141,10 @@ docker run --rm \ ## 6. 自己构建镜像(非必须) -目前我提供和维护的镜像:`[zai7lou/bilibili_tool_pro](https://hub.docker.com/repository/docker/zai7lou/bilibili_tool_pro)`; +目前我提供和维护的镜像: + +- DockerHub: `[zai7lou/bilibili_tool_pro](https://hub.docker.com/repository/docker/zai7lou/bilibili_tool_pro)` +- GitHub: `[bilibili_tool_pro](https://github.com/RayWangQvQ/BiliBiliToolPro/pkgs/container/bilibili_tool_pro)` 如果有需要(大部分都不需要),可以使用源码自己构建镜像,如下: @@ -159,4 +162,4 @@ docker run --rm \ apt-get 包源用的国内网易的 -如果下载github资源有问题,可以尝试添加或删除代理url`https://ghproxy.com/` +如果下载`github`资源有问题,可以尝试添加或删除代理url`https://ghproxy.com/` diff --git a/docker/install.sh b/docker/install.sh index 3c55d9bcc..6ccc275d1 100644 --- a/docker/install.sh +++ b/docker/install.sh @@ -2,8 +2,8 @@ ### # @Author: Ray zai7lou@outlook.com # @Date: 2023-02-11 23:13:19 - # @LastEditors: Ray zai7lou@outlook.com - # @LastEditTime: 2023-02-12 02:48:22 +# @LastEditors: Ray zai7lou@outlook.com +# @LastEditTime: 2023-02-12 18:30:10 # @FilePath: \BiliBiliToolPro\docker\install.sh # @Description: ### @@ -90,10 +90,10 @@ runContainer() { } || { docker pull zai7lou/bilibili_tool_pro docker run -d --name="bili" \ - -v $base_dir/Logs:/app/Logs \ - -v $base_dir/appsettings.json:/app/appsettings.json \ - -v $base_dir/cookies.json:/app/cookies.json \ - zai7lou/bilibili_tool_pro + -v $base_dir/Logs:/app/Logs \ + -v $base_dir/appsettings.json:/app/appsettings.json \ + -v $base_dir/cookies.json:/app/cookies.json \ + ghcr.io/raywangqvq/bilibili_tool_pro } || { say_err "创建容器失败,请检查" exit 1 diff --git a/docker/sample/docker-compose.yml b/docker/sample/docker-compose.yml index db3f45e14..b2a8d404b 100644 --- a/docker/sample/docker-compose.yml +++ b/docker/sample/docker-compose.yml @@ -1,7 +1,7 @@ version: '3.9' services: bilibili_tool: - image: zai7lou/bilibili_tool_pro + image: ghcr.io/raywangqvq/bilibili_tool_pro container_name: bili restart: unless-stopped tty: true