From 9a8db7093f30075c6446f46af12f9c64cfca1bd5 Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 22:49:51 +0800 Subject: [PATCH 1/6] feat(windows): add embed file metadata --- .github/workflows/ci.yml | 7 +++++++ randfill.rc | 37 +++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 randfill.rc diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5afa9a6..99509be 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,6 +45,13 @@ jobs: cache-all-crates: "true" - name: Build + if: matrix.os == "windows-latest" + run: | + rc randfill.rc + cargo rustc --release --target ${{ matrix.target }} --bin randfill -- -C link-arg=/INPUT:randfill.res + + - name: Build + if: matrix.os != "windows-latest" run: | cargo build --release --all-targets --all-features --workspace --target ${{ matrix.target }} diff --git a/randfill.rc b/randfill.rc new file mode 100644 index 0000000..577388a --- /dev/null +++ b/randfill.rc @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2026 OpenHelloMiddle Contributors + * SPDX-License-Identifier: GPL-3.0-or-later + */ + +#include +#include + +VS_VERSION_INFO VERSIONINFO + FILEVERSION 0,1,0,0 + PRODUCTVERSION 0,1,0,0 + FILEFLAGSMASK 0x3fL + FILEFLAGS 0x0L + FILEOS VOS__WINDOWS32 + FILETYPE VFT_APP + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "040904b0" + BEGIN + VALUE "CompanyName", "OpenHelloMiddle Project" + VALUE "FileDescription", "Secure File Erasure Tool" + VALUE "FileVersion", "0.1.0.0" + VALUE "InternalName", "randfill" + VALUE "LegalCopyright", "Copyright (C) 2026 OpenHelloMiddle" + VALUE "OriginalFilename", "randfill.exe" + VALUE "ProductName", "RandFill" + VALUE "ProductVersion", "0.1.0.0" + VALUE "Comments", "Overwrite files with cryptographically secure random data" + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x409 + END +END From a60394ded2def418b2409bb3cc2878b24a0dffab Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 22:51:57 +0800 Subject: [PATCH 2/6] fix(ci): remove extra quotation marks --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 99509be..70afba4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,13 +45,13 @@ jobs: cache-all-crates: "true" - name: Build - if: matrix.os == "windows-latest" + if: matrix.os == windows-latest run: | rc randfill.rc cargo rustc --release --target ${{ matrix.target }} --bin randfill -- -C link-arg=/INPUT:randfill.res - name: Build - if: matrix.os != "windows-latest" + if: matrix.os != windows-latest run: | cargo build --release --all-targets --all-features --workspace --target ${{ matrix.target }} From 563a511d2fe458089e490048aa7b73d0867b3bae Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 22:53:34 +0800 Subject: [PATCH 3/6] fix(ci): add single quotes --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 70afba4..9855d12 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,13 +45,13 @@ jobs: cache-all-crates: "true" - name: Build - if: matrix.os == windows-latest + if: matrix.os == 'windows-latest' run: | rc randfill.rc cargo rustc --release --target ${{ matrix.target }} --bin randfill -- -C link-arg=/INPUT:randfill.res - name: Build - if: matrix.os != windows-latest + if: matrix.os != 'windows-latest' run: | cargo build --release --all-targets --all-features --workspace --target ${{ matrix.target }} From a4367a1e51573ee9c13cca1db17f91503771702c Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 22:56:29 +0800 Subject: [PATCH 4/6] fix(ci): setup msvc --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9855d12..c591676 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -33,7 +33,8 @@ jobs: steps: - uses: actions/checkout@v6 - + - uses: ilammy/msvc-dev-cmd@v1 + if: matrix.os == 'windows-latest' - name: Setup Rust toolchain run: | rustup toolchain install From 93ca480a0714ed2f9c416e07ef7932dfa2e405a6 Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 23:03:33 +0800 Subject: [PATCH 5/6] chore: change resource to UTF-16 --- randfill.rc | Bin 1015 -> 2032 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/randfill.rc b/randfill.rc index 577388a996813524a1c32a09f26eb41cdd8f7798..3bdca87d58af76870622b246bb05c4cc286689f6 100644 GIT binary patch literal 2032 zcmb`IZ*S626voeMKE(~bQ6sE#i;2dV455>VmaNG16~Qs)477wY8DC!goqKmjTc(!8 zH0^EgJ?A-ppVMDI59F!T#PBroR#I8WMwW6dSMp6(>^)}p3F~tSxL@!VA#*8-yyH3J zO63Fc6RsIM4kbZXQNGFzZz=EDy_Hz{(w5KCkRB2j7Axb~kS-XCykdXKeTm*H5KqzQ zaegFCyl7aw2G+(%s*LmhfVC!%&`Us_VOi0Pyq2}yo1nMGk0z15`K#m)i|XZSGL%?G zJUep6TbB%cBGp5$sB4JgnH+NK8d(4PU`OQT6ZsxgkoU+T_$Op2 zrV1xK-(xk9TXHq!B=5sk(n$oR^9XH?Mb{D6xs9;R_c=R9R6mb4kS|oFV>LoN9$~%D zm6wT$rp1|;RKJ|n7MiCPU*+A^!k>ufHG(=8T?Zv}Vo3e8x4KkzN)_wYir3mjdKfW~ zW30dAKBg~&0?Jn7&uCs|NTfX?)7a~lGjkX*#*6zvv)33Tm5qZ-o ztJ6wj_0`d@dwY5%>Rgg4SYg^PnA(5v}Kw zo6T#RJ?#~9*A2=8V<-KJ`ED#HHkK19S=KBr*w_D!W_t!#4I0Wj&jO!mwQT4z{kx1G v%yWk2!4yZaY)GXMX(+)E^f= literal 1015 zcma)5U2obj6n)RHxMD9`1*r?wq*l`;J_3uHCJ}*jdqQq<0Z+z`98=)m&rSlR8%WDb z;^T9!PwqXwy>Z|MhO#&)wpwfWJp2M(()|iif#L^pE}vPRb2Jp86?@%ksY)wJ;?d7e zz%mpicKjTLW=n?Z5hiia>A9pMRfkiJ%8+jz=Mxhd-{uJ4c1+}QSGw!(AHg?N7IV^M zk$Tg_kHUo?jw5Im_S=E6A9xJ_q>u2c$3cIRJol3)Ap71js4G;U z0Z6ls5=f(Dv3T*rQS_4Zx;1U~EA}8A&ldeSu90LusK81(@FsrffO!T%G<Q#rg4tFf*d6c`E$w0^CBLdqQI(CBxOXmb&pe+U*#IyFv>{<71C`=3oP zquQ8jP*!s?Y2GQO5lkDfgdNjs$kd_Ga;0doW*O!D0A)Q7Yg%p~r<%Td_QFw>pyRs< dSxS}t-)jkLVly)(OLP6|*^#{o+^Lu?_y-0B6+!?2 From 1e2fcecdd8b64c67e5b4ecdefa35418e6b919853 Mon Sep 17 00:00:00 2001 From: VeryBaaad Date: Fri, 10 Apr 2026 23:09:59 +0800 Subject: [PATCH 6/6] fix: specify resource file --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c591676..17ff07a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -48,8 +48,8 @@ jobs: - name: Build if: matrix.os == 'windows-latest' run: | - rc randfill.rc - cargo rustc --release --target ${{ matrix.target }} --bin randfill -- -C link-arg=/INPUT:randfill.res + rc /fo randfill.res randfill.rc + cargo rustc --release --target ${{ matrix.target }} --bin randfill -- -C link-arg=randfill.res - name: Build if: matrix.os != 'windows-latest'