Galer is a fast tool to fetch URLs from HTML attributes by crawl-in. Inspired by the @omespino Tweet, which is possible to extract src
, href
, url
and action
values by evaluating JavaScript through Chrome DevTools Protocol.
Installation
The installation is easy. You can download a prebuilt binary from releases page, unpack and run! or with
(sudo) curl -sSfL https://git.io/galer | sh -s — -b /usr/local/bin
If you have go1.15+ compiler installed and configured:
GO111MODULE=on go get github.com/dwisiswant0/galer
git clone https://github.com/dwisiswant0/galer
cd galer
go build .
(sudo) mv galer /usr/local/bin
Usage
galer -u “http://domain.tld”
galer -h
This will display help for the tool. Here are all the switches it supports.
Flag | Description |
---|---|
-u, –url | Target to fetches (single target URL or list) |
-e, –extension | Show only certain extensions (comma-separated, e.g. js,php) |
-c, –concurrency | Concurrency level (default: 50) |
–in-scope | Show in-scope URLs/same host only |
-o, –output | Save fetched URLs output into file |
-t, –timeout | Maximum time (seconds) allowed for connection (default: 60) |
-s, –silent | Silent mode (suppress an errors) |
-v, –verbose | Verbose mode show error details unless you weren’t use silent |
-h, –help | Display its helps |
Examples
galer -u “http://domain.tld”
galer -u /path/to/urls.txt
cat urls.txt | galer
subfinder -d domain.tld -silent | httpx -silent | galer
Library
You can use galer as library.
go get github.com/dwisiswant0/galer/pkg/galer
For example:
package main import ( "fmt" "github.com/dwisiswant0/galer/pkg/galer" ) func main() { cfg := &galer.Config{ Timeout: 60, } cfg = galer.New(cfg) run, err := cfg.Crawl("https://twitter.com") if err != nil { panic(err) } for _, url := range run { fmt.Println(url) } }
TODOs
Nmap (Network Mapper) is a free tool that helps you find devices on a network,…
Introduction to the Model Context Protocol (MCP) The Model Context Protocol (MCP) is an open…
While file extensions in Linux are optional and often misleading, the file command helps decode what a…
The touch command is one of the quickest ways to create new empty files or update timestamps…
Handling large numbers of files is routine for Linux users, and that’s where the find command shines.…
Managing files and directories is foundational for Linux workflows, and the mv (“move”) command makes it easy…