1
0
Fork 0
mirror of https://github.com/TransparentLC/opencl_vanity_gpg.git synced 2025-10-20 15:24:08 +00:00

Merge branch 'master' into chore

This commit is contained in:
GZTime 2025-01-09 00:59:56 +08:00
commit c7693c8122
No known key found for this signature in database
GPG key ID: 373640C748EA3E19
3 changed files with 63 additions and 2 deletions

61
.github/workflows/build.yml vendored Normal file
View file

@ -0,0 +1,61 @@
name: build
on:
workflow_dispatch:
push:
branches:
- master
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- windows-latest
- ubuntu-latest
# - macos-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
toolchain: nightly
- uses: Swatinem/rust-cache@v2
- name: Prepare OpenCL SDK
shell: bash
env:
GH_TOKEN: ${{ github.token }}
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
VERSION=$(gh release view --repo KhronosGroup/OpenCL-SDK --json tagName --jq .tagName)
gh release download --repo KhronosGroup/OpenCL-SDK --pattern "OpenCL-SDK-${VERSION}-Win-x64.zip"
unzip "OpenCL-SDK-${VERSION}-Win-x64.zip"
cp "OpenCL-SDK-${VERSION}-Win-x64/lib/OpenCL.lib" OpenCL.lib
fi
if [[ "$RUNNER_OS" == "Linux" ]]; then
sudo apt install opencl-headers ocl-icd-opencl-dev
fi
# FIXME
# if [[ "$RUNNER_OS" == "macOS" ]]; then
#
# fi
- name: Build
id: build
shell: bash
run: |
if [[ "$RUNNER_OS" == "Windows" ]]; then
export RUSTFLAGS="--remap-path-prefix C:\\Users\\runneradmin=~"
else
export RUSTFLAGS="--remap-path-prefix $HOME=~"
fi
cargo build --release
if [[ "$RUNNER_OS" == "Windows" ]]; then
echo "executable=target/release/opencl_vanity_gpg.exe" >> $GITHUB_OUTPUT
else
echo "executable=target/release/opencl_vanity_gpg" >> $GITHUB_OUTPUT
fi
- name: Upload result
uses: actions/upload-artifact@v4
with:
name: opencl_vanity_gpg-${{ runner.os }}
path: ${{ steps.build.outputs.executable }}

View file

@ -19,7 +19,7 @@
目前最好的同类工具是使用 CPU 的 [RedL0tus/VanityGPG](https://github.com/RedL0tus/VanityGPG) 和使用 GPUCUDA的 [cuihaoleo/gpg-fingerprint-filter-gpu](https://github.com/cuihaoleo/gpg-fingerprint-filter-gpu)。这个项目是使用 GPUOpenCL实现的优点当然是开箱即用了。 目前最好的同类工具是使用 CPU 的 [RedL0tus/VanityGPG](https://github.com/RedL0tus/VanityGPG) 和使用 GPUCUDA的 [cuihaoleo/gpg-fingerprint-filter-gpu](https://github.com/cuihaoleo/gpg-fingerprint-filter-gpu)。这个项目是使用 GPUOpenCL实现的优点当然是开箱即用了。
> TODO: GitHub Actions 自动编译 GitHub Actions 自动编译好的二进制文件。
# 使用方法 # 使用方法

View file

@ -84,7 +84,7 @@ pub struct Args {
impl Default for Args { impl Default for Args {
fn default() -> Self { fn default() -> Self {
Self { Self {
cipher_suite: CipherSuite::RSA3072, cipher_suite: CipherSuite::Ed25519,
user_id: String::from("Dummy <dummy@example.com>"), user_id: String::from("Dummy <dummy@example.com>"),
pattern: Some(String::from("XXXYYYZZZWWW")), pattern: Some(String::from("XXXYYYZZZWWW")),
filter: None, filter: None,