diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 0000000..b0f0246 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1,3 @@ +# These are supported funding model platforms + +custom: ['https://afdian.net/a/vscodev'] diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..c207134 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,76 @@ +name: Release + +on: + workflow_dispatch: + +permissions: + contents: write + +jobs: + release: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + include: + - build: linux + os: ubuntu-latest + arch: x86_64 + target: x86_64-unknown-linux-gnu + - build: macos + os: macos-latest + arch: x86_64 + target: x86_64-apple-darwin + - build: macos + os: macos-latest + arch: aarch64 + target: aarch64-apple-darwin + - build: windows + os: windows-latest + arch: x86_64 + target: x86_64-pc-windows-msvc + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + repository: ${{ secrets.GH_REPO }} + token: ${{ secrets.GH_PAT }} + fetch-depth: 0 + + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20.x' + cache: 'yarn' + cache-dependency-path: yarn.lock + + - name: Setup Rust toolchain + uses: dtolnay/rust-toolchain@stable + with: + targets: ${{ matrix.target }} + + - name: Rust cache + uses: Swatinem/rust-cache@v2 + with: + key: ${{ matrix.target }} + + - name: Install dependencies (ubuntu only) + if: matrix.os == 'ubuntu-latest' + run: | + sudo apt-get update + sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.0-dev libappindicator3-dev librsvg2-dev patchelf + + - name: Install frontend dependencies + run: | + yarn install --frozen-lockfile --non-interactive + + - name: Build and publish + uses: tauri-apps/tauri-action@v0 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + args: '--target ${{ matrix.target }}' + tagName: v0.1.0 + releaseName: 'XArchiver v0.1.0' + releaseBody: 'The releases are generated by GitHub Actions.' diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..207c7ff --- /dev/null +++ b/.gitignore @@ -0,0 +1,7 @@ +# JetBrains +.idea/ + +# MacOS +.DS_Store +.AppleDouble +.LSOverride diff --git a/README.md b/README.md new file mode 100644 index 0000000..1fedb4e --- /dev/null +++ b/README.md @@ -0,0 +1,48 @@ +

+ XArchiver +

+ +

XArchiver

+ +

+ 网上下载的压缩包资源找不到解压密码?欢迎使用 XArchiver 碰碰运气~ +

+ +

+ + GitHub Workflow Status + + + GitHub release + + + Website + +

+ +## 概述 + +一般来说,压缩包密码是不可能被破解的。以 [Unicode® 13.0.0](https://www.unicode.org/versions/Unicode13.0.0/) 为例,官方公布的字符数有143859个,假设解压密码最多3个字符,可能性就超过 $143859^{3} > 2.97 \times 10^{15}$ 种,每秒处理1亿个密码也需要近1年的时间。因此,如果你的电脑没有比肩超级计算机的算力,任何所谓的破解都是徒劳的! + +然而在很多情况下,某个网站分享资源使用的解压密码是既定的,比如 `www.example.com` 通常以 `example` 或者 `example.com` 作为默认的解压密码。实践表明,发掘和收集这些资源分享站常用的解压密码,通过高质量的密码字典来破解那些你找不到出处的加密压缩包资源是可能的,XArchiver 因此诞生。 + +XArchiver 是一款基于大数据的压缩包密码破解软件,它并不穷举所有可能性,而仅遍历那些在网上被经常使用的解压密码,在大幅提升破解效率的同时成功率也远高于传统的暴力破解方式。 + +> [!TIP] +> XArchiver 是付费软件,你必须订阅并激活授权方可使用,详见 [网站公告](https://xarchiver.voicehub.top/announcements) 。 + +## 下载安装 + +你可以从 [Releases](https://github.com/vscodev/XArchiver/releases) 下载 XArchiver 的最新版本,支持Windows_x64、Linux x86_64以及macOS 11+。 + +![app](assets/app.png) + +对于macOS,你需要允许打开来自身份不明开发者的App。 + +```sh +sudo xattr -r -d com.apple.quarantine /Applications/XArchiver.app +``` + +XArchiver 需要你安装 [7-Zip](https://www.7-zip.org/download.html) 并在「软件设置」中正确配置7-Zip的安装路径才能正常工作,如下图所示: + +![settings](assets/settings.png) diff --git a/assets/app.ico b/assets/app.ico new file mode 100644 index 0000000..6913502 Binary files /dev/null and b/assets/app.ico differ diff --git a/assets/app.png b/assets/app.png new file mode 100644 index 0000000..ad78140 Binary files /dev/null and b/assets/app.png differ diff --git a/assets/settings.png b/assets/settings.png new file mode 100644 index 0000000..be70a3e Binary files /dev/null and b/assets/settings.png differ