Due to individuals using this project to package illegal software, which violates its intended purpose, the front-end code will no longer be open-source. If such behavior is found again, all code in this project will cease to be open-source. Please use this software legally and responsibly, or bear the consequences.
40
.env.example
Normal file
@@ -0,0 +1,40 @@
|
||||
# cloud function prefix
|
||||
VITE_GITHUB_TOKEN_PREFIX=https://github.com
|
||||
# cloud function token
|
||||
VITE_CLOUD_FUNCTION_TOKEN=https://github.com
|
||||
# github domain
|
||||
VITE_GITHUB_DOMAIN=https://github.com
|
||||
# pay domain
|
||||
VITE_PAYJS_DOMAIN=https://github.com
|
||||
# pay mchid
|
||||
VITE_PAYJS_MCHID=1024
|
||||
# pay sign key
|
||||
VITE_PAYJS_SIGN_KEY=1024
|
||||
# yun pay domain
|
||||
VITE_YUNPAY_DOMAIN=https://github.com
|
||||
# yun pay mchid
|
||||
VITE_YUNPAY_MCHID=1024
|
||||
# yun pay sign key
|
||||
VITE_YUNPAY_SIGN_KEY=1024
|
||||
# z pay domain
|
||||
VITE_ZPAY_DOMAIN=https://github.com
|
||||
# z pay mchid
|
||||
VITE_ZPAY_MCHID=1024
|
||||
# z pay sign key
|
||||
VITE_ZPAY_SIGN_KEY=1024
|
||||
# gtag id
|
||||
VITE_GTAG_ID=1024
|
||||
# upstream user
|
||||
VITE_UPSTREAM_USER=1024
|
||||
# web branch
|
||||
VITE_WEB_BRANCH=web
|
||||
# dev branch
|
||||
VITE_DEV_BRANCH=dev
|
||||
# main branch
|
||||
VITE_MAIN_BRANCH=main
|
||||
# file limit size
|
||||
VITE_FILE_LIMIT_SIZE=5
|
||||
# file limit number
|
||||
VITE_FILE_LIMIT_NUMBER=20
|
||||
# local build version
|
||||
VITE_LOCAL_RHEXE=https://github.com
|
||||
63
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: 🐞 Bug Report
|
||||
title: '[bug] '
|
||||
description: Report a bug
|
||||
labels: ['type: bug', 'status: needs triage']
|
||||
|
||||
body:
|
||||
# - type: markdown
|
||||
# attributes:
|
||||
# value: |
|
||||
# ## First of all
|
||||
# 1. Please search for [existing issues](https://github.com/tauri-apps/tauri/issues?q=is%3Aissue) about this problem first.
|
||||
# 2. Make sure `rustc` and all relevant Tauri packages are up to date.
|
||||
# 3. Make sure it's an issue with Tauri and not something else you are using.
|
||||
# 4. Remember to follow our community guidelines and be friendly.
|
||||
|
||||
- type: textarea
|
||||
id: description
|
||||
attributes:
|
||||
label: Describe the bug
|
||||
description: A clear description of what the bug is. Include screenshots if applicable.
|
||||
placeholder: Bug description
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: reproduction
|
||||
attributes:
|
||||
label: Reproduction
|
||||
description: A link to a reproduction repo or steps to reproduce the behaviour.
|
||||
placeholder: |
|
||||
Please provide a minimal reproduction or steps to reproduce, see this guide https://stackoverflow.com/help/minimal-reproducible-example
|
||||
Why reproduction is required? see this article https://antfu.me/posts/why-reproductions-are-required
|
||||
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected behavior
|
||||
description: A clear description of what you expected to happen.
|
||||
|
||||
# - type: textarea
|
||||
# id: info
|
||||
# attributes:
|
||||
# label: Full `tauri info` output
|
||||
# description: 'Output of `npm run tauri info` or `cargo tauri info`'
|
||||
# render: text
|
||||
# validations:
|
||||
# required: true
|
||||
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Stack trace
|
||||
render: text
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context about the problem here.
|
||||
39
.github/ISSUE_TEMPLATE/feature_request.yml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
# Copyright 2019-2024 Tauri Programme within The Commons Conservancy
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
name: 💡 Feature Request
|
||||
title: '[feat] '
|
||||
description: Suggest an idea
|
||||
labels: ['type: feature request']
|
||||
|
||||
body:
|
||||
- type: textarea
|
||||
id: problem
|
||||
attributes:
|
||||
label: Describe the problem
|
||||
description: A clear description of the problem this feature would solve
|
||||
placeholder: "I'm always frustrated when..."
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: solution
|
||||
attributes:
|
||||
label: "Describe the solution you'd like"
|
||||
description: A clear description of what change you would like
|
||||
placeholder: 'I would like to...'
|
||||
validations:
|
||||
required: true
|
||||
|
||||
- type: textarea
|
||||
id: alternatives
|
||||
attributes:
|
||||
label: Alternatives considered
|
||||
description: "Any alternative solutions you've considered"
|
||||
|
||||
- type: textarea
|
||||
id: context
|
||||
attributes:
|
||||
label: Additional context
|
||||
description: Add any other context about the problem here.
|
||||
288
.github/back/alpha.yml
vendored
Normal file
@@ -0,0 +1,288 @@
|
||||
name: Alpha Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [main]
|
||||
tags-ignore: [updater, alpha]
|
||||
permissions: write-all
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUST_BACKTRACE: short
|
||||
concurrency:
|
||||
# only allow per workflow per commit (and not pr) to run at a time
|
||||
group: "${{ github.workflow }} - ${{ github.head_ref || github.ref }}"
|
||||
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
|
||||
|
||||
jobs:
|
||||
alpha:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
- os: windows-latest
|
||||
target: aarch64-pc-windows-msvc
|
||||
args: "--target aarch64-pc-windows-msvc"
|
||||
- os: macos-latest
|
||||
target: aarch64-apple-darwin
|
||||
args: "--target aarch64-apple-darwin"
|
||||
- os: macos-latest
|
||||
target: x86_64-apple-darwin
|
||||
args: "--target x86_64-apple-darwin"
|
||||
- os: ubuntu-22.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
args: ""
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust Stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Add Rust Target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: src-tauri
|
||||
cache-all-crates: true
|
||||
cache-on-failure: true
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: matrix.os == 'ubuntu-22.04'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Pnpm install and check
|
||||
run: |
|
||||
pnpm i
|
||||
|
||||
- name: Tauri build
|
||||
uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tagName: alpha
|
||||
releaseName: "ClashPro"
|
||||
releaseBody: "More new features are now supported."
|
||||
releaseDraft: false
|
||||
prerelease: true
|
||||
args: ${{ matrix.args }}
|
||||
|
||||
- name: Portable Bundle
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: pnpm portable ${{ matrix.target }} --alpha
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
alpha-for-linux-arm:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
target: aarch64-unknown-linux-gnu
|
||||
arch: arm64
|
||||
- os: ubuntu-22.04
|
||||
target: armv7-unknown-linux-gnueabihf
|
||||
arch: armhf
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust Stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Add Rust Target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: src-tauri
|
||||
cache-all-crates: true
|
||||
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Pnpm install and check
|
||||
run: |
|
||||
pnpm i
|
||||
|
||||
- name: "Setup for linux"
|
||||
run: |-
|
||||
sudo ls -lR /etc/apt/
|
||||
|
||||
cat > /tmp/sources.list << EOF
|
||||
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy main multiverse universe restricted
|
||||
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy-security main multiverse universe restricted
|
||||
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy-updates main multiverse universe restricted
|
||||
deb [arch=amd64,i386] http://archive.ubuntu.com/ubuntu jammy-backports main multiverse universe restricted
|
||||
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy main multiverse universe restricted
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-security main multiverse universe restricted
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-updates main multiverse universe restricted
|
||||
deb [arch=armhf,arm64] http://ports.ubuntu.com/ubuntu-ports jammy-backports main multiverse universe restricted
|
||||
EOF
|
||||
|
||||
sudo mv /etc/apt/sources.list /etc/apt/sources.list.default
|
||||
sudo mv /tmp/sources.list /etc/apt/sources.list
|
||||
|
||||
sudo dpkg --add-architecture ${{ matrix.arch }}
|
||||
sudo apt update
|
||||
|
||||
sudo apt install -y \
|
||||
libwebkit2gtk-4.1-dev:${{ matrix.arch }} \
|
||||
libayatana-appindicator3-dev:${{ matrix.arch }} \
|
||||
libssl-dev:${{ matrix.arch }} \
|
||||
patchelf:${{ matrix.arch }} \
|
||||
librsvg2-dev:${{ matrix.arch }}
|
||||
|
||||
- name: "Install aarch64 tools"
|
||||
if: matrix.target == 'aarch64-unknown-linux-gnu'
|
||||
run: |
|
||||
sudo apt install -y \
|
||||
gcc-aarch64-linux-gnu \
|
||||
g++-aarch64-linux-gnu
|
||||
|
||||
- name: "Install armv7 tools"
|
||||
if: matrix.target == 'armv7-unknown-linux-gnueabihf'
|
||||
run: |
|
||||
sudo apt install -y \
|
||||
gcc-arm-linux-gnueabihf \
|
||||
g++-arm-linux-gnueabihf
|
||||
|
||||
- name: Build for Linux
|
||||
run: |
|
||||
export PKG_CONFIG_ALLOW_CROSS=1
|
||||
if [ "${{ matrix.target }}" == "aarch64-unknown-linux-gnu" ]; then
|
||||
export PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig/:$PKG_CONFIG_PATH
|
||||
export PKG_CONFIG_SYSROOT_DIR=/usr/aarch64-linux-gnu/
|
||||
elif [ "${{ matrix.target }}" == "armv7-unknown-linux-gnueabihf" ]; then
|
||||
export PKG_CONFIG_PATH=/usr/lib/arm-linux-gnueabihf/pkgconfig/:$PKG_CONFIG_PATH
|
||||
export PKG_CONFIG_SYSROOT_DIR=/usr/arm-linux-gnueabihf/
|
||||
fi
|
||||
pnpm build --target ${{ matrix.target }}
|
||||
env:
|
||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
||||
|
||||
- name: Get Version
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install jq
|
||||
echo "VERSION=$(cat package.json | jq '.version' | tr -d '"')" >> $GITHUB_ENV
|
||||
echo "BUILDTIME=$(TZ=Asia/Shanghai date)" >> $GITHUB_ENV
|
||||
|
||||
- name: Upload Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: alpha
|
||||
name: "ClashPro"
|
||||
body: "More new features are now supported."
|
||||
prerelease: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: |
|
||||
src-tauri/target/${{ matrix.target }}/release/bundle/deb/*.deb
|
||||
src-tauri/target/${{ matrix.target }}/release/bundle/rpm/*.rpm
|
||||
|
||||
alpha-for-fixed-webview2:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
arch: x64
|
||||
- os: windows-latest
|
||||
target: aarch64-pc-windows-msvc
|
||||
arch: arm64
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout Repository
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Add Rust Target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Rust Cache
|
||||
uses: Swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: src-tauri
|
||||
cache-all-crates: true
|
||||
cache-on-failure: true
|
||||
|
||||
- name: Install Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: "20"
|
||||
|
||||
- uses: pnpm/action-setup@v4
|
||||
name: Install pnpm
|
||||
with:
|
||||
run_install: false
|
||||
|
||||
- name: Pnpm install and check
|
||||
run: |
|
||||
pnpm i
|
||||
|
||||
- name: Download WebView2 Runtime
|
||||
run: |
|
||||
invoke-webrequest -uri https://github.com/westinyang/WebView2RuntimeArchive/releases/download/109.0.1518.78/Microsoft.WebView2.FixedVersionRuntime.109.0.1518.78.${{ matrix.arch }}.cab -outfile Microsoft.WebView2.FixedVersionRuntime.109.0.1518.78.${{ matrix.arch }}.cab
|
||||
Expand .\Microsoft.WebView2.FixedVersionRuntime.109.0.1518.78.${{ matrix.arch }}.cab -F:* ./src-tauri
|
||||
Remove-Item .\src-tauri\tauri.windows.conf.json
|
||||
Rename-Item .\src-tauri\webview2.${{ matrix.arch }}.json tauri.windows.conf.json
|
||||
|
||||
- name: Tauri build
|
||||
id: build
|
||||
uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tauriScript: pnpm
|
||||
args: --target ${{ matrix.target }}
|
||||
|
||||
- name: Rename
|
||||
run: |
|
||||
Rename-Item '.\src-tauri\target\${{ matrix.target }}\release\bundle\nsis\Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}-setup.exe' 'Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}_fixed_webview2-setup.exe'
|
||||
Rename-Item '.\src-tauri\target\${{ matrix.target }}\release\bundle\nsis\Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}-setup.nsis.zip' 'Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}_fixed_webview2-setup.nsis.zip'
|
||||
Rename-Item '.\src-tauri\target\${{ matrix.target }}\release\bundle\nsis\Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}-setup.nsis.zip.sig' 'Clash Verge_${{steps.build.outputs.appVersion}}_${{ matrix.arch }}_fixed_webview2-setup.nsis.zip.sig'
|
||||
|
||||
- name: Upload Release
|
||||
uses: softprops/action-gh-release@v2
|
||||
with:
|
||||
tag_name: alpha
|
||||
name: "ClashPro"
|
||||
body: "More new features are now supported."
|
||||
prerelease: true
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
||||
files: src-tauri/target/${{ matrix.target }}/release/bundle/nsis/*setup*
|
||||
|
||||
- name: Portable Bundle
|
||||
run: pnpm portable-fixed-webview2 ${{ matrix.target }} --alpha
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
84
.github/back/auto.yml
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
name: "Auto Test"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
publish-tauri:
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: "macos-latest" # for Arm based macs (M1 and above).
|
||||
target: "aarch64-apple-darwin"
|
||||
args: "--target aarch64-apple-darwin"
|
||||
- platform: "macos-latest" # for Intel based macs.
|
||||
target: "x86_64-apple-darwin"
|
||||
args: "--target x86_64-apple-darwin"
|
||||
|
||||
- platform: "ubuntu-22.04"
|
||||
target: "x86_64-unknown-linux-gnu"
|
||||
args: ""
|
||||
- platform: "ubuntu-22.04"
|
||||
target: "aarch64-unknown-linux-gnu"
|
||||
args: ""
|
||||
|
||||
- platform: "windows-latest"
|
||||
target: "aarch64-pc-windows-msvc"
|
||||
args: "--target aarch64-pc-windows-msvc"
|
||||
- platform: "windows-latest"
|
||||
target: "x86_64-pc-windows-msvc"
|
||||
- platform: "windows-latest"
|
||||
target: "i686-pc-windows-msvc"
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install rust target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Sync node version and setup cache
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
- name: install Rust stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||
|
||||
- name: install dependencies (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-22.04'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: install frontend dependencies
|
||||
run: pnpm install # change this to npm, pnpm or bun depending on which one you use.
|
||||
|
||||
- uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tagName: ClashPro-v__VERSION__
|
||||
releaseName: "ClashPro v__VERSION__"
|
||||
body_path: ./NOTE.md
|
||||
releaseDraft: true
|
||||
prerelease: false
|
||||
args: ${{ matrix.args }}
|
||||
219
.github/back/beta_build.yml
vendored
Normal file
@@ -0,0 +1,219 @@
|
||||
name: Build Beta Package
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '22 22 * * *'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
updater:
|
||||
description: 'Enable updater?'
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
platform_windows:
|
||||
description: 'windows'
|
||||
required: true
|
||||
type: boolean
|
||||
default: true
|
||||
platform_linux:
|
||||
description: 'linux'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
platform_macos:
|
||||
description: 'macos'
|
||||
required: true
|
||||
type: boolean
|
||||
default: false
|
||||
retain_days:
|
||||
description: 'Artifacts retention time (days)'
|
||||
required: true
|
||||
type: string
|
||||
default: '1'
|
||||
|
||||
jobs:
|
||||
preprocess:
|
||||
runs-on: ubuntu-latest
|
||||
outputs:
|
||||
matrix: ${{ steps.setting.outputs.matrix }}
|
||||
retain_days: ${{ steps.setting.outputs.retain_days }}
|
||||
file_prefix: ${{ steps.filename.outputs.file_prefix }}
|
||||
# build_time: ${{ steps.filename.outputs.build_time }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Install yq
|
||||
uses: mikefarah/yq@master
|
||||
with:
|
||||
cmd: yq -V
|
||||
|
||||
- name: Update tauri.conf.json
|
||||
if: ${{ github.event_name != 'schedule' && !inputs.updater }}
|
||||
run: |
|
||||
cp src-tauri/tauri.conf.json tauri.conf.json
|
||||
yq -i '.bundle.createUpdaterArtifacts = false' tauri.conf.json
|
||||
|
||||
- name: Upload tauri-config
|
||||
if: ${{ github.event_name != 'schedule' && !inputs.updater }}
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: tauri-config
|
||||
path: tauri.conf.json
|
||||
retention-days: 1
|
||||
|
||||
- name: Get file name
|
||||
id: filename
|
||||
run: |
|
||||
productName=$(yq e -r '.productName' src-tauri/tauri.conf.json)
|
||||
# build_time=$(TZ=UTC-8 date +%y%m%d%H)
|
||||
git_des=$(git describe --long --tags --always --dirty | sed 's/-g/-/')
|
||||
echo "file_prefix=${productName}_${git_des}" >> "$GITHUB_OUTPUT"
|
||||
# echo "build_time=${build_time}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
- name: Setting variable
|
||||
id: setting
|
||||
run: |
|
||||
matrix=""
|
||||
if [ "${{ github.event_name }}" == "schedule" ]; then
|
||||
matrix="\"windows-latest\",\"ubuntu-22.04\",\"macos-latest\""
|
||||
retain_days='1'
|
||||
else
|
||||
if [ "${{ inputs.platform_windows }}" == "true" ]; then
|
||||
matrix="${matrix}\"windows-latest\","
|
||||
fi
|
||||
if [ "${{ inputs.platform_linux }}" == "true" ]; then
|
||||
matrix="${matrix}\"ubuntu-22.04\","
|
||||
fi
|
||||
if [ "${{ inputs.platform_macos }}" == "true" ]; then
|
||||
matrix="${matrix}\"macos-latest\","
|
||||
fi
|
||||
if [ -z "${matrix}" ]; then
|
||||
matrix="\"windows-latest\","
|
||||
fi
|
||||
matrix="${matrix%,}"
|
||||
retain_days="${{ inputs.retain_days }}"
|
||||
fi
|
||||
echo "matrix=[${matrix}]" >> "$GITHUB_OUTPUT"
|
||||
echo "retain_days=${retain_days}" >> "$GITHUB_OUTPUT"
|
||||
|
||||
auto-build:
|
||||
needs: preprocess
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: ${{ fromJson(needs.preprocess.outputs.matrix) }}
|
||||
|
||||
runs-on: ${{ matrix.os }}
|
||||
env:
|
||||
retain_days: ${{ needs.preprocess.outputs.retain_days }}
|
||||
FILE_PREFIX: ${{ needs.preprocess.outputs.file_prefix }}
|
||||
# BUILD_TIME: ${{ needs.preprocess.outputs.build_time }}
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
||||
NO_STRIP: true
|
||||
CI: false
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Download artifact
|
||||
if: ${{ github.event_name != 'schedule' && !inputs.updater }}
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
name: tauri-config
|
||||
path: src-tauri
|
||||
|
||||
- name: Install pnpm
|
||||
uses: pnpm/action-setup@v4
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Install Node.js
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: lts/*
|
||||
cache: 'pnpm'
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: matrix.os == 'ubuntu-22.04'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: Install Rust
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
# 那些目标仅在 macos 运行器上使用,因此将其置于 `if` 语句中,以稍微加快 Windows 和 Linux 的构建速度。
|
||||
targets: ${{ startsWith(matrix.os, 'macos') && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||
|
||||
- name: Rust cache
|
||||
uses: swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: './src-tauri -> target'
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
- name: Build MacOS app
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
run: |
|
||||
pnpm tauri build --target aarch64-apple-darwin
|
||||
pnpm tauri build --target x86_64-apple-darwin
|
||||
|
||||
- name: Build Other app
|
||||
if: matrix.os == 'windows-latest' || matrix.os == 'ubuntu-22.04'
|
||||
run: pnpm tauri build
|
||||
|
||||
- name: Rename macos
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
run: |
|
||||
mv target/aarch64-apple-darwin/release/bundle/dmg/*.dmg target/${{ env.FILE_PREFIX }}_aarch64.dmg
|
||||
mv target/x86_64-apple-darwin/release/bundle/dmg/*.dmg target/${{ env.FILE_PREFIX }}_x64.dmg
|
||||
|
||||
- name: Rename windows
|
||||
if: matrix.os == 'windows-latest'
|
||||
run: mv target/release/bundle/nsis/*.exe target/${{ env.FILE_PREFIX }}_x64-setup.exe
|
||||
|
||||
- name: Rename linux
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
run: |
|
||||
mv target/release/bundle/deb/*.deb target/${{ env.FILE_PREFIX }}_amd64.deb
|
||||
mv target/release/bundle/rpm/*.rpm target/${{ env.FILE_PREFIX }}_x64.rpm
|
||||
mv target/release/bundle/appimage/*.AppImage target/${{ env.FILE_PREFIX }}_amd64.AppImage
|
||||
|
||||
- name: Upload artifacts (Windows)
|
||||
if: matrix.os == 'windows-latest'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.FILE_PREFIX }}-windows_x64
|
||||
path: target/*.exe
|
||||
retention-days: ${{ env.retain_days}}
|
||||
compression-level: 0
|
||||
|
||||
- name: Upload artifacts (MacOS)
|
||||
if: startsWith(matrix.os, 'macos')
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.FILE_PREFIX }}-macos_x64_aarch64
|
||||
path: target/*.dmg
|
||||
retention-days: ${{ env.retain_days}}
|
||||
compression-level: 0
|
||||
|
||||
- name: Upload artifacts (Linux)
|
||||
if: startsWith(matrix.os, 'ubuntu')
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: ${{ env.FILE_PREFIX }}-linux_amd64
|
||||
path: |
|
||||
target/*.deb
|
||||
target/*.rpm
|
||||
target/*.AppImage
|
||||
retention-days: ${{ env.retain_days}}
|
||||
compression-level: 0
|
||||
71
.github/back/build copy.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
name: Release
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: 'Branch to run the workflow on'
|
||||
required: true
|
||||
default: 'template'
|
||||
|
||||
jobs:
|
||||
release:
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
platform: [macos-latest, ubuntu-20.04, windows-latest]
|
||||
runs-on: ${{ matrix.platform }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-20.04'
|
||||
# You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
|
||||
|
||||
- name: Rust setup
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Rust cache
|
||||
uses: swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: './src-tauri -> target'
|
||||
|
||||
- name: Sync node version and setup cache
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- name: Install PNPM
|
||||
run: npm i -g pnpm
|
||||
|
||||
- name: Install frontend dependencies
|
||||
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
|
||||
run: pnpm install # Change this to npm, yarn or pnpm.
|
||||
|
||||
- name: Regenerate Icons
|
||||
run: pnpm tauri icon
|
||||
|
||||
- name: Create apple icon
|
||||
run: node ./scripts/creatIcon.cjs
|
||||
|
||||
- name: Build the app
|
||||
uses: tauri-apps/tauri-action@v0
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tagName: ${{ github.ref_name }} # This only works if your workflow triggers on new tags.
|
||||
releaseName: 'PacBao v__VERSION__' # tauri-action replaces \_\_VERSION\_\_ with the app version.
|
||||
releaseBody: 'This is a workflow to help you automate the publishing of your PacBao project to GitHub Packages.'
|
||||
releaseDraft: false
|
||||
prerelease: false
|
||||
publish: true
|
||||
81
.github/back/build.yml
vendored
Normal file
@@ -0,0 +1,81 @@
|
||||
name: 'Publish'
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
|
||||
jobs:
|
||||
publish-tauri:
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: 'macos-latest' # for Arm based macs (M1 and above).
|
||||
target: 'aarch64-apple-darwin'
|
||||
args: '--target aarch64-apple-darwin'
|
||||
- platform: 'macos-latest' # for Intel based macs.
|
||||
target: 'x86_64-apple-darwin'
|
||||
args: '--target x86_64-apple-darwin'
|
||||
|
||||
- platform: 'ubuntu-22.04'
|
||||
target: 'x86_64-unknown-linux-gnu'
|
||||
args: ''
|
||||
- platform: 'ubuntu-22.04'
|
||||
target: 'aarch64-unknown-linux-gnu'
|
||||
args: ''
|
||||
|
||||
- platform: 'windows-latest'
|
||||
target: 'x86_64-pc-windows-msvc'
|
||||
args: ''
|
||||
# - platform: 'windows-latest'
|
||||
# target: 'i686-pc-windows-msvc'
|
||||
# args: ''
|
||||
- platform: 'windows-latest'
|
||||
target: 'aarch64-pc-windows-msvc'
|
||||
args: '--target aarch64-pc-windows-msvc'
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Install rust target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Sync node version and setup cache
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
- name: install Rust stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||
|
||||
- name: install dependencies (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-22.04'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: install frontend dependencies
|
||||
run: pnpm install # change this to npm, pnpm or bun depending on which one you use.
|
||||
|
||||
- uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tagName: 'PacBao-v__VERSION__'
|
||||
releaseName: 'PacBao v__VERSION__'
|
||||
body_path: ./Note.md
|
||||
releaseDraft: true
|
||||
prerelease: false
|
||||
args: ${{ matrix.args }}
|
||||
203
.github/back/desc.md
vendored
Normal file
@@ -0,0 +1,203 @@
|
||||
这个 GitHub Actions 文件定义了一个复杂的 CI/CD 流程,用于构建、发布和管理一个名为 "Clash Verge Rev" 的项目。以下是每一步的详细解释:
|
||||
|
||||
### 1. **工作流名称和触发条件**
|
||||
|
||||
```yaml
|
||||
name: Release Build
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
```
|
||||
|
||||
- **name**: 工作流的名称是 "Release Build"。
|
||||
- **on**: 工作流由 `workflow_dispatch` 触发,这意味着它可以通过 GitHub 的手动操作来启动。
|
||||
|
||||
### 2. **权限和环境变量**
|
||||
|
||||
```yaml
|
||||
permissions: write-all
|
||||
env:
|
||||
CARGO_INCREMENTAL: 0
|
||||
RUST_BACKTRACE: short
|
||||
```
|
||||
|
||||
- **permissions**: 设置工作流的权限为 `write-all`,允许工作流对仓库进行写操作。
|
||||
- **env**: 定义了两个环境变量:
|
||||
- `CARGO_INCREMENTAL`: 设置为 `0`,禁用 Rust 的增量编译。
|
||||
- `RUST_BACKTRACE`: 设置为 `short`,在 Rust 程序崩溃时生成简短的 backtrace。
|
||||
|
||||
### 3. **Jobs**
|
||||
|
||||
#### **3.1 `release` Job**
|
||||
|
||||
这个 Job 负责在多个操作系统和架构上构建项目。
|
||||
|
||||
```yaml
|
||||
jobs:
|
||||
release:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
- os: windows-latest
|
||||
target: aarch64-pc-windows-msvc
|
||||
- os: macos-latest
|
||||
target: aarch64-apple-darwin
|
||||
- os: macos-latest
|
||||
target: x86_64-apple-darwin
|
||||
- os: ubuntu-22.04
|
||||
target: x86_64-unknown-linux-gnu
|
||||
```
|
||||
|
||||
- **strategy**: 使用矩阵策略,定义了多个操作系统和目标的组合。
|
||||
- **fail-fast**: 设置为 `false`,即使其中一个组合失败,其他组合也会继续执行。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout Repository**: 使用 `actions/checkout@v4` 检出代码仓库。
|
||||
2. **Install Rust Stable**: 使用 `dtolnay/rust-toolchain@stable` 安装 Rust 稳定版。
|
||||
3. **Add Rust Target**: 使用 `rustup target add` 添加指定的 Rust 目标。
|
||||
4. **Rust Cache**: 使用 `Swatinem/rust-cache@v2` 缓存 Rust 构建结果,以加速后续构建。
|
||||
5. **Install dependencies (ubuntu only)**: 仅在 Ubuntu 上安装必要的依赖项。
|
||||
6. **Install Node**: 使用 `actions/setup-node@v4` 安装 Node.js。
|
||||
7. **Install pnpm**: 使用 `pnpm/action-setup@v4` 安装 pnpm。
|
||||
8. **Pnpm install and check**: 使用 `pnpm` 安装依赖并检查项目。
|
||||
9. **Tauri build**: 使用 `tauri-apps/tauri-action@v0` 构建 Tauri 应用,并设置相关环境变量。
|
||||
10. **Portable Bundle**: 在 Windows 上生成便携式包。
|
||||
|
||||
#### **3.2 `release-for-linux-arm` Job**
|
||||
|
||||
这个 Job 负责在 Linux ARM 架构上构建项目。
|
||||
|
||||
```yaml
|
||||
release-for-linux-arm:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: ubuntu-22.04
|
||||
target: aarch64-unknown-linux-gnu
|
||||
arch: arm64
|
||||
- os: ubuntu-22.04
|
||||
target: armv7-unknown-linux-gnueabihf
|
||||
arch: armhf
|
||||
```
|
||||
|
||||
- **strategy**: 使用矩阵策略,定义了两个 Linux ARM 目标。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout Repository**: 检出代码仓库。
|
||||
2. **Install Rust Stable**: 安装 Rust 稳定版。
|
||||
3. **Add Rust Target**: 添加指定的 Rust 目标。
|
||||
4. **Rust Cache**: 缓存 Rust 构建结果。
|
||||
5. **Install Node**: 安装 Node.js。
|
||||
6. **Install pnpm**: 安装 pnpm。
|
||||
7. **Pnpm install and check**: 安装依赖并检查项目。
|
||||
8. **Setup for linux**: 配置 Linux 环境,添加 ARM 架构的软件源并安装必要的依赖。
|
||||
9. **Install aarch64 tools**: 安装 aarch64 工具链。
|
||||
10. **Install armv7 tools**: 安装 armv7 工具链。
|
||||
11. **Build for Linux**: 构建 Linux ARM 版本的项目。
|
||||
12. **Get Version**: 从 `package.json` 中获取版本号。
|
||||
13. **Upload Release**: 使用 `softprops/action-gh-release@v2` 上传构建结果到 GitHub Release。
|
||||
|
||||
#### **3.3 `release-for-fixed-webview2` Job**
|
||||
|
||||
这个 Job 负责在 Windows 上构建项目,并使用固定版本的 WebView2 运行时。
|
||||
|
||||
```yaml
|
||||
release-for-fixed-webview2:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- os: windows-latest
|
||||
target: x86_64-pc-windows-msvc
|
||||
arch: x64
|
||||
- os: windows-latest
|
||||
target: i686-pc-windows-msvc
|
||||
arch: x86
|
||||
- os: windows-latest
|
||||
target: aarch64-pc-windows-msvc
|
||||
arch: arm64
|
||||
```
|
||||
|
||||
- **strategy**: 使用矩阵策略,定义了多个 Windows 目标。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout Repository**: 检出代码仓库。
|
||||
2. **Add Rust Target**: 添加指定的 Rust 目标。
|
||||
3. **Rust Cache**: 缓存 Rust 构建结果。
|
||||
4. **Install Node**: 安装 Node.js。
|
||||
5. **Install pnpm**: 安装 pnpm。
|
||||
6. **Pnpm install and check**: 安装依赖并检查项目。
|
||||
7. **Download WebView2 Runtime**: 下载并配置固定版本的 WebView2 运行时。
|
||||
8. **Tauri build**: 构建 Tauri 应用。
|
||||
9. **Rename**: 重命名构建产物。
|
||||
10. **Upload Release**: 上传构建结果到 GitHub Release。
|
||||
11. **Portable Bundle**: 生成便携式包。
|
||||
|
||||
#### **3.4 `release-update` Job**
|
||||
|
||||
这个 Job 负责更新发布文件。
|
||||
|
||||
```yaml
|
||||
release-update:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [release, release-for-linux-arm]
|
||||
```
|
||||
|
||||
- **needs**: 依赖于 `release` 和 `release-for-linux-arm` Job。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout repository**: 检出代码仓库。
|
||||
2. **Install Node**: 安装 Node.js。
|
||||
3. **Install pnpm**: 安装 pnpm。
|
||||
4. **Pnpm install**: 安装依赖。
|
||||
5. **Release updater file**: 运行 `pnpm updater` 更新发布文件。
|
||||
|
||||
#### **3.5 `release-update-for-fixed-webview2` Job**
|
||||
|
||||
这个 Job 负责更新使用固定 WebView2 运行时的发布文件。
|
||||
|
||||
```yaml
|
||||
release-update-for-fixed-webview2:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [release-for-fixed-webview2]
|
||||
```
|
||||
|
||||
- **needs**: 依赖于 `release-for-fixed-webview2` Job。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout repository**: 检出代码仓库。
|
||||
2. **Install Node**: 安装 Node.js。
|
||||
3. **Install pnpm**: 安装 pnpm。
|
||||
4. **Pnpm install**: 安装依赖。
|
||||
5. **Release updater file**: 运行 `pnpm updater-fixed-webview2` 更新发布文件。
|
||||
|
||||
#### **3.6 `submit-to-winget` Job**
|
||||
|
||||
这个 Job 负责将构建结果提交到 Winget 包管理器。
|
||||
|
||||
```yaml
|
||||
submit-to-winget:
|
||||
runs-on: ubuntu-latest
|
||||
needs: [release-update]
|
||||
```
|
||||
|
||||
- **needs**: 依赖于 `release-update` Job。
|
||||
|
||||
**Steps:**
|
||||
|
||||
1. **Checkout repository**: 检出代码仓库。
|
||||
2. **Get Version**: 从 `package.json` 中获取版本号。
|
||||
3. **Submit to Winget**: 使用 `vedantmgoyal9/winget-releaser@main` 将构建结果提交到 Winget。
|
||||
|
||||
### 总结
|
||||
|
||||
这个 GitHub Actions 工作流文件定义了一个复杂的 CI/CD 流程,涵盖了多个操作系统和架构的构建、发布、更新以及提交到 Winget 包管理器的操作。每个 Job 都有明确的步骤和依赖关系,确保整个流程的顺利执行。
|
||||
28
.github/back/issue.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
# name: HandleIssue
|
||||
|
||||
# on:
|
||||
# issues:
|
||||
# types:
|
||||
# - opened
|
||||
# workflow_dispatch:
|
||||
|
||||
# jobs:
|
||||
# build:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - uses: actions/checkout@v3
|
||||
# - name: Set up Python 3.10
|
||||
# uses: actions/setup-python@v3
|
||||
# with:
|
||||
# python-version: '3.10'
|
||||
|
||||
# - name: Install dependencies
|
||||
# run: |
|
||||
# python -m pip install --upgrade pip
|
||||
# if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
|
||||
# - name: StartTask
|
||||
# env:
|
||||
# TOKEN: ${{ secrets.TOKEN }}
|
||||
# run: |
|
||||
# # stop the build if there are Python syntax errors or undefined names
|
||||
# python cli/issue.py
|
||||
110
.github/back/other.yml
vendored
Normal file
@@ -0,0 +1,110 @@
|
||||
name: Release
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: 'Branch to run the workflow on'
|
||||
required: true
|
||||
default: 'template'
|
||||
|
||||
jobs:
|
||||
create-release:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Set output
|
||||
id: vars
|
||||
run: echo "tag=${GITHUB_REF#refs/*/}" >> $GITHUB_OUTPUT
|
||||
|
||||
# 安装 Node.js
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
# 编译 Tauri
|
||||
build-app:
|
||||
needs: create-release
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: 'macos-latest'
|
||||
target: 'aarch64-apple-darwin'
|
||||
- platform: 'macos-latest'
|
||||
target: 'x86_64-apple-darwin'
|
||||
|
||||
- platform: 'windows-latest'
|
||||
target: 'x86_64-pc-windows-msvc'
|
||||
- platform: 'windows-latest'
|
||||
target: 'i686-pc-windows-msvc'
|
||||
- platform: 'windows-latest'
|
||||
target: 'aarch64-pc-windows-msvc'
|
||||
|
||||
- platform: 'ubuntu-22.04'
|
||||
target: 'x86_64-unknown-linux-gnu'
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
- uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Install rust target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-20.04'
|
||||
# You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
|
||||
|
||||
# 安装 Rust
|
||||
- name: Install Rust stable
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
# 使用 Rust 缓存,加快安装速度
|
||||
- name: Rust cache
|
||||
uses: swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: target
|
||||
|
||||
# 获取 pnpm 缓存
|
||||
- name: Sync node version and setup cache
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
# 安装依赖, 前端打包
|
||||
- name: Install app dependencies and build web
|
||||
run: pnpm install
|
||||
|
||||
# 执行构建,以及推送 github release
|
||||
- name: Build the app
|
||||
uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
CI: false
|
||||
PLATFORM: ${{ matrix.platform }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
tagName: ${{ github.ref_name }}
|
||||
releaseName: 'PacBao v__VERSION__'
|
||||
releaseBody: 'This is a workflow to help you automate the publishing of your PacBao project to GitHub Packages.'
|
||||
releaseDraft: true
|
||||
prerelease: false
|
||||
args: --target ${{ matrix.target }}
|
||||
67
.github/back/press.yml
vendored
Normal file
@@ -0,0 +1,67 @@
|
||||
name: Deploy Official
|
||||
|
||||
on:
|
||||
# 在针对 `main` 分支的推送上运行。如果你
|
||||
# 使用 `master` 分支作为默认分支,请将其更改为 `master`
|
||||
push:
|
||||
branches: [main]
|
||||
|
||||
# 允许你从 Actions 选项卡手动运行此工作流程
|
||||
workflow_dispatch:
|
||||
|
||||
# 设置 GITHUB_TOKEN 的权限,以允许部署到 GitHub Pages
|
||||
permissions:
|
||||
contents: read
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
# 只允许同时进行一次部署,跳过正在运行和最新队列之间的运行队列
|
||||
# 但是,不要取消正在进行的运行,因为我们希望允许这些生产部署完成
|
||||
concurrency:
|
||||
group: pages
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
# 构建工作
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0 # 如果未启用 lastUpdated,则不需要
|
||||
- uses: pnpm/action-setup@v3 # 如果使用 pnpm,请取消此区域注释
|
||||
with:
|
||||
version: 9
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm # 或 pnpm / yarn
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v4
|
||||
- name: Install dependencies
|
||||
run: pnpm install # 或 pnpm install / yarn install / bun install
|
||||
- name: GitPress Config
|
||||
run: node ./scripts/gitpress.cjs gitBase
|
||||
- name: Build with VitePress
|
||||
run: pnpm run docs:build # 或 pnpm docs:build / yarn docs:build / bun run docs:build
|
||||
- name: Copy Static
|
||||
run: node ./scripts/gitpress.cjs copyStatic
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: docs/dist
|
||||
|
||||
# 部署工作
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs: build
|
||||
runs-on: ubuntu-latest
|
||||
name: Deploy
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
85
.github/back/test.yml
vendored
Normal file
@@ -0,0 +1,85 @@
|
||||
name: Test
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
publish-tauri:
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: 'macos-latest' # for Arm based macs (M1 and above).
|
||||
target: 'aarch64-apple-darwin'
|
||||
args: '--target aarch64-apple-darwin'
|
||||
- platform: 'macos-latest' # for Intel based macs.
|
||||
target: 'x86_64-apple-darwin'
|
||||
args: '--target x86_64-apple-darwin'
|
||||
- platform: 'ubuntu-20.04'
|
||||
target: 'x86_64-unknown-linux-gnu'
|
||||
args: ''
|
||||
- platform: 'windows-latest'
|
||||
target: 'x86_64-pc-windows-msvc'
|
||||
|
||||
- platform: 'windows-latest'
|
||||
target: 'i686-pc-windows-msvc'
|
||||
- platform: 'windows-latest'
|
||||
target: 'aarch64-pc-windows-msvc'
|
||||
args: '--target aarch64-pc-windows-msvc'
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Install rust target
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-20.04'
|
||||
# You can remove libayatana-appindicator3-dev if you don't use the system tray feature.
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev librsvg2-dev
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
|
||||
- uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: latest
|
||||
|
||||
# 获取 pnpm 缓存
|
||||
- name: Sync node version and setup cache
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
- name: install Rust stable
|
||||
uses: dtolnay/rust-toolchain@stable # Set this to dtolnay/rust-toolchain@nightly
|
||||
with:
|
||||
# Those targets are only used on macos runners so it's in an `if` to slightly speed up windows and linux builds.
|
||||
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||
|
||||
- name: Rust cache
|
||||
uses: swatinem/rust-cache@v2
|
||||
with:
|
||||
workspaces: './src-tauri -> target'
|
||||
|
||||
- name: install frontend dependencies
|
||||
# If you don't have `beforeBuildCommand` configured you may want to build your frontend here too.
|
||||
run: pnpm install # change this to npm or pnpm depending on which one you use.
|
||||
|
||||
- uses: tauri-apps/tauri-action@v0
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
with:
|
||||
releaseName: 'PacBao Test'
|
||||
releaseBody: 'This is a draft version'
|
||||
releaseDraft: true
|
||||
prerelease: false
|
||||
publish: false
|
||||
args: ${{ matrix.args }}
|
||||
236
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,236 @@
|
||||
name: 'Publish and Deploy'
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
build_macos_aarch64:
|
||||
description: 'Build for macOS aarch64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_macos_x86_64:
|
||||
description: 'Build for macOS x86_64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_linux_x86_64:
|
||||
description: 'Build for Linux x86_64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_linux_aarch64:
|
||||
description: 'Build for Linux aarch64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_windows_x86_64:
|
||||
description: 'Build for Windows x86_64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
build_windows_aarch64:
|
||||
description: 'Build for Windows aarch64'
|
||||
required: false
|
||||
type: boolean
|
||||
default: true
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
pages: write
|
||||
id-token: write
|
||||
|
||||
concurrency:
|
||||
group: pages
|
||||
cancel-in-progress: false
|
||||
|
||||
jobs:
|
||||
publish-tauri:
|
||||
permissions:
|
||||
contents: write
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
include:
|
||||
- platform: 'macos-latest'
|
||||
target: 'aarch64-apple-darwin'
|
||||
args: '--target aarch64-apple-darwin'
|
||||
enabled: ${{ github.event.inputs.build_macos_aarch64 == 'true' }}
|
||||
- platform: 'macos-latest'
|
||||
target: 'x86_64-apple-darwin'
|
||||
args: '--target x86_64-apple-darwin'
|
||||
enabled: ${{ github.event.inputs.build_macos_x86_64 == 'true' }}
|
||||
- platform: 'ubuntu-22.04'
|
||||
target: 'x86_64-unknown-linux-gnu'
|
||||
args: ''
|
||||
enabled: ${{ github.event.inputs.build_linux_x86_64 == 'true' }}
|
||||
- platform: 'ubuntu-22.04'
|
||||
target: 'aarch64-unknown-linux-gnu'
|
||||
args: ''
|
||||
enabled: ${{ github.event.inputs.build_linux_aarch64 == 'true' }}
|
||||
- platform: 'windows-latest'
|
||||
target: 'x86_64-pc-windows-msvc'
|
||||
args: ''
|
||||
enabled: ${{ github.event.inputs.build_windows_x86_64 == 'true' }}
|
||||
- platform: 'windows-latest'
|
||||
target: 'aarch64-pc-windows-msvc'
|
||||
args: '--target aarch64-pc-windows-msvc'
|
||||
enabled: ${{ github.event.inputs.build_windows_aarch64 == 'true' }}
|
||||
|
||||
runs-on: ${{ matrix.platform }}
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: Checkout
|
||||
if: ${{ matrix.enabled }}
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Check Tauri
|
||||
if: ${{ matrix.enabled }}
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -z "${{ secrets.TAURI_KEY_PASSWORD }}" ]; then
|
||||
echo "::error::TAURI_KEY_PASSWORD is required but not set."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Install rust target
|
||||
if: ${{ matrix.enabled }}
|
||||
run: rustup target add ${{ matrix.target }}
|
||||
|
||||
- uses: pnpm/action-setup@v3
|
||||
if: ${{ matrix.enabled }}
|
||||
with:
|
||||
version: latest
|
||||
|
||||
- name: Sync node version and setup cache
|
||||
if: ${{ matrix.enabled }}
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
- name: Install Rust stable
|
||||
if: ${{ matrix.enabled }}
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
with:
|
||||
targets: ${{ matrix.platform == 'macos-latest' && 'aarch64-apple-darwin,x86_64-apple-darwin' || '' }}
|
||||
|
||||
- name: Install dependencies (ubuntu only)
|
||||
if: ${{ matrix.enabled && matrix.platform == 'ubuntu-22.04'}}
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
|
||||
|
||||
- name: Install frontend dependencies
|
||||
if: ${{ matrix.enabled }}
|
||||
run: pnpm install
|
||||
|
||||
- name: import Apple Developer Certificate
|
||||
if: ${{ matrix.enabled && matrix.platform == 'macos-latest'}}
|
||||
env:
|
||||
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
|
||||
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
||||
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
|
||||
run: |
|
||||
echo $APPLE_CERTIFICATE | base64 --decode > certificate.p12
|
||||
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
|
||||
security default-keychain -s build.keychain
|
||||
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
|
||||
security set-keychain-settings -t 3600 -u build.keychain
|
||||
security import certificate.p12 -k build.keychain -P "$APPLE_CERTIFICATE_PASSWORD" -T /usr/bin/codesign
|
||||
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
|
||||
security find-identity -v -p codesigning build.keychain
|
||||
|
||||
- name: verify certificate
|
||||
if: ${{ matrix.enabled && matrix.platform == 'macos-latest'}}
|
||||
run: |
|
||||
CERT_INFO=$(security find-identity -v -p codesigning build.keychain | grep "Developer ID Application")
|
||||
CERT_ID=$(echo "$CERT_INFO" | awk -F'"' '{print $2}')
|
||||
echo "CERT_ID=$CERT_ID" >> $GITHUB_ENV
|
||||
echo "Certificate imported."
|
||||
|
||||
- uses: tauri-apps/tauri-action@v0
|
||||
if: ${{ matrix.enabled }}
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
APPLE_ID: ${{ secrets.APPLE_ID }}
|
||||
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
|
||||
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
|
||||
APPLE_CERTIFICATE: ${{ secrets.APPLE_CERTIFICATE }}
|
||||
APPLE_CERTIFICATE_PASSWORD: ${{ secrets.APPLE_CERTIFICATE_PASSWORD }}
|
||||
APPLE_SIGNING_IDENTITY: ${{ env.CERT_ID }}
|
||||
TAURI_SIGNING_PRIVATE_KEY: ${{ secrets.TAURI_PRIVATE_KEY }}
|
||||
TAURI_SIGNING_PRIVATE_KEY_PASSWORD: ${{ secrets.TAURI_KEY_PASSWORD }}
|
||||
VITE_GITHUB_DOMAIN: ${{ secrets.VITE_GITHUB_DOMAIN }}
|
||||
VITE_PAYJS_DOMAIN: ${{ secrets.VITE_PAYJS_DOMAIN }}
|
||||
VITE_PAYJS_MCHID: ${{ secrets.VITE_PAYJS_MCHID }}
|
||||
VITE_PAYJS_SIGN_KEY: ${{ secrets.VITE_PAYJS_SIGN_KEY }}
|
||||
VITE_YUNPAY_DOMAIN: ${{ secrets.VITE_YUNPAY_DOMAIN }}
|
||||
VITE_YUNPAY_MCHID: ${{ secrets.VITE_YUNPAY_MCHID }}
|
||||
VITE_YUNPAY_SIGN_KEY: ${{ secrets.VITE_YUNPAY_SIGN_KEY }}
|
||||
VITE_ZPAY_DOMAIN: ${{ secrets.VITE_ZPAY_DOMAIN }}
|
||||
VITE_ZPAY_MCHID: ${{ secrets.VITE_ZPAY_MCHID }}
|
||||
VITE_ZPAY_SIGN_KEY: ${{ secrets.VITE_ZPAY_SIGN_KEY }}
|
||||
VITE_GTAG_ID: ${{ secrets.VITE_GTAG_ID }}
|
||||
VITE_UPSTREAM_USER: ${{ secrets.VITE_UPSTREAM_USER }}
|
||||
VITE_WEB_BRANCH: ${{ secrets.VITE_WEB_BRANCH }}
|
||||
VITE_DEV_BRANCH: ${{ secrets.VITE_DEV_BRANCH }}
|
||||
VITE_MAIN_BRANCH: ${{ secrets.VITE_MAIN_BRANCH }}
|
||||
VITE_FILE_LIMIT_SIZE: ${{ secrets.VITE_FILE_LIMIT_SIZE }}
|
||||
VITE_FILE_LIMIT_NUMBER: ${{ secrets.VITE_FILE_LIMIT_NUMBER }}
|
||||
VITE_LOCAL_RHEXE: ${{ secrets.VITE_LOCAL_RHEXE }}
|
||||
with:
|
||||
tagName: 'PacBao-v__VERSION__'
|
||||
releaseName: 'PacBao v__VERSION__'
|
||||
body_path: ./Note.md
|
||||
releaseDraft: true
|
||||
prerelease: false
|
||||
args: ${{ matrix.args }}
|
||||
|
||||
deploy-pages:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- uses: pnpm/action-setup@v3
|
||||
with:
|
||||
version: 9
|
||||
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 20
|
||||
cache: pnpm
|
||||
|
||||
- name: Setup Pages
|
||||
uses: actions/configure-pages@v4
|
||||
|
||||
- name: Install dependencies
|
||||
run: pnpm install
|
||||
|
||||
- name: GitPress Config
|
||||
run: node ./scripts/gitpress.cjs gitBase
|
||||
|
||||
- name: Build with VitePress
|
||||
run: pnpm run docs:build
|
||||
|
||||
- name: Copy Static
|
||||
run: node ./scripts/gitpress.cjs copyStatic
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-pages-artifact@v3
|
||||
with:
|
||||
path: docs/dist
|
||||
|
||||
deploy:
|
||||
environment:
|
||||
name: github-pages
|
||||
url: ${{ steps.deployment.outputs.page_url }}
|
||||
needs: deploy-pages
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Deploy to GitHub Pages
|
||||
id: deployment
|
||||
uses: actions/deploy-pages@v4
|
||||
57
.gitignore
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
# Logs
|
||||
logs
|
||||
*.log
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
pnpm-debug.log*
|
||||
lerna-debug.log*
|
||||
|
||||
node_modules
|
||||
dist-ssr
|
||||
*.local
|
||||
stats.html
|
||||
auto-imports.d.ts
|
||||
components.d.ts
|
||||
|
||||
# Editor directories and files
|
||||
.vscode/*
|
||||
!.vscode/extensions.json
|
||||
.idea
|
||||
.DS_Store
|
||||
*.suo
|
||||
*.ntvs*
|
||||
*.njsproj
|
||||
*.sln
|
||||
*.sw?
|
||||
dist
|
||||
|
||||
# IDE
|
||||
*.iml
|
||||
.gradle
|
||||
/local.properties
|
||||
/.idea/caches
|
||||
/.idea/libraries
|
||||
/.idea/modules.xml
|
||||
/.idea/workspace.xml
|
||||
/.idea/navEditor.xml
|
||||
/.idea/assetWizardSettings.xml
|
||||
.DS_Store
|
||||
/build
|
||||
/captures
|
||||
.externalNativeBuild
|
||||
.cxx
|
||||
local.properties
|
||||
.src/assets/*.js
|
||||
|
||||
# vitepress
|
||||
docs/.vitepress/dist
|
||||
docs/.vitepress/cache
|
||||
docs/.vitepress/temp
|
||||
docs/.vitepress/cache
|
||||
docs/.vitepress/temp
|
||||
docs/.vitepress/cache
|
||||
docs/.vitepress/temp
|
||||
|
||||
# tauri
|
||||
src-tauri/target
|
||||
6
.hintrc
Normal file
@@ -0,0 +1,6 @@
|
||||
{
|
||||
"extends": ["development"],
|
||||
"hints": {
|
||||
"no-inline-styles": "off"
|
||||
}
|
||||
}
|
||||
7
.vscode/extensions.json
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"recommendations": [
|
||||
"Vue.volar",
|
||||
"tauri-apps.tauri-vscode",
|
||||
"rust-lang.rust-analyzer"
|
||||
]
|
||||
}
|
||||
21
LICENSE
Normal file
@@ -0,0 +1,21 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2024 Sjj1024
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
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.
|
||||
28
Note.md
Normal file
@@ -0,0 +1,28 @@
|
||||
### MacOS
|
||||
|
||||
- MacOS intel: x64.dmg
|
||||
- MacOS apple: aarch64.dmg (popular / 最流行)
|
||||
|
||||
### Windows
|
||||
|
||||
- x64: x64-setup.exe (popular / 最流行)
|
||||
- arm64: arm64-setup.exe
|
||||
|
||||
### Linux
|
||||
|
||||
- Linux x64: amd64.deb/amd64.rpm (popular / 最流行)
|
||||
- Linux arm64 architecture: arm64.deb/aarch64.rpm
|
||||
- Linux armv7: armhf.deb/armhfp.rpm
|
||||
|
||||
### Web beta
|
||||
|
||||
- Not recommended as it is a beta version.(不推荐,因为是 beta 版本)
|
||||
- https://PacBao.pages.dev
|
||||
- https://PacBao.netlify.app
|
||||
|
||||
### Document(使用文档)
|
||||
|
||||
- https://ppofficial.netlify.app/guide/
|
||||
- https://sjj1024.github.io/PacBao/guide/
|
||||
- https://www.PacBao.com/guide/
|
||||
- https://PacBao.vercel.app/guide/
|
||||
198
README.md
Normal file
@@ -0,0 +1,198 @@
|
||||
<h4 align="right">
|
||||
<span href=".README.md">English</span>
|
||||
<a href="https://ppofficial.netlify.app/zh/"
|
||||
style="margin: 0 10px;" >简体中文</a>
|
||||
<a href="https://github.com/Sjj1024/PabBao/discussions/108">日本语</a>
|
||||
</h4>
|
||||
<p align="center">
|
||||
<img src="https://github.com/Sjj1024/PacBao-Doc/raw/main/static/imgs/PacBao.png" width=138/>
|
||||
</p>
|
||||
<h1 align="center">PacBao</h1>
|
||||
<p align="center"><strong>Turn any webpage/Vue/React and so on into desktop and mobile app under 5M with easy in few minutes</strong></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases"><img src="https://img.shields.io/github/v/release/Sjj1024/PacBao?style=flat-square&logo=github" alt="Release"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/stargazers"><img src="https://img.shields.io/github/stars/Sjj1024/PacBao?style=flat-square&logo=github" alt="Stars"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/stargazers"><img src="https://img.shields.io/github/forks/Sjj1024/PacBao?style=flat-square&logo=github" alt="Forks"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/actions/workflows/build.yml"><img src="https://img.shields.io/github/actions/workflow/status/Sjj1024/PacBao/build.yml?style=flat-square&logo=github" alt="Build"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Sjj1024/PacBao?style=flat-square&logo=github" alt="License"></a>
|
||||
<!-- <a href="https://hellogithub.com/repository/d148f8fac78b45fe9b94c82757c3f86b" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=d148f8fac78b45fe9b94c82757c3f86b&claim_uid=LXfeQOxRDEmSUGC&theme=small" alt="Featured|HelloGitHub"></a> -->
|
||||
</p>
|
||||
|
||||
<div align="left">PacBao supports Mac, Windows, Linux, and Android & iOS. There’s no need to install complex dependencies locally, PacBao is only about 10MB in size. For the latest version, please see the <a href="[#popular-packages](https://github.com/Sjj1024/PacBao/releases)">release page</a>. or visit: <a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>.
|
||||
Document: <a href="https://PacBao.com/guide/" target="_blank">PacBao Guide</a></div>
|
||||
<br>
|
||||
|
||||
> Due to individuals using this project to package illegal software, which violates its intended purpose, the front-end code will no longer be open-source. If such behavior is found again, all code in this project will cease to be open-source. Please use this software legally and responsibly, or bear the consequences.
|
||||
|
||||
https://github.com/user-attachments/assets/b88bf541-0b26-4020-9eec-da79e1734fc9
|
||||
|
||||
## Features
|
||||
|
||||
- 💎 Approximately 20 times smaller than Electron (less than 5MB!) and 10 times faster.
|
||||
- 🚀 Built with Rust Tauri, PacBao is lighter and faster than JavaScript-based frameworks.
|
||||
- 📦 Comes with rich built-in features — supports shortcuts, immersive windows, and minimalist customization.
|
||||
- 👻 PacBao is a minimalist tool that replaces traditional packaging with Tauri for cross-platform desktop apps.
|
||||
- 📲 Uses native frameworks to package Android and iOS apps — smaller and faster than Tauri2.
|
||||
- 🤗 Easy to use — just one GitHub Token is all you need to get a desktop app.
|
||||
- 🌹 No need to install complex dependencies locally — use GitHub Actions for cloud-based automatic packaging.
|
||||
- 🧑🤝🧑 Internationalization support — automatically follows your system language.
|
||||
- 💡 Supports custom JavaScript injection — write your own JS to inject into the page.
|
||||
- 🎨 Beautiful and user-friendly UI — better experience for beginners, supports Chinese names for packaging.
|
||||
- 📡 Usable directly via the web, but the client offers stronger functionality and is recommended.
|
||||
- 🔐 Data security — your token is stored only locally, and your project stays safely in your own Git repo.
|
||||
- 🍔 Supports local packaging and does not require installation of any dependent environments. Local packaging only takes 30 seconds
|
||||
- 🥥 It's okay without Github Token, local packaging is simple and convenient, and no Token is needed
|
||||
- ⚔️ Support calling system level APIs in JS scripts, such as downloading files/executing commands/opening new windows, etc
|
||||
- 🍀 Supports static file packaging — drop in a compiled dist folder or index.html from Vue/React to create a client app.
|
||||
- 🐞 Debug mode supported — find and eliminate bugs during preview or release.
|
||||
- 💬 If you run into any issues, feel free to join our technical community for help.
|
||||
|
||||
## Use Cases
|
||||
|
||||
- Have a website? Instantly turn it into a app and elevate its appearance.
|
||||
- Have a Vue/React project and don’t want to buy a server? Package it as a desktop app.
|
||||
- Want your Cocos game to run as a cross-platform client? No problem.
|
||||
- Need to build your Unity project as a cross-platform client? Also no problem.
|
||||
- Hide your website address from casual sharing or bots scraping your content.
|
||||
- For internal company platforms — restrict access to your site via a dedicated client only.
|
||||
- Turn any website into your custom client — inject JS for automation and custom features.
|
||||
- Annoyed by website ads? Hide them with powerful JS.
|
||||
- Want to use Tauri2 but the environment is too heavy? Use PacBao instead!
|
||||
|
||||
## Popular Packages
|
||||
|
||||
<img src=https://sjj1024.github.io/PacBao/static/imgs/preview.webp width=1920/>
|
||||
|
||||
PacBao supports installation packages for both ARM and Intel architectures. Most popular program installation packages only include the ARM architecture for macOS and the Intel architecture for Windows. If you need installation packages for additional architectures, please use PacBao to compile the required package separately.
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>DeepSeek
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/DeepSeek_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/DeepSeek_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/DeepSeek_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>X (Twitter)
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Twitter/Twitter_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Twitter/Twitter_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Twitter/twitter_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/deepseek.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/xtwitter.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>YouTube
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTube/YouTube_0.0.2_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTube/YouTube_0.0.2_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTube/you-tube_0.0.2_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>小红书
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PabBao/releases/download/OtherFiles/_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/youtube.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/hongshu.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tiktok
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Tiktok/Tiktok_0.0.2_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Tiktok/Tiktok_0.0.2_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Tiktok/tiktok_0.0.2_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>句乐部
|
||||
<a href="https://gh-proxy.com/github.com/cuixiaorui/PacBao/releases/download/juleu/julebu_1.0.0_aarch64.dmg">Mac</a>
|
||||
<a href="https://gh-proxy.com/github.com/cuixiaorui/PacBao/releases/download/juleu/julebu_1.0.0_x64-setup.exe">Windows</a>
|
||||
<a href="https://gh-proxy.com/github.com/cuixiaorui/PacBao/releases/download/juleu/julebu_1.0.0_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/tiktok.png width=600/></td>
|
||||
<td><img src=https://files.PacBao.com/julebu.webp width=600/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Getting Started
|
||||
|
||||
1. Download the app from the release page:https://github.com/Sjj1024/PabBao/releases,
|
||||
double-click to install, and run the app. or visit web:
|
||||
|
||||
<a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>
|
||||
|
||||
2. Configure GitHub token or use local packaging, create a new project, and set up the configurations. get token guide. (When using this software, please comply with relevant laws and regulations. If you use GitHub token to use this project, it will automatically star the project and the compilation results will be counted for success or failure to improve the project and obtain feedback. Packaging is for personal use only and should not be disseminated or used for commercial purposes. The packaged resources will be stored in your own Github open source repository and can be viewed by anyone. Therefore, please strictly follow the Github usage guidelines, otherwise you will be responsible for the consequences)
|
||||
|
||||
<a href="https://sjj1024.github.io/PacBao/index_en.html">English</a> <a href="https://PacBao.com/zh/guide/token.html" style="margin: 0 50px;">简体中文</a><a href="https://sjj1024.github.io/PacBao/index_ja.html">日本语</a>
|
||||
|
||||
```
|
||||
Explanation of Github Token permissions:
|
||||
1. For the beta version, token permissions required:
|
||||
All repositories: Fork an original template repository
|
||||
Actions: Manage GitHub actions
|
||||
Administration: Fork and manage files in the repository
|
||||
Contents: Add, delete, modify, and find repository contents
|
||||
Issues: Submit issues to PacBao
|
||||
|
||||
1. For the classic version, token permissions required:
|
||||
repo: Fork and manage template code
|
||||
workflow: Compile and release your software
|
||||
```
|
||||
|
||||
3. You can preview the app in a new window and click the publish button to package the app.
|
||||
4. You can download the app from the release page.
|
||||
|
||||
## FAQ
|
||||
|
||||
1. Mac users may see an “App is damaged” warning on installation. click cancel and Run the following command, then reopen the app:(This is because the application requires an official signature to avoid the prompt of "The application is damaged" popping up after installation. However, the cost of the official signature is $99 per year... Therefore, it is necessary to manually bypass the signature to use it normally)
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/PacBao.app
|
||||
```
|
||||
|
||||
1. When you package the app, Mac users may see an “App is damaged” warning on installation. click cancel and Run the following command, then reopen the app:
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/YourAppName.app
|
||||
```
|
||||
|
||||
3. If you encounter any issues while using the program, please download the latest version, as versions developed before 2025 were based on Tauri v1.0. In 2025, Tauri was upgraded to v2.0. If the latest version still has issues, please submit an issue with detailed information so that we can update and resolve it more quickly.
|
||||
|
||||
4. After you add the GitHub Token, PacBao will fork a PacBao repository into your own repository. All your future projects will rely on this repository for creation and compilation, so please do not delete your PacBao repository.
|
||||
|
||||
## Custom Development
|
||||
|
||||
If you want to Contribution PacBao, ensure your environment is prepared beforehand. Make sure Rust `>=1.63` and Node `>=16` (e.g., `16.18.1`) are installed on your computer. For installation guidance, please refer to the [Tauri Documentation](https://tauri.app/v1/guides/getting-started/prerequisites).
|
||||
|
||||
If you’re unfamiliar with these, it’s best to try the one-click packaging tool above.
|
||||
|
||||
```sh
|
||||
# Install dependencies
|
||||
pnpm i
|
||||
|
||||
# Local development [Right-click to open debug mode.]
|
||||
pnpm run dev
|
||||
|
||||
# Package the app
|
||||
pnpm run build
|
||||
|
||||
```
|
||||
|
||||
All work is conducted openly on GitHub. Whether you are a core team member or an external contributor, all Pull Requests must go through the same review process.
|
||||
|
||||
## Support
|
||||
|
||||
1. wechat and group,my wechat is lanxingme,welcome to join the wechat group.
|
||||
<p align="center" style="display:flex; justify-content: flex-start;" >
|
||||
<img src="https://github.com/Sjj1024/PacBao-Doc/raw/main/static/imgs/mywx.png" width=200/>
|
||||
<img src="https://github.com/Sjj1024/PacBao-Doc/raw/main/static/imgs/wxcode.png" width=200/>
|
||||
<img src="https://github.com/Sjj1024/PacBao-Doc/raw/main/static/imgs/qqpp3.jpg" width=200/>
|
||||
</p>
|
||||
|
||||
1. 💖If PacBao has brought joy to your life, feel free to support it.
|
||||
<p align="center" style="display:flex; justify-content: flex-start;">
|
||||
<img src="https://github.com/Sjj1024/PacBao-Doc/raw/main/static/imgs/sponsor.webp" width=620/>
|
||||
</p>
|
||||
182
README_JP.md
Normal file
@@ -0,0 +1,182 @@
|
||||
<h4 align="right">
|
||||
<a href="https://github.com/Sjj1024/PacBao">English</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/discussions/2" style="margin: 0 10px;" >中文</a>
|
||||
<span>日本语</span>
|
||||
</h4>
|
||||
<p align="center">
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/PacBao.png" width=138/>
|
||||
</p>
|
||||
<h1 align="center">PacBao</h1>
|
||||
<p align="center"><strong>9分で任意のウェブページをデスクトップアプリやモバイルアプリに変換。シンプルで使いやすい。</strong></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases"><img src="https://img.shields.io/github/v/release/Sjj1024/PacBao?style=flat-square&logo=github" alt="Release"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/stargazers"><img src="https://img.shields.io/github/stars/Sjj1024/PacBao?style=flat-square&logo=github" alt="Stars"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/actions/workflows/build.yml"><img src="https://img.shields.io/github/actions/workflow/status/Sjj1024/PacBao/build.yml?style=flat-square&logo=github" alt="Build"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Sjj1024/PacBao?style=flat-square&logo=github" alt="License"></a>
|
||||
<a href="https://hellogithub.com/repository/d148f8fac78b45fe9b94c82757c3f86b" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=d148f8fac78b45fe9b94c82757c3f86b&claim_uid=LXfeQOxRDEmSUGC&theme=small" alt="Featured|HelloGitHub"></a>
|
||||
</p>
|
||||
|
||||
<div align="left">PacBao は Mac、Windows、および Linux に対応しており、Android と iOS も間もなくサポート予定です。ローカルに複雑な依存環境をインストールする必要はなく、Github トークンだけで利用できます。また、PacBao 自体のサイズはわずか約5MBです。最新バージョンについては<a href="[#popular-packages](https://github.com/Sjj1024/PacBao/releases)">リリースページ</a>をご確認ください。また、PacBao Web 版も利用できます。<a href="URL_ADDRESS また、PacBao Web 版も利用できます。<a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>。
|
||||
<a href="#popular-packages">人気パッケージ</a>や<a href="#development">カスタム開発</a>については README をご覧ください。<a href="https://github.com/Sjj1024/PacBao/discussions">ディスカッションエリア</a>でご意見をお待ちしています。</div>
|
||||
|
||||
https://github.com/user-attachments/assets/b88bf541-0b26-4020-9eec-da79e1734fc9
|
||||
|
||||
## 特徴
|
||||
|
||||
- 💎 Electron より約 20 倍小さい(5MB 未満!)、そして 10 倍高速。
|
||||
- 🚀 Rust Tauri ベースで構築されており、JS ベースのフレームワークより軽量かつ高速。
|
||||
- 📦 豊富な機能を内蔵 — ショートカット、没入型ウィンドウ、ミニマルなカスタマイズに対応。
|
||||
- 👻 PacBao はミニマルなソフトウェアで、旧来のパッケージ方法を Tauri に置き換えてクロスプラットフォームのデスクトップアプリを実現。
|
||||
- 📲 Android および iOS アプリをネイティブフレームワークでパッケージ、Tauri2 よりさらに軽く高速。
|
||||
- 🤗 操作が簡単、GitHub トークンが 1 つあればデスクトップアプリを取得可能。
|
||||
- 🌹 複雑な依存環境をローカルにインストールする必要なし、GitHub Actions によるクラウド自動パッケージング。
|
||||
- 🧑🤝🧑 国際化に対応、システムの言語に自動的に追従。
|
||||
- 💡 カスタム JS の注入が可能、自作の JS をページに注入して使用可能。
|
||||
- 🎨 UI が美しく、初心者に優しく、快適な使い心地、中国語名のパッケージも対応。
|
||||
- 📡 ウェブから直接使用可能だが、クライアント版の方が機能豊富でおすすめ。
|
||||
- 🔐 データは安全、トークンはローカルのみ保存、プロジェクトも自分の Git に安全に保管。
|
||||
- 🍔 ローカルでのパッケージ化をサポートし、依存環境をインストールする必要がなく、ローカルでのパッケージ化はわずか30秒で完了します
|
||||
- 🥥 Github Tokenがなくても大丈夫、ローカルでのパッケージ化は簡単で便利、さらにTokenも不要です
|
||||
- ⚔️ JSスクリプト内でシステムレベルのAPIを呼び出すことをサポートしています。例えば、ファイルのダウンロード/コマンドの実行/新しいウィンドウの開くなど
|
||||
- 🍀 静的ファイルのパッケージングをサポート、Vue/React の `dist` や `index.html` を入れるだけでクライアントに。
|
||||
- 🐞 デバッグモードに対応、プレビューでもリリースでもバグを見つけて解消できる。
|
||||
- 💬 使用中に問題があれば、いつでも技術コミュニティに参加して相談可能。
|
||||
|
||||
## 使用シーン
|
||||
|
||||
- あなたのウェブサイトをすぐにデスクトップアプリにして、より高級感を出したいとき。
|
||||
- Vue/React プロジェクトを持っていて、サーバーを購入せずにデスクトップ化したいとき。
|
||||
- Cocos ゲームをクロスプラットフォームで動作させたい?問題なし。
|
||||
- Unity プロジェクトもクロスプラットフォーム化したい?もちろん可能。
|
||||
- サイトのアドレスを隠したい、スクレイピングや拡散を防止したい。
|
||||
- 社内専用サイトで、クライアントからのみアクセスさせたい場合。
|
||||
- サイトをカスタムクライアントにして、自動化や便利機能を JS 注入で追加したい。
|
||||
- 広告が多すぎるサイトをクリーンに使いたい?JS で非表示にしよう。
|
||||
- Tauri2 を使いたいが、環境構築が大変?PacBao で解決!
|
||||
|
||||
## 人気パッケージ
|
||||
|
||||
<img src=https://sjj1024.github.io/PacBao/static/imgs/preview.webp width=1920/>
|
||||
PacBaoは、ARMとIntelの両アーキテクチャに対応したインストールパッケージをサポートしています。一般的なプログラムのインストールパッケージには、通常、Mac用のARMとWindows用のIntelのみが含まれています。より多くのアーキテクチャに対応したインストールパッケージが必要な場合は、PacBaoを使用して必要なパッケージを個別にコンパイルしてください。
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>DeepSeek
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>X (Twitter)
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/X_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/X_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/x_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/deepseek.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/xtwitter.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>YouTube
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/YouTube_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/YouTube_0.0.1_x64_en-US.msi">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/you-tube_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>小红书
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/youtube.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/hongshu.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tiktok
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/TikTok_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/TikTok_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/tik-tok_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>抖音
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/tiktok.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/douyin.png width=600/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 始める前に
|
||||
|
||||
1. リリースページからアプリをダウンロードし、ダブルクリックしてインストールし、実行します:https://github.com/Sjj1024/PacBao/releases。 あるいは、ウェブ版を使ってもいいです:<a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>
|
||||
|
||||
2. Github トークンを設定し、新しいプロジェクトを作成して設定を行います。Token 获取方法:
|
||||
<a href="https://sjj1024.github.io/PacBao/index_en.html">English</a> <a href="https://sjj1024.github.io/PacBao/index_zh.html" style="margin: 0 20px;">简体中文</a><a href="https://sjj1024.github.io/PacBao/index_ja.html">日本语</a>
|
||||
|
||||
```
|
||||
Github トークン権限の説明:
|
||||
1. ベータ版に必要なトークン権限:
|
||||
All repositories:元のテンプレートリポジトリのフォーク
|
||||
Actions:GitHub アクションの管理
|
||||
Administration:リポジトリのフォークとファイル管理
|
||||
Contents:リポジトリ内容の追加/削除/修正/検索など
|
||||
Issues:PacBao への問題の提出
|
||||
|
||||
1. クラシック版に必要なトークン権限:
|
||||
repo:テンプレートコードのフォークと管理
|
||||
workflow:ソフトウェアのコンパイルとリリース
|
||||
```
|
||||
|
||||
1. 新しいウィンドウでアプリをプレビューし、パッケージングボタンをクリックしてアプリをビルドします。
|
||||
2. リリースページからアプリをダウンロード可能です。
|
||||
|
||||
## よくある質問
|
||||
|
||||
1. **Mac ユーザーはインストール時に「アプリが破損しています」という警告が表示される場合があります。** 「キャンセル」をクリックし、次のコマンドを実行してから、アプリを再度開いてください。(これは Mac 用のオフィシャル署名のためです。そのコストは年間 $99 です...そのため、必要な場合はオフィシャル署名を手動でバイパスして使用することができます。)
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/PacBao.app
|
||||
```
|
||||
|
||||
2. **アプリをパッケージ化する際、Mac ユーザーはインストール時に「アプリが破損しています」という警告が表示される場合があります。** 「キャンセル」をクリックし、次のコマンドを実行してから、アプリを再度開いてください。
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/YourAppName.app
|
||||
```
|
||||
|
||||
3. **プログラムの使用中に問題が発生した場合は、最新バージョンをダウンロードしてください。** 2025 年以前に開発されたバージョンは Tauri v1.0 に基づいていますが、2025 年には Tauri v2.0 にアップグレードされました。最新バージョンでも問題が解決しない場合は、詳細な情報を添えて Issue を提出してください。より迅速に更新・修正を行うことができます。
|
||||
|
||||
4. GitHub トークンを追加すると、PacBao はあなたのリポジトリに PacBao リポジトリをフォークします。今後のすべてのプロジェクトはこのリポジトリに依存して作成およびコンパイルされるため、PacBao リポジトリを削除しないでください。
|
||||
|
||||
## PacBao の開発
|
||||
|
||||
PacBao をローカルで開発したい場合、まず環境を整えてください。Rust `>=1.63` と Node `>=16`(例:`16.18.1`)がコンピュータにインストールされていることを確認してください。インストールガイドについては、[Tauri ドキュメント](https://tauri.app/v1/guides/getting-started/prerequisites)をご参照ください。
|
||||
|
||||
これらに不慣れな場合、上記のワンクリックパッケージングツールを試すのが良いでしょう。
|
||||
|
||||
```sh
|
||||
# 依存関係のインストール
|
||||
pnpm i
|
||||
|
||||
# ローカル開発 [右クリックでデバッグモードを開きます。]
|
||||
pnpm run dev
|
||||
|
||||
# アプリのパッケージング
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
## サポート
|
||||
|
||||
1. PacBao があなたの生活に楽しみをもたらしたなら、サポートしていただけると嬉しいです。
|
||||
<p align="center">
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/pay.webp" />
|
||||
</p>
|
||||
|
||||
## Star History
|
||||
|
||||
[](https://www.star-history.com/#Sjj1024/PacBao&Date)
|
||||
179
README_ZH.md
Normal file
@@ -0,0 +1,179 @@
|
||||
<h4 align="right">
|
||||
<a href="https://github.com/Sjj1024/PacBao">English</a>
|
||||
<span style="margin: 0 10px;" >中文</span>
|
||||
<a href="https://github.com/Sjj1024/PacBao/discussions/108">日本语</a>
|
||||
</h4>
|
||||
<p align="center">
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/PacBao.png" width=138/>
|
||||
</p>
|
||||
<h1 align="center">PacBao</h1>
|
||||
<p align="center"><strong>将任何网页变成桌面应用和移动应用仅需几分钟</strong></p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases"><img src="https://img.shields.io/github/v/release/Sjj1024/PacBao?style=flat-square&logo=github" alt="Release"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/stargazers"><img src="https://img.shields.io/github/stars/Sjj1024/PacBao?style=flat-square&logo=github" alt="Stars"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/actions/workflows/build.yml"><img src="https://img.shields.io/github/actions/workflow/status/Sjj1024/PacBao/build.yml?style=flat-square&logo=github" alt="Build"></a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/blob/main/LICENSE"><img src="https://img.shields.io/github/license/Sjj1024/PacBao?style=flat-square&logo=github" alt="License"></a>
|
||||
<a href="https://hellogithub.com/repository/d148f8fac78b45fe9b94c82757c3f86b" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=d148f8fac78b45fe9b94c82757c3f86b&claim_uid=LXfeQOxRDEmSUGC&theme=small" alt="Featured|HelloGitHub"></a>
|
||||
</p>
|
||||
|
||||
<div align="left">PacBao 不仅支持 Mac、Windows 和 Linux,并且支持 Android 和 iOS。无需在本地安装任何依赖环境,只需要一个Github Token就可以了,而且PacBao本身也才仅仅5M左右小大,最新版本下载请看:<a href="[#popular-packages](https://github.com/Sjj1024/PacBao/releases)">发布地址</a>。或者访问网页版: <a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>。 查看 README 以获取<a href="#popular-packages">热门包</a>和<a href="#development">自定义开发</a>信息。欢迎在<a href="https://github.com/Sjj1024/PacBao/discussions">讨论区</a>分享你的建议。进微信交流群:<a href="https://PacBao.com/zh/exchange/">商业群聊</a></div>
|
||||
<br>
|
||||
|
||||
> 因为有人使用本项目打包违法软件,违背了本项目的使用目的,所以本项目前端代码不再开源,如果再发现打包违法软件行为,本项目所有代码都将不再开源。请合法合规使用本软件,否则后果自负,且用且珍惜
|
||||
|
||||
https://github.com/user-attachments/assets/b88bf541-0b26-4020-9eec-da79e1734fc9
|
||||
|
||||
## 特性
|
||||
|
||||
- 💎 体积比 Electron 包小约 20 倍(小于 5M!),性能快 10 倍
|
||||
- 🚀 基于 Rust Tauri,PacBao 比基于 JS 的框架更轻量、更快
|
||||
- 📦 内置丰富功能包——支持快捷方式、沉浸式窗口、极简自定义
|
||||
- 👻 PacBao 只是一个极简的软件,用 Tauri 替代旧的打包方式,支持跨平台桌面
|
||||
- 📲 使用原生框架打包 Android 和 iOS APP,比 Tauri2 体积更小更快
|
||||
- 🤗 UI 操作简单,不用在本地安装任何开发环境,省时省心省硬盘空间
|
||||
- 🌹 不需要在本地安装任何复杂的依赖环境,使用 Github Action 云端自动打包
|
||||
- 🧑🤝🧑 支持国际化,对全球用户都非常友好,并且会自动跟随你的电脑系统语言
|
||||
- 💡 支持自定义 js 注入。你可以编写自己的 js 代码注入到页面中
|
||||
- 🎨 ui 界面更美观更友好对新手更实用,使用更舒适,支持中文名称打包
|
||||
- 📡 支持网页端直接使用,但是客户端功能更强大,更推荐客户端
|
||||
- 🔐 数据安全,你的 token 仅保存在你本地,不会上传服务器,你的项目也都在你自己的 git 中安全存储
|
||||
- 🍔 支持本地打包,而且不需要安装任何依赖环境,本地打包仅需 30 秒
|
||||
- 🥥 没有 Github Token 没关系,本地打包即简单又方便,还不需要 Token
|
||||
- ⚔️ 支持在 JS 脚本中调用系统级 API,例如下载文件/执行命令/打开新窗口等
|
||||
- 🍀 支持静态文件打包,将 Vue/React 等项目编译后的 dist 目录或者 index.html 丢进来即可成为客户端,何必是网站
|
||||
- 🐞 支持 debug 调试模式,无论是预览阶段还是发布阶段,都可以找到 bug 并消灭 bug
|
||||
- 💬 如果在你使用过程中遇到问题,随时可以加入我们的技术交流群咨询
|
||||
|
||||
## 使用场景
|
||||
|
||||
- 你有一个网站,想把它立刻变成桌面和手机应用,立刻高大尚。
|
||||
- 你有一个 Vue/React 等项目,不想购买服务器,想把它打包成桌面应用。
|
||||
- 你的 Cocos 游戏是不是想要跨平台客户端运行?完全没有问题。
|
||||
- 你的 Unity 项目是不是想要跨平台打包为客户端?也完全没有问题。
|
||||
- 隐藏你的网站地址,不被随意传播和使用,防止爬虫程序获取你的网站内容。
|
||||
- 公司内网平台,不想让别人知道你的网站地址,只允许通过你的客户端访问。
|
||||
- 想把某个网站变成自己的客户端,实现自定义功能,比如注入 js 实现自动化操作。
|
||||
- 网站广告太多?想把它隐藏起来,用无所不能的 js 来屏蔽它们吧。
|
||||
- 需要使用 tauri2 打包,但是依赖环境太复杂,本地电脑硬盘不够用,就用 PacBao
|
||||
|
||||
## 热门包
|
||||
|
||||
<img src=https://sjj1024.github.io/PacBao/static/imgs/preview.webp width=1920/>
|
||||
PacBao支持arm和x64架构的安装包,流行的程序安装包仅仅包含了mac的arm和windows的x64架构,如果需要更多架构的安装包,请使用PacBao单独编译自己需要的安装包。
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td>DeepSeek
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/DeepSeek_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>X (Twitter)
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/X_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/X_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/X/x_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/deepseek.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/xtwitter.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>YouTube
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/YouTube_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/YouTube_0.0.1_x64_en-US.msi">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/YouTuBe/you-tube_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>小红书
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/Sjj1024/PacBao/releases/download/OtherFiles/_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/youtube.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/hongshu.png width=600/></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Tiktok
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/TikTok_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/TikTok_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/TikTok/tik-tok_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
<td>抖音
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_aarch64.dmg">Mac</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_x64-setup.exe">Windows</a>
|
||||
<a href="https://github.com/codegirle/PacBao/releases/download/Douyin/_0.0.1_amd64.deb">Linux</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/tiktok.png width=600/></td>
|
||||
<td><img src=https://sjj1024.github.io/PacBao/static/imgs/douyin.png width=600/></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## 开始之前
|
||||
|
||||
1.从发布页面下载应用程序:https://github.com/Sjj1024/PacBao/releases,
|
||||
双击安装并运行应用程序。
|
||||
或者使用网页版:<a href="https://PacBao.pages.dev" target="_blank">PacBao Web</a>
|
||||
|
||||
## 常见问题
|
||||
|
||||
1. **Mac 用户可能在安装时看到“应用已损坏”的警告。** 请点击“取消”,然后运行以下命令,再重新打开应用:(这是由于应用需要官方签名,才能避免安装后弹出“应用已损坏”的提示,但官方签名的费用每年 99 美元...因此,需要手动绕过签名以正常使用)
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/PacBao.app
|
||||
```
|
||||
|
||||
2. **当你打包应用时,Mac 用户可能在安装时看到“应用已损坏”的警告。** 请点击“取消”,然后运行以下命令,输入电脑密码,再重新打开应用:
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/YourAppName.app
|
||||
```
|
||||
|
||||
3. **如果您在使用该程序时遇到任何问题,请下载最新版本。** 2025 年之前开发的版本基于 Tauri v1.0,而在 2025 年,Tauri 已升级至 v2.0。如果最新版本仍然存在问题,请提交 Issue 并附上详细信息,以便我们能够更快地更新和解决问题。
|
||||
|
||||
4. 当你添加 Github Token 之后,PacBao 会 Fork 一个 PacBao 仓库到你的仓库中,以后你的所有项目都会依赖这个仓库创建和编译,请勿删除你的 PacBao 仓库。
|
||||
|
||||
## 开发 PacBao
|
||||
|
||||
如果你想在本地开发 PacBao,在开始之前,准备好你的环境。确保你已在计算机上安装了 Rust `>=1.63` 和 Node `>=16`(例如 `16.18.1`)。有关安装指南,请参阅 [Tauri 文档](https://tauri.app/v1/guides/getting-started/prerequisites)。
|
||||
|
||||
如果你不熟悉这些,最好尝试上述的一键打包工具。
|
||||
|
||||
```sh
|
||||
# 安装依赖
|
||||
pnpm i
|
||||
|
||||
# 本地开发 [右键单击以打开调试模式。]
|
||||
pnpm run dev
|
||||
|
||||
# 打包应用程序
|
||||
pnpm run build
|
||||
```
|
||||
|
||||
## 支持
|
||||
|
||||
1. 💖 如果对你有帮,可以请我喝咖啡.
|
||||
<p align="center" >
|
||||
<img src="https://files.PacBao.com/sponsor.webp" />
|
||||
</p>
|
||||
|
||||
如果你有微信,可以加入我们的群聊或者加我微信(lanxingme),我会拉你进群聊。注意:
|
||||
|
||||
1. 优先推荐加入群聊,有问题先在群里问,说不定有人已经解决了,就会及时帮到你。
|
||||
2. 群里讨论,会将大家遇到的问题汇总,如果别人同样遇到了,就会帮助更多的人。
|
||||
3. 如果群里没有人能解决你的问题,可以艾特@我,我看到了就会回复你。
|
||||
4. 群二维码过期或者群人数过多了,可以加我微信,我会拉你进群聊。
|
||||
5. 如果有问题需要单独咨询服务,请先赞助 PacBao,然后再咨询问题。
|
||||
6. 如果不方便加微信,也可以在 github 上提 issue,我会尽快回复。
|
||||
7. 由于我一个人时间精力有限,所以请务必按照上述流程咨询。
|
||||
8. 群内仅限讨论技术问题,不要发广告、发垃圾信息、发其他无关的信息。
|
||||
9. 群内禁止发任何涉及政治、宗教、暴力、色情、恐怖主义等内容的信息。
|
||||
<p align="center" style="display:flex; justify-content: flex-start;" >
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/mywx.png" width=200/>
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/wxcode.png" width=200/>
|
||||
<img src="https://github.com/Sjj1024/PacBao/raw/main/docs/static/imgs/qqpp3.jpg" width=200/>
|
||||
</p>
|
||||
BIN
app-icon.png
Normal file
|
After Width: | Height: | Size: 1.3 MiB |
446
docs/.vitepress/config.ts
Normal file
16
docs/.vitepress/theme/Layout.vue
Normal file
@@ -0,0 +1,16 @@
|
||||
<script setup lang="ts">
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import { useData, inBrowser } from 'vitepress'
|
||||
import { watchEffect } from 'vue'
|
||||
|
||||
const { lang } = useData()
|
||||
watchEffect(() => {
|
||||
if (inBrowser) {
|
||||
document.cookie = `nf_lang=${lang.value}; expires=Mon, 1 Jan 2030 00:00:00 UTC; path=/`
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<DefaultTheme.Layout />
|
||||
</template>
|
||||
79
docs/.vitepress/theme/custom.css
Normal file
@@ -0,0 +1,79 @@
|
||||
/* .vitepress/theme/custom.css */
|
||||
:root {
|
||||
--vp-c-brand-1: #646cff;
|
||||
--vp-c-brand-2: #747bff;
|
||||
--vp-home-hero-name-color: transparent;
|
||||
--vp-home-hero-name-background: -webkit-linear-gradient(
|
||||
120deg,
|
||||
#bd34fe 30%,
|
||||
#41d1ff
|
||||
);
|
||||
}
|
||||
|
||||
.VPImage:hover {
|
||||
filter: drop-shadow(0 0 2em var(--vp-c-brand-1));
|
||||
transition: all 0.5s ease;
|
||||
}
|
||||
|
||||
.modalBox {
|
||||
position: fixed;
|
||||
z-index: 1000;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-color: rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
padding-top: 150px;
|
||||
}
|
||||
|
||||
.modalContent {
|
||||
background: white;
|
||||
padding: 20px;
|
||||
border-radius: 5px;
|
||||
color: #000;
|
||||
width: 40%;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 600px) {
|
||||
.modalContent {
|
||||
width: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
.modalTitle {
|
||||
font-size: 24px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.modalButtons {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.modalButtons button {
|
||||
padding: 8px 20px;
|
||||
border-radius: 10px;
|
||||
cursor: pointer;
|
||||
background-color: #409eff;
|
||||
color: #fff;
|
||||
border: none;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.modalButtons button:hover {
|
||||
background-color: #3688fa;
|
||||
}
|
||||
|
||||
.modalButtons button:active {
|
||||
background-color: #3688fa;
|
||||
}
|
||||
8
docs/.vitepress/theme/index.js
Normal file
@@ -0,0 +1,8 @@
|
||||
import DefaultTheme from 'vitepress/theme'
|
||||
import Layout from './Layout.vue'
|
||||
import './custom.css'
|
||||
|
||||
export default {
|
||||
extends: DefaultTheme,
|
||||
Layout,
|
||||
}
|
||||
BIN
docs/bundle/Yandex_0.0.1_aarch64.dmg
Normal file
BIN
docs/bundle/Yandex_0.0.1_amd64.deb
Normal file
BIN
docs/bundle/Yandex_0.0.1_x64-setup.exe
Normal file
BIN
docs/bundle/redbook_0.0.1_aarch64.dmg
Normal file
BIN
docs/bundle/redbook_0.0.1_amd64.deb
Normal file
BIN
docs/bundle/redbook_0.0.1_x64-setup.exe
Normal file
610
docs/components/down.vue
Normal file
@@ -0,0 +1,610 @@
|
||||
<template>
|
||||
<div class="downBox">
|
||||
<div class="title">Which version should I use?</div>
|
||||
<div class="platform mac">
|
||||
<div class="leftIcon">
|
||||
<svg
|
||||
t="1742708135449"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="2554"
|
||||
width="200"
|
||||
height="200"
|
||||
>
|
||||
<path
|
||||
d="M849.124134 704.896288c-1.040702 3.157923-17.300015 59.872622-57.250912 118.190843-34.577516 50.305733-70.331835 101.018741-126.801964 101.909018-55.532781 0.976234-73.303516-33.134655-136.707568-33.134655-63.323211 0-83.23061 32.244378-135.712915 34.110889-54.254671 2.220574-96.003518-54.951543-130.712017-105.011682-70.934562-102.549607-125.552507-290.600541-52.30118-416.625816 36.040844-63.055105 100.821243-103.135962 171.364903-104.230899 53.160757-1.004887 103.739712 36.012192 136.028093 36.012192 33.171494 0 94.357018-44.791136 158.90615-38.089503 27.02654 1.151219 102.622262 11.298324 151.328567 81.891102-3.832282 2.607384-90.452081 53.724599-89.487104 157.76107C739.079832 663.275355 847.952448 704.467523 849.124134 704.896288M633.69669 230.749408c29.107945-35.506678 48.235584-84.314291 43.202964-132.785236-41.560558 1.630127-92.196819 27.600615-122.291231 62.896492-26.609031 30.794353-50.062186 80.362282-43.521213 128.270409C557.264926 291.935955 604.745311 264.949324 633.69669 230.749408"
|
||||
fill="#272636"
|
||||
p-id="2555"
|
||||
></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="rightContent">
|
||||
<h1 class="title">MacOS</h1>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(macArm.browser_download_url)">
|
||||
Apple Silicon(Arm)
|
||||
</a>
|
||||
<a :href="macArm.browser_download_url"> Github </a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(macX64.browser_download_url)">
|
||||
Intel Chip(X64)
|
||||
</a>
|
||||
<a :href="macX64.browser_download_url"> Github </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="platform windows">
|
||||
<div class="leftIcon">
|
||||
<img
|
||||
src="../static/imgs/windowslogo.png"
|
||||
alt="windows"
|
||||
class="winLogo"
|
||||
/>
|
||||
<!-- <svg
|
||||
t="1742708953461"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="1664"
|
||||
width="200"
|
||||
height="200"
|
||||
>
|
||||
<path
|
||||
d="M448.085333 167.082667a42.666667 42.666667 0 0 1 14.592 32.128v257.578666a42.666667 42.666667 0 0 1-42.666666 42.666667H144a42.666667 42.666667 0 0 1-42.666667-42.666667V235.989333a42.666667 42.666667 0 0 1 37.034667-42.282666l276.010667-36.778667a42.666667 42.666667 0 0 1 33.706666 10.154667zM908.202667 111.957333a42.666667 42.666667 0 0 1 14.464 32.042667v312.789333a42.666667 42.666667 0 0 1-42.666667 42.666667h-349.610667a42.666667 42.666667 0 0 1-42.666666-42.666667V188.672a42.666667 42.666667 0 0 1 37.290666-42.325333l349.568-44.672a42.666667 42.666667 0 0 1 33.621334 10.282666zM500.565333 555.093333a42.666667 42.666667 0 0 1 30.848-12.16l349.568 8.192a42.666667 42.666667 0 0 1 41.685334 42.666667v286.208a42.666667 42.666667 0 0 1-49.578667 42.112L523.52 864.853333a42.666667 42.666667 0 0 1-35.797333-42.112v-237.141333a42.666667 42.666667 0 0 1 12.885333-30.506667zM114.176 536.661333a42.666667 42.666667 0 0 1 30.848-12.117333l276.010667 6.656a42.666667 42.666667 0 0 1 41.642666 42.666667v232.533333a42.666667 42.666667 0 0 1-49.749333 42.069333l-276.053333-46.506666a42.666667 42.666667 0 0 1-35.541334-42.069334v-192.682666a42.666667 42.666667 0 0 1 12.842667-30.549334z"
|
||||
fill="#000000"
|
||||
fill-opacity=".85"
|
||||
p-id="1665"
|
||||
></path>
|
||||
</svg> -->
|
||||
</div>
|
||||
<div class="rightContent">
|
||||
<h1 class="title">Windows</h1>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(windowsX64.browser_download_url)">
|
||||
X64
|
||||
</a>
|
||||
<a :href="windowsX64.browser_download_url"> Github </a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(windowsArm64.browser_download_url)">
|
||||
ARM64
|
||||
</a>
|
||||
<a :href="windowsArm64.browser_download_url"> Github </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="platform linux">
|
||||
<div class="leftIcon">
|
||||
<img
|
||||
src="../static/imgs/linuxlogo.png"
|
||||
alt="linux"
|
||||
class="linuxLogo"
|
||||
/>
|
||||
<!-- <svg
|
||||
t="1742708821867"
|
||||
class="icon"
|
||||
viewBox="0 0 1024 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="1634"
|
||||
width="200"
|
||||
height="200"
|
||||
>
|
||||
<path
|
||||
d="M897.499 803.465c-28.223-11.613-40.336-26.848-39.212-49.826 1.249-26.724-13.987-46.33-21.105-53.947 4.371-16.61 16.984-74.053 0-124.004-18.357-53.448-74.302-134.993-131.996-215.29-23.602-32.843-24.726-68.683-25.974-110.267-1.25-39.462-2.623-84.418-24.726-134.12C630.634 61.816 582.43 30.72 522.615 30.72c-35.59 0-72.18 10.99-100.402 30.47-57.694 39.711-50.076 126.627-44.956 183.946 0.624 7.867 1.373 15.235 1.748 21.604 3.372 56.32 0.375 85.916-3.622 94.907-2.622 5.87-15.36 22.603-28.846 40.335-13.862 18.358-29.721 39.087-42.709 58.568-15.36 23.352-27.848 58.943-39.96 93.409-8.867 25.225-17.109 49.077-25.226 63.313-15.36 27.473-11.489 52.948-8.367 64.687-5.87 4.121-14.236 11.988-21.354 26.974-8.617 18.357-25.975 28.222-62.19 35.09-16.608 3.372-28.097 10.365-34.091 20.855-8.741 15.11-3.996 34.092 0.375 47.08 6.368 19.105 2.372 31.219-4.87 53.072-1.624 5.12-3.497 10.865-5.495 17.109-2.997 9.99-1.873 18.981 3.247 26.973 13.736 20.855 53.572 28.223 94.657 33.093 24.476 2.872 51.325 12.737 77.3 22.228 25.35 9.241 51.7 18.857 75.55 21.854 3.622 0.5 7.244 0.75 10.74 0.75 36.09 0 52.45-23.977 57.57-33.843 12.986-2.622 57.693-11.114 103.773-12.238 45.955-1.249 90.536 7.743 103.15 10.615 3.995 7.617 14.36 24.85 31.094 33.842 9.116 4.995 21.853 7.867 34.966 7.867 13.861 0 40.46-3.372 61.44-25.475 20.98-22.104 73.178-50.45 111.39-71.18 8.493-4.621 16.485-8.992 23.478-12.863 21.479-11.863 33.217-28.847 32.094-46.58-1-14.735-10.74-27.598-25.6-33.717z m-347.286-633.63c20.73 0 37.713 21.603 37.713 47.952 0 10.99-2.997 21.48-8.242 29.846a48.472 48.472 0 0 0 2.123-14.236c0-22.103-13.987-39.461-31.969-39.461-17.483 0-31.719 17.732-31.719 39.461 0 1.499 0.125 2.997 0.25 4.496a24.292 24.292 0 0 0-2.748-1c-1.998-6.118-2.997-12.487-2.997-18.98-0.124-26.6 16.859-48.079 37.589-48.079z m-63.938 96.155c7.992 1.374 27.473 9.241 41.71 14.86 6.618 2.623 12.362 4.871 16.358 6.37 12.613 4.37 19.232 9.865 19.98 11.988-0.249 1.249-0.998 1.873-7.991 5.494a205.824 205.824 0 0 0-13.487 7.618l-3.746 2.248c-14.861 8.991-49.702 30.095-59.193 31.47-6.368 0.873-10.365-1.624-19.356-7.743-1.998-1.25-4.12-2.873-6.369-4.246-16.109-10.615-26.474-22.229-27.722-26.849 5.244-4.121 18.357-14.236 24.975-20.23 13.487-12.613 27.099-20.98 33.842-20.98 0.375-0.125 0.75-0.125 1 0z m-53.073-87.29c15.36 0 28.222 20.605 28.222 44.957 0 3.122-0.25 6.243-0.624 9.49-0.999 0.375-1.873 0.874-2.747 1.25-0.125-1.999-0.25-3.997-0.625-6.12-3.247-18.857-15.734-32.593-29.72-32.593-1 0-1.999 0.125-3.248 0.25-8.241 1.373-14.86 7.617-18.357 16.484C409.1 193.06 420.09 178.7 433.202 178.7z m-71.68 764.754c-1.499 0.374-3.372 0.624-5.495 0.624-23.976 0-71.555-19.98-97.03-30.72l-3.746-1.498c-14.236-5.995-37.464-9.741-60.067-13.362-17.857-2.998-42.458-6.869-46.454-10.49-3.372-3.747 0.5-15.735 3.871-26.35 2.498-7.617 4.995-15.484 6.369-23.726 1.998-13.112-0.375-23.852-2.123-32.469-1.499-7.243-2.747-13.112-1.499-18.731 1-4.121 21.354-8.617 30.096-10.49 12.238-2.622 24.976-5.37 33.217-10.49 11.24-6.743 17.234-19.231 22.603-30.345 3.872-7.992 7.868-16.234 12.613-18.982 0.25-0.125 0.624-0.25 1.499-0.25 8.866 0 27.598 18.732 38.462 35.466 2.747 4.246 7.867 12.738 13.737 22.603 17.483 29.346 41.584 69.557 54.072 83.044 11.364 12.113 29.596 35.34 25.1 55.32-3.496 15.486-20.98 28.098-25.225 30.846z m285.346-235.895c-3.996 19.231-4.495 80.796-4.495 94.658-8.242 10.49-49.827 59.566-109.518 68.433-24.352 3.496-47.08 5.245-67.435 5.245-17.482 0-28.721-1.25-33.342-1.998l-29.97-34.342c11.863-5.87 23.601-18.107 20.48-40.46-2.623-18.857-26.85-37.464-54.947-59.068-22.853-17.607-48.827-37.713-56.07-54.571-14.736-34.966-3.122-96.406 17.233-128.125 9.99-15.86 18.232-39.836 26.224-63.189 8.617-25.1 17.358-51.075 27.349-62.439 15.734-17.857 30.22-52.323 32.718-79.547C429.83 366.142 452.558 384 473.662 384c3.247 0 6.37-0.375 9.366-1.249 14.361-4.12 35.59-16.359 56.07-28.222 17.608-10.24 39.462-22.853 47.704-23.977 13.986 20.23 95.657 200.929 104.023 258.997 6.619 45.83-0.374 83.918-3.87 98.654-2.873-0.375-6.245-0.75-9.741-0.75-22.728 0.25-28.722 12.613-30.346 20.106z m228.277 134.494c-4.745 4.37-21.479 12.862-37.713 21.229-28.722 14.736-61.315 31.22-75.926 46.704-20.605 21.73-43.957 36.34-58.068 36.34-1.623 0-3.247-0.25-4.62-0.75-15.236-4.745-27.848-26.848-21.105-58.193 7.118-32.093 15.36-75.8 13.987-101.65-0.25-5.87-0.75-12.238-1.374-18.357-1-11.49-2.373-28.722-0.874-33.717 0.25-0.125 0.624-0.25 0.999-0.375 0 14.86 3.247 44.207 26.724 54.447 6.993 2.997 14.985 4.62 23.851 4.62 23.477 0 49.702-11.489 60.316-22.228 6.244-6.369 11.614-13.986 15.36-20.105 0.875 2.372 1.25 5.37 1 9.365-1.374 21.73 9.116 50.576 29.22 61.19l2.873 1.5c7.118 3.746 26.225 13.736 26.474 18.481 0.125 0 0 0.5-1.124 1.499z"
|
||||
fill="#2C2C2C"
|
||||
p-id="1635"
|
||||
></path>
|
||||
</svg> -->
|
||||
</div>
|
||||
<div class="rightContent">
|
||||
<h1 class="title">Linux</h1>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(linuxDeb.browser_download_url)">
|
||||
deb
|
||||
</a>
|
||||
<a :href="linuxDeb.browser_download_url"> Github </a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(linuxRpm.browser_download_url)">
|
||||
rpm
|
||||
</a>
|
||||
<a :href="linuxRpm.browser_download_url"> Github </a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a :href="proxyGithub(linuxImage.browser_download_url)">
|
||||
AppImage
|
||||
</a>
|
||||
<a :href="linuxImage.browser_download_url"> Github </a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="platform web">
|
||||
<div class="leftIcon cloud-icon">
|
||||
<svg
|
||||
t="1742721374498"
|
||||
class="icon"
|
||||
viewBox="0 0 1565 1024"
|
||||
version="1.1"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
p-id="1694"
|
||||
width="200"
|
||||
height="200"
|
||||
>
|
||||
<path
|
||||
d="M1206.510527 299.331595c-27.357038 0-53.867311 3.354494-79.465683 9.119013C1078.551237 130.792698 916.428217 0 723.398257 0c-231.329814 0-418.82323 187.493416-418.82323 418.790662 0 16.023408 1.107309 31.786273 2.865975 47.353731-9.151581-0.879333-18.400865-1.40042-27.812989-1.40042C125.223586 464.743973 0 589.934991 0 744.371987s125.223586 279.628013 279.628013 279.628013c134.928821 0 782.150754 0 926.849946 0 197.947713 0 358.40977-168.34349 358.40977-366.291203C1564.920298 459.761084 1404.458241 299.331595 1206.510527 299.331595z"
|
||||
fill="#090909"
|
||||
p-id="1695"
|
||||
></path>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="rightContent">
|
||||
<h1 class="title">Web Version</h1>
|
||||
<div class="item">
|
||||
<a href="https://PackPlus.pages.dev/">
|
||||
https://PackPlus.pages.dev/
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<a href="https://PackPlus.netlify.app/">
|
||||
https://PackPlus.netlify.app/
|
||||
</a>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span>Not recommended, it's a beta version</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- last release -->
|
||||
<div class="lastRelease">
|
||||
<span>Last Release: {{ lastRelease.name }}</span>
|
||||
<span>Last Time: {{ lastRelease.published_at }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { data } from '../static/js/releases.data.ts'
|
||||
|
||||
console.log('releases data', data)
|
||||
|
||||
const lastRelease = data[0] || {
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/207589840',
|
||||
assets_url:
|
||||
'https://api.github.com/repos/Sjj1024/PackPlus/releases/207589840/assets',
|
||||
upload_url:
|
||||
'https://uploads.github.com/repos/Sjj1024/PackPlus/releases/207589840/assets{?name,label}',
|
||||
html_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/tag/PackPlus-v0.5.17',
|
||||
id: 207589840,
|
||||
node_id: 'RE_kwDOMvkdy84MX5HQ',
|
||||
tag_name: 'PackPlus-v0.5.17',
|
||||
target_commitish: '4fb9a11b57dccf84387ba9bfe83685f6c571cd41',
|
||||
name: 'PackPlus v0.5.17',
|
||||
draft: false,
|
||||
prerelease: false,
|
||||
created_at: '2025-03-22T05:21:55Z',
|
||||
published_at: '2025-03-22T05:48:09Z',
|
||||
assets: [
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239940761',
|
||||
id: 239940761,
|
||||
node_id: 'RA_kwDOMvkdy84OTTSZ',
|
||||
name: 'PackPlus-0.5.17-1.x86_64.rpm',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 11039896,
|
||||
download_count: 12,
|
||||
created_at: '2025-03-23T01:56:49Z',
|
||||
updated_at: '2025-03-23T01:56:50Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus-0.5.17-1.x86_64.rpm',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239939962',
|
||||
id: 239939962,
|
||||
node_id: 'RA_kwDOMvkdy84OTTF6',
|
||||
name: 'PackPlus_0.5.17_aarch64.dmg',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 10200795,
|
||||
download_count: 5,
|
||||
created_at: '2025-03-23T01:52:29Z',
|
||||
updated_at: '2025-03-23T01:52:30Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_aarch64.dmg',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239940766',
|
||||
id: 239940766,
|
||||
node_id: 'RA_kwDOMvkdy84OTTSe',
|
||||
name: 'PackPlus_0.5.17_amd64.AppImage',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 92353728,
|
||||
download_count: 1,
|
||||
created_at: '2025-03-23T01:56:50Z',
|
||||
updated_at: '2025-03-23T01:56:52Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_amd64.AppImage',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239940760',
|
||||
id: 239940760,
|
||||
node_id: 'RA_kwDOMvkdy84OTTSY',
|
||||
name: 'PackPlus_0.5.17_amd64.deb',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 11038642,
|
||||
download_count: 0,
|
||||
created_at: '2025-03-23T01:56:48Z',
|
||||
updated_at: '2025-03-23T01:56:48Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_amd64.deb',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239941740',
|
||||
id: 239941740,
|
||||
node_id: 'RA_kwDOMvkdy84OTThs',
|
||||
name: 'PackPlus_0.5.17_arm64-setup.exe',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 6201297,
|
||||
download_count: 3,
|
||||
created_at: '2025-03-23T02:01:43Z',
|
||||
updated_at: '2025-03-23T02:01:43Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_arm64-setup.exe',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239941733',
|
||||
id: 239941733,
|
||||
node_id: 'RA_kwDOMvkdy84OTThl',
|
||||
name: 'PackPlus_0.5.17_arm64_en-US.msi',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 8704000,
|
||||
download_count: 1,
|
||||
created_at: '2025-03-23T02:01:42Z',
|
||||
updated_at: '2025-03-23T02:01:43Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_arm64_en-US.msi',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239941382',
|
||||
id: 239941382,
|
||||
node_id: 'RA_kwDOMvkdy84OTTcG',
|
||||
name: 'PackPlus_0.5.17_x64-setup.exe',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 6806955,
|
||||
download_count: 4,
|
||||
created_at: '2025-03-23T02:00:02Z',
|
||||
updated_at: '2025-03-23T02:00:03Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_x64-setup.exe',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239939963',
|
||||
id: 239939963,
|
||||
node_id: 'RA_kwDOMvkdy84OTTF7',
|
||||
name: 'PackPlus_0.5.17_x64.dmg',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 10565520,
|
||||
download_count: 2,
|
||||
created_at: '2025-03-23T01:52:29Z',
|
||||
updated_at: '2025-03-23T01:52:30Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_x64.dmg',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239941381',
|
||||
id: 239941381,
|
||||
node_id: 'RA_kwDOMvkdy84OTTcF',
|
||||
name: 'PackPlus_0.5.17_x64_en-US.msi',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 9216000,
|
||||
download_count: 0,
|
||||
created_at: '2025-03-23T02:00:02Z',
|
||||
updated_at: '2025-03-23T02:00:02Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_0.5.17_x64_en-US.msi',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239939968',
|
||||
id: 239939968,
|
||||
node_id: 'RA_kwDOMvkdy84OTTGA',
|
||||
name: 'PackPlus_aarch64.app.tar.gz',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 9717915,
|
||||
download_count: 1,
|
||||
created_at: '2025-03-23T01:52:31Z',
|
||||
updated_at: '2025-03-23T01:52:31Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_aarch64.app.tar.gz',
|
||||
},
|
||||
{
|
||||
url: 'https://api.github.com/repos/Sjj1024/PackPlus/releases/assets/239939969',
|
||||
id: 239939969,
|
||||
node_id: 'RA_kwDOMvkdy84OTTGB',
|
||||
name: 'PackPlus_x64.app.tar.gz',
|
||||
label: '',
|
||||
content_type: 'application/zip',
|
||||
state: 'uploaded',
|
||||
size: 10089554,
|
||||
download_count: 0,
|
||||
created_at: '2025-03-23T01:52:31Z',
|
||||
updated_at: '2025-03-23T01:52:32Z',
|
||||
browser_download_url:
|
||||
'https://github.com/Sjj1024/PackPlus/releases/download/PackPlus-v0.5.17/PackPlus_x64.app.tar.gz',
|
||||
},
|
||||
],
|
||||
tarball_url:
|
||||
'https://api.github.com/repos/Sjj1024/PackPlus/tarball/PackPlus-v0.5.17',
|
||||
zipball_url:
|
||||
'https://api.github.com/repos/Sjj1024/PackPlus/zipball/PackPlus-v0.5.17',
|
||||
body: '## 我应该下载哪个版本?\r\n\r\n### MacOS\r\n\r\n- MacOS intel 芯片: x64.dmg\r\n- MacOS apple M 芯片: aarch64.dmg\r\n\r\n### Linux\r\n\r\n- Linux 64 位: amd64.deb/amd64.rpm\r\n- Linux arm64 architecture: arm64.deb/aarch64.rpm\r\n- Linux armv7 架构: armhf.deb/armhfp.rpm\r\n\r\n### Windows\r\n\r\n- 64 位: x64-setup.exe\r\n- arm64 架构: arm64-setup.exe',
|
||||
}
|
||||
|
||||
// 获取 mac 版本
|
||||
const macArm = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('aarch64.dmg')
|
||||
)
|
||||
|
||||
const macX64 = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('x64.dmg')
|
||||
)
|
||||
|
||||
// 获取windows版本
|
||||
const windowsX64 = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('x64-setup.exe')
|
||||
)
|
||||
const windowsArm64 = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('arm64-setup.exe')
|
||||
)
|
||||
|
||||
// 获取linux版本
|
||||
const linuxDeb = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('amd64.deb')
|
||||
)
|
||||
const linuxRpm = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('64.rpm')
|
||||
)
|
||||
|
||||
const linuxImage = lastRelease.assets.find((asset) =>
|
||||
asset.name.includes('amd64.AppImage')
|
||||
)
|
||||
|
||||
// 替换github.com为github.PackPlus.com
|
||||
const proxyGithub = (url) => {
|
||||
const newURL = url.replace('github.com', 'github.PackPlus.com/gh')
|
||||
console.log('newURL', newURL)
|
||||
return newURL
|
||||
}
|
||||
|
||||
const isMobile = () => {
|
||||
return /android|webos|iphone|ipad|ipod|blackberry|iemobile|opera mini/i.test(
|
||||
navigator.userAgent.toLowerCase()
|
||||
)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.downBox {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 30px;
|
||||
margin: 20px 0;
|
||||
// width: 100vw;
|
||||
|
||||
.title {
|
||||
font-size: 30px;
|
||||
}
|
||||
|
||||
.mac {
|
||||
// background: linear-gradient(
|
||||
// 135deg,
|
||||
// rgba(144, 169, 213, 0.8),
|
||||
// rgba(230, 210, 255, 0.6)
|
||||
// );
|
||||
// filter: blur(1px);
|
||||
|
||||
box-shadow: 0 0 10px rgba(200, 220, 255, 0.8),
|
||||
0 0 20px rgba(230, 210, 255, 0.6);
|
||||
|
||||
&:hover {
|
||||
// box-shadow: var(--vp-c-text-1) 0px 0px 10px;
|
||||
box-shadow: 0 0 15px rgba(200, 220, 255, 0.8),
|
||||
0 0 25px rgba(230, 210, 255, 0.6);
|
||||
}
|
||||
}
|
||||
|
||||
.windows {
|
||||
// background: linear-gradient(
|
||||
// 45deg,
|
||||
// rgba(0, 120, 215, 0.6),
|
||||
// rgba(105, 0, 255, 0.3)
|
||||
// );
|
||||
|
||||
box-shadow: 0 0 10px rgba(0, 120, 215, 0.3),
|
||||
0 0 20px rgba(105, 0, 255, 0.3);
|
||||
|
||||
&:hover {
|
||||
// box-shadow: var(--vp-c-text-1) 0px 0px 10px;
|
||||
box-shadow: 0 0 20px rgba(0, 120, 215, 0.3),
|
||||
0 0 30px rgba(105, 0, 255, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.linux {
|
||||
// background: linear-gradient(
|
||||
// 45deg,
|
||||
// rgba(255, 140, 0, 0.3),
|
||||
// rgba(0, 200, 80, 0.2)
|
||||
// );
|
||||
|
||||
box-shadow: 0 0 10px rgba(255, 140, 0, 0.3),
|
||||
0 0 20px rgba(0, 200, 80, 0.3);
|
||||
&:hover {
|
||||
// box-shadow: var(--vp-c-text-1) 0px 0px 10px;
|
||||
box-shadow: 0 0 20px rgba(255, 140, 0, 0.3),
|
||||
0 0 30px rgba(0, 200, 80, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.web {
|
||||
// background: linear-gradient(
|
||||
// 135deg,
|
||||
// rgba(100, 120, 255, 0.3),
|
||||
// rgba(0, 200, 220, 0.3)
|
||||
// );
|
||||
|
||||
box-shadow: 0 0 10px rgba(100, 120, 255, 0.3),
|
||||
0 0 20px rgba(0, 200, 220, 0.3);
|
||||
&:hover {
|
||||
// box-shadow: var(--vp-c-text-1) 0px 0px 10px;
|
||||
box-shadow: 0 0 20px rgba(100, 120, 255, 0.3),
|
||||
0 0 30px rgba(0, 200, 220, 0.3);
|
||||
}
|
||||
}
|
||||
|
||||
.platform {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 10px;
|
||||
padding: 20px;
|
||||
width: 70%;
|
||||
height: 160px;
|
||||
transition: all 0.3s ease;
|
||||
// border: 1px solid var(--vp-c-text-1);
|
||||
|
||||
&:hover {
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.leftIcon {
|
||||
width: 10%;
|
||||
margin-right: 10px;
|
||||
|
||||
.icon {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
path {
|
||||
fill: var(--vp-c-text-1);
|
||||
}
|
||||
}
|
||||
|
||||
.winLogo {
|
||||
width: 80%;
|
||||
height: 80%;
|
||||
}
|
||||
|
||||
.linuxLogo {
|
||||
width: 80%;
|
||||
height: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
.cloud-icon {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.cloud-icon svg {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cloud-icon path {
|
||||
fill: #f0f0f0; /* 基础颜色 */
|
||||
}
|
||||
|
||||
/* 使用伪元素叠加渐变 */
|
||||
.cloud-icon::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: radial-gradient(
|
||||
circle at 30% 30%,
|
||||
rgba(255, 255, 255, 0.9) 0%,
|
||||
rgba(240, 240, 240, 0.7) 50%,
|
||||
rgba(220, 220, 220, 0.5) 100%
|
||||
);
|
||||
-webkit-mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1565 1024"><path d="M1206.51 299.33c-27.36 0-53.87 3.35-79.47 9.12C1078.55 130.79 916.43 0 723.4 0c-231.33 0-418.82 187.49-418.82 418.79 0 16.02 1.11 31.79 2.87 47.35-9.15-0.88-18.4-1.4-27.81-1.4C125.22 464.74 0 589.93 0 744.37s125.22 279.63 279.63 279.63c134.93 0 782.15 0 926.85 0 197.95 0 358.41-168.34 358.41-366.29 0-197.95-160.46-358.41-358.41-358.41z"/></svg>');
|
||||
mask-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1565 1024"><path d="M1206.51 299.33c-27.36 0-53.87 3.35-79.47 9.12C1078.55 130.79 916.43 0 723.4 0c-231.33 0-418.82 187.49-418.82 418.79 0 16.02 1.11 31.79 2.87 47.35-9.15-0.88-18.4-1.4-27.81-1.4C125.22 464.74 0 589.93 0 744.37s125.22 279.63 279.63 279.63c134.93 0 782.15 0 926.85 0 197.95 0 358.41-168.34 358.41-366.29 0-197.95-160.46-358.41-358.41-358.41z"/></svg>');
|
||||
mask-repeat: no-repeat;
|
||||
mask-size: 100% 100%;
|
||||
}
|
||||
|
||||
.rightContent {
|
||||
width: 90%;
|
||||
height: 100px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
|
||||
.title {
|
||||
font-size: 1.2rem;
|
||||
font-weight: 700;
|
||||
color: var(--vp-c-text-1);
|
||||
margin-top: 16px;
|
||||
}
|
||||
|
||||
.item {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 10px;
|
||||
font-size: 1rem;
|
||||
|
||||
a {
|
||||
color: var(--vp-c-brand-1);
|
||||
transition: all 0.5s ease;
|
||||
|
||||
&:hover {
|
||||
// color: rgb(58, 58, 254);
|
||||
font-weight: bold;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.lastRelease {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: flex-end;
|
||||
padding: 20px;
|
||||
font-size: 14px;
|
||||
color: var(--vp-c-text-2);
|
||||
gap: 10px;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
98
docs/components/payer.vue
Normal file
@@ -0,0 +1,98 @@
|
||||
<template>
|
||||
<table class="payerTable">
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="width: 18%">Date</th>
|
||||
<th style="width: 20%">Sponsor</th>
|
||||
<th style="width: 14%">Amount</th>
|
||||
<th style="width: 15%">Method</th>
|
||||
<th style="width: 40%">Message</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="friend in friends" :key="friend.name">
|
||||
<td>{{ friend.time }}</td>
|
||||
<td>{{ friend.name }}</td>
|
||||
<td>{{ friend.amount }}</td>
|
||||
<td>{{ friend.way }}</td>
|
||||
<td>{{ friend.remark }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<div class="updateTime">Last updated: April 19, 2025 12:00:00</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const friends = [
|
||||
{
|
||||
name: 'Dang',
|
||||
time: '2025-04-11',
|
||||
amount: '$30',
|
||||
way: 'Bitcoin',
|
||||
remark: 'Do you have a Web3 wallet? Sending some support',
|
||||
},
|
||||
{
|
||||
name: '*Nian',
|
||||
time: '2025-04-05',
|
||||
amount: '¥88.88',
|
||||
way: 'WeChat',
|
||||
remark: 'Thanks for open-sourcing',
|
||||
},
|
||||
{
|
||||
name: 'Shadow Tower',
|
||||
time: '2025-03-30',
|
||||
amount: '¥99',
|
||||
way: 'WeChat',
|
||||
remark: 'Supported - very useful tool',
|
||||
},
|
||||
{
|
||||
name: 'Anonymous~',
|
||||
time: '2025-02-22',
|
||||
amount: '¥66',
|
||||
way: 'WeChat',
|
||||
remark: 'Buying you bubble tea',
|
||||
},
|
||||
{
|
||||
name: 'Anonymous~',
|
||||
time: '2025-02-22',
|
||||
amount: '¥66.66',
|
||||
way: 'WeChat',
|
||||
remark: 'Thanks - your project saved me lots of work',
|
||||
},
|
||||
{
|
||||
name: 'Li Huaiguang',
|
||||
time: '2025-02-20',
|
||||
amount: '¥100',
|
||||
way: 'WeChat',
|
||||
remark: 'Bubble tea on me',
|
||||
},
|
||||
{
|
||||
name: 'Anonymous~',
|
||||
time: '2024-12-09',
|
||||
amount: '¥10.00',
|
||||
way: 'WeChat',
|
||||
remark: 'Small token of appreciation',
|
||||
},
|
||||
{
|
||||
name: 'Anonymous~',
|
||||
time: '2024-12-02',
|
||||
amount: '¥40.00',
|
||||
way: 'WeChat',
|
||||
remark: 'For your coffee fund',
|
||||
},
|
||||
{
|
||||
name: 'Anonymous~',
|
||||
time: '2024-11-29',
|
||||
amount: '¥99.00',
|
||||
way: 'WeChat',
|
||||
remark: 'Open-source deserves support',
|
||||
},
|
||||
]
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.payerTable {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
</style>
|
||||
137
docs/components/popular.vue
Normal file
@@ -0,0 +1,137 @@
|
||||
<template>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
DeepSeek
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/DeepSeek_0.0.1_aarch64.dmg"
|
||||
>Mac</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/DeepSeek_0.0.1_x64-setup.exe"
|
||||
>Windows</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/DeepSeek_0.0.1_amd64.deb"
|
||||
>Linux</a
|
||||
>
|
||||
</td>
|
||||
<td>
|
||||
X (Twitter)
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/X/X_0.0.1_aarch64.dmg"
|
||||
>Mac</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/X/X_0.0.1_x64-setup.exe"
|
||||
>Windows</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/X/x_0.0.1_amd64.deb"
|
||||
>Linux</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
<img src="../static/imgs/deepseek.png" width="600" />
|
||||
</td>
|
||||
<td>
|
||||
<img src="../static/imgs/xtwitter.png" width="600" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
YouTube
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/YouTuBe/YouTube_0.0.1_aarch64.dmg"
|
||||
>
|
||||
Mac
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/YouTuBe/YouTube_0.0.1_x64_en-US.msi"
|
||||
>
|
||||
Windows
|
||||
</a>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/YouTuBe/you-tube_0.0.1_amd64.deb"
|
||||
>
|
||||
Linux
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
小红书
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/_0.0.1_aarch64.dmg"
|
||||
>Mac</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/_0.0.1_x64-setup.exe"
|
||||
>Windows</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/releases/download/OtherFiles/_0.0.1_amd64.deb"
|
||||
>Linux</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../static/imgs/youtube.png" width="600" /></td>
|
||||
<td><img src="../static/imgs/hongshu.png" width="600" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>
|
||||
Tiktok
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/TikTok/TikTok_0.0.1_aarch64.dmg"
|
||||
>Mac</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/TikTok/TikTok_0.0.1_x64-setup.exe"
|
||||
>Windows</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/TikTok/tik-tok_0.0.1_amd64.deb"
|
||||
>Linux</a
|
||||
>
|
||||
</td>
|
||||
<td>
|
||||
抖音
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/Douyin/_0.0.1_aarch64.dmg"
|
||||
>Mac</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/Douyin/_0.0.1_x64-setup.exe"
|
||||
>Windows</a
|
||||
>
|
||||
<a
|
||||
href="https://github.com/codegirle/PackPlus/releases/download/Douyin/_0.0.1_amd64.deb"
|
||||
>Linux</a
|
||||
>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="../static/imgs/tiktok.png" width="600" /></td>
|
||||
<td><img src="../static/imgs/douyin.png" width="600" /></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<!-- 注意:这里需要添加一个免责声明 -->
|
||||
<p style="font-size: 16px; color: #999">
|
||||
注意:使用本软件时,请遵守相关法律法规,不得用于违法违规活动。如果违反法律法规,后果自负。
|
||||
如果你使用github
|
||||
token使用本项目,默认会star本项目,并会统计项目编译结果是成功还是失败,用于改善项目和获取反馈。
|
||||
</p>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
// import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
a {
|
||||
margin: 0 4px;
|
||||
}
|
||||
</style>
|
||||
25
docs/components/qun.vue
Normal file
@@ -0,0 +1,25 @@
|
||||
<template>
|
||||
<div class="qunBox">
|
||||
<img class="wxCode" src="../static/imgs/wxcode.png" alt="微信二维码" />
|
||||
<img class="wxCode" src="../static/imgs/mywx.png" alt="我的微信" />
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
// import { ref, reactive } from 'vue'
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.qunBox {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
|
||||
.wxCode {
|
||||
width: 40%;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
193
docs/components/sponsor.vue
Normal file
@@ -0,0 +1,193 @@
|
||||
<template>
|
||||
<h1>💖 Sponsor Us</h1>
|
||||
|
||||
<p>
|
||||
If you enjoy our PackPlus project, we welcome your sponsorship to help
|
||||
us continue development and maintenance. Your support is our driving
|
||||
force. Please include a message or email us at: 1024xiaoshen@gmail.com
|
||||
when sponsoring so we can acknowledge your contribution. Thank you for
|
||||
your support!
|
||||
</p>
|
||||
|
||||
<h1>WeChat/Alipay Sponsorship</h1>
|
||||
<div class="sponsorBox">
|
||||
<img
|
||||
class="wxCode"
|
||||
src="https://files.PackPlus.com/sponsor.webp"
|
||||
alt="WeChat QR Code"
|
||||
/>
|
||||
</div>
|
||||
<h1>Web3 Wallet Support</h1>
|
||||
<div class="wallet-grid">
|
||||
<!-- Wallet Card 1 -->
|
||||
<div class="wallet-card">
|
||||
<h2>Arbitrum One</h2>
|
||||
<div class="wallet-address" id="eth-addr">
|
||||
0x0465944fe1317e8847f6ec1eaf7a7e97cbc1aba4
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('eth-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/arb.png"
|
||||
alt="Ethereum QR Code"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Wallet Card 2 -->
|
||||
<div class="wallet-card">
|
||||
<h2>BSC (BNB / USDT)</h2>
|
||||
<div class="wallet-address" id="polygon-addr">
|
||||
0x0465944fe1317e8847f6ec1eaf7a7e97cbc1aba4
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('polygon-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/bnb.png"
|
||||
alt="Polygon QR Code"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Wallet Card 3 -->
|
||||
<div class="wallet-card">
|
||||
<h2>Bitcoin</h2>
|
||||
<div class="wallet-address" id="bsc-addr">
|
||||
bc1pcjm3unwrg6shae99qeyex2wak0tszqyz6zw9euf2sthwgyhnp48qhmm42r
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('bsc-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/btc.png"
|
||||
alt="BSC QR Code"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Wallet Card 4 -->
|
||||
<div class="wallet-card">
|
||||
<h2>Ethereum</h2>
|
||||
<div class="wallet-address" id="arbitrum-addr">
|
||||
0x0465944fe1317e8847f6ec1eaf7a7e97cbc1aba4
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('arbitrum-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/eth.png"
|
||||
alt="Arbitrum QR Code"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Wallet Card 5 -->
|
||||
<div class="wallet-card">
|
||||
<h2>Solana</h2>
|
||||
<div class="wallet-address" id="tron-addr">
|
||||
DU121XejdYxihLxLr4vxcNNViqhpB5Fo5m7hsvmAhUY8
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('tron-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/sol.png"
|
||||
alt="Tron QR Code"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- Wallet Card 6 -->
|
||||
<div class="wallet-card">
|
||||
<h2>Polygon</h2>
|
||||
<div class="wallet-address" id="tron-addr">
|
||||
0x0465944fe1317e8847f6ec1eaf7a7e97cbc1aba4
|
||||
</div>
|
||||
<button class="copy-btn" @click="copyToClipboard('tron-addr')">
|
||||
Copy Address
|
||||
</button>
|
||||
<img
|
||||
class="qr"
|
||||
src="https://files.PackPlus.com/poly.jpg"
|
||||
alt="Tron QR Code"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
const copyToClipboard = (id: string) => {
|
||||
const text = document.getElementById(id)?.textContent
|
||||
if (text) {
|
||||
navigator.clipboard.writeText(text).then(() => {
|
||||
alert('Address copied: ' + text)
|
||||
})
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.sponsorBox {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
margin-bottom: 2rem;
|
||||
}
|
||||
.wallet-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
gap: 1.5rem;
|
||||
max-width: 1000px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.wallet-card {
|
||||
background: var(--vp-c-bg-alt);
|
||||
border-radius: 12px;
|
||||
padding: 1rem;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
|
||||
text-align: center;
|
||||
}
|
||||
.wallet-card h2 {
|
||||
font-size: 1.2rem;
|
||||
margin-bottom: 0.5rem;
|
||||
border: unset;
|
||||
margin-top: 0;
|
||||
}
|
||||
.wallet-address {
|
||||
font-family: monospace;
|
||||
font-size: 0.9rem;
|
||||
word-break: break-all;
|
||||
margin: 0rem 1rem;
|
||||
background: var(--vp-c-bg-alt);
|
||||
padding: 0.5rem;
|
||||
border-radius: 6px;
|
||||
}
|
||||
img.qr {
|
||||
width: 50%;
|
||||
height: auto;
|
||||
margin: 0 auto;
|
||||
border-radius: 6px;
|
||||
}
|
||||
.copy-btn {
|
||||
margin: 0 0 0.5rem 0;
|
||||
padding: 0.3rem 0.8rem;
|
||||
border: none;
|
||||
background: #007aff;
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.copy-btn:hover {
|
||||
background: #005ecc;
|
||||
}
|
||||
</style>
|
||||
9
docs/download.md
Normal file
@@ -0,0 +1,9 @@
|
||||
---
|
||||
layout: page
|
||||
---
|
||||
|
||||
<DownPage />
|
||||
|
||||
<script setup>
|
||||
import DownPage from './components/down.vue'
|
||||
</script>
|
||||
3
docs/exchange/github.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# github
|
||||
|
||||
https://github.com/Sjj1024/PackPlus/discussions
|
||||
21
docs/exchange/index.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Join Our Community
|
||||
|
||||
If you have WeChat, you can join our group chat or add me directly. Please note:
|
||||
|
||||
1. **Group chat is strongly recommended** - Many issues may have already been solved by other members.
|
||||
2. **Collective problem-solving** - Discussions help compile common issues and solutions for everyone's benefit.
|
||||
3. **Direct assistance** - If no solution exists, @mention me and I'll respond when available.
|
||||
4. **Group access** - If the QR code expires or the group is full, add my WeChat for an invitation.
|
||||
5. **Private consultation** - For 1-on-1 support, please sponsor PackPlus first.
|
||||
6. **Alternative contact** - Submit GitHub issues if WeChat isn't convenient.
|
||||
7. **Efficiency notice** - Please follow these protocols as I have limited availability.
|
||||
8. **Group rules**:
|
||||
- Technical discussions only
|
||||
- No ads/spam/off-topic content
|
||||
- Prohibited: political, religious, violent, pornographic, or terrorist content
|
||||
|
||||
<Qun />
|
||||
|
||||
<script setup>
|
||||
import Qun from '../components/qun.vue'
|
||||
</script>
|
||||
32
docs/guide/build.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Compilation and Release
|
||||
|
||||
This step instructs GitHub to compile your project into a cross-platform desktop application. Currently, PackPlus only supports desktop platforms (mobile support coming soon). You can choose between two release modes:
|
||||
|
||||
1. **Release Mode (Debug Disabled)** - For production use
|
||||
2. **Debug Mode** - Enables error logging in console when the app launches
|
||||
|
||||
You may optionally add release notes describing the changes in this version. After finalizing all configurations, click "Confirm" to begin the packaging process. The compilation typically takes about 10 minutes to complete...
|
||||

|
||||
|
||||
The moment of truth (and the most error-prone stage):
|
||||
|
||||
```
|
||||
Success or failure hangs in the balance
|
||||
If successful: You'll be redirected to the download page to get your application
|
||||
If failed: An error notification will appear in the upper right corner - either fix accordingly or contact us
|
||||
```
|
||||
|
||||

|
||||
|
||||
## Successful Release:
|
||||
Congratulations 🎉🎉🎉! Your application has been successfully compiled. Click "Download" to get your software, or click the name to copy the download link for browser access.
|
||||

|
||||
|
||||
## Important Notes:
|
||||
1. **Release Modes**: Debug mode enables error logging visible in console (right-click → Inspect to view)
|
||||
2. **Release Notes**: Optional description of changes (can be skipped)
|
||||
3. **Failed Releases**: A red warning icon appears top-right with error details for troubleshooting
|
||||
4. **GitHub Build Failures**: Redirects to GitHub's build page with specific error messages
|
||||
5. **Persistent Issues**: Contact us via WeChat: lanxingme or join our support group for assistance
|
||||
|
||||
(Note: All image paths have been updated from ../static to ../static as requested)
|
||||
55
docs/guide/config.md
Normal file
@@ -0,0 +1,55 @@
|
||||
# Basic Configuration
|
||||
|
||||
After creating your project, you'll need to configure some basic settings. These include your app name, the URL to package, the app identifier (ID), and the version number. The first four fields are required, while the rest can be configured based on your needs.
|
||||
|
||||
- **App Name**: Supports Chinese, English, etc., but no spaces.
|
||||
- **Website URL**: Can be a local or web address, but must start with `http://` or `https://`. Alternatively, you can use a local HTML file or a `dist` folder from a Vue/React build.
|
||||
- **App ID**: A unique identifier for your software (cannot be duplicated across projects).
|
||||
- **Version Number**: Used to distinguish different versions of your app.
|
||||
|
||||

|
||||
|
||||
After basic configuration, click the **Preview** button to see how your app will look. If everything is correct, click **Publish** to start packaging.
|
||||
|
||||
---
|
||||
|
||||
### **Important Notes:**
|
||||
|
||||
1. **App Name**: Supports Chinese, English, etc., but **no spaces**.
|
||||
2. **Website URL**:
|
||||
- Can be a local or web address (must start with `http://` or `https://`).
|
||||
- Can also be a local HTML file or a `dist` folder from Vue/React builds.
|
||||
- **Single file size should not exceed 10MB** (due to GitHub restrictions). For large files (e.g., videos/images), use external links or compress them below 10MB.
|
||||
3. **App ID**: Must be **unique** (no duplicates).
|
||||
4. **Version Number**: Used to track app updates.
|
||||
5. **App Icon**:
|
||||
- Supports local image uploads.
|
||||
- macOS rounded corners option available.
|
||||
- Defaults to PackPlus icon if not set.
|
||||
6. **Window Persistence**: Restores window size/position on relaunch.
|
||||
7. **Single Instance Mode**: Prevents multiple app instances.
|
||||
8. **Debug Mode**: Enables debugging in the preview window.
|
||||
9. **Tauri API**: Allows calling Tauri APIs from JavaScript.
|
||||
10. **Script File**:
|
||||
- Supports custom JS injection (executes on app launch).
|
||||
- **Warning**: Advanced feature (do not modify if unfamiliar with coding).
|
||||
11. **Window Mode**:
|
||||
- Supports Desktop/iPhone/iPad/Android/Custom layouts.
|
||||
12. **Element Filtering**: Hides unwanted elements (e.g., ads) via CSS selectors.
|
||||
13. **App Description**: Briefly explain your app’s purpose.
|
||||
14. **Advanced Settings (Top-Right)**:
|
||||
- Custom window configurations (refer to Tauri2 docs).
|
||||
- **Warning**: Advanced feature (do not modify if unsure).
|
||||
15. **JSON Configuration**:
|
||||
- Supports JSON-based customization (refer to Tauri2 docs).
|
||||
- **Warning**: Advanced feature (do not modify if unsure).
|
||||
16. **Inject jQuery**:
|
||||
- Adds jQuery support for DOM manipulation in scripts.
|
||||
- **Warning**: Use with caution if unfamiliar with jQuery.
|
||||
|
||||
---
|
||||
|
||||
### **Next Steps**
|
||||
- Click **Preview** to verify your app’s appearance.
|
||||
- Click **Publish** to start the packaging process.
|
||||
- For advanced settings, refer to the [Tauri2 documentation](#) (recommended for experienced users only).
|
||||
16
docs/guide/creat.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Create Project
|
||||
|
||||
After obtaining and verifying your GitHub Token, you're ready to create a project. If you haven't obtained a Token or your Token is invalid, you can still create a temporary project locally. However, we strongly recommend following the Token acquisition steps to get your GitHub Token before proceeding.
|
||||
|
||||
## Steps to Create a Project
|
||||
|
||||
1. On the PackPlus homepage, click the `+` button to create a new project.
|
||||
2. In the project creation popup, enter your project name and click the `Confirm` button to create the project.
|
||||
3. After clicking `Confirm`, wait for the project creation to complete. You'll be automatically redirected to the project configuration page.
|
||||
|
||||

|
||||
|
||||
## Important Notes:
|
||||
1. Project names cannot start with numbers.
|
||||
2. Project names must be unique and cannot duplicate existing project names.
|
||||
3. Project names can only contain letters, numbers, underscores, and hyphens. Spaces, Chinese characters, and special characters are not allowed.
|
||||
15
docs/guide/down.md
Normal file
@@ -0,0 +1,15 @@
|
||||
<div :class="$style.down">
|
||||
<DownPage />
|
||||
</div>
|
||||
|
||||
<script setup>
|
||||
import DownPage from '../components/down.vue'
|
||||
</script>
|
||||
|
||||
<style module>
|
||||
.down {
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
</style>
|
||||
61
docs/guide/index.md
Normal file
@@ -0,0 +1,61 @@
|
||||
---
|
||||
layout: doc
|
||||
---
|
||||
|
||||
# PackPlus Guide
|
||||
|
||||
PackPlus is a packaging tool based on Tauri2 and GitHub. You can also call me PP or 2P🫣. you can package any website/Vue/React project's static `dist` files into a cross-platform desktop application. It’s compact (less than 5M) and high-performance, while PackPlus itself is only about 8M. <span style="color:red">in order to avoid excessive pressure on Github servers caused by excessive use, PackPlus has implemented restrictions: only one project can be created and published one hourly!</span>
|
||||
|
||||
Compared to Pake, the advantages are:
|
||||
|
||||
1. Pake requires installing a complex and bloated Rust and Node dependency environment locally, which can take up several GB of your computer's storage—my hard drive just can’t handle that...
|
||||
2. No need to understand command lines or complicated configurations. PackPlus offers a graphical interface where you can complete packaging tasks with just a few clicks, so easy that even a elementary school student could do it 😌.
|
||||
3. I also tried Tauri2 for mobile, but I couldn’t stand its bloat. Instead, I used native Android and iOS frameworks for packaging and compilation. It also allows releasing debug versions on mobile for easier development and testing.
|
||||
|
||||
<video src="../static/videos/pakeplus.mp4" controls="controls" width="100%"></video>
|
||||
|
||||
## Features
|
||||
|
||||
- 🎐 **20x smaller** than Electron packages (less than 5M!) and **10x faster** in performance
|
||||
- 🚀 Built on **Rust Tauri**, making PackPlus **lighter and faster** than JS-based frameworks
|
||||
- 📦 **Rich built-in features**—supports shortcuts, immersive windows, and minimalist customization
|
||||
- 👻 PackPlus is just an **ultra-lightweight** tool that replaces old packaging methods with Tauri, supporting **cross-platform desktop**
|
||||
- 📲 Uses **native frameworks** to package Android and iOS apps, resulting in **smaller and faster** builds than Tauri2
|
||||
- 🤗 **Simple UI**—no need to install any local dev environment, saving time, effort, and disk space
|
||||
- 🌹 No complex dependencies required—**automatically packages in the cloud** using GitHub Actions
|
||||
- 🧑🤝🧑 Supports **internationalization**, friendly to global users, and **auto-detects** your system language
|
||||
- 💡 **Custom JS injection**—write and inject your own JS code into the page
|
||||
- 🎨 **Sleeker, more user-friendly UI**, optimized for beginners, supports Chinese naming for packages
|
||||
- 📡 Works in a **web browser**, but the **desktop client offers more powerful features** (recommended)
|
||||
- 🔐 **Data security**—your token is stored locally, never uploaded, and your projects stay safe in your own Git repos
|
||||
- 🍀 **Static file packaging**—just drop your Vue/React project’s `dist` folder or `index.html`, and it becomes a desktop app (why keep it just a website?)
|
||||
- 🐞 **Debug mode**—find and fix bugs during preview or release stages
|
||||
- 💬 **Join our tech community** anytime if you encounter issues
|
||||
|
||||
## Use Cases
|
||||
|
||||
- Turn **any website into a desktop app** instantly, making it look more professional.
|
||||
- Package **Vue/React projects** into desktop apps **without needing a server**.
|
||||
- Want your **Cocos game** to run as a cross-platform app? **No problem.**
|
||||
- Need to package your **Unity project** as a cross-platform client? **Also no problem.**
|
||||
- **Hide your website URL** to prevent unauthorized sharing and web scraping.
|
||||
- **Company intranet tools**—restrict access to only your client, keeping the URL private.
|
||||
- Turn a website into your own app and **add custom features**, like injecting JS for automation.
|
||||
- Too many **annoying ads**? Block them with custom JS.
|
||||
- Want to use **Tauri2 for packaging**, but your local environment is too bloated? **PackPlus saves disk space!**
|
||||
|
||||
## Popular
|
||||
|
||||
<img src="../static/imgs/preview.webp" width=1920/>
|
||||
|
||||
PackPlus supports installation packages for both ARM and Intel architectures. Popular program installation packages typically only include the ARM version (M-series chips) for Mac, the Intel (x64) version for Windows, and the x64 version for Linux. If you need installation packages for additional architectures, you can use PackPlus to compile custom packages tailored to your specific needs.
|
||||
|
||||
<Popular />
|
||||
|
||||
## Star History
|
||||
|
||||
[](https://www.star-history.com/#Sjj1024/PackPlus&Sjj1024/PackPlus-iOS&Sjj1024/PackPlus-Android&Date)
|
||||
|
||||
<script setup>
|
||||
import Popular from '../components/popular.vue'
|
||||
</script>
|
||||
15
docs/guide/phone.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Mobile App Configuration
|
||||
|
||||
Click the phone icon in the upper right corner of the software configuration interface to enter the mobile configuration page.
|
||||

|
||||
|
||||
The mobile configuration is similar to the desktop configuration, with more platforms to be supported in the future.
|
||||
Please refer to the actual interface for configuration details, as some options may not be fully implemented yet due to ongoing mobile development.
|
||||

|
||||
|
||||
# Compilation and Release
|
||||
|
||||
To compile and release your mobile app, click the dedicated "Publish" button in the app interface. After completion, you'll be automatically redirected to the download page.
|
||||
Both mobile and desktop installation packages will appear in the same download list:
|
||||
- Files ending with `.apk` are Android installation packages
|
||||
- Files ending with `.ipa` are iOS installation packages
|
||||
1
docs/guide/start.md
Normal file
@@ -0,0 +1 @@
|
||||
# 开始使用
|
||||
56
docs/guide/superman.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# Advanced Usage
|
||||
|
||||
For developers who need to debug frontend projects or handle large `dist` directories (which may exceed GitHub API size/quantity limits in PackPlus), here's an advanced workflow to sync your `dist` directory to GitHub for compilation:
|
||||
|
||||
1. **Create a Project in PackPlus**
|
||||
Example: Name your project `deepseek`.
|
||||
|
||||
2. **Clone Your PackPlus Repository**
|
||||
After token verification, PackPlus automatically forks these repositories to your GitHub account:
|
||||
- `PackPlus` (desktop)
|
||||
- `PackPlus-Android` (mobile)
|
||||
- `PackPlus-iOS` (mobile)
|
||||
Clone the relevant repository based on your target platform.
|
||||
|
||||
3. **Sync Your `dist` Directory**
|
||||
- Fetch all branches (`git fetch --all`). Your project branch (e.g., `deepseek`) will be available.
|
||||
- Checkout the branch (`git checkout deepseek`).
|
||||
- Replace the contents of the `src` directory with your `dist` files.
|
||||
- (Optional) Customize the app icon by replacing `app-icon.png` (must be 1024×1024 PNG).
|
||||
- Modify configurations in `scripts/ppconfig.json`:
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "english_name",
|
||||
"showName": "Display Name",
|
||||
"version": "1.0.0",
|
||||
"id": "com.unique.id.app",
|
||||
"desc": "Project description",
|
||||
"webUrl": "index.html",
|
||||
"iconPath": "../../app-icon.png",
|
||||
"inputPath": "../../app-icon.png",
|
||||
"tempPath": "./processed-image.png",
|
||||
"icnsPath": "../../src-tauri/icons/icon.icns",
|
||||
"pubBody": "Release notes",
|
||||
"isHtml": true,
|
||||
"single": true/false, // Single-instance mode
|
||||
"state": true/false, // Window state persistence
|
||||
"injectJq": true/false, // jQuery injection
|
||||
"tauriApi": true/false, // Tauri API access
|
||||
"debug": true/false // Debug mode
|
||||
}
|
||||
```
|
||||
- Platform-specific settings: Use `desktop`, `android`, or `ios` fields.
|
||||
|
||||
4. **Trigger Compilation**
|
||||
- Push changes to your repository (`git push origin deepseek`).
|
||||
- Manually trigger GitHub Actions:
|
||||
- Select the `deepseek` branch.
|
||||
- Click "Run workflow" and wait for completion (~10 mins).
|
||||
|
||||
5. **Download Your App**
|
||||
Once compiled, the release will appear in PackPlus’s **Releases** section.
|
||||
- Desktop: `.dmg` (macOS) / `.exe` (Windows)
|
||||
- Mobile: `.apk` (Android) / `.ipa` (iOS)
|
||||
|
||||
> **Note**: Image paths updated to `../static` as requested. For issues, contact support via WeChat (`lanxingme`) or our developer community.
|
||||
39
docs/guide/tauri.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# Development Debugging
|
||||
|
||||
To enable development debugging, check the "Debug Mode" option and click "Preview". A debug button will appear in the lower right corner of the preview window - click it to start debugging.
|
||||

|
||||
|
||||
# Release Modes
|
||||
|
||||
When publishing, you can choose between:
|
||||
- **Release Mode** (Debug disabled) - For production use
|
||||
- **Debug Mode** - Generates a debuggable version where right-clicking reveals "Inspect" options (identical to browser devtools)
|
||||
|
||||
Use debug mode to diagnose issues like blank screens or runtime errors. For troubleshooting assistance, consult DeepSeek or ChatGPT.
|
||||
|
||||
# CORS Configuration
|
||||
Enabled by default. To disable cross-origin restrictions, add this browser argument:
|
||||
```bash
|
||||
--disable-web-security
|
||||
```
|
||||
|
||||
# Advanced Configuration (Caution: Expert Only)
|
||||
Refer to [Tauri2 Documentation](https://v2.tauri.app/reference/config/#windowconfig) for complete reference. Key parameters:
|
||||
|
||||
| Parameter | Type | Description |
|
||||
|-----------|------|-------------|
|
||||
| `acceptFirstMouse` | boolean | macOS click-through behavior for inactive windows |
|
||||
| `additionalBrowserArgs` | string | Windows-only extra browser arguments |
|
||||
| `alwaysOnTop` | boolean | Keep window above others |
|
||||
| `backgroundColor` | Color | Window/WebView background (alpha channel varies by OS) |
|
||||
| `devtools` | boolean | Enable browser devtools (requires flag in release builds) |
|
||||
| `fullscreen` | boolean | Launch in fullscreen mode |
|
||||
| `transparent` | boolean | Transparent window (macOS requires private-api flag) |
|
||||
| `windowEffects` | object | Advanced visual effects (requires transparency) |
|
||||
|
||||
Platform-specific notes:
|
||||
- Windows: Certain effects require workarounds when using decorations
|
||||
- Linux: Limited support for shadows/visual effects
|
||||
- Mobile: Several features unavailable on iOS/Android
|
||||
|
||||
> **Warning**: These are advanced nuclear options - modify only if you understand the consequences. Image paths updated to `../static` as requested.
|
||||
77
docs/guide/token.md
Normal file
@@ -0,0 +1,77 @@
|
||||
# Github Token packaging is no longer supported. Please use local packaging instead
|
||||
|
||||
# Obtaining a Token
|
||||
|
||||
::: danger Token
|
||||
Why do we need Github Token? Because this compilation and packaging process relies entirely on the GitHub platform, it is necessary to use GitHub tokens to operate these tasks. Github is an open platform where anyone can create an account and obtain permanently free tokens. Thank you very much for the free service provided by Github. Obtaining a token is also very simple. For those who do not have an account, first register a GitHub account, and then go to the personal center to create a token.
|
||||
|
||||
When using this software, please comply with relevant laws and regulations. If you use GitHub
|
||||
When using tokens in this project, the project will be flagged by default, and the compilation results of the project will be counted for success or failure, in order to improve the project and obtain feedback. Packaging is for personal use only and should not be disseminated or used for commercial purposes. The packaged resources will be stored in your own Github open source repository and can be viewed by anyone. Therefore, please strictly follow the Github usage guidelines, otherwise you will be responsible for any consequences.
|
||||
:::
|
||||
|
||||
Why do you need a GitHub Token? Because the entire compilation and packaging process relies on the GitHub platform, a GitHub token is required to perform these operations. GitHub is an open platform where anyone can create an account and obtain a permanently free token. We sincerely appreciate GitHub's free services. Obtaining a token is simple—if you don't have an account, register one first, then create a token in your personal settings.
|
||||
|
||||
## Steps to Register on GitHub
|
||||
|
||||
1. Visit the GitHub homepage: [https://github.com/](https://github.com/)
|
||||
2. Click the `Sign up` button in the top-right corner to go to the registration page.
|
||||
3. Fill in your registration details, including username, email, password, etc.
|
||||
4. Click the `Sign up for GitHub` button to complete registration.
|
||||
|
||||
## Steps to Create a Token
|
||||
|
||||
```
|
||||
Token Permission Requirements:
|
||||
All repositories: Required to fork the original template repository
|
||||
Actions: Used to execute GitHub Actions for packaging and compilation
|
||||
Administration: Required for forking repositories and file management
|
||||
Contents: Allows adding/deleting/modifying/searching files in the PackPlus repository
|
||||
Issues: Enables submitting compilation errors or other issues to PackPlus
|
||||
Workflows: Used to compile and package your software
|
||||
```
|
||||
|
||||
1. Log in to your GitHub account.
|
||||
2. Click your profile picture in the top-right corner to go to your personal dashboard.
|
||||
3. Click the `Settings` button to enter the settings page.
|
||||
4. In the left-hand menu, click `Developer settings` to access developer options.
|
||||
5. In the left-hand menu, click `Personal access tokens` to go to the token management page.
|
||||
6. Click `Generate new token` to create a new token.
|
||||
GitHub offers two types of tokens—either will work. Use the links below to go directly:
|
||||
[Personal access tokens (classic)](https://github.com/settings/tokens)
|
||||
or
|
||||
[Fine-grained personal access tokens](https://github.com/settings/personal-access-tokens).
|
||||
|
||||
7. **For Personal access tokens (classic):**
|
||||
Simply check the following three permissions: <font color="red">repo, workflow, and user</font>.
|
||||

|
||||

|
||||
Then copy the generated token into PackPlus:
|
||||

|
||||
|
||||
8. **<font color="red">(Skip this step if you already obtained a token in Step 7. Proceed to Step 9.)</font>**
|
||||
**For Fine-grained personal access tokens:**
|
||||

|
||||
|
||||
- Click `Generate new token`.
|
||||
- Enter a token name, set expiration to "No expiration," and add an optional description.
|
||||
- Select `All repositories`.
|
||||

|
||||
- **Configure permissions:** Grant the permissions marked in red boxes. Set **Access** to: `Read and write`.
|
||||

|
||||

|
||||

|
||||

|
||||
- Click `Generate token` at the bottom to obtain your token:
|
||||

|
||||
- Copy the token into PackPlus to start using it:
|
||||

|
||||
|
||||
9. **Test the Token**
|
||||
Open PackPlus, click the settings button in the top-right corner, paste the token obtained in Step 7 or 8, and click "Test." If it shows "Token is valid," you're all set!
|
||||

|
||||
|
||||
## Important Notes
|
||||
|
||||
- You can only view the token once after generation—**keep it secure**.
|
||||
- The token should **only be stored locally on your computer**—do not share it.
|
||||
- If you set an expiration date, the token will only work within its validity period. You’ll need to generate a new one after it expires.
|
||||
90
docs/index.md
Normal file
@@ -0,0 +1,90 @@
|
||||
---
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: 'PackPlus'
|
||||
text: 'Turn Web into Desktop/Mobile Apps'
|
||||
tagline: Package Web/Vue/React projects into Desktop/Mobile Apps in minutes
|
||||
image:
|
||||
src: ./pplogo.png
|
||||
alt: PackPlus
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Download
|
||||
link: /download/
|
||||
- theme: brand
|
||||
text: WebBeta
|
||||
link: https://PackPlus.netlify.app/
|
||||
- theme: brand
|
||||
text: Guide
|
||||
link: /guide/
|
||||
|
||||
features:
|
||||
- title: Open Source
|
||||
details: PackPlus is open source and you can find its source code on GitHub
|
||||
icon: 🐙
|
||||
- title: Cross Platform
|
||||
details: Windows/macOS/Linux/Android/iOS are all supported
|
||||
icon: 💻
|
||||
- title: Small Size
|
||||
details: The size is smaller than Electron package by about 20 times (less than 5M!)
|
||||
icon: 🚀
|
||||
- title: Mobile Support
|
||||
details: Use native framework to package Android and iOS APP, which is smaller and faster
|
||||
icon: 📲
|
||||
- title: Easy to Use
|
||||
details: UI is simple, no need to install any development environment, save time and save money
|
||||
icon: 📦
|
||||
- title: Simultaneous Compilation
|
||||
details: Just minutes, one click to compile multiple platforms, no environment and time anxiety
|
||||
icon: 🧘♀️
|
||||
- title: Internationalization
|
||||
details: Support internationalization, friendly to global users
|
||||
icon: 🌍
|
||||
- title: Customization
|
||||
details: You can customize the application icon, application name, and inject JavaScript code
|
||||
icon: 🎨
|
||||
- title: Static File Support
|
||||
details: Support packaging static html files or Vue/React projects compiled dist
|
||||
icon: 🍀
|
||||
- title: Local Build
|
||||
details: Supports local packaging and does not require environments. only takes 30 seconds
|
||||
icon: 🍔
|
||||
- title: Without Token
|
||||
details: It's okay without Token, local packaging is simple, and no Token is needed
|
||||
icon: 🥥
|
||||
- title: Support Apis
|
||||
details: Support calling system Apis in JS scripts, such as downloading files, etc
|
||||
icon: ⚔️
|
||||
- title: Debug Support
|
||||
details: Support debug mode, whether in preview or release, you can find bugs
|
||||
icon: 🐞
|
||||
- title: Data Security
|
||||
details: PackPlus will not upload any data, all data is stored on your computer
|
||||
icon: 🔒
|
||||
- title: Technical Support
|
||||
details: If you encounter any problems during use, you can chat with us
|
||||
icon: 💬
|
||||
---
|
||||
|
||||
<div :class="$style.buildInfo">
|
||||
<span :class="$style.buildTime">Built Time:{{ data.buildTime }}</span>
|
||||
</div>
|
||||
|
||||
<script setup>
|
||||
import { data } from './static/js/buildtime.data.ts'
|
||||
</script>
|
||||
|
||||
<style module>
|
||||
|
||||
.buildInfo{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.buildTime{
|
||||
color: gray;
|
||||
}
|
||||
</style>
|
||||
305
docs/index_en.html
Normal file
@@ -0,0 +1,305 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<style>
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.article_content {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.langBox {
|
||||
position: fixed;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
.lang {
|
||||
margin: 0 10px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="article_content" class="article_content clearfix">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-704d5b9767.css"
|
||||
/>
|
||||
|
||||
<div id="content_views" class="htmledit_views">
|
||||
<p style="text-align: center">
|
||||
<img alt="" src="./static/imgs/PackPlus.png" width="197" />
|
||||
</p>
|
||||
<p>
|
||||
PackPlus is an open-source and free software that supports
|
||||
Mac, Windows, and Linux, and will soon support Android and
|
||||
iOS. There is no need to install complex dependencies
|
||||
locally; just a GitHub Token is enough. Check the README for
|
||||
popular packages and custom development information. Feel
|
||||
free to share your suggestions in the
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus/discussions"
|
||||
title="Discussion Area"
|
||||
>discussion area</a
|
||||
>. Open-source link:
|
||||
<a
|
||||
href="https://github.com/Sjj1024/PackPlus"
|
||||
title="https://github.com/Sjj1024/PackPlus"
|
||||
>https://github.com/Sjj1024/PackPlus</a
|
||||
>
|
||||
</p>
|
||||
<h2 id="%E7%89%B9%E6%80%A7"><a name="t2"></a>Features</h2>
|
||||
<p>
|
||||
- 🎐 Approximately 20 times smaller than an Electron package
|
||||
(about 5M!)
|
||||
</p>
|
||||
<p>
|
||||
- 🚀 Built with Rust Tauri, PackPlus is lighter and faster
|
||||
than JS-based frameworks.
|
||||
</p>
|
||||
<p>
|
||||
- 📦 Rich built-in feature packages—supports shortcuts,
|
||||
immersive windows, minimal customization.
|
||||
</p>
|
||||
<p>
|
||||
- 👻 PackPlus is a simple tool—using Tauri as a replacement
|
||||
for old packaging methods (although PWA is also sufficient).
|
||||
</p>
|
||||
<p>
|
||||
- 🤗 PackPlus is easy to use; just one GitHub Token allows
|
||||
you to obtain a desktop app.
|
||||
</p>
|
||||
<p>
|
||||
- 🌹 No need to install any complex dependencies locally, as
|
||||
GitHub Action enables cloud-based auto-packaging.
|
||||
</p>
|
||||
<p>
|
||||
- 🧑🤝🧑 Internationalization support, very user-friendly for
|
||||
global users, and automatically follows your computer's
|
||||
system language.
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t3"></a>Get a GitHub Token</h2>
|
||||
<p>
|
||||
Why do you need a GitHub Token? Because the compilation and
|
||||
packaging process relies entirely on the GitHub platform,
|
||||
and your web code to be packaged is also managed on GitHub,
|
||||
so a GitHub Token is needed to operate these tasks, which
|
||||
requires specific permissions for different versions of the
|
||||
token.
|
||||
</p>
|
||||
<h3><a name="t4"></a>1. Beta Version Token</h3>
|
||||
<p>Permission Description:</p>
|
||||
<p>All repositories: To fork an original template repository</p>
|
||||
<p>Actions: Operate GitHub Action</p>
|
||||
<p>Administration: Fork and manage repository files</p>
|
||||
<p>Contents: Add/delete/modify/search repository content</p>
|
||||
<p>Issues: Submit issues to PackPlus</p>
|
||||
<p>Workflows: Used to compile and package your software</p>
|
||||
<p>
|
||||
First, log in to your GitHub account, then click the link to
|
||||
get it:
|
||||
<a
|
||||
href="https://github.com/settings/tokens?type=beta"
|
||||
title="https://github.com/settings/tokens?type=beta"
|
||||
>https://github.com/settings/tokens?type=beta</a
|
||||
>, or go to
|
||||
<a href="https://github.com/settings" title=" Settings"
|
||||
> Settings</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="Developer Settings"
|
||||
>Developer Settings</a
|
||||
> to obtain it:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token1.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>Generate new token:</p>
|
||||
<p>
|
||||
Enter a name for the token, set the expiration date to
|
||||
“Never,” write any description, and select All repositories.
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token2.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
Configure permissions: Assign permissions marked in the red
|
||||
box, Access selection: Read and write
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token3.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token4.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token5.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>Then click Generate token at the bottom: </p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token8.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>Copy the token you received into PackPlus:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token9.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p></p>
|
||||
<h3><a name="t5"></a>2. Classic Version Token</h3>
|
||||
<p>Permission Description:</p>
|
||||
<p>repo: Fork and manage template code</p>
|
||||
<p>workflow: Compile and release your software</p>
|
||||
<p></p>
|
||||
<p>
|
||||
First, log in to your GitHub account, then click the link to
|
||||
get it:
|
||||
<a
|
||||
href="https://github.com/settings/tokens"
|
||||
title="https://github.com/settings/tokens"
|
||||
>https://github.com/settings/tokens</a
|
||||
>, or go to
|
||||
<a href="https://github.com/settings" title=" Settings"
|
||||
> Settings</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="Developer Settings"
|
||||
>Developer Settings</a
|
||||
> to obtain it:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token10.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
Only the following permissions are needed: repo and workflow
|
||||
and user
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token11.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.webp"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>Then copy the token you received into PackPlus:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>If the Token is usable, it will show as successful:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token13.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
After filling in the Token into PackPlus, it's best to test
|
||||
if it's usable before proceeding with the next steps.
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t6"></a>Create Project and Configure</h2>
|
||||
<p>
|
||||
The project name must be in English. After entering it,
|
||||
click Confirm and wait a few minutes. On the next page,
|
||||
configure the website address and APP name you want to
|
||||
package, and upload an Icon. It is best to prepare a square
|
||||
png icon locally for direct upload. Otherwise, cropping will
|
||||
occur, which might not yield the desired result.
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token14.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
After configuring the project, you can click Preview, which
|
||||
will open a window displaying the final effect of your
|
||||
program. If it opens correctly, everything is fine. You can
|
||||
also make some window size configurations to make the page
|
||||
more user-friendly.
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token15.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="langBox">
|
||||
<a class="lang" href="https://sjj1024.github.io/PackPlus/index.html"
|
||||
>English</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_zh.html"
|
||||
>中文</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_ja.html"
|
||||
>日语</a
|
||||
>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
286
docs/index_ja.html
Normal file
@@ -0,0 +1,286 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="ja">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<style>
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.article_content {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.langBox {
|
||||
position: fixed;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
.lang {
|
||||
margin: 0 10px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="article_content" class="article_content clearfix">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-704d5b9767.css"
|
||||
/>
|
||||
|
||||
<div id="content_views" class="htmledit_views">
|
||||
<p style="text-align: center">
|
||||
<img alt="" src="./static/imgs/PackPlus.png" width="197" />
|
||||
</p>
|
||||
<p>
|
||||
PackPlusはオープンソースで無料のソフトウェアで、Mac、Windows、およびLinuxをサポートし、まもなくAndroidとiOSもサポートします。ローカルで複雑な依存環境をインストールする必要はなく、GitHubトークンがあれば十分です。人気のあるパッケージやカスタム開発情報については、READMEをご確認ください。<a
|
||||
href="https://github.com/Sjj1024/PackPlus/discussions"
|
||||
title="ディスカッションエリア"
|
||||
>ディスカッションエリア</a
|
||||
>でご提案をシェアしてください。オープンソースアドレス:<a
|
||||
href="https://github.com/Sjj1024/PackPlus"
|
||||
title="https://github.com/Sjj1024/PackPlus"
|
||||
>https://github.com/Sjj1024/PackPlus</a
|
||||
>
|
||||
</p>
|
||||
<h2 id="%E7%89%B9%E6%80%A7"><a name="t2"></a>特徴</h2>
|
||||
<p>- 🎐 Electronパッケージの約20分の1のサイズ(約5M!)</p>
|
||||
<p>
|
||||
- 🚀 Rust
|
||||
Tauriを使用しているため、PackPlusはJSベースのフレームワークよりも軽量で高速です。
|
||||
</p>
|
||||
<p>
|
||||
- 📦
|
||||
豊富な機能パッケージを内蔵し、ショートカット、没入型ウィンドウ、ミニマルカスタマイズに対応。
|
||||
</p>
|
||||
<p>
|
||||
- 👻
|
||||
PackPlusはシンプルなツールです。古いパッケージ方法の代わりにTauriを使用します(PWAも十分です)。
|
||||
</p>
|
||||
<p>
|
||||
- 🤗
|
||||
PackPlusは使いやすく、GitHubトークン1つでデスクトップアプリが取得できます。
|
||||
</p>
|
||||
<p>
|
||||
- 🌹
|
||||
ローカルに複雑な依存環境をインストールする必要はなく、GitHub
|
||||
Actionによりクラウドで自動パッケージングが可能です。
|
||||
</p>
|
||||
<p>
|
||||
- 🧑🤝🧑
|
||||
国際化に対応し、グローバルユーザーに非常にフレンドリーで、コンピュータのシステム言語に自動で従います。
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t3"></a>GitHubトークンを取得する</h2>
|
||||
<p>
|
||||
なぜGitHubトークンが必要なのか?このコンパイルとパッケージプロセスは完全にGitHubプラットフォームに依存しており、パッケージ化するWebコードもGitHubで管理されているため、これらのタスクを操作するにはGitHubトークンが必要です。このトークンには、バージョンごとに異なる特定の権限が必要です。
|
||||
</p>
|
||||
<h3><a name="t4"></a>1. ベータバージョントークン</h3>
|
||||
<p>権限説明:</p>
|
||||
<p>
|
||||
全リポジトリ:オリジナルテンプレートリポジトリをフォークするため
|
||||
</p>
|
||||
<p>Actions:GitHubアクションを操作</p>
|
||||
<p>管理:リポジトリのフォークおよびファイル管理</p>
|
||||
<p>内容:リポジトリ内容の追加/削除/変更/検索操作</p>
|
||||
<p>Issues:PackPlusへの問題提出</p>
|
||||
<p>Workflows:ソフトウェアのコンパイルとパッケージングに使用</p>
|
||||
<p>
|
||||
まず、GitHubアカウントにログインし、リンクをクリックして取得します:<a
|
||||
href="https://github.com/settings/tokens?type=beta"
|
||||
title="https://github.com/settings/tokens?type=beta"
|
||||
>https://github.com/settings/tokens?type=beta</a
|
||||
>、または<a
|
||||
href="https://github.com/settings"
|
||||
title=" 設定"
|
||||
> 設定</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="開発者設定"
|
||||
>開発者設定</a
|
||||
> の下で取得します:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token1.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>新しいトークンを生成:</p>
|
||||
<p>
|
||||
トークンの名前を入力し、有効期限を「無期限」に設定し、任意の説明を記入し、全リポジトリを選択します。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token2.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
権限を設定します:赤枠でマークされた権限を付与し、アクセスを「読み取りおよび書き込み」に設定します。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token3.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token4.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token5.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token7.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
最後に、一番下の「Generate token」をクリックします:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token8.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>取得したトークンをPackPlusにコピーします:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token9.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p></p>
|
||||
<h3><a name="t5"></a>2. クラシックバージョントークン</h3>
|
||||
<p>権限説明:</p>
|
||||
<p>リポ:テンプレートコードのフォークと管理</p>
|
||||
<p>ワークフロー:ソフトウェアのコンパイルとリリース</p>
|
||||
<p></p>
|
||||
<p>
|
||||
まず、GitHubアカウントにログインし、リンクをクリックして取得します:<a
|
||||
href="https://github.com/settings/tokens"
|
||||
title="https://github.com/settings/tokens"
|
||||
>https://github.com/settings/tokens</a
|
||||
>、または<a
|
||||
href="https://github.com/settings"
|
||||
title=" 設定"
|
||||
> 設定</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="開発者設定"
|
||||
>開発者設定</a
|
||||
> の下で取得します:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token10.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
以下の権限のみをチェックする必要があります:リポとワークフロー
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token11.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.webp"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>取得したトークンをPackPlusにコピーします:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>トークンが使用可能である場合、成功として表示されます:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token13.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
PackPlusにトークンを入力した後、次のステップに進む前に使用可能かどうかを確認するのがベストです。
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t6"></a>プロジェクトを作成して設定する</h2>
|
||||
<p>
|
||||
プロジェクト名は英語で入力する必要があります。入力後、確認をクリックし、数分待ちます。次のページでは、パッケージ化したいウェブサイトのアドレスとアプリ名を設定し、アイコンをアップロードします。事前にローカルに正方形のpngアイコンを用意してアップロードするのがベストです。そうしないとトリミングが行われ、期待通りの結果が得られない可能性があります。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token14.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
プロジェクトの設定が完了したら、「プレビュー」をクリックし、プログラムの最終効果が表示されるウィンドウを開くことができます。正しく表示されれば問題ありません。また、ウィンドウサイズの設定を行い、ページがよりユーザーフレンドリーになるように調整することも可能です。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token15.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="langBox">
|
||||
<a class="lang" href="https://sjj1024.github.io/PackPlus/index.html"
|
||||
>English</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_zh.html"
|
||||
>中文</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_ja.html"
|
||||
>日语</a
|
||||
>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
318
docs/index_zh.html
Normal file
@@ -0,0 +1,318 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>Document</title>
|
||||
</head>
|
||||
<style>
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.article_content {
|
||||
width: 80%;
|
||||
}
|
||||
|
||||
.langBox {
|
||||
position: fixed;
|
||||
top: 20px;
|
||||
right: 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
}
|
||||
.lang {
|
||||
margin: 0 10px;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
<div id="article_content" class="article_content clearfix">
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css"
|
||||
/>
|
||||
<link
|
||||
rel="stylesheet"
|
||||
href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-704d5b9767.css"
|
||||
/>
|
||||
|
||||
<div id="content_views" class="htmledit_views">
|
||||
<p style="text-align: center">
|
||||
<img alt="" src="./static/imgs/PackPlus.png" width="197" />
|
||||
</p>
|
||||
<p>
|
||||
PackPlus是一个开源免费的软件,支持 Mac、Windows 和
|
||||
Linux,很快也将支持 Android 和
|
||||
iOS。无需在本地安装复杂的依赖环境,只需要一个Github
|
||||
Token就可以了。查看 README
|
||||
以获取热门包和自定义开发信息。欢迎在<a
|
||||
href="https://github.com/Sjj1024/PackPlus/discussions"
|
||||
title="讨论区"
|
||||
>讨论区</a
|
||||
>分享你的建议。开源地址:<a
|
||||
href="https://github.com/Sjj1024/PackPlus"
|
||||
title="https://github.com/Sjj1024/PackPlus"
|
||||
>https://github.com/Sjj1024/PackPlus</a
|
||||
>
|
||||
</p>
|
||||
<h2 id="%E7%89%B9%E6%80%A7"><a name="t2"></a>特性</h2>
|
||||
<p>- 💎 体积比 Electron 包小约 20 倍(约 5M!)</p>
|
||||
<p>
|
||||
- 🚀 使用 Rust Tauri,PackPlus 比基于 JS
|
||||
的框架更轻量、更快。
|
||||
</p>
|
||||
<p>
|
||||
- 📦 内置丰富功能包——支持快捷方式、沉浸式窗口、极简自定义。
|
||||
</p>
|
||||
<p>
|
||||
- 👻 PackPlus 只是一个简单的工具——用 Tauri
|
||||
替代旧的打包方式(虽然 PWA 也够用了)。
|
||||
</p>
|
||||
<p>
|
||||
- 🤗 PackPlus 易于使用,只需一个 GitHub
|
||||
Token,即可获得桌面应用。
|
||||
</p>
|
||||
<p>
|
||||
- 🌹 不需要在本地安装任何复杂的依赖环境,使用 Github Action
|
||||
云端自动打包。
|
||||
</p>
|
||||
<p>
|
||||
- 🧑🤝🧑
|
||||
支持国际化,对全球用户都非常友好,并且会自动跟随你的电脑系统语言。
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t3"></a>获取Github Token</h2>
|
||||
<p>
|
||||
为什么要Github
|
||||
Token?因为这个编译和打包流程全部依托在github平台上进行,而且还有你要打包的web代码也都在github上管理,所以需要使用github
|
||||
token来操作这些事情,所以就需要这个github
|
||||
token有某些权限,例如不同版本的token需要不同的权限。
|
||||
</p>
|
||||
<h3><a name="t4"></a>1.bate版本token</h3>
|
||||
<p>使用权限说明:</p>
|
||||
<p>All repositories:要fork一个原始模板仓库</p>
|
||||
<p>Actions:操作github action</p>
|
||||
<p>Administration:对仓库进行fork和文件管理</p>
|
||||
<p>Contents:对仓库内容进行添加/删除/修改/查找等操作</p>
|
||||
<p>Issues:向PackPlus提交问题</p>
|
||||
<p>Workflows:用来编译打包你的软件</p>
|
||||
<p>
|
||||
先登录你的github账号,然后点击链接获取:<a
|
||||
href="https://github.com/settings/tokens?type=beta"
|
||||
title="https://github.com/settings/tokens?type=beta"
|
||||
>https://github.com/settings/tokens?type=beta</a
|
||||
>,或者到<a
|
||||
href="https://github.com/settings"
|
||||
title=" Settings"
|
||||
> Settings</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="Developer Settings"
|
||||
>Developer Settings</a
|
||||
> 下面获取:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token1.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>Generate new token:</p>
|
||||
<p>
|
||||
添写一个token的名字,然后选择过期时间为不过器,描述随便写,然后选择All
|
||||
repositories
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token2.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
配置权限:赋予红框标注的权限,Access选择: Read
|
||||
and write
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token3.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token4.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token5.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token7.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>然后点击最底部的Generate token就可以了: </p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token8.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>把得到的token复制到PackPlus就可以了:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token9.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p></p>
|
||||
<h3><a name="t5"></a>2.classic版本token</h3>
|
||||
<p>使用权限说明:</p>
|
||||
<p>repo:fork和管理模板代码</p>
|
||||
<p>workflow:编译和发布你的软件</p>
|
||||
<p></p>
|
||||
<p>
|
||||
先登录你的github账号,然后点击链接获取:<a
|
||||
href="https://github.com/settings/tokens"
|
||||
title="https://github.com/settings/tokens"
|
||||
>https://github.com/settings/tokens</a
|
||||
>,或者到<a
|
||||
href="https://github.com/settings"
|
||||
title=" Settings"
|
||||
> Settings</a
|
||||
>
|
||||
> <a
|
||||
href="https://github.com/settings/apps"
|
||||
title="Developer Settings"
|
||||
>Developer Settings</a
|
||||
> 下面获取:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token10.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>只需要勾选下面的权限就可以了:repo 和 workflow 和 user</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token11.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.webp"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>然后将得到的token复制到PackPlus就可以了:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token12.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>提示Token可用说明成功了:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token13.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
将Token填写到PackPlus之后,最好测试一下是否可用,然后再开始后面的步骤。
|
||||
</p>
|
||||
<p></p>
|
||||
<h2><a name="t6"></a>创建项目和配置</h2>
|
||||
<p>
|
||||
创建项目必须使用英文名称,填写之后点击确定,等待几分钟,就可以到下一个页面,配置你要打包的网站地址和APP名称等信息,并且上传一个Icon图标,最好本地先做好一个png格式的正方形图标,直接上传就可以使用,否则会进行裁剪操作,导致你的Icon并不是很满意。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token14.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
项目配置好之后,可以点击预览,会弹出一个窗口展示你程序的最终效果:如果可以正常打开,说明没有问题,也可以做一些窗口大小的配置,让页面更友好。
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token15.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>确定没有问题之后,就可以点击发布:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token16.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>点击确定之后,需要等待Github云平台打包大概15分钟左后:</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token17.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
<p>
|
||||
打包完成之后,会跳转到资源下载页面,可以点击下载安装,并使用了:
|
||||
</p>
|
||||
<p>
|
||||
<img
|
||||
alt=""
|
||||
src="./static/imgs/token18.png"
|
||||
style="width: 100%"
|
||||
/>
|
||||
</p>
|
||||
</div>
|
||||
<div
|
||||
data-report-view='{"mod":"1585297308_001","spm":"1001.2101.3001.6548","dest":"https://xiaoshen.blog.csdn.net/article/details/143214498","extend1":"pc","ab":"new"}'
|
||||
>
|
||||
<div></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="langBox">
|
||||
<a class="lang" href="https://sjj1024.github.io/PackPlus/index.html"
|
||||
>English</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_zh.html"
|
||||
>中文</a
|
||||
>
|
||||
<a
|
||||
class="lang"
|
||||
href="https://sjj1024.github.io/PackPlus/index_ja.html"
|
||||
>日语</a
|
||||
>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
91
docs/ja/index.md
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: 'PackPlus'
|
||||
text: 'Turn Web into desktop & mobile apps'
|
||||
tagline: Package Web/Vue/React projects into desktop/mobile apps in minutes
|
||||
image:
|
||||
src: ../pplogo.png
|
||||
alt: PackPlus
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Download
|
||||
link: /download/
|
||||
- theme: brand
|
||||
text: WebBeta
|
||||
link: https://PackPlus.netlify.app/
|
||||
- theme: brand
|
||||
text: Guide
|
||||
link: /guide/
|
||||
|
||||
features:
|
||||
- title: Open Source
|
||||
details: PackPlus is open source and you can find its source code on GitHub
|
||||
icon: 🐙
|
||||
- title: Cross Platform
|
||||
details: Windows/macOS/Linux/Android/iOS are all supported
|
||||
icon: 💻
|
||||
- title: Small Size
|
||||
details: The size is smaller than Electron package by about 20 times (less than 5M!)
|
||||
icon: 🚀
|
||||
- title: Mobile Support
|
||||
details: Use native framework to package Android and iOS APP, which is smaller and faster
|
||||
icon: 📲
|
||||
- title: Easy to Use
|
||||
details: UI is simple, no need to install any development environment, save time and save money
|
||||
icon: 📦
|
||||
- title: Simultaneous Compilation
|
||||
details: Just minutes, one click to compile multiple platforms, no environment and time anxiety
|
||||
icon: 🧘♀️
|
||||
- title: Internationalization
|
||||
details: Support internationalization, friendly to global users
|
||||
icon: 🌍
|
||||
- title: Customization
|
||||
details: You can customize the application icon, application name, and inject JavaScript code
|
||||
icon: 🎨
|
||||
- title: Static File Support
|
||||
details: Support packaging static html files or Vue/React projects compiled dist
|
||||
icon: 🍀
|
||||
- title: Local Build
|
||||
details: Supports local packaging and does not require environments. only takes 30 seconds
|
||||
icon: 🍔
|
||||
- title: Without Token
|
||||
details: It's okay without Token, local packaging is simple, and no Token is needed
|
||||
icon: 🥥
|
||||
- title: Support Apis
|
||||
details: Support calling system Apis in JS scripts, such as downloading files, etc
|
||||
icon: ⚔️
|
||||
- title: Debug Support
|
||||
details: Support debug mode, whether in preview or release, you can find bugs
|
||||
icon: 🐞
|
||||
- title: Data Security
|
||||
details: PackPlus will not upload any data, all data is stored on your computer
|
||||
icon: 🔒
|
||||
- title: Technical Support
|
||||
details: If you encounter any problems during use, you can chat with us
|
||||
icon: 💬
|
||||
---
|
||||
|
||||
<div :class="$style.buildInfo">
|
||||
<span :class="$style.buildTime">Built Time:{{ data.buildTime }}</span>
|
||||
</div>
|
||||
|
||||
<script setup>
|
||||
import { data } from '../static/js/buildtime.data.ts'
|
||||
</script>
|
||||
|
||||
<style module>
|
||||
|
||||
.buildInfo{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.buildTime{
|
||||
color: gray;
|
||||
}
|
||||
</style>
|
||||
91
docs/ko/index.md
Normal file
@@ -0,0 +1,91 @@
|
||||
---
|
||||
# https://vitepress.dev/reference/default-theme-home-page
|
||||
layout: home
|
||||
|
||||
hero:
|
||||
name: 'PackPlus'
|
||||
text: 'Turn Web into desktop & mobile apps'
|
||||
tagline: Package Web/Vue/React projects into desktop/mobile apps in minutes
|
||||
image:
|
||||
src: ../pplogo.png
|
||||
alt: PackPlus
|
||||
actions:
|
||||
- theme: brand
|
||||
text: Download
|
||||
link: /download/
|
||||
- theme: brand
|
||||
text: WebBeta
|
||||
link: https://PackPlus.netlify.app/
|
||||
- theme: brand
|
||||
text: Guide
|
||||
link: /guide/
|
||||
|
||||
features:
|
||||
- title: Open Source
|
||||
details: PackPlus is open source and you can find its source code on GitHub
|
||||
icon: 🐙
|
||||
- title: Cross Platform
|
||||
details: Windows/macOS/Linux/Android/iOS are all supported
|
||||
icon: 💻
|
||||
- title: Small Size
|
||||
details: The size is smaller than Electron package by about 20 times (less than 5M!)
|
||||
icon: 🚀
|
||||
- title: Mobile Support
|
||||
details: Use native framework to package Android and iOS APP, which is smaller and faster
|
||||
icon: 📲
|
||||
- title: Easy to Use
|
||||
details: UI is simple, no need to install any development environment, save time and save money
|
||||
icon: 📦
|
||||
- title: Simultaneous Compilation
|
||||
details: Just minutes, one click to compile multiple platforms, no environment and time anxiety
|
||||
icon: 🧘♀️
|
||||
- title: Internationalization
|
||||
details: Support internationalization, friendly to global users
|
||||
icon: 🌍
|
||||
- title: Customization
|
||||
details: You can customize the application icon, application name, and inject JavaScript code
|
||||
icon: 🎨
|
||||
- title: Static File Support
|
||||
details: Support packaging static html files or Vue/React projects compiled dist
|
||||
icon: 🍀
|
||||
- title: Local Build
|
||||
details: Supports local packaging and does not require environments. only takes 30 seconds
|
||||
icon: 🍔
|
||||
- title: Without Token
|
||||
details: It's okay without Token, local packaging is simple, and no Token is needed
|
||||
icon: 🥥
|
||||
- title: Support Apis
|
||||
details: Support calling system Apis in JS scripts, such as downloading files, etc
|
||||
icon: ⚔️
|
||||
- title: Debug Support
|
||||
details: Support debug mode, whether in preview or release, you can find bugs
|
||||
icon: 🐞
|
||||
- title: Data Security
|
||||
details: PackPlus will not upload any data, all data is stored on your computer
|
||||
icon: 🔒
|
||||
- title: Technical Support
|
||||
details: If you encounter any problems during use, you can chat with us
|
||||
icon: 💬
|
||||
---
|
||||
|
||||
<div :class="$style.buildInfo">
|
||||
<span :class="$style.buildTime">Built Time:{{ data.buildTime }}</span>
|
||||
</div>
|
||||
|
||||
<script setup>
|
||||
import { data } from '../static/js/buildtime.data.ts'
|
||||
</script>
|
||||
|
||||
<style module>
|
||||
|
||||
.buildInfo{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: flex-end;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.buildTime{
|
||||
color: gray;
|
||||
}
|
||||
</style>
|
||||
1
docs/public/ads.txt
Normal file
@@ -0,0 +1 @@
|
||||
google.com, pub-8510393013816067, DIRECT, f08c47fec0942fa0
|
||||
5778
docs/public/app.svg
Normal file
|
After Width: | Height: | Size: 435 KiB |
BIN
docs/public/app.webp
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
docs/public/favicon.ico
Normal file
|
After Width: | Height: | Size: 224 KiB |
BIN
docs/public/pplogo.png
Normal file
|
After Width: | Height: | Size: 144 KiB |
12
docs/public/ppnotes.json
Normal file
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"version": "0.5.30",
|
||||
"show": false,
|
||||
"pub_date": "2025-06-02T09:00:33.251Z",
|
||||
"zh": "PackPlus 不再支持 Github Token 方式打包,请使用本地打包的方式",
|
||||
"en": "PackPlus no longer supports Github Token packaging, please use local packaging instead",
|
||||
"ja": "PackPlus は Github Token 方式のパッケージングをサポートしなくなりました。ローカルパッケージングを使用してください",
|
||||
"ko": "PackPlus 는 Github Token 방식의 패키징을 지원하지 않습니다. 로컬 패키징을 사용하세요",
|
||||
"zhTw": "PackPlus 不再支持 Github Token 方式打包,请使用本地打包的方式",
|
||||
"openUrl": "",
|
||||
"overall": false
|
||||
}
|
||||
32
docs/public/ppupdate.json
Normal file
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"force": false,
|
||||
"zh": "1.修复windows下本地打包的bug以及窗口位置优化 <br>2.修复使用默认浏览器打开链接的API接口使用说明",
|
||||
"en": "1.fix the bug of local packaging after installation on C drive <br>2.fix the usage description of the API interface for using the default browser to open links",
|
||||
"ja": "1.Cドライブにインストールした後のローカルパッケージングのバグを修正 <br>2.デフォルトブラウザーでリンクを開くAPIインターフェースの使用説明を修正",
|
||||
"ko": "1.C 드라이브에 설치한 후 로컬 패키징 버그 수정 <br>2.기본 브라우저로 링크를 열 때 API 인터페이스 사용 설명 수정",
|
||||
"version": "1.0.5",
|
||||
"notes": "",
|
||||
"pub_date": "2025-07-21T04:59:57.199Z",
|
||||
"platforms": {
|
||||
"darwin-x86_64": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTb0ZXU2NXM1FydEIyMFFqWi9hbGhzY2dkVGFnVnZ3MW43dGhYOEczMW4wMGRMMFJHNE54ME1URXo5NkpMSFduTFV2cDh3b245RjZZejRlZ0JJOGRqa3FqcENDZENGbUEwPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzUzMDIzNDQzCWZpbGU6UGFrZVBsdXMuYXBwLnRhci5negp1S1lHVGxEUGpFYlo5S3dOcEtDalBMRk9BblVhVWJ1SlU1OVlPRlBJazJ1ajJjZWY0TUZXLzdYS1RKOFZjQnRHNG9wWFpwMFJDeHpCVndESmwzNFhCQT09Cg==",
|
||||
"url": "https://gh-proxy.com/github.com/Sjj1024/PackPlus/releases/latest/download/PackPlus_x64.app.tar.gz"
|
||||
},
|
||||
"darwin-aarch64": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTb0ZXU2NXM1FydEFnQk9udUtaNEUzRXVnWDVFWnJBbW1PQ0JxWDljVlYveXh5Um1pTDdaQklIclhoUkhCY3d3NGtiNFpuTi9YcGJOcS90cTc0UHJtMU1pSDBQczdUWVFVPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzUzMDIzNDU4CWZpbGU6UGFrZVBsdXMuYXBwLnRhci5negp1TUo2bTJPSVhDMTlSRXc5cm9NVW5GdU9lZjVFWXJuVnRCME9DMzNnRnRvQ2ZCYXpQVmpleXNTOHI4TXh6S25kTWZ3WUlmOTd3eGR5WnJIZDV2RGxBZz09Cg==",
|
||||
"url": "https://gh-proxy.com/github.com/Sjj1024/PackPlus/releases/latest/download/PackPlus_aarch64.app.tar.gz"
|
||||
},
|
||||
"linux-x86_64": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTb0ZXU2NXM1FydEQzTkFXRXVta2ZEcFFaSStFTkw2dG0xV3F6RGoyaWNkWDRMd1pVZldUd0R6Nk9MSUVCdEoydmxrQnRJOTVicUl3UzJ3MzR5M3gyK1FXcHNPTmxUY0FnPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzUzMDIzNzg5CWZpbGU6UGFrZVBsdXNfMS4wLjVfYW1kNjQuQXBwSW1hZ2UKS3JrWVdQc3pUWjlRdjFLbjlOZDRoSEJibUNMWDV3TjVubVhuVVJkU2hoRjVNWTFPY3ZZTFZjTVBONk1MS3dJNnd3VFpXV1g5V0ZrRjVHclNobjdsQVE9PQo=",
|
||||
"url": "https://gh-proxy.com/github.com/Sjj1024/PackPlus/releases/latest/download/PackPlus_1.0.5_amd64.AppImage"
|
||||
},
|
||||
"windows-aarch64": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTb0ZXU2NXM1FydEtSaFpiNGJpWkUrZHN1bHF2aXQrMjhXOFBkOEt3aklCVjk0TW5vcDhzc1E5UjVOa3JQVXJBNzU4cDVlRkxtWmlURVNmNWJmRHBoZW55YVB3TDI3YlFVPQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzUzMDIzODE2CWZpbGU6UGFrZVBsdXNfMS4wLjVfYXJtNjRfZW4tVVMubXNpClk1V000S21JZVdVMjlFNFoxZHE4VERyMVY2ZGRWQkhYSnZpTGR3eHE3VW51V2hHSzcxV2hoRDg2MEkxdEcweHBDRGxlbVovOENKWHA4ODN3cmd6d0FRPT0K",
|
||||
"url": "https://gh-proxy.com/github.com/Sjj1024/PackPlus/releases/latest/download/PackPlus_1.0.5_arm64_en-US.msi"
|
||||
},
|
||||
"windows-x86_64": {
|
||||
"signature": "dW50cnVzdGVkIGNvbW1lbnQ6IHNpZ25hdHVyZSBmcm9tIHRhdXJpIHNlY3JldCBrZXkKUlVTb0ZXU2NXM1FydElvS0VOYThzMkhEOFVpZEQyakZFMWtqVHRTaEVtcmRFaFBDU0VpK1MrR0JPT2V2bHJtVnM2YTlrRktlMlNtYWlJK1BuTi9CZ21GOHpFVy9PUHlSZ0E0PQp0cnVzdGVkIGNvbW1lbnQ6IHRpbWVzdGFtcDoxNzUzMDIzODk5CWZpbGU6UGFrZVBsdXNfMS4wLjVfeDY0X2VuLVVTLm1zaQo1cU5KYzNGL2gyeFBWRmJYSi80diszeURrRVVLQi8zT2lFdjd6OFZkN3I4ODlXdXF2akxWNkFEZ3FzdWZJbzNYVmN1dzZMRGVIYlNPRXpIWUREWGtEdz09Cg==",
|
||||
"url": "https://gh-proxy.com/github.com/Sjj1024/PackPlus/releases/latest/download/PackPlus_1.0.5_x64_en-US.msi"
|
||||
}
|
||||
}
|
||||
}
|
||||
32
docs/public/ppweb.js
Normal file
@@ -0,0 +1,32 @@
|
||||
;(async () => {
|
||||
// get github release latest.json file
|
||||
const ppnotesJson = await fetch('/ppnotes.json')
|
||||
const ppnotesJsonData = await ppnotesJson.json()
|
||||
console.log('ppnotesJsonData', ppnotesJsonData)
|
||||
if (ppnotesJsonData.show) {
|
||||
// create modal box element
|
||||
const modal = document.createElement('div')
|
||||
modal.className = 'modalBox'
|
||||
|
||||
// modal content
|
||||
modal.innerHTML = `
|
||||
<div class="modalContent">
|
||||
<h1 class="modalTitle">PackPlus公告</h1>
|
||||
<p class="modalNotes">${ppnotesJsonData.zh}</p>
|
||||
<div class="modalButtons">
|
||||
<button id="modalOk">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
`
|
||||
// add to document
|
||||
document.body.appendChild(modal)
|
||||
|
||||
// add click event
|
||||
document.getElementById('modalOk').addEventListener('click', () => {
|
||||
modal.remove()
|
||||
if (ppnotesJsonData.openUrl) {
|
||||
window.open(ppnotesJsonData.openUrl, '_blank')
|
||||
}
|
||||
})
|
||||
}
|
||||
})()
|
||||
BIN
docs/public/rh.exe
Normal file
32
docs/question/build.md
Normal file
@@ -0,0 +1,32 @@
|
||||
# Compilation Failed
|
||||
|
||||
There are several common reasons for compilation failures:
|
||||
|
||||
1. The project was not filled out in the standardized format. Although we've tried our best to enforce standardization, some oversights may still occur.
|
||||
2. Project dependencies were not properly installed, possibly due to network issues or version incompatibilities.
|
||||
3. The project configuration file was not properly filled out, either due to incorrect format or wrong file paths.
|
||||
4. Incorrect token permissions configuration may lead to compilation failures with 403 errors.
|
||||
|
||||
# "Cannot read properties of undefined (reading 'sha')"
|
||||
|
||||
The most common causes for this error are:
|
||||
|
||||
1. Manually forked the PackPlus repository without unchecking "Copy the main branch only".
|
||||
2. This project automatically forks a template repository named PackPlus - do not delete this repository or GitHub compilation will fail.
|
||||
3. Do not delete or modify all contents in the PackPlus repository, as this may also cause the error.
|
||||
4. This error may occur after upgrading PackPlus versions.
|
||||
|
||||
# Solutions
|
||||
|
||||
1. The quickest solution is to delete your PackPlus repository, then reopen PackPlus and re-enter your Token to restart the process (this will delete your previously created projects).
|
||||
|
||||
Steps to delete your PackPlus repository:
|
||||
- Open your PackPlus repository
|
||||
- Click Settings and scroll to the bottom
|
||||
- Click "Delete this repository"
|
||||
- Click "I want to delete this repository"
|
||||
- Click "I have read and understand these effects"
|
||||
- Enter your full PackPlus repository name
|
||||
- Click "Delete this repository"
|
||||
|
||||
2. If the issue persists, contact me on WeChat: lanxingme, or join our support group to ask other users for help.
|
||||
4
docs/question/debug.md
Normal file
@@ -0,0 +1,4 @@
|
||||
# Development Debugging
|
||||
|
||||
If you need to debug your application, simply check the "Enable Debugging" option and click "Preview". A debug button will appear in the bottom-right corner of the preview window - click it to start debugging.
|
||||

|
||||
3
docs/question/exist.md
Normal file
@@ -0,0 +1,3 @@
|
||||
#The project already exists
|
||||
|
||||
You have already created a similar project, or the project has been created by PackPlus.
|
||||
10
docs/question/html.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Packaging HTML Projects
|
||||
|
||||
You need to store your HTML files in a folder, and it must include an index.html file.
|
||||
Then click the upload button next to the website address field, select your folder, and click upload.
|
||||
|
||||
# Important Notes
|
||||
|
||||
- The uploaded folder **must contain** an index.html file.
|
||||
- Individual files in the folder **cannot exceed 10MB** in size.
|
||||
- Static resources (images, videos, etc.) are **recommended to use external links** whenever possible.
|
||||
57
docs/question/index.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# Problem self inspection
|
||||
|
||||
If there are problems, self-examination is often more effective.
|
||||
|
||||
1. Self inspection in PP issues often yields results: https://github.com/Sjj1024/PackPlus/issues
|
||||
2. Check if you have modified the configuration or script files and try using the original configuration
|
||||
3. Check if the token permissions are given correctly, or try filling in the token again (do not manually create a repository with the same name as PackPlus/PackPlus-Android/PackPlus-iOS)
|
||||
4. Have you consulted in the group before? If not, try asking in the group first. [Join the group for communication] (../exchange/index. md)
|
||||
5. For network issues, please check if you are using a proxy or cloud computer. You can try switching the proxy or network.
|
||||
6. If certain features are not supported, they can be resolved through sponsoring PP for quick priority development.
|
||||
7. Windows users are advised to uninstall rogue software, such as domestic monitoring software like 360, otherwise they should solve the problem themselves
|
||||
|
||||
# The Mac application has malfunctioned
|
||||
|
||||

|
||||
This is because Apple did not give you money, so Apple will reject your application.
|
||||
|
||||
terms of settlement:
|
||||
|
||||
1. - - Mac users may see a warning saying 'App is damaged' during installation. \*\*Please click 'Cancel', run the following command, and then reopen the app: (This is because the app requires an official signature to avoid the prompt 'App is damaged' after installation, but the official signature fee is $99 per year... Therefore, you need to manually bypass the signature to use it normally)
|
||||
|
||||
```sh
|
||||
sudo xattr -r -d com.apple.quarantine /Applications/PackPlus.app
|
||||
```
|
||||
|
||||
2. - - When you package an application, Mac users may see a warning saying "the application is damaged" during installation. \*\*Please click 'Cancel', then run the following command, enter your computer password, and reopen the application:
|
||||
|
||||
```sh
|
||||
Sudo xattr - r - d com. apple. quarkine/Applications/Your software name. app
|
||||
```
|
||||
|
||||
# Cannot drag files or elements
|
||||
|
||||
Reason:[ https://v2.tauri.app/reference/config/#dragdropenabled ](https://v2.tauri.app/reference/config/#dragdropenabled)
|
||||
solution
|
||||
In more configurations, simply turn off the dragDropEnabled option
|
||||
|
||||
#White screen or error message after packaging
|
||||
|
||||
Create a test package, then right-click on the check element to see if there are any errors. If there are any errors, solve them based on the error information.
|
||||
If you cannot understand the error message or cannot solve it, you can join the group for communication. I recommend trying Deepseek to see if it can help you solve the problem.
|
||||
|
||||
# Window top
|
||||
|
||||
In more configurations, simply enable alwaysOnTop
|
||||
|
||||
# Full screen mode
|
||||
|
||||
In more configurations, simply enable fullscreen
|
||||
|
||||
# Dispatch error: 404
|
||||
|
||||
Confirm if the token permissions are configured correctly, and then try filling in the token again. This is often caused by incorrect token permission configuration.
|
||||
|
||||
# Cannot read properties of undefined XXX
|
||||
|
||||
Using the latest version of PackPlus and filling in the token can solve 99% of the problems.
|
||||
16
docs/question/invalid.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# Invalid Token
|
||||
|
||||
This occurs because the GitHub token wasn't granted the required permissions during creation.
|
||||
|
||||
### Solution:
|
||||
Follow the [GitHub Token Guide](../guide/token.md) to regenerate your token with proper permissions.
|
||||
|
||||
**Recommendation:**
|
||||
While granting all permissions will work (and is safest), PackPlus actually only needs:
|
||||
- `repo` (full control of private repositories)
|
||||
- `workflow` (GitHub Actions access)
|
||||
- `user` (read user profile data)
|
||||
|
||||
For security, only enable what's needed rather than all permissions.
|
||||
|
||||
> 🔍 *Tip: If you previously created a token, you may need to revoke and recreate it for new permissions to take effect.*
|
||||
26
docs/question/issue.md
Normal file
@@ -0,0 +1,26 @@
|
||||
# Reporting Issues
|
||||
|
||||
If you encounter unresolved problems and prefer not to contact us directly, you may submit an issue. Please provide as much detail as possible.
|
||||
|
||||
### Issue Submission Format:
|
||||
|
||||
```markdown
|
||||
# Problem Description
|
||||
|
||||
Describe the issue in detail, including:
|
||||
- Environment where the issue occurred
|
||||
- Steps to reproduce the problem
|
||||
- Screenshots (if applicable)
|
||||
- Error logs
|
||||
|
||||
# Solution (if available)
|
||||
|
||||
Describe how the problem was resolved, including:
|
||||
- Steps taken to fix the issue
|
||||
- Relevant screenshots
|
||||
- Logs showing the resolution
|
||||
```
|
||||
|
||||
Submit issues here: [PackPlus Issues](https://github.com/Sjj1024/PackPlus/issues)
|
||||
|
||||
> ℹ️ *Tip: Clear, detailed reports help us resolve issues faster.*
|
||||
15
docs/question/jump.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Window Redirection Issue
|
||||
|
||||
A common problem occurs when clicking links in the compiled application causes:
|
||||
- Opening a separate window
|
||||
- Launching the default browser to load the page
|
||||
|
||||
**Solution Implemented:**
|
||||
The default JavaScript script already includes code to prevent this behavior. If you haven't modified the default scripts, this issue should not occur.
|
||||
|
||||
**If you encounter this problem:**
|
||||
1. First verify you haven't removed/modified the default scripts
|
||||
2. If the issue persists, you may contact me for assistance
|
||||
|
||||
⚠️ **Important Notice:**
|
||||
Do NOT remove the default script code. Any modifications to these scripts are made at your own risk!
|
||||
15
docs/question/limit.md
Normal file
@@ -0,0 +1,15 @@
|
||||
# Limits
|
||||
|
||||
<div style="color:red">in order to avoid excessive pressure on Github servers caused by excessive use, PackPlus has implemented restrictions: only one project can be created and only one release can be made per day!</div>
|
||||
Why add this restriction? Many people may ask. Friends before May 13, 2025 should know the reason, as my GitHub account was banned on April 30, 2025. When you wake up in the morning and find a GitHub prompt:
|
||||
|
||||
```shell
|
||||
Received a 403 error. Data returned as aString was: f"message":"Sorry. Your
|
||||
account was
|
||||
suspended.""documentation url"."https://docs.qithub.com/
|
||||
graphgl""status":"403"
|
||||
```
|
||||
|
||||
You will know that things are not going well.
|
||||
|
||||
Because the compilation environment used by PackPlus is provided by GitHub, when more people use PackPlus, it will put pressure on the GitHub server. Thank you very much for the free service provided by GitHub. So in order not to put pressure on the GitHub server and not to block my GitHub account again, this restriction has been added.
|
||||
25
docs/question/other.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# Other Issues
|
||||
|
||||
You may encounter functional limitations as PackPlus is still under active development. If you need features that aren't currently available:
|
||||
1. Please submit feature requests
|
||||
2. We'll gradually implement them in future updates
|
||||
|
||||
# How to Delete Your PackPlus Repository
|
||||
|
||||
If compilation fails due to repository issues, you may need to reset by deleting your PackPlus repository. Note: This will remove all your previously created projects.
|
||||
|
||||
Step-by-step deletion guide:
|
||||
1. Open your PackPlus repository on GitHub
|
||||
2. Navigate to Settings → Scroll to bottom
|
||||
3. Click "Delete this repository"
|
||||
4. Confirm with "I want to delete this repository"
|
||||
5. Acknowledge by clicking "I have read and understand these effects"
|
||||
6. Enter your full repository name
|
||||
7. Finalize with "Delete this repository"
|
||||
|
||||
After deletion:
|
||||
- Restart PackPlus
|
||||
- Re-enter your GitHub Token
|
||||
- Follow the setup process again
|
||||
|
||||
Alternative solution: Contact support before deleting if you want to preserve your projects.
|
||||
24
docs/question/phone.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# How to Install IPA Files?
|
||||
|
||||
Since these are unsigned iOS applications, manual installation is required. There are several methods to install IPA files:
|
||||
|
||||
1. **For jailbroken devices**: Install through TrollStore (experienced users should be familiar with this method).
|
||||
|
||||
2. **For non-jailbroken devices**:
|
||||
- Use tools like i4Tools (爱思助手): [https://www.i4.cn/news_detail_38195.html](https://www.i4.cn/news_detail_38195.html)
|
||||
- You'll need to import a signing certificate yourself, or purchase one from Taobao for about $5-10 (valid for one year).
|
||||
|
||||
# Long-term IPA Installation Without Jailbreaking
|
||||
|
||||
For permanent installation without jailbreaking:
|
||||
- Use paid signing services (search "IPA signing" on Taobao)
|
||||
- Popular options include WanNengSign, QuanNengSign, QingSongSign, etc.
|
||||
- Costs about $3/year
|
||||
- Can sign any IPA file for personal use
|
||||
- Follow the service provider's instructions
|
||||
|
||||
# How to Install APK Files?
|
||||
|
||||
For Android devices:
|
||||
1. Simply transfer the APK file to your phone
|
||||
2. Open and install it directly
|
||||
3
docs/question/sum.md
Normal file
@@ -0,0 +1,3 @@
|
||||
# 简单介绍
|
||||
|
||||
PackPlus 是一个基于 Python 的自动化测试工具,它可以帮助您快速编写和执行自动化测试用例。
|
||||
10
docs/question/vue.md
Normal file
@@ -0,0 +1,10 @@
|
||||
# Packaging Vue/React Projects
|
||||
|
||||
After building your Vue/React project, upload the contents of the `dist` folder to the server.
|
||||
|
||||
### Important Notes:
|
||||
- The uploaded folder **must contain** an `index.html` file.
|
||||
- Individual files in the folder **cannot exceed 10MB** in size.
|
||||
- Static resources (images, videos, etc.) **should use external links** whenever possible.
|
||||
|
||||
> 💡 *Tip: For optimal performance, minimize bundled assets and leverage CDN-hosted libraries.*
|
||||
5
docs/sponsor/index.md
Normal file
@@ -0,0 +1,5 @@
|
||||
<Sponsor />
|
||||
|
||||
<script setup>
|
||||
import Sponsor from '../components/sponsor.vue'
|
||||
</script>
|
||||
11
docs/sponsor/list.md
Normal file
@@ -0,0 +1,11 @@
|
||||
# List of Sponsors
|
||||
|
||||
Thank you very much for your support and encouragement! It is your support that makes open source even better.
|
||||
The list of sponsors is not complete .. Wait for manual updates later
|
||||
|
||||
|
||||
<Payer />
|
||||
|
||||
<script setup>
|
||||
import Payer from '../components/payer.vue'
|
||||
</script>
|
||||
BIN
docs/static/imgs/afdian.webp
vendored
Normal file
|
After Width: | Height: | Size: 86 KiB |
BIN
docs/static/imgs/android.jpeg
vendored
Normal file
|
After Width: | Height: | Size: 30 KiB |
BIN
docs/static/imgs/app-icon.png
vendored
Normal file
|
After Width: | Height: | Size: 326 KiB |
BIN
docs/static/imgs/app-icon.psd
vendored
Normal file
BIN
docs/static/imgs/apple.jpg
vendored
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
docs/static/imgs/apple.png
vendored
Normal file
|
After Width: | Height: | Size: 208 KiB |
BIN
docs/static/imgs/build4.webp
vendored
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
docs/static/imgs/building1.webp
vendored
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
docs/static/imgs/cloudbuild.webp
vendored
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
docs/static/imgs/config1.webp
vendored
Normal file
|
After Width: | Height: | Size: 41 KiB |
BIN
docs/static/imgs/creat1.webp
vendored
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
docs/static/imgs/debug.webp
vendored
Normal file
|
After Width: | Height: | Size: 94 KiB |
BIN
docs/static/imgs/deepseek.png
vendored
Normal file
|
After Width: | Height: | Size: 320 KiB |
BIN
docs/static/imgs/douyin.png
vendored
Normal file
|
After Width: | Height: | Size: 2.2 MiB |
BIN
docs/static/imgs/easylocal.webp
vendored
Normal file
|
After Width: | Height: | Size: 71 KiB |
BIN
docs/static/imgs/hongshu.png
vendored
Normal file
|
After Width: | Height: | Size: 806 KiB |
BIN
docs/static/imgs/ios.jpeg
vendored
Normal file
|
After Width: | Height: | Size: 49 KiB |
BIN
docs/static/imgs/linuxlogo.png
vendored
Normal file
|
After Width: | Height: | Size: 8.1 KiB |
BIN
docs/static/imgs/macallow.jpg
vendored
Normal file
|
After Width: | Height: | Size: 38 KiB |