Compare commits

..

219 Commits

Author SHA1 Message Date
ikun0014
343c86808d Update README.md 2025-07-24 20:56:00 +08:00
ikun0014
6a0e6e926d Merge branch 'main' of https://github.com/ikunshare/Onekey 2025-07-24 20:55:13 +08:00
ikun0014
611edaec04 rm: all 2025-07-24 20:54:36 +08:00
ikun0014
92559710f7 Update README.md 2025-07-24 20:53:28 +08:00
ikun0014
03a661f288 Update README.md 2025-07-11 23:42:12 +08:00
ikun0014
bb160f9f6d Update release.yml 2025-06-08 19:19:58 +08:00
ikun0014
e5d4ad55ee Update release.yml 2025-06-08 19:17:05 +08:00
ikun0014
7968d40491 Update release.yml 2025-06-08 19:13:14 +08:00
ikun0014
cc9778e537 Update release.yml 2025-06-08 19:11:31 +08:00
ikun0014
1f09166b49 Update release.yml 2025-06-08 19:09:01 +08:00
ikun0014
02e139e23e 1.5.1 2025-06-08 19:07:21 +08:00
ikun0014
3e336e0b65 Update __init__.py 2025-06-08 19:07:18 +08:00
ikun0014
a511ec20df Update release.yml 2025-06-08 19:06:48 +08:00
ikun0014
00f81b0263 Update release.yml 2025-06-08 18:55:25 +08:00
ikun0014
63e302b565 1.5.0 2025-06-08 18:51:28 +08:00
ikun0014
7a0924cfea feat: 使用Claude AI重构代码 2025-06-08 18:51:18 +08:00
ikun0014
1072acd698 Update requirements.txt 2025-06-06 23:55:08 +08:00
ikun0014
d0ea16de02 Update requirements.txt 2025-06-06 21:02:01 +08:00
ikun0014
b1146dd9ff Update release.yml 2025-06-06 20:53:22 +08:00
ikun0014
df2f66961e Update README.md 2025-06-06 20:24:17 +08:00
ikun0014
5a9be8004d 1.4.9 2025-06-01 15:29:25 +08:00
ikun0014
33d00b3738 chore: .... 2025-06-01 15:29:18 +08:00
ikun0014
2c88a769a4 1.4.8 2025-05-31 15:09:14 +08:00
ikun0014
5fb2ed26bd 详细一点的日志 2025-05-31 15:09:04 +08:00
ikun0014
1a36dc507c Update README.md 2025-05-04 13:45:09 +08:00
ikun0014
f207604b0e Update release.yml 2025-05-02 12:32:10 +08:00
ikun0014
74a74e5fa3 1.4.7 2025-05-02 12:16:30 +08:00
ikun0014
f7118f0224 日常维护 2025-05-02 12:16:18 +08:00
ikun0014
a475dcb6b8 1.4.6 2025-03-20 22:55:17 +08:00
ikun0014
2ea7c76004 1.4.6 2025-03-20 22:55:11 +08:00
ikun0014
14684cf1b7 fix: ManifestDownload 2025-03-20 22:54:43 +08:00
ikun0014
f560dab35f 1.4.5 2025-03-11 18:05:34 +08:00
ikun0014
8cdd9aa208 fix: SteamTools Import 2025-03-11 18:05:14 +08:00
ikun0014
37f862ba9e 1.4.4 2025-03-07 23:56:55 +08:00
ikun0014
8612fd0c94 VER 1.4.4 2025-03-07 23:56:51 +08:00
ikun0014
7fcbadabdf 1.4.3 2025-03-07 23:56:29 +08:00
ikun0014
6a21200ccc VER 1.4.3 2025-03-07 23:56:27 +08:00
ikun0014
0a384ce114 VER 1.4.3 2025-03-07 23:55:52 +08:00
ikun0014
041f8d6a00 1.4.2 2025-03-05 21:25:37 +08:00
ikun0014
4db910c8da 1.4.3 2025-03-05 21:25:35 +08:00
ikun0014
8bf15eda57 VER 1.4.2 2025-03-05 21:25:24 +08:00
ikun0014
628b92b86d 1.4.1 2025-03-05 16:35:06 +08:00
ikun0014
ee8c2242f2 VER 1.4.1 2025-03-05 16:35:04 +08:00
ikun0014
76340538b8 修复了一些已知问题。 2025-03-05 16:33:35 +08:00
ikun0014
c693220d73 更新 release.yml 2025-03-04 23:54:08 +08:00
ikun0014
324e537c60 fix? 2025-03-01 00:46:48 +08:00
ikun0014
50b9f1b724 1.4.0 2025-03-01 00:23:21 +08:00
ikun0014
7ba02c4e8f fix? 2025-03-01 00:23:10 +08:00
ikun0014
b2dada2018 . 2025-02-28 22:03:34 +08:00
ikun0014
5ca4f26242 1.3.9 2025-02-28 21:57:09 +08:00
ikun0014
da596964da 1.3.9 2025-02-28 21:56:59 +08:00
ikun0014
ed8fa1cd7f 1.3.8 2025-02-28 18:55:49 +08:00
ikun0014
485a9d85e2 1.3.8 2025-02-28 18:55:36 +08:00
ikun0014
41cfa244e3 fix 2025-02-28 18:55:13 +08:00
ikun0014
09a9e48f7e fix 2025-02-27 19:15:20 +08:00
ikun0014
7ef7297119 sth 2025-02-27 19:14:02 +08:00
ikun0014
ad26456d6c 1.3.7 2025-02-27 19:09:34 +08:00
ikun0014
cd18a2f49d 清单库新增+优化 2025-02-27 19:09:20 +08:00
ikun0014
485fca07f1 修复构建 2025-01-26 22:58:28 +08:00
ikun0014
452be816b1 构建修复 2025-01-26 22:39:44 +08:00
ikun0014
2ba17f1bac 1.3.6 2025-01-26 22:32:32 +08:00
ikun0014
17e1fea9cf 常规维护 2025-01-26 22:32:24 +08:00
ikun0014
2fd7a13bcc 1.3.5 2024-11-27 00:07:12 +08:00
ikun0014
4edcfa8c8e 更新 main.py 2024-11-27 00:06:53 +08:00
ikun0014
a0536fb4d6 更新 release.yml 2024-11-25 21:44:30 +08:00
ikun0014
0912841e44 1.3.4 2024-11-25 21:39:59 +08:00
ikun0014
3b39253d0f feat: 更加史山,更加能看 2024-11-25 21:39:37 +08:00
ikun0014
1ddbf5e02f Update issue templates 2024-11-16 22:46:32 +08:00
ikun0014
fd6df047dc 更新 sync.yml 2024-11-11 23:34:34 +08:00
ikun0014
df2fd4a10a 1.3.3 2024-11-11 23:33:08 +08:00
ikun0014
72bb4a7e97 更新 release.yml 2024-11-11 23:33:06 +08:00
ikun0014
6b37034360 feat: 尝试增加Gitee 2024-11-11 23:32:27 +08:00
ikun0014
8ca12ea7b0 version: Update to 1.3.2 2024-11-10 18:31:01 +08:00
ikun0014
b89c38721f 1.3.2 2024-11-10 18:30:33 +08:00
ikun0014
76d3d2caeb rm: CI Build 2024-11-10 18:30:17 +08:00
ikun0014
38462bf6cd chore: 代码优化 && 更换进度条模块 2024-11-10 17:51:25 +08:00
ikun0014
3d028a0e0c 搞错了 2024-10-27 14:38:44 +08:00
ikun0014
acfad07a07 [release]切Python版本 2024-10-27 14:35:52 +08:00
ikun0014
479661a8a3 [release]切换Nuitka版本 2024-10-27 14:30:38 +08:00
ikun0014
a5d100078b [release]build: 更新Python版本 2024-10-27 14:18:44 +08:00
ikun0014
0647419bdf 1.3.1 2024-10-27 14:13:56 +08:00
ikun0014
e9b466f6df [release]version: 1.3.1 2024-10-27 14:13:48 +08:00
ikun0014
7e72bea8a1 fix: 尝试修复ImportError 2024-10-27 14:12:34 +08:00
ikun0014
bb789d8cf7 build: ci 2024-10-19 11:37:50 +08:00
ikun0014
3178303b0a [release]ui: 移除所有Emoji;修改日志格式看起来更Print 2024-10-19 11:34:20 +08:00
ikun0014
738e0eb617 1.3.0 2024-10-19 11:19:29 +08:00
ikun0014
fb0806aea7 [release] 在main分支版本下删除所有Emoji 2024-10-19 11:19:27 +08:00
ikun0014
2a02d07e8d rm: all emoji 2024-10-19 11:18:18 +08:00
ikun0014
df4342957f revert: ui 2024-10-19 11:15:21 +08:00
ikun0014
e2f2120b0c fix: retrying 2024-10-18 21:42:27 +08:00
ikun0014
580cd44247 fix: trying 2024-10-18 21:34:11 +08:00
ikun0014
0e57caefd1 chore: 你CI个集贸 2024-10-18 21:28:04 +08:00
ikun0014
062e58ea57 ui: 为了拖慢各位的时间我加了一个逆天效果 2024-10-18 21:22:21 +08:00
ikun0014
651d9f79b2 1.2.9 2024-10-17 21:32:49 +08:00
ikun0014
8f8aaf81a1 ui: 随便修改一下 2024-10-17 21:32:21 +08:00
ikun0014
e8dd606db4 Merge pull request #45 from muwenyan521/main
feat:优化代码&更清晰的图标
2024-10-13 22:13:23 +08:00
WangXianming
b50183e723 feat:优化代码&更清晰的图标 2024-10-13 21:54:28 +08:00
ikun0014
74c5464bb4 1.2.8 2024-10-13 17:30:18 +08:00
ikun0014
7f087983d3 feat: 对港澳台或境外用户更加友好 2024-10-13 17:30:06 +08:00
ikun0014
9a3668a2f4 Update README.md 2024-10-13 15:55:26 +08:00
ikun0014
15d2d46dda Create FUNDING.yml 2024-10-13 15:54:36 +08:00
ikun0014
c03df383a0 1.2.7 2024-10-13 15:46:21 +08:00
ikun0014
5893e07901 feat: 增加Github CDN 2024-10-13 15:45:44 +08:00
ikun0014
bf6024e4c1 feat: 加多点try防止出事 2024-10-13 15:45:22 +08:00
ikun0014
39d426d806 Merge pull request #43 from muwenyan521/main
chore:改点东西
2024-10-12 20:48:19 +08:00
WangXianming
26fbb82357 Update build.yml 2024-10-12 20:28:29 +08:00
WangXianming
6fc06a681a 1.2.6 2024-10-12 20:19:00 +08:00
WangXianming
600a8679f3 chore:改点东西 2024-10-12 20:06:27 +08:00
WangXianming
3fa925c161 Merge branch 'main' of https://github.com/muwenyan521/Onekey 2024-10-12 19:23:41 +08:00
ikun0014
3642dbde30 chore: 修改一下 2024-10-12 16:31:34 +08:00
ikun0014
cec2d0fedb fix: 再修一次 2024-10-12 16:19:11 +08:00
ikun0014
59bcd7bcdc chore: 再加点料 2024-10-12 15:58:06 +08:00
ikun0014
57f285af37 fix: 这次总能用了吧 2024-10-12 15:57:10 +08:00
ikun0014
afdcc5d51e fix 2024-10-11 21:48:18 +08:00
ikun0014
f8bc9ace69 chore: 让我微调一下() 2024-10-11 21:21:25 +08:00
ikun0014
7135e13fd7 更新 build.yml 2024-10-11 20:12:30 +08:00
ikun0014
b87867088b 1.2.5 2024-10-11 20:05:01 +08:00
ikun0014
fc03979107 chore: 丝滑刷版本号测试 2024-10-11 20:04:42 +08:00
WangXianming
d36678f53c 更新 .gitignore 2024-10-05 17:51:55 +08:00
WangXianming
0418dbb685 Merge branch 'ikunshare:main' into main 2024-10-02 21:46:52 +08:00
WangXianming
0c783b3a7b 更新 .gitignore 2024-10-02 18:34:03 +08:00
dependabot[bot]
eb1501a43a Merge pull request #42 from ikunshare/dependabot/pip/aiohttp-3.10.2 2024-10-01 14:10:32 +00:00
ikun0014
22df5426d8 Merge pull request #41 from muwenyan521/main
feat:尝试解决配置问题&优化代码
2024-10-01 14:02:08 +00:00
dependabot[bot]
ea3b682eb7 build(deps): bump aiohttp from 3.9.5 to 3.10.2
Bumps [aiohttp](https://github.com/aio-libs/aiohttp) from 3.9.5 to 3.10.2.
- [Release notes](https://github.com/aio-libs/aiohttp/releases)
- [Changelog](https://github.com/aio-libs/aiohttp/blob/master/CHANGES.rst)
- [Commits](https://github.com/aio-libs/aiohttp/compare/v3.9.5...v3.10.2)

---
updated-dependencies:
- dependency-name: aiohttp
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-01 13:57:35 +00:00
WangXianming
cf0d508237 内容更新 2024-10-01 21:19:29 +08:00
WangXianming
5886b1e4b5 feat:尝试解决配置问题&优化代码 2024-10-01 11:54:32 +08:00
WangXianming
a1cde89971 1.2.4 2024-09-28 14:20:51 +08:00
WangXianming
697a3769ec feat:优化代码 2024-09-28 14:14:14 +08:00
ikun
b1b7e720c0 test: 未知问题 2024-09-27 18:17:33 +08:00
ikun
0eb0fb3c7e add: dev 2024-09-27 16:20:28 +08:00
ikun
59d5852d11 fix? 2024-09-27 13:34:08 +08:00
ikun
5ac9f8f28a 1.2.3 2024-09-27 13:21:09 +08:00
ikun
b8d76f98da fix: 尝试修复下载速度过慢导致Timeout 2024-09-27 13:20:49 +08:00
ikun
1e5f0b6774 rm: PyPI 2024-09-22 17:18:39 +08:00
ikun
5357ed5fe7 Merge pull request #36 from muwenyan521/main
镜像源
2024-09-22 15:45:13 +08:00
WangXianming
5cd5e89ed7 feat:镜像源 2024-09-22 15:39:35 +08:00
ikun
e34cad1889 fix: 少个参数 2024-09-20 21:35:00 +08:00
ikun
4aa1c22c25 feat: 优化 2024-09-20 20:02:21 +08:00
ikun
8ee7765bb0 Revert 2024-09-19 20:41:47 +08:00
ikun
4bd1362317 Revert "Merge branch 'main' of https://github.com/ikunshare/Onekey"
This reverts commit 5356947022, reversing
changes made to 6a9fed2e39.
2024-09-19 20:40:35 +08:00
ikun
3c0f2ecd6f Update README.md 2024-09-17 15:28:58 +08:00
ikun
7590f3f791 Merge pull request #28 from muwenyan521/main
[WIP] 代码美化与优化
2024-09-17 15:10:58 +08:00
ikun
7adcf004e5 Merge branch 'main' into main 2024-09-17 15:10:50 +08:00
ikun
9ff08d0f91 up: sync 2024-09-17 15:08:53 +08:00
ikun
5356947022 Merge branch 'main' of https://github.com/ikunshare/Onekey 2024-09-17 14:54:08 +08:00
ikun
6a9fed2e39 1.2.2 2024-09-17 14:54:03 +08:00
ikun
8cefcae6a7 feat: 花里胡哨 2024-09-17 14:53:08 +08:00
WangXianming
0a3ee59d45 ReadMe更新 2024-09-16 19:30:43 +08:00
WangXianming
194e6a41d2 Merge pull request #3 from muwenyan521/Manage
版本变更
2024-09-16 18:53:11 +08:00
WangXianming
07079a6d58 版本变更 2024-09-16 18:49:27 +08:00
WangXianming
4ed51987ba Merge pull request #2 from muwenyan521/Manage
进度条美化
2024-09-16 17:37:23 +08:00
WangXianming
28db8b15db 进度条美化 2024-09-16 17:32:14 +08:00
WangXianming
c33b871188 Merge pull request #1 from muwenyan521/Manage
Manage
2024-09-16 17:14:19 +08:00
WangXianming
9bd6cc5a60 代码优化 2024-09-16 17:13:08 +08:00
ikun
87594e0bf0 Update python-publish.yml 2024-09-16 15:13:38 +08:00
WangXianming
6f4dac876f 优化代码 2024-09-16 15:06:13 +08:00
ikun
2073fbdd9a Create python-publish.yml 2024-09-16 14:39:33 +08:00
ikun
a821938f01 fix: requirements 2024-09-16 14:37:49 +08:00
ikun
8bc6095dcf 1.2.1 2024-09-16 13:45:37 +08:00
ikun
b1b0fe9517 feat: 进度条 2024-09-16 13:45:21 +08:00
ikun
5964b5fb4e Update README.md 2024-09-16 10:13:22 +08:00
ikun
aa27e11cd7 Merge branch 'main' of https://github.com/ikunshare/Onekey 2024-09-15 22:22:47 +08:00
ikun
ecc454de61 chore: 代码优化 2024-09-15 22:22:33 +08:00
ikun
1cdb19b3df Update README.md 2024-09-15 19:17:11 +08:00
ikun
53b76aea64 chore: 忘了点东西 2024-09-15 19:14:03 +08:00
ikun
7e3e06ac00 fix: 手滑把依赖删了 2024-09-15 18:50:09 +08:00
ikun
cfe9c5c8d6 Update build.yml 2024-09-15 18:32:25 +08:00
ikun
b8f0b5caf4 Update build.yml 2024-09-15 18:23:49 +08:00
ikun
c866f19967 Update build.yml 2024-09-15 18:10:50 +08:00
ikun
d68a49cdd1 Update build.yml 2024-09-15 17:57:50 +08:00
ikun
3fd5590530 Update build.yml 2024-09-15 17:56:47 +08:00
ikun
213f089c1e Update build.yml 2024-09-15 17:33:53 +08:00
ikun
069ac110e3 Update build.yml 2024-09-15 17:30:15 +08:00
ikun
8296f03f70 Update build.yml 2024-09-15 17:29:22 +08:00
ikun
2041403c87 Update build.yml 2024-09-15 17:23:39 +08:00
ikun
7411c95c05 Update build.yml 2024-09-15 17:20:01 +08:00
ikun
c7251233c3 Update build.yml 2024-09-15 17:18:23 +08:00
ikun
be1ec3e132 Update build.yml 2024-09-15 17:15:44 +08:00
ikun
15f2f655fc ... 2024-09-15 17:11:20 +08:00
ikun
8106624ed4 Update build.yml 2024-09-15 17:06:50 +08:00
ikun
6c76dd374d fix 2024-09-15 17:02:26 +08:00
ikun
3eec80b45f fix: Build 2024-09-15 16:54:05 +08:00
ikun
04c07c5036 再来 2024-09-15 16:49:03 +08:00
ikun
6e6b933e1a ??? 2024-09-15 16:46:35 +08:00
ikun
bd86a05fad 2024-09-15 16:43:41 +08:00
ikun
cedd86740e fix: byd怎么回事 2024-09-15 16:39:04 +08:00
ikun
f92ced9e80 Update build.yml 2024-09-15 16:33:44 +08:00
ikun
d8d0eb1156 rm: pylint 2024-09-15 16:21:50 +08:00
ikun
63391cb048 代码优化 2024-09-15 16:18:21 +08:00
ikun
98ce0c091a feat: Actions自动编译&&代码工整性 2024-09-15 16:10:41 +08:00
ikun
7c75628966 Delete LICENSE.md 2024-09-15 16:06:20 +08:00
ikun
d5b4aded3e Create LICENSE 2024-09-15 16:06:10 +08:00
ikun
63ce0244b0 Update pylint.yml 2024-09-15 15:21:14 +08:00
ikun
ce41fcb908 Create pylint.yml 2024-09-15 15:19:49 +08:00
ikun
f07fc6447e 更新 requirements.txt 2024-09-12 22:47:07 +08:00
ikun
3e89c58348 更新 README.md 2024-09-12 22:46:42 +08:00
ikun
4ced52a87f feat:治疗傻逼的病 2024-09-11 21:39:44 +08:00
ikun
7352f20eb4 fix:尝试修复大部分人遇到的闪退问题 2024-09-07 18:40:13 +08:00
ikun
6ec83c4196 fix:意外 2024-09-05 21:27:36 +08:00
ikun
a7ce46aa52 fix:兼容问题 2024-09-05 20:54:34 +08:00
ikun
b4ea1edb53 chore: 优化代码工整性 2024-09-01 14:00:20 +08:00
ikun
f555f0273d rm: 搜索游戏自动获取App ID 2024-08-29 17:22:04 +08:00
ikun
3ba8b67f0e fix: bug 2024-08-27 09:48:20 +08:00
ikun
73c92e550e feat: 加入搜索游戏名入库功能
Co-Authored-By: Tibbar <49330075+tibbar213@users.noreply.github.com>
2024-08-26 19:06:05 +08:00
ikun
a2fa038324 feat&&fix: bug!bug!bug! 2024-08-22 22:40:50 +08:00
ikun
ea3aedbab3 fix: 史 2024-08-22 21:48:04 +08:00
ikun
51ccc579f4 feat:配置文件修改 2024-08-22 14:10:30 +08:00
ikun
17e654a68e feat:没什么用懒得发Release 2024-08-21 17:27:50 +08:00
ikun
c4f4fb9e92 feat: 增加一个清单库 2024-08-16 15:11:31 +08:00
ikun
e38af1675c fix: 修改QQ群链接 2024-08-15 19:53:41 +08:00
ikun
50194cf7de 更新 main.py 2024-08-14 19:00:27 +08:00
ikun
7063f2f5dc rm: 移除jsdelivr的CDN服务 2024-08-13 10:25:28 +08:00
ikun
2c6b3bebe1 fix: Github API请求数量为0时不返回错误
史中史代码,看不懂与我无关
2024-08-12 19:18:56 +08:00
ikun
5c74940702 feat: 加了几个加速镜像 2024-08-12 15:08:54 +08:00
ikun
dc64d2a9be feat:死妈倒狗给我坐下 2024-08-11 21:49:37 +08:00
ikun
e31e1c40dc chore: 优化清单下载速度;优化界面
## 优化

清单下载速度
日志
2024-08-06 22:56:43 +08:00
ikun
630f825294 fix:关闭SSL验证以支持Watt ToolKit 2024-07-20 20:20:27 +08:00
ikun
6a4222985a Update README.md 2024-07-19 23:28:07 +08:00
ikun
61ce83ce9c Update LICENSE.md 2024-07-19 23:27:33 +08:00
7 changed files with 1 additions and 595 deletions

2
.gitattributes vendored
View File

@@ -1,2 +0,0 @@
# Auto detect text files and perform LF normalization
* text=auto

170
.gitignore vendored
View File

@@ -1,170 +0,0 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec
# Nuitka
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
dist/
# Installer logs
pip-log.txt
pip-delete-this-directory.txt
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# Django stuff:
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
# Flask stuff:
instance/
.webassets-cache
# Scrapy stuff:
.scrapy
# Sphinx documentation
docs/_build/
# PyBuilder
.pybuilder/
target/
# Jupyter Notebook
.ipynb_checkpoints
# IPython
profile_default/
ipython_config.py
# pyenv
# For a library or package, you might want to ignore these files since the code is
# intended to run in multiple environments; otherwise, check them in:
# .python-version
# pipenv
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
# However, in case of collaboration, if having platform-specific dependencies or dependencies
# having no cross-platform support, pipenv may install dependencies that don't work, or not
# install all needed dependencies.
#Pipfile.lock
# poetry
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
# This is especially recommended for binary packages to ensure reproducibility, and is more
# commonly ignored for libraries.
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
#poetry.lock
# pdm
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
#pdm.lock
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
# in version control.
# https://pdm.fming.dev/#use-with-ide
.pdm.toml
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
__pypackages__/
# Celery stuff
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Environments
.env
.venv
env/
venv/
ENV/
env.bak/
venv.bak/
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
# pytype static type analyzer
.pytype/
# Cython debug symbols
cython_debug/
# PyCharm
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
*.json
/output
*.bat
*.xml
*.exe

View File

@@ -1,67 +0,0 @@
# Anti CSDN License (ACSL)
Version 1.0, June 2024
Copyright 2024
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
## Preamble
The proliferation of software and the ease of copying and modifying it has led to a wide variety of licenses designed to protect the rights of creators while enabling collaboration and further development of the software. This license, the Anti CSDN License (ACSL), is designed with the explicit intent of prohibiting the CSDN and its related websites, including 'gitcode' (hereinafter referred to as "CSDN") from copying, modifying, or redistributing the software (hereinafter referred to as "the Software") it applies to, while still maintaining the software's status as open source for others. The ACSL aims to promote the free use, modification, and sharing of the Software by the open-source community, with the sole restriction of CSDN's involvement.
## CSDN Details
CSDN (Chinese Software Developer Network) belongs to Beijing Innovation Lezhi Network Technology Co., Ltd. It is a Chinese information technology knowledge service website with services including information technology dissemination and communication, education and training, and professional technical talent services. It operates a network community, learning platform, and communication platform.
## Terms and Conditions
### 1. Definitions
"This License" refers to version 2.0 of the Anti CSDN License.
"The Software" refers to the software distributed under this License.
"CSDN" refers to the website and all its affiliated entities and services that are known for aggregating and redistributing content without explicit permission from the original creators. This includes but is not limited to Gitcode. For detailed information, CSDN (Chinese Software Developer Network) belongs to Beijing Innovation Lezhi Network Technology Co., Ltd. It is a Chinese information technology knowledge service website with services including information technology dissemination and communication, education and training, and professional technical talent services. It operates a network community, learning platform, and communication platform.
### 2. Grant of Copyright License
Subject to the terms and conditions of this License, each contributor to the Software grants you a worldwide, royalty-free, non-exclusive, perpetual copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute the Software and such derivative works in source code or object form.
### 3. Prohibition for CSDN
Notwithstanding the above grant, CSDN and its associated entities, including Gitcode, are expressly prohibited from:
a. Copying, modifying, or redistributing the Software or any derivative works thereof, in any form.
b. Using the Software for any form of aggregation, compilation, or database that is accessible on or through any platforms owned, operated, or controlled by CSDN and its associated entities, including Gitcode.
c. Engaging in any activity that directly or indirectly infringes on the rights granted under this License to any user of the Software.
### 4. Redistribution
You may reproduce and distribute copies of the Software or any derivative works thereof in any medium, with or without modifications, provided that you meet the following conditions:
a. You must give any other recipients of the Software or derivative works a copy of this License; and
b. You must cause any modified files to carry prominent notices stating that you changed the files; and
c. You must retain, in the Software or derivative works, all copyright and permission notices as found in the original Software.(To prevent theft, recommend that you also add Anti CSDN license for your projects)
### 5. Disclaimer of Warranty
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
### 6. Limitation of Liability
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any contributor to the Software be liable to you for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Software (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such contributor has been advised of the possibility of such damages.
### 7. Accepting Warranty or Additional Liability
While redistributing the Software or derivative works thereof, you may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, you may act only on your own behalf and on your sole responsibility, not on behalf of any other contributors to the Software, and only if you agree to indemnify, defend, and hold each contributor harmless for any liability incurred by, or claims asserted against, such contributor by reason of your accepting any such warranty or additional liability.
## END OF TERMS AND CONDITIONS
By using, copying, modifying, or distributing the Software (or any work based on the Software), you agree to be bound by the terms of this License. If you do not agree to the terms of this License, do not use, copy, modify, or distribute the Software.
If you seek to redistribute the Software in a manner not permitted by this License, or if you have questions about obtaining additional permissions, please contact the original creators of the Software.

View File

@@ -1,42 +1,4 @@
<div align="center">
![Onekey](https://socialify.git.ci/ikunshare/Onekey/image?description=1&font=Inter&forks=1&issues=1&language=1&name=1&owner=1&pulls=1&stargazers=1&theme=Auto)
![GitHub Repo Size](https://img.shields.io/github/repo-size/ikunshare/Onekey?style=for-the-badge)
[![GitHub Release (with filter)](https://img.shields.io/github/v/release/ikunshare/Onekey?style=for-the-badge)](https://github.com/ikunshare/Onekey/releases/latest)
[![GitHub All Releases](https://img.shields.io/github/downloads/ikunshare/Onekey/total?style=for-the-badge&color=violet)](https://github.com/ikunshare/Onekey/releases)
[![GitHub License](https://img.shields.io/github/license/ikunshare/Onekey?style=for-the-badge)](https://github.com/ikunshare/Onekey/blob/main/LICENSE)
</div>
## Onekey
Onekey Steam Depot Manifest Downloader
## 使用方法
先去Release下最新发布然后去steamtools官网下steamtools日志会有点石介意别用
## 项目协议
本项目基于 GPL V3.0 许可证发行,以下协议是对于 GPL V3.0 原协议的补充,如有冲突,以以下协议为准。
词语约定:“使用者”指签署本协议的使用者;“版权数据”指包括但不限于图像、音频、名字等在内的他人拥有所属版权的数据。
本项目的数据来源原理是从Steam官方的CDN服务器中拉取游戏清单数据经过对数据简单地筛选与合并后进行展示因此本项目不对数据的准确性负责。
使用本项目的过程中可能会产生版权数据对于这些版权数据本项目不拥有它们的所有权为了避免造成侵权使用者务必在24 小时内清除使用本项目的过程中所产生的版权数据。
由于使用本项目产生的包括由于本协议或由于使用或无法使用本项目而引起的任何性质的任何直接、间接、特殊、偶然或结果性损害(包括但不限于因商誉损失、停工、计算机故障或故障引起的损害赔偿,或任何及所有其他商业损害或损失)由使用者负责。
本项目完全免费,且开源发布于 GitHub 面向全世界人用作对技术的学习交流,本项目不对项目内的技术可能存在违反当地法律法规的行为作保证,禁止在违反当地法律法规的情况下使用本项目,对于使用者在明知或不知当地法律法规不允许的情况下使用本项目所造成的任何违法违规行为由使用者承担,本项目不承担由此造成的任何直接、间接、特殊、偶然或结果性责任。
而且,本项目已禁止使用于商业用途。
若你使用了本项目,将代表你接受以上协议。
Steam正版平台不易请尊重版权支持正版。
本项目仅用于对技术可行性的探索及研究,不接受任何商业(包括但不限于广告等)合作。
## Star 趋势图
[![Stargazers over time](https://starchart.cc/ikunshare/Onekey.svg)](https://starchart.cc/ikunshare/Onekey)
## 贡献者
<a href="https://github.com/ikunshare/Onekey/graphs/contributors">
<img src="https://contrib.rocks/image?repo=ikunshare/Onekey" />
</a>
现已闭源维护

BIN
icon.jpg

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

312
main.py
View File

@@ -1,312 +0,0 @@
import os
import vdf
import winreg
import argparse
import aiohttp
import aiofiles
import traceback
import subprocess
import colorlog
import logging
import json
import time
import sys
import psutil
import asyncio
from pathlib import Path
# 初始化日志记录器
def init_log():
logger = logging.getLogger('Onekey')
logger.setLevel(logging.DEBUG)
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.DEBUG)
fmt_string = '%(log_color)s[%(name)s][%(levelname)s]%(message)s'
log_colors = {
'DEBUG': 'cyan',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'purple'
}
fmt = colorlog.ColoredFormatter(fmt_string, log_colors=log_colors)
stream_handler.setFormatter(fmt)
logger.addHandler(stream_handler)
return logger
# 生成配置文件
def gen_config_file():
default_config = {"Github_Persoal_Token": "", "Custom_Steam_Path": ""}
with open('./config.json', 'w', encoding='utf-8') as f:
json.dump(default_config, f)
log.info('程序可能为第一次启动,请填写配置文件后重新启动程序')
# 加载配置文件
def load_config():
if not os.path.exists('./config.json'):
gen_config_file()
os.system('pause')
sys.exit()
else:
with open('./config.json', 'r', encoding='utf-8') as f:
config = json.load(f)
return config
log = init_log()
config = load_config()
lock = asyncio.Lock()
print('\033[1;32;40m _____ __ _ _____ _ _ _____ __ __ \033[0m')
print('\033[1;32;40m / _ \ | \ | | | ____| | | / / | ____| \ \ / /\033[0m')
print('\033[1;32;40m | | | | | \| | | |__ | |/ / | |__ \ \/ /\033[0m')
print('\033[1;32;40m | | | | | |\ | | __| | |\ \ | __| \ /')
print('\033[1;32;40m | |_| | | | \ | | |___ | | \ \ | |___ / /\033[0m')
print('\033[1;32;40m \_____/ |_| \_| |_____| |_| \_\ |_____| /_/\033[0m')
log.info('作者ikun0014')
log.info('本项目基于wxy1343/ManifestAutoUpdate进行修改采用GPL V3许可证')
log.info('版本1.0.3')
log.info('项目仓库https://github.com/ikunshare/Onekey')
log.debug('官网ikunshare.com')
log.warning('注意据传Steam新版本对部分解锁工具进行了检测但目前未发现问题如果你被封号可以issue反馈')
log.warning('本项目完全免费如果你在淘宝QQ群内通过购买方式获得赶紧回去骂商家死全家\n交流群组:\n点击链接加入群聊【ikun分享】https://qm.qq.com/q/D9Uiva3RVS\nhttps://t.me/ikunshare_group')
# 通过注册表获取Steam安装路径
def get_steam_path():
key = winreg.OpenKey(winreg.HKEY_CURRENT_USER, r'Software\Valve\Steam')
steam_path = Path(winreg.QueryValueEx(key, 'SteamPath')[0])
custom_steam_path = config.get("Custom_Steam_Path", "")
if not custom_steam_path == '':
return Path(custom_steam_path)
else:
return steam_path
steam_path = get_steam_path()
isGreenLuma = any((steam_path / dll).exists() for dll in ['GreenLuma_2024_x86.dll', 'GreenLuma_2024_x64.dll', 'User32.dll'])
isSteamTools = (steam_path / 'config' / 'stplug-in').is_dir()
# 错误堆栈处理
def stack_error(exception):
stack_trace = traceback.format_exception(type(exception), exception, exception.__traceback__)
return ''.join(stack_trace)
# 下载清单
async def get(sha, path):
url_list = [
f'https://gcore.jsdelivr.net/gh/{repo}@{sha}/{path}',
f'https://fastly.jsdelivr.net/gh/{repo}@{sha}/{path}',
f'https://cdn.jsdelivr.net/gh/{repo}@{sha}/{path}',
f'https://github.moeyy.xyz/https://raw.githubusercontent.com/{repo}/{sha}/{path}',
f'https://mirror.ghproxy.com/https://raw.githubusercontent.com/{repo}/{sha}/{path}',
f'https://ghproxy.org/https://raw.githubusercontent.com/{repo}/{sha}/{path}',
f'https://raw.githubusercontent.com/{repo}/{sha}/{path}'
]
retry = 3
async with aiohttp.ClientSession() as session:
while retry:
for url in url_list:
try:
async with session.get(url) as r:
if r.status == 200:
return await r.read()
else:
log.error(f'获取失败: {path} - 状态码: {r.status}')
except aiohttp.ClientError:
log.error(f'获取失败: {path} - 连接错误')
retry -= 1
log.warning(f'重试剩余次数: {retry} - {path}')
log.error(f'超过最大重试次数: {path}')
raise Exception(f'Failed to download: {path}')
# 获取清单信息
async def get_manifest(sha, path, steam_path: Path):
collected_depots = []
try:
if path.endswith('.manifest'):
depot_cache_path = steam_path / 'depotcache'
async with lock:
if not depot_cache_path.exists():
depot_cache_path.mkdir(exist_ok=True)
save_path = depot_cache_path / path
if save_path.exists():
async with lock:
log.warning(f'已存在清单: {path}')
return collected_depots
content = await get(sha, path)
async with lock:
log.info(f'清单下载成功: {path}')
async with aiofiles.open(save_path, 'wb') as f:
await f.write(content)
elif path == 'Key.vdf':
content = await get(sha, path)
async with lock:
log.info(f'密钥下载成功: {path}')
depots_config = vdf.loads(content.decode(encoding='utf-8'))
for depot_id, depot_info in depots_config['depots'].items():
collected_depots.append((depot_id, depot_info['DecryptionKey']))
except KeyboardInterrupt:
raise
except Exception as e:
log.error(f'处理失败: {path} - {stack_error(e)}')
traceback.print_exc()
raise
return collected_depots
# 合并DecryptionKey
async def depotkey_merge(config_path, depots_config):
if not config_path.exists():
async with lock:
log.error('Steam默认配置不存在可能是没有登录账号')
return
with open(config_path, encoding='utf-8') as f:
config = vdf.load(f)
software = config['InstallConfigStore']['Software']
valve = software.get('Valve') or software.get('valve')
steam = valve.get('Steam') or valve.get('steam')
if 'depots' not in steam:
steam['depots'] = {}
steam['depots'].update(depots_config['depots'])
with open(config_path, 'w', encoding='utf-8') as f:
vdf.dump(config, f, pretty=True)
return True
# 增加SteamTools解锁相关文件
async def stool_add(depot_data, app_id):
lua_filename = f"Onekey_unlock_{app_id}.lua"
lua_filepath = steam_path / "config" / "stplug-in" / lua_filename
async with lock:
log.info(f'SteamTools解锁文件生成: {lua_filepath}')
with open(lua_filepath, "w", encoding="utf-8") as lua_file:
lua_file.write(f'addappid({app_id}, 1, "None")\n')
for depot_id, depot_key in depot_data:
lua_file.write(f'addappid({depot_id}, 1, "{depot_key}")\n')
luapacka_path = steam_path / "config" / "stplug-in" / "luapacka.exe"
subprocess.run([str(luapacka_path), str(lua_filepath)])
os.remove(lua_filepath)
return True
# 增加GreenLuma解锁相关文件
async def greenluma_add(depot_id_list):
app_list_path = steam_path / 'appcache' / 'appinfo.vdf'
if app_list_path.exists() and app_list_path.is_file():
app_list_path.unlink(missing_ok=True)
if not app_list_path.is_dir():
app_list_path.mkdir(parents=True, exist_ok=True)
depot_dict = {}
for i in app_list_path.iterdir():
if i.stem.isdecimal() and i.suffix == '.txt':
with i.open('r', encoding='utf-8') as f:
app_id_ = f.read().strip()
depot_dict[int(i.stem)] = None
if app_id_.isdecimal():
depot_dict[int(i.stem)] = int(app_id_)
for depot_id in depot_id_list:
if int(depot_id) not in depot_dict.values():
index = max(depot_dict.keys()) + 1 if depot_dict.keys() else 0
if index != 0:
for i in range(max(depot_dict.keys())):
if i not in depot_dict.keys():
index = i
break
with (app_list_path / f'{index}.txt').open('w', encoding='utf-8') as f:
f.write(str(depot_id))
depot_dict[index] = int(depot_id)
return True
# 检测Github Api请求数量
async def check_github_api_limit(headers):
url = 'https://api.github.com/rate_limit'
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers) as r:
r_json = await r.json()
remain_limit = r_json['rate']['remaining']
use_limit = r_json['rate']['used']
reset_time = r_json['rate']['reset']
f_reset_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(reset_time))
log.info(f'已用Github请求数{use_limit}')
log.info(f'剩余Github请求数{remain_limit}')
if r.status == 429:
log.info(f'你的Github Api请求数已超限请尝试增加Persoal Token')
log.info(f'请求数重置时间:{f_reset_time}')
return True
# 检查进程是否运行
def check_process_running(process_name):
for process in psutil.process_iter(['name']):
if process.info['name'] == process_name:
return True
return False
# 主函数
async def main(app_id):
app_id_list = list(filter(str.isdecimal, app_id.strip().split('-')))
app_id = app_id_list[0]
github_token = config.get("Github_Persoal_Token", "")
headers = {'Authorization': f'Bearer {github_token}'} if github_token else None
if headers:
await check_github_api_limit(headers)
url = f'https://api.github.com/repos/{repo}/branches/{app_id}'
async with aiohttp.ClientSession() as session:
async with session.get(url, headers=headers) as r:
r_json = await r.json()
if 'commit' in r_json:
sha = r_json['commit']['sha']
url = r_json['commit']['commit']['tree']['url']
date = r_json['commit']['commit']['author']['date']
async with session.get(url, headers=headers) as r2:
r2_json = await r2.json()
if 'tree' in r2_json:
collected_depots = []
for i in r2_json['tree']:
result = await get_manifest(sha, i['path'], steam_path)
collected_depots.extend(result)
if collected_depots:
if isSteamTools:
await stool_add(collected_depots, app_id)
log.info('找到SteamTools已添加解锁文件')
if isGreenLuma:
await greenluma_add([app_id])
depot_config = {'depots': {depot_id: {'DecryptionKey': depot_key} for depot_id, depot_key in collected_depots}}
depotkey_merge(steam_path / 'config' / 'config.vdf', depot_config)
if await greenluma_add([int(i) for i in depot_config['depots'] if i.isdecimal()]):
log.info('找到GreenLuma已添加解锁文件')
log.info(f'清单最后更新时间:{date}')
log.info(f'入库成功: {app_id}')
return True
log.error(f'清单下载或生成.st失败: {app_id}')
return False
parser = argparse.ArgumentParser()
parser.add_argument('-a', '--app-id')
args = parser.parse_args()
repo = 'ManifestHub/ManifestHub'
if __name__ == '__main__':
try:
log.debug('App ID可以在SteamDB或Steam商店链接页面查看')
asyncio.run(main(args.app_id or input('需要入库的App ID: ')))
except KeyboardInterrupt:
exit()
except Exception as e:
log.error(f'发生错误: {stack_error(e)}')
traceback.print_exc()
if not args.app_id:
os.system('pause')

View File

@@ -1,5 +0,0 @@
aiofiles==24.1.0
aiohttp==3.9.5
colorlog==6.8.2
psutil==6.0.0
vdf==3.4