diff --git a/main.go b/main.go
index f2814de..4f05443 100644
--- a/main.go
+++ b/main.go
@@ -57,12 +57,7 @@ func main() {
// IF HTML OUTPUT
if flags.Html != "" {
-
- // if secrets flag enabled save also secrets
- if flags.Secrets {
-
- }
-
+ output.HtmlOutput(flags, finalResult, finalSecret)
}
// if needed print secrets
diff --git a/output/html.go b/output/html.go
index 1b1c4e0..02dbb28 100644
--- a/output/html.go
+++ b/output/html.go
@@ -6,10 +6,11 @@ import (
)
//bannerHTML
-func bannerHTML(target string, filename string) {
+func BannerHTML(filename string) {
file, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
+ os.Exit(1)
}
defer file.Close()
file.WriteString("
")
- file.WriteString("target: " + target + "
")
file.Close()
}
-//appendOutputToHtml
-func appendOutputToHTML(output string, status string, filename string) {
+//AppendOutputToHtml
+func AppendOutputToHTML(output string, status string, filename string) {
file, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
+ os.Exit(1)
}
defer file.Close()
var statusColor string
@@ -44,11 +45,12 @@ func appendOutputToHTML(output string, status string, filename string) {
file.Close()
}
-//headerHtml
-func headerHTML(header string, filename string) {
+//HeaderHtml
+func HeaderHTML(header string, filename string) {
file, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
+ os.Exit(1)
}
if _, err := file.WriteString("" + header + "
"); err != nil {
log.Fatal(err)
@@ -56,11 +58,12 @@ func headerHTML(header string, filename string) {
file.Close()
}
-//footerHTML
-func footerHTML(filename string) {
+//FooterHTML
+func FooterHTML(filename string) {
file, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
+ os.Exit(1)
}
defer file.Close()
if _, err := file.WriteString("
"); err != nil {
@@ -69,8 +72,8 @@ func footerHTML(filename string) {
file.Close()
}
-//bannerFooterHTML
-func bannerFooterHTML(filename string) {
+//BannerFooterHTML
+func BannerFooterHTML(filename string) {
file, err := os.OpenFile(filename, os.O_APPEND|os.O_WRONLY, 0644)
if err != nil {
log.Println(err)
diff --git a/output/output.go b/output/output.go
index e9d1215..c05bde1 100644
--- a/output/output.go
+++ b/output/output.go
@@ -44,3 +44,39 @@ func TxtOutput(flags input.Input, finalResult []string, finalSecret []scanner.Se
AppendOutputToTxt(elem, ResultFilename)
}
}
+
+//HtmlOutput it's the wrapper around all the html things.
+//Actually it manages everything related to HTML output.
+func HtmlOutput(flags input.Input, finalResult []string, finalSecret []scanner.SecretMatched) {
+ exists, err := utils.ElementExists("output-cariddi")
+
+ if err != nil {
+ fmt.Println("Error while creating the output directory.")
+ os.Exit(1)
+ }
+
+ if !exists {
+ utils.CreateOutputFolder()
+ }
+
+ ResultFilename := utils.CreateOutputFile(flags.Html, "html")
+
+ BannerHTML(ResultFilename)
+
+ // if secrets flag enabled save also secrets
+ if flags.Secrets {
+ HeaderHTML("Secrets found", ResultFilename)
+ for _, elem := range finalSecret {
+ AppendOutputToHTML(elem.Secret.Name+" Found in "+elem.Url+" "+elem.Secret.Regex, "", ResultFilename)
+ }
+ FooterHTML(ResultFilename)
+ }
+
+ HeaderHTML("Results", ResultFilename)
+ for _, elem := range finalResult {
+ AppendOutputToHTML(elem, "", ResultFilename)
+ }
+ FooterHTML(ResultFilename)
+
+ BannerFooterHTM(ResultFilename)
+}
diff --git a/utils/files.go b/utils/files.go
index 89b301b..b709be8 100644
--- a/utils/files.go
+++ b/utils/files.go
@@ -19,9 +19,9 @@ func CreateOutputFolder() {
}
//CreateOutputFile
-func CreateOutputFile(target string, subcommand string, format string) string {
+func CreateOutputFile(target string, format string) string {
target = ReplaceBadCharacterOutput(target)
- filename := "output-cariddi" + "/" + target + "." + subcommand + "." + format
+ filename := "output-cariddi" + "/" + target + "." + format
_, err := os.Stat(filename)
if os.IsNotExist(err) {