Skip to content

Commit 43c4894

Browse files
committed
v3.6 143.2022.0616.1
fix:修复转存失败问题 fix:优化发包速度,减少被ban几率
1 parent ac29741 commit 43c4894

File tree

3 files changed

+65
-58
lines changed

3 files changed

+65
-58
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/publish

115转存助手ui优化版.js renamed to 115转存助手ui优化版.user.js

Lines changed: 47 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// ==UserScript==
22
// @name 115转存助手ui优化版
33
// @name:zh 115转存助手ui优化版
4-
// @description 2022.04.02 更新,115转存助手ui优化版 v3.5 (143.2022.0402.1)(based on Fake115Upload 1.4.3 @T3rry)
4+
// @description 2022.06.16 更新,115转存助手ui优化版 v3.6 (143.2022.0616.1)(based on Fake115Upload 1.4.3 @T3rry)
55
// @author Never4Ever
66
// @namespace Fake115Upload@Never4Ever
7-
// @version 143.2022.0402.1
7+
// @version 143.2022.0616.1
88
// @match https://115.com/*
99
// @exclude https://115.com/s/*
1010

@@ -31,7 +31,7 @@
3131

3232
/*********************************************
3333
请从以下获取最新版,或者遇到问题去此反馈,感谢
34-
https://gist.github.com/Nerver4Ever/953447c9ecd330ffc0861d4cbb839369
34+
https://github.com/Nerver4Ever/SevenSha1UIAdvancedHelper
3535
**********************************************/
3636

3737
/*针对网络问题,只能将不稳定的依赖库放置于此*/
@@ -729,19 +729,6 @@ https://gist.github.com/Nerver4Ever/953447c9ecd330ffc0861d4cbb839369
729729
})(this);
730730

731731

732-
/*GM_config_zh-CN.js*/
733-
734-
// ==UserScript==
735-
// @name GM_config_zh-CN
736-
// @author Mike Medley & zxf10608
737-
// @version 1.3.7
738-
// @description GM_config_中文版
739-
// @grant GM_getValue
740-
// @grant GM_setValue
741-
// @grant GM_deleteValue
742-
// @exclude *
743-
// @license LGPL 3
744-
// ==/UserScript==
745732

746733
/*
747734
优化说明
@@ -1797,16 +1784,16 @@ function waitForKeyElements(
17971784

17981785
//版本信息
17991786
const TIPS = {
1800-
CurrentVersion: "143.2022.0402.1",
1801-
LastUpdateDate: "2022.04.02",
1802-
VersionTips: "115转存助手ui优化版 v3.5",
1803-
UpdateUrl: "https://gist.github.com/Nerver4Ever/953447c9ecd330ffc0861d4cbb839369",
1787+
CurrentVersion: "143.2022.0616.1",
1788+
LastUpdateDate: "2022.06.16",
1789+
VersionTips: "115转存助手ui优化版 v3.6",
1790+
UpdateUrl: "https://github.com/Nerver4Ever/SevenSha1UIAdvancedHelper",
18041791
Sha1FileInputDetails: "",
18051792
};
18061793

18071794
const WORKSETTINGS = {
1808-
WorkingItemsNumber: 4, //同时执行任务数
1809-
SleepLittleTime: 500, //短暂休眠,毫秒,暂时在转存中使用
1795+
WorkingItemsNumber: 3, //同时执行任务数
1796+
SleepLittleTime: 1000, //短暂休眠,毫秒,暂时在转存中使用
18101797
SleepMoreTime: 1000, //长时休眠,毫秒,暂时在提取中使用
18111798
SleepMuchMoreTime: 8000, //超长休眠,暂时未使用
18121799
ANumber: 27, //随机数,暂时未使用
@@ -1995,40 +1982,40 @@ function waitForKeyElements(
19951982
default: true,
19961983
},
19971984
separator: {
1998-
label: '分隔符方案(推荐生僻字;如果分隔符失效,请自行修改):',
1985+
label: '分隔符方案(使用生僻字,勿用标点;如果分隔符失效,请自行修改):',
19991986
type: 'text',
2000-
default: ''
1987+
default: ''
20011988
},
20021989
uploadNumber: {
20031990
//section: ['时间参数设置', '注意:参数设置过快,会引起115服务器无响应,为稳定运行参数未启用!'],
20041991
//label: '转存同时工作任务数:',
20051992
labelPos: 'left',
20061993
type: 'hidden',
2007-
default: '4',
1994+
default: '3',
20081995
},
20091996
uploadSleepTime: {
20101997
//label: '转存间隔时间(毫秒):',
20111998
labelPos: 'left',
20121999
type: 'hidden',
2013-
default: '500',
2000+
default: '1000',
20142001
},
20152002
downloadNumber: {
20162003
//label: '提取同时工作任务数:',
20172004
labelPos: 'left',
20182005
type: 'hidden',
2019-
default: '4',
2006+
default: '3',
20202007
},
20212008
downloadSleepTime: {
20222009
//label: '提取间隔时间(毫秒):',
20232010
labelPos: 'left',
20242011
type: 'hidden',
2025-
default: '1300',
2012+
default: '2000',
20262013
},
20272014
createFolderSleepTime: {
20282015
//label: '目录创建间隔时间(毫秒):',
20292016
labelPos: 'left',
20302017
type: 'hidden',
2031-
default: '300',
2018+
default: '600',
20322019
},
20332020
checkUpdate: {
20342021
//section: ['帮助&更新&反馈', '常见错误以及对本脚本进行更新检查与bug反馈'],
@@ -3312,6 +3299,7 @@ function waitForKeyElements(
33123299
}
33133300
item.extension = "";
33143301
item.formatedName = "";
3302+
item.formatedExtension=""
33153303
succeed = true;
33163304
}
33173305
}
@@ -3324,6 +3312,8 @@ function waitForKeyElements(
33243312

33253313

33263314
function createUploadFile(urlData, postData) {
3315+
console.log("createUploadFile");
3316+
console.log(urlData)
33273317
return new Promise((resolve, reject) => {
33283318
GM_xmlhttpRequest({
33293319
method: 'POST',
@@ -3364,7 +3354,6 @@ function waitForKeyElements(
33643354

33653355
let fCid = `U_1_${targetFolder}`;
33663356
let appVersion = "25.2.0";
3367-
33683357
let urlData = UrlData({
33693358
isp: 0,
33703359
appid: 0,
@@ -3373,7 +3362,8 @@ function waitForKeyElements(
33733362
sig: GetSig(uploadInfo.user_id, fileItem.sha1, fCid, uploadInfo.userkey)
33743363
});
33753364

3376-
3365+
console.log("postData")
3366+
console.log("fileItem.formatedName")
33773367
let postData = PostData({
33783368
preid: fileItem.preid,
33793369
fileid: fileItem.sha1,
@@ -3387,6 +3377,8 @@ function waitForKeyElements(
33873377

33883378
});
33893379

3380+
console.log(postData)
3381+
33903382
const r = createUploadFile(urlData, postData);
33913383

33923384
const x = r.then(t => {
@@ -3513,6 +3505,9 @@ function waitForKeyElements(
35133505

35143506
}
35153507

3508+
function reverseString(str) {
3509+
return str.split("").reverse().join("");
3510+
}
35163511
//解析inline text sha1 links,并根据配置设置分隔符;返回FileArray
35173512
function parseSha1LinksToFileArray(text, nameSeparator, errorCallback) {
35183513
let textLines = text.split(/\r?\n/);
@@ -3523,14 +3518,16 @@ function waitForKeyElements(
35233518
if (!fLine) continue;
35243519
let r = convertFromSha1Link(fLine);
35253520
if (r.state) {
3526-
let nameStrings = r.fileItem.name.split(".");
3527-
let extension = nameStrings.pop();
3528-
r.fileItem.extension = extension;
3521+
//let nameStrings = r.fileItem.name.split(".");
3522+
//let extension = nameStrings.pop();
3523+
//r.fileItem.extension = extension;
3524+
//let formatedExtension=reverseString(extension);
35293525
//根据配置重新设置文件名
35303526
if (nameSeparator) {
35313527
//使用emoutils.js库来分割,带有emoji的文件名
3532-
let fileName = emojiUtils.toArray(nameStrings.join('.')).map(c => c + nameSeparator).join("").slice(0, -1);
3533-
r.fileItem.formatedName = fileName + "." + extension;
3528+
//let fileName = emojiUtils.toArray(nameStrings.join('.')).map(c => c + nameSeparator).join("").slice(0, -1);
3529+
//r.fileItem.formatedName = fileName + "." + formatedExtension;
3530+
r.fileItem.formatedName=emojiUtils.toArray(r.fileItem.name).map(c => c + nameSeparator).join("").slice(0, -1);
35343531
} else {
35353532
r.fileItem.formatedName = r.fileItem.name;
35363533
}
@@ -3619,6 +3616,7 @@ function waitForKeyElements(
36193616
let completed = fileLength - fileArray.length;
36203617
let promisArray = new Array();
36213618
let uploadInfo = await getUploadInfo();
3619+
console.log("uploadInfo")
36223620
let msg;
36233621
for (let file of fileArray) {
36243622
if (getTaskCancelFlag()) {
@@ -3706,9 +3704,15 @@ function waitForKeyElements(
37063704
}
37073705

37083706
let selectedFiles = files.filter(f => f.formatedName.search(separator) != -1 && f.id).map(f => {
3707+
//let lastIndex=f.formatedName.lastIndexOf(".");
3708+
//let name=f.formatedName.substring(0,lastIndex);
3709+
//let ext=f.formatedName.substring(lastIndex+1);
3710+
37093711
let fo = {
37103712
id: f.id,
3711-
name: f.formatedName.split(separator).join("")
3713+
//fix
3714+
//name: name.split(separator).join("")+"."+reverseString(ext)
3715+
name: f.formatedName.split(separator).join("")
37123716
};
37133717
return fo;
37143718
});
@@ -3761,9 +3765,14 @@ function waitForKeyElements(
37613765

37623766

37633767
let selectedFiles = onlineFiles.filter(f => f.name.search(separator) != -1).map(f => {
3768+
//let lastIndex=f.name.lastIndexOf(".");
3769+
//let name=f.name.substring(0,lastIndex);
3770+
//let ext=f.name.substring(lastIndex+1);
3771+
37643772
let fo = {
37653773
id: f.id,
3766-
name: f.name.split(separator).join("")
3774+
//name: name.split(separator).join("")+"."+reverseString(ext)
3775+
name:f.name.split(separator).join("")
37673776
};
37683777
return fo;
37693778
});

README.md

Lines changed: 17 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,27 @@
88
99
---
1010

11+
# 如果想要支持我,可前往论坛悬赏。或前往爱发电请我喝可乐!
12+
13+
**😀👉爱发电地址:[https://afdian.net/@NeRver4Ever/plan](https://afdian.net/@NeRver4Ever/plan "爱发电赞助地址")**
14+
15+
---
16+
17+
1118

1219

1320
### 注意:
1421

1522
* 提取时遇到不能下载的文件获取到sha1链接(本脚本用40个0替换)是暂时有效的,等文件能下载了就会失效
1623
* 转存时未过滤空目录,或者由于转存失败会导致空目录存在
1724
* 使用时,不要最小化浏览器和切换tab页面,即:需要保持操作页面始终可见
18-
* 适用于chrome或者<del>v23版本的</del>(新版已经支持v24)115,以及导入的文件需要为utf-8编码
25+
* 适用于chrome或者`<del>`v23版本的`</del>`(新版已经支持v24)115,以及导入的文件需要为utf-8编码
1926
* 如果转存失败,请检查链接或者在chrome上进行尝试,115pc端偶尔抽风;或者可能与其他脚本冲突,导致显示元素不完整
2027
* 遇到问题,反馈时请描述你使用的【浏览器】,【浏览器版本】,【什么操作】,【链接】,【错误提示】,要不然无法进行错误复现。
2128

2229
### v3.3起 特别注意:
2330

24-
* [!].为保证【转存】时【自动去除分隔符】正确运行,请勿同时多开进行转存操作(包括同时多页面转存,或者跟其他工具同时转存)
31+
* [!].为保证【转存】时【自动去除分隔符】正确运行,请勿同时多开进行转存操作(包括同时多页面转存,或者跟其他工具同时转存);分割符请使用生僻汉字!
2532
* [!].请使用chrome和115pc最新版,以及Tampermonkey最新版!!!!
2633
* [!].请保证你的网络和浏览器能访问代码中的依赖库!!!
2734

@@ -31,14 +38,15 @@
3138
* [ ] 优化去除分隔符功能
3239
* [ ] 卡住或者被115ban时,能够保存下信息,以供稍后继续
3340

34-
3541
### 最近更新日志:
3642

43+
* v3.6 143.2022.0616.1
44+
fix:修复转存失败问题
45+
fix:优化发包速度,减少被ban几率
3746
* v3.5 143.2022.0402.1
3847
fix:因115页面调整和接口改变导致无法保存指定目录,以及出现参数不匹配等问题;
3948
fix:优化“超时”提醒,缓解因“操作超时”提示失败,导致使用者心中的不安感
4049
update:因为1,暂时下线添加任务时,默认指定为当前目录功能
41-
4250
* v3.4 143.2022.0202.1
4351
fix:由于含有/:等字符导致文件夹或者文件不能下载到本地的问题——转存和提取遇到“:”“|”等9个字符会自动替换
4452
fix:不再兼容用“#”作为目录分隔符,即新版目录名称中可以含有“#”
@@ -47,37 +55,31 @@
4755
fix:弹窗时保存的位置可能数据还在获取,再次加长延迟:从200ms变成1000ms
4856
add:新增新设置:【列表模式下:悬浮条显示”获取sha1链接“】与【缩略图模式下:显示”获取sha1链接“】
4957
add:新增获取“脚本与环境信息”,入口在油猴设置处,方便报bug时准确
50-
5158
* v3.3.2 143.2022.0126.1
5259
针对网络问题,只能将不稳定的依赖库置于源代码内
53-
5460
* V3.3.1 143.2022.0122.1
5561
fix:缩略图模式下,如果文件夹设置了封面,”获取sha1链接“按钮会覆盖整个区域。
5662
fix:如果链接里有重复文件,转存后自动去除分隔符,重复的文件只改了一个,另外几个没有去除
5763
fix:缓解“添加任务”弹窗,脚本修改保存位置比115修改快,导致自动修改位置失败的bug
58-
5964
* v3.3 143.2022.0114.1
6065
[*]. 新增懒人操作1:对在线的sha1文本文件(.txt,.json)可进行【尝试转存】,防止浏览器卡住,要求sha1文本文件小于2MB
61-
[*]. 新增懒人操作2:打开【添加链接任务】弹窗时,“保存到”的位置自动定位到当前目录
66+
[*]. 新增懒人操作2:打开【添加链接任务】弹窗时,“保存到”的位置自动定位到当前目录
6267
[*].【转存】时【自动去除分隔符】,已经不需要勾选【强制在保存处新建根目录】,并且速度更快了(即:不自动生成根目录成功,也可以应用自动去除分隔符 )
63-
[*]. 自动创建的根目录,已从时间戳改为人类能看懂的时间
68+
[*]. 自动创建的根目录,已从时间戳改为人类能看懂的时间
6469
[*]. 点击【开始sha1转存】,此前有概率不能关闭【添加链接任务】弹窗,此版本应该改善很多
65-
[*].【转存】与【提取】的操作加了“超时”操作,【提取】另外完善对404文件的处理,对于操作中卡住的情况应该改善很多
70+
[*].【转存】与【提取】的操作加了“超时”操作,【提取】另外完善对404文件的处理,对于操作中卡住的情况应该改善很多
6671
[*]. 用导入的文件名作为自动创建的根目录时,"."变","的行为已经修正
67-
[*]. 提取时如果目录名含有"|",为保证导入的目录结构正确性,会修改"|"为"/"
72+
[*]. 提取时如果目录名含有"|",为保证导入的目录结构正确性,会修改"|"为"/"
6873
[*]. 优化了在创建子目录过程中ui卡住的问题,自测自用没有问题,但不保证
69-
[*]. 其他ui优化,如此前在分享页面出现【链接与sha1转存任务】按钮等做了调整,其他不再一一列举
70-
74+
[*]. 其他ui优化,如此前在分享页面出现【链接与sha1转存任务】按钮等做了调整,其他不再一一列举
7175
* v3.2.1 143.2021.1220.1
7276
v3.2.1替换了cdn.jsdelivr.net的源;否则无法使用正常
73-
7477
* v3.2 143.2021.1211.1
7578
1.新增“获取选中项的sha1”:方便手机上或者多选提取,文件和目录可一起选择,列表模式与缩略图模式下皆可(感谢@qbz95老哥的打赏支持!)
7679
2.优化小文件提取:新版本对于小文件(128KB以下)不进行向服务器发包,如果小文件较多,提取速度会快很多
7780
3.优化出错文件提取:某些文件115服务器无法下载或者返回信息出错,新版本已经优化,提取无限卡住应该已经改善或者解决
7881
4.已经隐藏uiddiv:有老哥提出115截图可能会含有隐藏的uid信息,新版本已经隐藏,可再测试是否有效(感谢@ワーン シアーン老哥测试,以及@Yves Lelouch老哥的解决方案)
7982
5.提示ui的改进
80-
8183
* v3.1 143.2021.1015.1
8284

8385
1. 文件中含有"."已经能正确改名(上一版本会变成",",注意不要用”."作为分隔符)
@@ -87,7 +89,6 @@
8789

8890
* 143.2021.0911.1
8991
09.11修复waitForKeyElements.js的依赖问题 (由于greasyfork上的WaitForKeyElements.js的库被删,导致无法实现正常功能)
90-
9192
* 143.2021.0907.1
9293
1.新增加设置界面,可设置脚本的显示任务与默认参数
9394
2.“sha1转存时,强制在保存处新建根目录” 的默认值,可在设置界面配置
@@ -97,13 +98,10 @@
9798
6.在5中的,添加分隔符,去除分割符,分隔符方案都可以在设置中配置
9899
7.由于115接口的进一步抓紧,时间参数不可配置,并增加了更多提示信息
99100
8.转存过程中以及失败复制到剪贴板的文件名,修改为原来文件名,方便排查
100-
101101
* 143.2021.0822.3
102102
修复由于115上传接口更改导致不显示上传失败的原因
103-
104103
* 143.2021.0822.2
105104
修复转存时无响应:因为自身带有emoji的文件名,再强制分隔时出错
106-
107105
* 143.2021.0822.1
108106
修复ui错位,增加提示等ui优化;
109107
增加:
@@ -142,4 +140,3 @@
142140
* 1.4.3.20210209
143141
优化代码,增加目录
144142
* ......
145-

0 commit comments

Comments
 (0)