-/*
-uploader -- simplest form file uploader
-Copyright (C) 2018-2023 Sergey Matveev <stargrave@stargrave.org>
-
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, version 3 of the License.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+// uploader -- simplest form file uploader
+// Copyright (C) 2018-2024 Sergey Matveev <stargrave@stargrave.org>
+//
+// This program is free software: you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation, version 3 of the License.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program. If not, see <http://www.gnu.org/licenses/>.
package main
"go.cypherpunks.ru/recfile"
"go.cypherpunks.ru/tai64n/v2"
- "golang.org/x/crypto/blake2b"
"golang.org/x/net/netutil"
+ "lukechampine.com/blake3"
)
const (
Example command line usage:
<pre>
$ curl -F file=@somedata.tar.gpg [-F comment="optional comment"] http://.../upload/
-$ b2sum somedata.tar.gpg # to verify BLAKE2b-512 checksum
+$ b3sum somedata.tar.gpg # to verify BLAKE3-256 checksum
</pre>
<form enctype="multipart/form-data" action="/upload/" method="post">
<label for="file">File to upload:</label><br/>
log.Println(r.RemoteAddr, "non file form field")
return
}
- h, err := blake2b.New512(nil)
- if err != nil {
- panic(err)
- }
t := time.Now()
ts := new(tai64n.TAI64N)
ts.FromTime(t)
return
}
fdBuf := bufio.NewWriterSize(fd, WriteBufSize)
+ h := blake3.New(32, nil)
mw := io.MultiWriter(fdBuf, h)
n, err := io.Copy(mw, p)
if err != nil {