Skip to content

chore(bench): Manually install hyprfine than using binstall #3

chore(bench): Manually install hyprfine than using binstall

chore(bench): Manually install hyprfine than using binstall #3

Workflow file for this run

name: Bench gowitness with hxn
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
test-domains:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup dot env paths
run: |
export CARGO_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/cargo"
export RUSTUP_HOME="${XDG_DATA_HOME:-$HOME/.local/share}/rustup"
export GOPATH="${XDG_DATA_HOME:-$HOME/.local/share}/go"
export PATH="$PATH:${$(find ~/.local/share/cargo/bin -type d -printf %p:)%%:}"
export PATH="$PATH:${$(find ~/.local/share/go/bin -type d -printf %p:)%%:}"
export CARGO_REGISTRIES_CRATES_IO_PROTOCOL=sparse # Add sparse index protocol for cargo
- name: Install hyperfine
run: |
cargo install hyperfine
- name: Install gowitness
run: |
sudo apt update
sudo apt install golang -y
go install github.com/sensepost/gowitness@latest
- name: Get 50 URLs
run: |
curl -qfsSL "https://raw.githubusercontent.com/Azathothas/CertStream-Domains/main/Data/np_ccTLDs/certstream_domains_np_all_24h_httpx.txt" |
awk '{print $1}' |
grep -i 'http' |
sort -u |
head -n 50 > urls.txt
- name: Install hxn
run: |
cargo build --release
sudo mv -iv target/release/hxn /usr/local/bin/hxn
- name: Bench gowitness with hxn
run: |
hyperfine --warmup 3 'hxn -f urls.txt -t 50 --timeout 500' 'gowitness -F --timeout 500 file urls.txt'