
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
github.com/lutfailham96/go-filesig
Advanced tools
small library to validate Files by reading each magic number from a file
$ go get github.com/telkomdev/go-filesig
Simple
package main
import (
"fmt"
"github.com/telkomdev/go-filesig"
"os"
)
func main() {
args := os.Args
if len(args) < 2 {
fmt.Println("required input file")
os.Exit(1)
}
inputFileArg := args[1]
inFile, err := os.Open(inputFileArg)
if err != nil {
fmt.Println("error open input file ", err)
os.Exit(1)
}
defer func() { inFile.Close() }()
valid := filesig.Is3gp(inFile)
fmt.Println(valid)
One Of
package main
import (
"fmt"
"github.com/telkomdev/go-filesig"
"os"
)
func main() {
args := os.Args
if len(args) < 2 {
fmt.Println("required input file")
os.Exit(1)
}
inputFileArg := args[1]
inFile, err := os.Open(inputFileArg)
if err != nil {
fmt.Println("error open input file ", err)
os.Exit(1)
}
defer func() { inFile.Close() }()
valid := filesig.IsOneOf(inFile, filesig.Is3gp, filesig.IsPng, filesig.IsJpeg)
fmt.Println(valid)
}
HTTP Form File
package main
import (
"fmt"
"github.com/telkomdev/go-filesig"
"net/http"
)
func uploadFile(w http.ResponseWriter, r *http.Request) {
fmt.Println("File Upload Endpoint Hit")
// Parse our multipart form, 10 << 20 specifies a maximum
// upload of 10 MB files.
r.ParseMultipartForm(10 << 20)
// FormFile returns the first file for the given key `myFile`
// it also returns the FileHeader so we can get the Filename,
// the Header and the size of the file
file, handler, err := r.FormFile("myFile")
if err != nil {
fmt.Println("Error Retrieving the File")
fmt.Println(err)
return
}
defer file.Close()
fmt.Printf("Uploaded File: %+v\n", handler.Filename)
fmt.Printf("File Size: %+v\n", handler.Size)
fmt.Printf("MIME Header: %+v\n", handler.Header)
// validate file
validPdf := filesig.IsPdf(file)
if !validPdf {
fmt.Print("file is not valid PDF file \n")
}
// return that we have successfully uploaded our file!
fmt.Fprintf(w, "Successfully Uploaded File\n")
}
func setupRoutes() {
http.HandleFunc("/upload", uploadFile)
http.ListenAndServe(":8000", nil)
}
func main() {
fmt.Println("Hello World")
setupRoutes()
}
FAQs
Unknown package
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.