Compare commits

..

8 Commits

Author SHA1 Message Date
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
7 changed files with 78 additions and 74 deletions

View File

@@ -20,36 +20,21 @@ jobs:
$version = (Get-Content package.json | ConvertFrom-Json).version
echo "PACKAGE_VERSION=$version" >> $env:GITHUB_ENV
- name: Set up Python 3.13.1
uses: actions/setup-python@v3
- name: Create Executable
uses: sayyid5416/pyinstaller@main
with:
python-version: 3.13.1
python_ver: "3.13.1"
spec: "main.py"
requirements: "requirements.txt"
options: --onefile, --name Onekey_v${{ env.PACKAGE_VERSION }}, --uac-admin, --uac-uiaccess, --icon ./icon.jpg
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install imageio
pip install -r requirements.txt
- name: Build
uses: Nuitka/Nuitka-Action@main
- name: Run UPX
uses: crazy-max/ghaction-upx@master
with:
nuitka-version: main
script-name: main.py
mode: onefile
show-memory: true
windows-uac-admin: true
onefile-tempdir-spec: "%TEMP%\\onekey_%PID%_%TIME%"
windows-icon-from-ico: icon.jpg
company-name: ikunshare
product-name: Onekey
file-version: ${{ env.PACKAGE_VERSION }}
product-version: ${{ env.PACKAGE_VERSION }}
file-description: 一个Steam仓库清单下载器
copyright: Copyright © 2025 ikun0014
output-file: Onekey_v${{ env.PACKAGE_VERSION }}.exe
assume-yes-for-downloads: true
output-dir: build
version: latest
files: |
./dist/*.exe
args: -fq
- name: Create git tag
uses: pkgdeps/git-tag-action@v3
@@ -60,17 +45,11 @@ jobs:
git_commit_sha: ${{ github.sha }}
git_tag_prefix: "v"
- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
name: Onekey_v${{ env.PACKAGE_VERSION }}.exe
path: build/Onekey_v${{ env.PACKAGE_VERSION }}.exe
- name: Release
uses: softprops/action-gh-release@v2
with:
tag_name: v${{ env.PACKAGE_VERSION }}
files: build/Onekey_v${{ env.PACKAGE_VERSION }}.exe
files: dist/Onekey_v${{ env.PACKAGE_VERSION }}.exe
prerelease: false
draft: false
env:
@@ -88,13 +67,13 @@ jobs:
gitee_target_commitish: main
gitee_upload_retry_times: 3
gitee_file_name: Onekey_v${{ env.PACKAGE_VERSION }}.exe
gitee_file_path: build/Onekey_v${{ env.PACKAGE_VERSION }}.exe
gitee_file_path: dist/Onekey_v${{ env.PACKAGE_VERSION }}.exe
- name: Upload to Telegram Channel
run: |
& curl -F "chat_id=${{ secrets.TELEGRAM_TO }}" `
-F "thread_id=${{ secrets.TELEGRAM_THREAD }}" `
-F "document=@build/Onekey_v${{ env.PACKAGE_VERSION }}.exe" `
-F "document=@dist/Onekey_v${{ env.PACKAGE_VERSION }}.exe" `
-F "caption=Onekey's New Update ${{ env.PACKAGE_VERSION }}" `
-F "parse_mode=Markdown" `
"https://api.telegram.org/bot${{ secrets.TELEGRAM_TOKEN }}/sendDocument"

View File

@@ -7,12 +7,18 @@
[![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)
[![Powered by DartNode](https://dartnode.com/branding/DN-Open-Source-sm.png)](https://dartnode.com "Powered by DartNode - Free VPS for Open Source")
</div>
## Onekey
Onekey Steam Depot Manifest Downloader
## 先让我挂些人
- 沧海颐粟,早期倒卖大手子,现在不知道跑哪了,通过一点手段查到在景德镇
- 玩家资源站这两个月出现的也是很嚣张了B站https://space.bilibili.com/242622952已被拉黑
## 使用方法
去Releases处下载最新的发布并且安装好SteamTools或者GreenLuma
然后打开Onekey输入App ID即可使用
@@ -62,9 +68,10 @@ pip install -r requirements.txt
</a>
## 常见问题解答FAQ
查看 [FAQ](https://ikunshare.com/d/49) 获取常见问题的解答。
查看 [FAQ](https://ikunshare.top/d/49) 获取常见问题的解答。
## 社区和支持
加入我们的社区,参与讨论和支持:
- [GitHub Discussions](https://github.com/ikunshare/Onekey/discussions)
- [Telegram](https://t.me/ikunshare_qun)
- [QQ](https://qm.qq.com/q/NPRVbglteK)

View File

@@ -1,9 +1,15 @@
import os
import colorama
import logging
import logzero
from logzero import setup_logger, LogFormatter
from .variable import LOG_FILE, DEBUG_MODE
try:
import os
import colorama
import logging
import logzero
from logzero import setup_logger, LogFormatter
from .variable import LOG_FILE, DEBUG_MODE
except ImportError as e:
print(e)
import os
os.system("pause")
if not os.path.exists(f"./logs"):
os.makedirs(f"./logs")

View File

@@ -1,9 +1,15 @@
import time
import httpx
import sys
import winreg
import ujson as json
from pathlib import Path
try:
import time
import httpx
import sys
import winreg
import ujson as json
from pathlib import Path
except ImportError as e:
print(e)
import os
os.system("pause")
def get_steam_path(config: dict) -> Path:

52
main.py
View File

@@ -1,22 +1,28 @@
import os
import sys
try:
import os
import sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
import vdf
import time
import httpx
import asyncio
import traceback
from typing import Any, Tuple, List, Dict
from pathlib import Path
from common import log, variable
from common.variable import (
CLIENT,
HEADER,
STEAM_PATH,
REPO_LIST,
)
import vdf
import time
import httpx
import asyncio
import traceback
from typing import Any, Tuple, List, Dict
from pathlib import Path
from common import log, variable
from common.variable import (
CLIENT,
HEADER,
STEAM_PATH,
REPO_LIST,
)
except ImportError as e:
import os
print(e)
os.system("pause")
LOCK = asyncio.Lock()
@@ -35,9 +41,9 @@ def init() -> None:
\_____/ |_| \_| |_____| |_| \_\ |_____| /_/
"""
LOG.info(banner)
LOG.info("作者: ikun0014 | 版本: 1.4.7 | 官网: ikunshare.com")
LOG.info("作者: ikun0014 | 版本: 1.4.9 | 官网: ikunshare.top")
LOG.info("项目仓库: GitHub: https://github.com/ikunshare/Onekey")
LOG.warning("ikunshare.com | 严禁倒卖")
LOG.warning("ikunshare.top | 严禁倒卖")
LOG.warning("提示: 请确保已安装Windows 10/11并正确配置Steam;SteamTools/GreenLuma")
LOG.warning("开梯子必须配置Token, 你的IP我不相信能干净到哪")
@@ -137,7 +143,7 @@ async def HandleDepotFiles(
tree_res = await CLIENT.get(tree_url)
tree_res.raise_for_status()
depot_cache = steam_path / "depotcache"
depot_cache = Path(f"{steam_path}/depotcache")
depot_cache.mkdir(exist_ok=True)
LOG.info(f"当前选择清单仓库: https://github.com/{selected_repo}")
@@ -246,7 +252,7 @@ def SetupUnlock(
def SetupTools(depot_data: List[Tuple[str, str]], app_id: str, depot_map: Dict) -> bool:
st_path = STEAM_PATH / "config" / "stplug-in"
st_path = Path(f"{STEAM_PATH}/config/stplug-in")
st_path.mkdir(exist_ok=True)
choice = input(
@@ -274,7 +280,7 @@ def SetupTools(depot_data: List[Tuple[str, str]], app_id: str, depot_map: Dict)
def SetupGreenLuma(depot_data: List[Tuple[str, str]]) -> bool:
applist_dir = STEAM_PATH / "AppList"
applist_dir = Path(f"{STEAM_PATH}/AppList")
applist_dir.mkdir(exist_ok=True)
for f in applist_dir.glob("*.txt"):
@@ -283,7 +289,7 @@ def SetupGreenLuma(depot_data: List[Tuple[str, str]]) -> bool:
for idx, (d_id, _) in enumerate(depot_data, 1):
(applist_dir / f"{idx}.txt").write_text(str(d_id))
config_path = STEAM_PATH / "config" / "config.vdf"
config_path = Path(f"{STEAM_PATH}/config/config.vdf")
with open(config_path, "r+") as f:
content = vdf.loads(f.read())
content.setdefault("depots", {}).update(

View File

@@ -1,6 +1,6 @@
{
"name": "onekey",
"version": "1.4.7",
"version": "1.4.9",
"description": "一个Steam仓库清单下载器",
"main": "index.js",
"scripts": {

View File

@@ -1,4 +1,4 @@
httpx
logzero
ujson
vdf
Pillow