nodyhub / fifi Goto Github PK
View Code? Open in Web Editor NEWfifi sends to a given list of url's HTTP requests, calculates on each response a signature and groups them based on the values.
License: GNU General Public License v3.0
fifi sends to a given list of url's HTTP requests, calculates on each response a signature and groups them based on the values.
License: GNU General Public License v3.0
Even if not shown in first place, tis data should be stored somewhere to access it maybe later?
The signature is only calculated based on the keys of the http response. It might be useful to include optional the server value from the response to calculate the signature.
When the client timeout is reached, it throws an error and exists.
Timeout errors should be caught and properly handled.
022/04/13 14:13:42 Get "https://[REDACTED].aspx": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
exit status 1
Generate optional json output
According to the documentation go does automatically generate the canonical form of the response header. That lead to information loss and, fifi might miss differences based on the case.
The raw response header should be used here:
Lines 61 to 72 in aca1bb0
HTTP calls should be performed in a parallel manner, making the tool much quicker. Maybe a worker pool would be sufficient for this purpose.
If fifi
is run multiple times with the same output, the ordering of the verbose output is always different. It would be great to have always the same order, maybe, based on the order of the signature.
Golang stores currently the response header in a map[string][]string
which makes it impossible to reverse the initial order of the header values.
The order of the header values may indicate even further information about differences.
The signature is only calculated based on the keys of the http response. It might be useful to include optional the status code from the response to calculate the signature.
Similar as in https://github.com/rverton/wonitor, a diff feature on the json results help, to identify differences between old runs and new one
It would be great to collect the response codes for the requested URLs
Change from usage of mutex to channel.
Thats a bug!
022/05/04 06:55:13 ERROR (0): Get "https://<snip>/sales-accelerator/oidc/logoutcallback": dial tcp: lookup <snip> on 1.1.1.1:53: no such host
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x10 pc=0x634924]
goroutine 7 [running]:
main.performRequest(0xc00007ea00, {0xc000b37950, 0x48})
/home/runner/work/fifi/fifi/main.go:210 +0x544
main.getAllSignatures.func1(0x0?, 0xc00007ea00, 0x0?, 0xc00000c0a8, 0x0)
/home/runner/work/fifi/fifi/main.go:291 +0x192
created by main.getAllSignatures
/home/runner/work/fifi/fifi/main.go:283 +0x37d
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.