mirror of
https://github.com/OJ/gobuster.git
synced 2026-10-12 02:07:17 +00:00
update
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
name: vhs
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- vhs/**.tape
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
|
||||
jobs:
|
||||
vhs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v5
|
||||
with:
|
||||
go-version: "stable"
|
||||
|
||||
- name: Install Task
|
||||
uses: arduino/setup-task@v2
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
- name: Get dependencies
|
||||
run: task deps
|
||||
|
||||
- name: Build linux
|
||||
run: task linux
|
||||
|
||||
- uses: charmbracelet/vhs-action@v1
|
||||
with:
|
||||
path: "vhs/gobuster_dir.tape"
|
||||
|
||||
- name: commit and push changes
|
||||
run: |
|
||||
git config user.name "Github"
|
||||
git config user.email "<>"
|
||||
git add vhs/*.gif
|
||||
git commit -m "update vhs gifs" || echo "no changes to commit"
|
||||
git push origin master
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 248 KiB |
@@ -0,0 +1,69 @@
|
||||
# VHS documentation
|
||||
#
|
||||
# Output:
|
||||
# Output <path>.gif Create a GIF output at the given <path>
|
||||
# Output <path>.mp4 Create an MP4 output at the given <path>
|
||||
# Output <path>.webm Create a WebM output at the given <path>
|
||||
#
|
||||
# Require:
|
||||
# Require <string> Ensure a program is on the $PATH to proceed
|
||||
#
|
||||
# Settings:
|
||||
# Set FontSize <number> Set the font size of the terminal
|
||||
# Set FontFamily <string> Set the font family of the terminal
|
||||
# Set Height <number> Set the height of the terminal
|
||||
# Set Width <number> Set the width of the terminal
|
||||
# Set LetterSpacing <float> Set the font letter spacing (tracking)
|
||||
# Set LineHeight <float> Set the font line height
|
||||
# Set LoopOffset <float>% Set the starting frame offset for the GIF loop
|
||||
# Set Theme <json|string> Set the theme of the terminal
|
||||
# Set Padding <number> Set the padding of the terminal
|
||||
# Set Framerate <number> Set the framerate of the recording
|
||||
# Set PlaybackSpeed <float> Set the playback speed of the recording
|
||||
# Set MarginFill <file|#000000> Set the file or color the margin will be filled with.
|
||||
# Set Margin <number> Set the size of the margin. Has no effect if MarginFill isn't set.
|
||||
# Set BorderRadius <number> Set terminal border radius, in pixels.
|
||||
# Set WindowBar <string> Set window bar type. (one of: Rings, RingsRight, Colorful, ColorfulRight)
|
||||
# Set WindowBarSize <number> Set window bar size, in pixels. Default is 40.
|
||||
# Set TypingSpeed <time> Set the typing speed of the terminal. Default is 50ms.
|
||||
#
|
||||
# Sleep:
|
||||
# Sleep <time> Sleep for a set amount of <time> in seconds
|
||||
#
|
||||
# Type:
|
||||
# Type[@<time>] "<characters>" Type <characters> into the terminal with a
|
||||
# <time> delay between each character
|
||||
#
|
||||
# Keys:
|
||||
# Escape[@<time>] [number] Press the Escape key
|
||||
# Backspace[@<time>] [number] Press the Backspace key
|
||||
# Delete[@<time>] [number] Press the Delete key
|
||||
# Insert[@<time>] [number] Press the Insert key
|
||||
# Down[@<time>] [number] Press the Down key
|
||||
# Enter[@<time>] [number] Press the Enter key
|
||||
# Space[@<time>] [number] Press the Space key
|
||||
# Tab[@<time>] [number] Press the Tab key
|
||||
# Left[@<time>] [number] Press the Left Arrow key
|
||||
# Right[@<time>] [number] Press the Right Arrow key
|
||||
# Up[@<time>] [number] Press the Up Arrow key
|
||||
# Down[@<time>] [number] Press the Down Arrow key
|
||||
# PageUp[@<time>] [number] Press the Page Up key
|
||||
# PageDown[@<time>] [number] Press the Page Down key
|
||||
# Ctrl+<key> Press the Control key + <key> (e.g. Ctrl+C)
|
||||
#
|
||||
# Display:
|
||||
# Hide Hide the subsequent commands from the output
|
||||
# Show Show the subsequent commands in the output
|
||||
|
||||
Output vhs/gobuster_dir.gif
|
||||
|
||||
# Require gobuster
|
||||
|
||||
Set Shell "bash"
|
||||
Set FontSize 32
|
||||
Set Width 2000
|
||||
Set Height 2000
|
||||
|
||||
Type "./gobuster dir -u http://localhost:8081 -w ./vhs/wordlist.txt" Sleep 500ms Enter
|
||||
|
||||
Sleep 10s
|
||||
@@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
"net/http"
|
||||
"regexp"
|
||||
)
|
||||
|
||||
type route struct {
|
||||
pattern *regexp.Regexp
|
||||
handler http.Handler
|
||||
}
|
||||
|
||||
type RegexpHandler struct {
|
||||
routes []*route
|
||||
}
|
||||
|
||||
func (h *RegexpHandler) Handler(pattern *regexp.Regexp, handler http.Handler) {
|
||||
h.routes = append(h.routes, &route{pattern, handler})
|
||||
}
|
||||
|
||||
func (h *RegexpHandler) HandleFunc(pattern *regexp.Regexp, handler func(http.ResponseWriter, *http.Request)) {
|
||||
h.routes = append(h.routes, &route{pattern, http.HandlerFunc(handler)})
|
||||
}
|
||||
|
||||
func (h *RegexpHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
for _, route := range h.routes {
|
||||
if route.pattern.MatchString(r.URL.Path) {
|
||||
route.handler.ServeHTTP(w, r)
|
||||
return
|
||||
}
|
||||
}
|
||||
// no pattern matched; send 404 response
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
|
||||
func main() {
|
||||
|
||||
x := RegexpHandler{}
|
||||
x.routes = append(x.routes, &route{regexp.MustCompile(`^/\w+-\w+-\w+-\w+-\w+$`), http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
})})
|
||||
x.routes = append(x.routes, &route{regexp.MustCompile(`^/`), http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
w.Write([]byte(r.URL.Path))
|
||||
})})
|
||||
|
||||
log.Fatal(http.ListenAndServe("127.0.0.1:8081", &x))
|
||||
}
|
||||
Reference in New Issue
Block a user