Code Monkey home page Code Monkey logo

fhc's Introduction

FHC

FHC stands for Fast HTTP Checker, it's written in Rust. Works on Linux, Windows, macOS, Android, Aarch64, ARM and possibly in your oven.

Goal

Offer the community an efficient HTTP checker tool.

Methodology

FHC try to resolve https first, if this fails then fallback to http, in that way you don't miss any active HTTP host.

Performance & speed

FHC is very resource friendly, you can use up to 1000 threads in an single core machine and this will work without any problem, the bottleneck for this tool is your network speed. By default, FHC is able to perform HTTP check for ~913 hosts per second in good network conditions (tested in an Google Cloud machine). Depending on how much host have only http (not https) and/or are alive the number of host resolved in average can be low/higher as the tool have or not to perform a double check. In our demo we used an real-world scenario performing resolution for google.com subdomains.

Demo

The hosts file used in the demo is here.

asciicast

Installation

Using precompiled binaries.

Download the asset from the releases page according to your platform.

Using the source code.

  1. You need to have the latest stable Rust version installed in your system.
  2. Clone the repo or download the source code, then run cargo build --release.
  3. Execute the tool from ./target/release/fhc or add it to your system PATH to use from anywhere.

Using the AUR packages. (Arch Linux)

fhc can be installed from available AUR packages using an AUR helper. For example,

yay -S fhc

If you prefer, you can clone the AUR packages and then compile them with makepkg. For example,

git clone https://aur.archlinux.org/fhc.git && cd fhc && makepkg -si

Usage

  • Show all HTTP urls depite their response codes:
cat hosts.txt | fhc
  • If you want to see only the HTTP host with 200-299 codes:
cat hosts.txt | fhc -2

You can tune the --timeout, -t/--threads, -u/--user-agent and other options according to your needs. See fhc --help

fhc's People

Contributors

0xflotus avatar edu4rdshl avatar orhun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

fhc's Issues

Probing issue!

https://support.hackerone.com/ this site is live. but fhc does not showing the domain.
is it possible to to auto redirect without -L argument?
and could you make a progress bar like total domain and process domain.

image

image

Request for `-retries` support

Hi,

If possible -retries flag would be really great to have. For all the failed entries it tries to find webserver on it again x number of times passed by user.

This can be helpful in cases where they are minor problems in the network or server proxy not accepting requests from same client at that speed, This way we can be more assured with the results.

--
Regards,
@bugbaba

More features

@Edu4rdSHL fhc is fast but it would be much more useful if it would have features to extract content length title server name cname ip address etc

Comparision to other tools

I am not sure if you have tried other tools like httpx which kind of does the same thing.
It would be nice if you can like to add a benchmark or maybe a comparision table of this tool with others.

Also I see that this is quite fast but do you plan to add some new features like showing the status code etc?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.