forked from mirrors/cursor-free-vip
Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
54ecf2d752 | ||
|
|
1f1231d1a9 | ||
|
|
d10999a517 | ||
|
|
fb4be6334a | ||
|
|
786eba5371 | ||
|
|
41ddbf519e |
53
.github/workflows/build.yml
vendored
53
.github/workflows/build.yml
vendored
@@ -6,7 +6,7 @@ on:
|
|||||||
version:
|
version:
|
||||||
description: 'Version number (e.g. 1.0.9)'
|
description: 'Version number (e.g. 1.0.9)'
|
||||||
required: true
|
required: true
|
||||||
default: '1.7.03'
|
default: '1.7.04'
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -98,7 +98,7 @@ jobs:
|
|||||||
name: CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
name: CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
||||||
path: dist/CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
path: dist/CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
||||||
|
|
||||||
build-linux:
|
build-linux-x64:
|
||||||
needs: create-tag
|
needs: create-tag
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
@@ -120,20 +120,55 @@ jobs:
|
|||||||
pip install pyinstaller
|
pip install pyinstaller
|
||||||
pip install -r requirements.txt
|
pip install -r requirements.txt
|
||||||
|
|
||||||
- name: Build Linux executable
|
- name: Build Linux x64 executable
|
||||||
env:
|
env:
|
||||||
VERSION: ${{ env.VERSION }}
|
VERSION: ${{ env.VERSION }}
|
||||||
run: |
|
run: |
|
||||||
pyinstaller build.spec
|
pyinstaller build.spec
|
||||||
|
mv "dist/CursorFreeVIP_${{ env.VERSION }}_linux" "dist/CursorFreeVIP_${{ env.VERSION }}_linux_x64"
|
||||||
echo "Contents of dist directory:"
|
echo "Contents of dist directory:"
|
||||||
ls -la dist/
|
ls -la dist/
|
||||||
|
|
||||||
- name: Upload Linux artifact
|
- name: Upload Linux x64 artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: CursorFreeVIP_${{ env.VERSION }}_linux
|
name: CursorFreeVIP_${{ env.VERSION }}_linux_x64
|
||||||
path: dist/CursorFreeVIP_${{ env.VERSION }}_linux
|
path: dist/CursorFreeVIP_${{ env.VERSION }}_linux_x64
|
||||||
|
|
||||||
|
build-linux-arm64:
|
||||||
|
needs: create-tag
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Set up QEMU
|
||||||
|
uses: docker/setup-qemu-action@v2
|
||||||
|
with:
|
||||||
|
platforms: arm64
|
||||||
|
|
||||||
|
- name: Set version
|
||||||
|
shell: bash
|
||||||
|
run: echo "VERSION=${{ github.event.inputs.version }}" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
- name: Build in ARM64 Docker container
|
||||||
|
run: |
|
||||||
|
docker run --rm --platform linux/arm64 -v ${{ github.workspace }}:/app -w /app arm64v8/python:3.9-slim bash -c "
|
||||||
|
apt-get update && apt-get install -y build-essential
|
||||||
|
pip install --upgrade pip
|
||||||
|
pip install pyinstaller
|
||||||
|
pip install -r requirements.txt
|
||||||
|
python -m PyInstaller build.spec
|
||||||
|
mv /app/dist/CursorFreeVIP_${{ env.VERSION }}_linux /app/dist/CursorFreeVIP_${{ env.VERSION }}_linux_arm64
|
||||||
|
"
|
||||||
|
echo "Contents of dist directory:"
|
||||||
|
ls -la dist/
|
||||||
|
|
||||||
|
- name: Upload Linux ARM64 artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: CursorFreeVIP_${{ env.VERSION }}_linux_arm64
|
||||||
|
path: dist/CursorFreeVIP_${{ env.VERSION }}_linux_arm64
|
||||||
|
|
||||||
build-macos-intel:
|
build-macos-intel:
|
||||||
needs: create-tag
|
needs: create-tag
|
||||||
@@ -171,9 +206,8 @@ jobs:
|
|||||||
name: CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
name: CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
||||||
path: dist/CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
path: dist/CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
||||||
|
|
||||||
|
|
||||||
create-release:
|
create-release:
|
||||||
needs: [build-windows, build-macos-arm64, build-linux, build-macos-intel]
|
needs: [build-windows, build-macos-arm64, build-linux-x64, build-linux-arm64, build-macos-intel]
|
||||||
runs-on: ubuntu-22.04
|
runs-on: ubuntu-22.04
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -201,7 +235,8 @@ jobs:
|
|||||||
files: |
|
files: |
|
||||||
artifacts/CursorFreeVIP_${{ env.VERSION }}_windows.exe/CursorFreeVIP_${{ env.VERSION }}_windows.exe
|
artifacts/CursorFreeVIP_${{ env.VERSION }}_windows.exe/CursorFreeVIP_${{ env.VERSION }}_windows.exe
|
||||||
artifacts/CursorFreeVIP_${{ env.VERSION }}_mac_arm64/CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
artifacts/CursorFreeVIP_${{ env.VERSION }}_mac_arm64/CursorFreeVIP_${{ env.VERSION }}_mac_arm64
|
||||||
artifacts/CursorFreeVIP_${{ env.VERSION }}_linux/CursorFreeVIP_${{ env.VERSION }}_linux
|
artifacts/CursorFreeVIP_${{ env.VERSION }}_linux_x64/CursorFreeVIP_${{ env.VERSION }}_linux_x64
|
||||||
|
artifacts/CursorFreeVIP_${{ env.VERSION }}_linux_arm64/CursorFreeVIP_${{ env.VERSION }}_linux_arm64
|
||||||
artifacts/CursorFreeVIP_${{ env.VERSION }}_mac_intel/CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
artifacts/CursorFreeVIP_${{ env.VERSION }}_mac_intel/CursorFreeVIP_${{ env.VERSION }}_mac_intel
|
||||||
draft: false
|
draft: false
|
||||||
prerelease: false
|
prerelease: false
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
# Change Log
|
# Change Log
|
||||||
|
|
||||||
|
## v1.7.04
|
||||||
|
1. Hotfix: Small Problem | 修復一些小問題
|
||||||
|
|
||||||
## v1.7.03
|
## v1.7.03
|
||||||
1. Hotfix: Small Problem | 修復一些小問題
|
1. Hotfix: Small Problem | 修復一些小問題
|
||||||
|
|
||||||
|
|||||||
36
README.md
36
README.md
@@ -88,6 +88,8 @@ irm https://raw.githubusercontent.com/yeongpin/cursor-free-vip/main/scripts/rese
|
|||||||
|
|
||||||
📝 Config | 文件配置
|
📝 Config | 文件配置
|
||||||
`Win / Macos / Linux Path | 路徑 [Documents/.cursor-free-vip/config.ini]`
|
`Win / Macos / Linux Path | 路徑 [Documents/.cursor-free-vip/config.ini]`
|
||||||
|
<details>
|
||||||
|
<summary><b>⭐ Config | 文件配置</b></summary>
|
||||||
|
|
||||||
```
|
```
|
||||||
[Chrome]
|
[Chrome]
|
||||||
@@ -101,10 +103,44 @@ handle_turnstile_time = 2
|
|||||||
handle_turnstile_random_time = 1-3
|
handle_turnstile_random_time = 1-3
|
||||||
|
|
||||||
[OSPaths]
|
[OSPaths]
|
||||||
|
# Storage Path | 存儲路徑
|
||||||
storage_path = /Users/username/Library/Application Support/Cursor/User/globalStorage/storage.json
|
storage_path = /Users/username/Library/Application Support/Cursor/User/globalStorage/storage.json
|
||||||
|
# SQLite Path | SQLite路徑
|
||||||
sqlite_path = /Users/username/Library/Application Support/Cursor/User/globalStorage/state.vscdb
|
sqlite_path = /Users/username/Library/Application Support/Cursor/User/globalStorage/state.vscdb
|
||||||
|
# Machine ID Path | 機器ID路徑
|
||||||
machine_id_path = /Users/username/Library/Application Support/Cursor/machineId
|
machine_id_path = /Users/username/Library/Application Support/Cursor/machineId
|
||||||
|
|
||||||
|
[Timing]
|
||||||
|
# Min Random Time | 最小隨機時間
|
||||||
|
min_random_time = 0.1
|
||||||
|
# Max Random Time | 最大隨機時間
|
||||||
|
max_random_time = 0.8
|
||||||
|
# Page Load Wait | 頁面加載等待時間
|
||||||
|
page_load_wait = 0.1-0.8
|
||||||
|
# Input Wait | 輸入等待時間
|
||||||
|
input_wait = 0.3-0.8
|
||||||
|
# Submit Wait | 提交等待時間
|
||||||
|
submit_wait = 0.5-1.5
|
||||||
|
# Verification Code Input | 驗證碼輸入等待時間
|
||||||
|
verification_code_input = 0.1-0.3
|
||||||
|
# Verification Success Wait | 驗證成功等待時間
|
||||||
|
verification_success_wait = 2-3
|
||||||
|
# Verification Retry Wait | 驗證重試等待時間
|
||||||
|
verification_retry_wait = 2-3
|
||||||
|
# Email Check Initial Wait | 郵件檢查初始等待時間
|
||||||
|
email_check_initial_wait = 4-6
|
||||||
|
# Email Refresh Wait | 郵件刷新等待時間
|
||||||
|
email_refresh_wait = 2-4
|
||||||
|
# Settings Page Load Wait | 設置頁面加載等待時間
|
||||||
|
settings_page_load_wait = 1-2
|
||||||
|
# Failed Retry Time | 失敗重試時間
|
||||||
|
failed_retry_time = 0.5-1
|
||||||
|
# Retry Interval | 重試間隔
|
||||||
|
retry_interval = 8-12
|
||||||
|
# Max Timeout | 最大超時時間
|
||||||
|
max_timeout = 160
|
||||||
```
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
* Use administrator to run the script <br>請使用管理員身份運行腳本
|
* Use administrator to run the script <br>請使用管理員身份運行腳本
|
||||||
|
|
||||||
|
|||||||
@@ -568,9 +568,9 @@ def handle_verification_code(browser_tab, email_tab, controller, email, password
|
|||||||
# 获取验证码,设置超时
|
# 获取验证码,设置超时
|
||||||
verification_code = None
|
verification_code = None
|
||||||
max_attempts = 20
|
max_attempts = 20
|
||||||
retry_interval = float(config.get('Timing', 'retry_interval', fallback='10')) # 使用配置值
|
retry_interval = get_random_wait_time(config, 'retry_interval') # 使用 get_random_wait_time
|
||||||
start_time = time.time()
|
start_time = time.time()
|
||||||
timeout = float(config.get('Timing', 'max_timeout', fallback='160')) # 使用配置值
|
timeout = float(config.get('Timing', 'max_timeout', fallback='160')) # 這個可以保持不變因為是固定值
|
||||||
|
|
||||||
if translator:
|
if translator:
|
||||||
print(f"{Fore.CYAN}{translator.get('register.start_getting_verification_code')}{Style.RESET_ALL}")
|
print(f"{Fore.CYAN}{translator.get('register.start_getting_verification_code')}{Style.RESET_ALL}")
|
||||||
@@ -594,7 +594,7 @@ def handle_verification_code(browser_tab, email_tab, controller, email, password
|
|||||||
|
|
||||||
# 刷新邮箱
|
# 刷新邮箱
|
||||||
email_tab.refresh_inbox()
|
email_tab.refresh_inbox()
|
||||||
time.sleep(get_random_wait_time(config, 'retry_interval')) # 使用 get_random_wait_time
|
time.sleep(retry_interval) # 使用 get_random_wait_time
|
||||||
|
|
||||||
if verification_code:
|
if verification_code:
|
||||||
# 在注册页面填写验证码
|
# 在注册页面填写验证码
|
||||||
|
|||||||
@@ -63,8 +63,15 @@ detect_os() {
|
|||||||
echo -e "${CYAN}ℹ️ Detected macOS Intel architecture${NC}"
|
echo -e "${CYAN}ℹ️ Detected macOS Intel architecture${NC}"
|
||||||
fi
|
fi
|
||||||
elif [[ "$(uname)" == "Linux" ]]; then
|
elif [[ "$(uname)" == "Linux" ]]; then
|
||||||
OS="linux"
|
# Detect Linux architecture
|
||||||
echo -e "${CYAN}ℹ️ Detected Linux system${NC}"
|
ARCH=$(uname -m)
|
||||||
|
if [[ "$ARCH" == "aarch64" || "$ARCH" == "arm64" ]]; then
|
||||||
|
OS="linux_arm64"
|
||||||
|
echo -e "${CYAN}ℹ️ Detected Linux ARM64 architecture${NC}"
|
||||||
|
else
|
||||||
|
OS="linux_x64"
|
||||||
|
echo -e "${CYAN}ℹ️ Detected Linux x64 architecture${NC}"
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
# Assume Windows
|
# Assume Windows
|
||||||
OS="windows"
|
OS="windows"
|
||||||
@@ -127,9 +134,19 @@ install_cursor_free_vip() {
|
|||||||
echo -e "${RED}❌ New download link does not exist${NC}"
|
echo -e "${RED}❌ New download link does not exist${NC}"
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
else
|
} elif [[ "$OS" == "linux_x64" || "$OS" == "linux_arm64" ]]; then
|
||||||
|
OS="linux"
|
||||||
|
binary_name="CursorFreeVIP_${VERSION}_${OS}"
|
||||||
|
download_url="https://github.com/yeongpin/cursor-free-vip/releases/download/v${VERSION}/${binary_name}"
|
||||||
|
echo -e "${CYAN}ℹ️ New download link: ${download_url}${NC}"
|
||||||
|
|
||||||
|
if ! curl --output /dev/null --silent --head --fail "$download_url"; then
|
||||||
|
echo -e "${RED}❌ New download link does not exist${NC}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
} else {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Download file
|
# Download file
|
||||||
|
|||||||
Reference in New Issue
Block a user