Compare commits

..

No commits in common. "main" and "2.09" have entirely different histories.
main ... 2.09

6 changed files with 28 additions and 40 deletions

View file

@ -19,7 +19,7 @@ jobs:
- name: Setup Go - name: Setup Go
uses: actions/setup-go@v5 uses: actions/setup-go@v5
with: with:
go-version: '>=1.24' go-version: '>1.18'
check-latest: true check-latest: true
cache: false cache: false
@ -31,12 +31,16 @@ jobs:
- name: Build - name: Build
run: | run: |
cd picocrypt cd picocrypt
GOOS=windows GOARCH=386 go build -v -ldflags="-s -w" -o picocrypt-windows-386.exe .
GOOS=windows GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-windows-amd64.exe . GOOS=windows GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-windows-amd64.exe .
GOOS=windows GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-windows-arm64.exe . GOOS=windows GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-windows-arm64.exe .
GOOS=darwin GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-macos-amd64 . GOOS=darwin GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-macos-amd64 .
GOOS=darwin GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-macos-arm64 . GOOS=darwin GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-macos-arm64 .
GOOS=linux GOARCH=386 go build -v -ldflags="-s -w" -o picocrypt-linux-386 .
GOOS=linux GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-linux-amd64 . GOOS=linux GOARCH=amd64 go build -v -ldflags="-s -w" -o picocrypt-linux-amd64 .
GOOS=linux GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-linux-arm64 . GOOS=linux GOARCH=arm64 go build -v -ldflags="-s -w" -o picocrypt-linux-arm64 .
GOOS=linux GOARCH=riscv64 go build -v -ldflags="-s -w" -o picocrypt-linux-riscv64 .
GOOS=wasip1 GOARCH=wasm go build -v -ldflags="-s -w" -o picocrypt-wasip1.wasm .
env: env:
CGO_ENABLED: 0 CGO_ENABLED: 0
@ -49,11 +53,15 @@ jobs:
uses: softprops/action-gh-release@v2 uses: softprops/action-gh-release@v2
with: with:
files: | files: |
picocrypt/picocrypt-windows-386.exe
picocrypt/picocrypt-windows-amd64.exe picocrypt/picocrypt-windows-amd64.exe
picocrypt/picocrypt-windows-arm64.exe picocrypt/picocrypt-windows-arm64.exe
picocrypt/picocrypt-macos-amd64 picocrypt/picocrypt-macos-amd64
picocrypt/picocrypt-macos-arm64 picocrypt/picocrypt-macos-arm64
picocrypt/picocrypt-linux-386
picocrypt/picocrypt-linux-amd64 picocrypt/picocrypt-linux-amd64
picocrypt/picocrypt-linux-arm64 picocrypt/picocrypt-linux-arm64
picocrypt/picocrypt-linux-riscv64
picocrypt/picocrypt-wasip1.wasm
tag_name: ${{ env.VERSION }} tag_name: ${{ env.VERSION }}
make_latest: true make_latest: true

View file

@ -34,6 +34,3 @@ To decrypt a volume:
``` ```
picocrypt volume.pcv picocrypt volume.pcv
``` ```
## Issues
Report any issues to the main Picocrypt/Picocrypt repository and prefix the title with 'CLI:'.

View file

@ -1 +1 @@
1.49 2.09

View file

@ -1,19 +1,17 @@
module github.com/Picocrypt/CLI/picocrypt module github.com/Picocrypt/CLI/picocrypt
go 1.24.0 go 1.22.3
toolchain go1.24.1
require ( require (
github.com/Picocrypt/infectious v0.0.0-20250412183341-9f88c6307b39 github.com/Picocrypt/infectious v0.0.0-20240830233326-3a050f65f9ec
github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7 github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7
github.com/schollz/progressbar/v3 v3.18.0 github.com/schollz/progressbar/v3 v3.17.1
golang.org/x/crypto v0.40.0 golang.org/x/crypto v0.29.0
golang.org/x/term v0.33.0 golang.org/x/term v0.26.0
) )
require ( require (
github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect github.com/mitchellh/colorstring v0.0.0-20190213212951-d06e56a500db // indirect
github.com/rivo/uniseg v0.4.7 // indirect github.com/rivo/uniseg v0.4.7 // indirect
golang.org/x/sys v0.34.0 // indirect golang.org/x/sys v0.27.0 // indirect
) )

View file

@ -1,5 +1,5 @@
github.com/Picocrypt/infectious v0.0.0-20250412183341-9f88c6307b39 h1:czHyPoiNrILv9xjfQ87UFllJgak8W6gVcYkmfOay/BE= github.com/Picocrypt/infectious v0.0.0-20240830233326-3a050f65f9ec h1:/cop0/v0HxIJm1XGDgIlzNJ3e4HhM8nIUPZi5RZ/n1w=
github.com/Picocrypt/infectious v0.0.0-20250412183341-9f88c6307b39/go.mod h1:2ZVEanURxuWmxYZ6W6xMMy4ZR6xmQr16Vq/XPTLIspQ= github.com/Picocrypt/infectious v0.0.0-20240830233326-3a050f65f9ec/go.mod h1:aaFq/WMVxrU2Exl/tXbTFSXajZrqw0mgn/wi42n0fK4=
github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7 h1:G36G2vmQAS7CVoHQrHDGAoCWll/0kPCI8Dk7mgwcJFE= github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7 h1:G36G2vmQAS7CVoHQrHDGAoCWll/0kPCI8Dk7mgwcJFE=
github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7/go.mod h1:BxsgRYwUVd92aEwXnXsfXfHw8aHlD/PUyExC/wwk9oI= github.com/Picocrypt/serpent v0.0.0-20240830233833-9ad6ab254fd7/go.mod h1:BxsgRYwUVd92aEwXnXsfXfHw8aHlD/PUyExC/wwk9oI=
github.com/chengxilo/virtualterm v1.0.4 h1:Z6IpERbRVlfB8WkOmtbHiDbBANU7cimRIof7mk9/PwM= github.com/chengxilo/virtualterm v1.0.4 h1:Z6IpERbRVlfB8WkOmtbHiDbBANU7cimRIof7mk9/PwM=
@ -14,15 +14,15 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ= github.com/rivo/uniseg v0.4.7 h1:WUdvkW8uEhrYfLC4ZzdpI2ztxP1I582+49Oc5Mq64VQ=
github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/schollz/progressbar/v3 v3.18.0 h1:uXdoHABRFmNIjUfte/Ex7WtuyVslrw2wVPQmCN62HpA= github.com/schollz/progressbar/v3 v3.17.1 h1:bI1MTaoQO+v5kzklBjYNRQLoVpe0zbyRZNK6DFkVC5U=
github.com/schollz/progressbar/v3 v3.18.0/go.mod h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec= github.com/schollz/progressbar/v3 v3.17.1/go.mod h1:RzqpnsPQNjUyIgdglUjRLgD7sVnxN1wpmBMV+UiEbL4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg= github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/crypto v0.40.0 h1:r4x+VvoG5Fm+eJcxMaY8CQM7Lb0l1lsmjGBQ6s8BfKM= golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ=
golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg=
golang.org/x/sys v0.34.0 h1:H5Y5sJ2L2JRdyv7ROF1he/lPdvFsd0mJHFw2ThKHxLA= golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s=
golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
golang.org/x/term v0.33.0 h1:NuFncQrRcaRvVmgRkvM3j/F00gWIAlcmlB8ACEKmGIg= golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU=
golang.org/x/term v0.33.0/go.mod h1:s18+ql9tYWp1IfpV9DmCtQDDSRBUjKaw9M1eAv5UeF0= golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=

View file

@ -14,7 +14,6 @@ import (
"os" "os"
"os/signal" "os/signal"
"path/filepath" "path/filepath"
"runtime/debug"
"strconv" "strconv"
"strings" "strings"
"time" "time"
@ -185,7 +184,7 @@ func compress() int {
return 1 return 1
} }
dir = filepath.ToSlash(dir) dir = filepath.ToSlash(dir)
file, err = os.CreateTemp("", "picocrypt-cli-v2-*.zip.tmp") file, err = os.CreateTemp("", "picocrypt-cli-v2-*.tmp")
if err != nil { if err != nil {
fmt.Println("Cannot create temporary file!") fmt.Println("Cannot create temporary file!")
return 1 return 1
@ -193,8 +192,6 @@ func compress() int {
pzip = file.Name() pzip = file.Name()
writer = zip.NewWriter(file) writer = zip.NewWriter(file)
fmt.Println("Info: creating temporary zip file " + pzip)
for i, path := range files { for i, path := range files {
stat, err := os.Stat(path) stat, err := os.Stat(path)
if err != nil { if err != nil {
@ -245,7 +242,6 @@ func compress() int {
return 1 return 1
} }
} }
debug.FreeOSMemory()
} }
writer.Close() writer.Close()
file.Close() file.Close()
@ -346,7 +342,7 @@ func work() int {
hkdfSalt = make([]byte, 32) hkdfSalt = make([]byte, 32)
serpentIV = make([]byte, 16) serpentIV = make([]byte, 16)
nonce = make([]byte, 24) nonce = make([]byte, 24)
_, errs[0] = fout.Write(rsEncode(rs5, []byte("v1.48"))) _, errs[0] = fout.Write(rsEncode(rs5, []byte("v1.34")))
_, errs[1] = fout.Write(rsEncode(rs5, []byte("00000"))) _, errs[1] = fout.Write(rsEncode(rs5, []byte("00000")))
flags := make([]byte, 5) flags := make([]byte, 5)
if *p { if *p {
@ -443,7 +439,6 @@ func work() int {
} else { } else {
key = argon2.IDKey(password, salt, 4, 1<<20, 4, 32) key = argon2.IDKey(password, salt, 4, 1<<20, 4, 32)
} }
debug.FreeOSMemory()
tmp := sha3.New512() tmp := sha3.New512()
tmp.Write(key) tmp.Write(key)
keyHash = tmp.Sum(nil) keyHash = tmp.Sum(nil)
@ -598,7 +593,6 @@ func work() int {
serpent = cipher.NewCTR(s, serpentIV) serpent = cipher.NewCTR(s, serpentIV)
counter = 0 counter = 0
} }
debug.FreeOSMemory()
} }
if mode == "encrypt" { if mode == "encrypt" {
@ -687,13 +681,4 @@ func main() {
} }
os.Exit(1) os.Exit(1)
} }
td := os.TempDir()
matches, err := filepath.Glob(filepath.Join(td, "picocrypt-cli-v2-*.zip.tmp"))
if err != nil {
panic(err)
}
for _, v := range matches {
os.Remove(v)
}
} }