Files
eleakxir/leak-utils/misc/ulp.go
2025-09-24 17:20:03 +02:00

68 lines
1.0 KiB
Go

package misc
import (
"bufio"
"io"
"os"
"strings"
"github.com/anotherhadi/eleakxir/leak-utils/settings"
)
func RemoveUrlSchemeFromUlp(lu settings.LeakUtils, inputFile string) error {
file, err := os.Open(inputFile)
if err != nil {
return err
}
defer file.Close()
outputFile := inputFile + ".clean"
out, err := os.Create(outputFile)
if err != nil {
return err
}
defer out.Close()
reader := bufio.NewReader(file)
writer := bufio.NewWriter(out)
for {
line, err := reader.ReadString('\n')
if err != nil && err != io.EOF {
return err
}
firstColumn := strings.Index(line, ":")
firstScheme := strings.Index(line, "://")
if firstScheme != -1 && firstColumn == firstScheme {
line = line[firstScheme+3:]
}
_, werr := writer.WriteString(line)
if werr != nil {
return err
}
if err == io.EOF {
break
}
}
err = writer.Flush()
if err != nil {
return err
}
err = os.Remove(inputFile)
if err != nil {
return err
}
err = os.Rename(outputFile, inputFile)
if err != nil {
return err
}
return nil
}