feat: add soaxreport tool for ECH testing via SOAX proxies#5
feat: add soaxreport tool for ECH testing via SOAX proxies#5
soaxreport tool for ECH testing via SOAX proxies#5Conversation
internal/curl/runner.go
Outdated
| } | ||
|
|
||
| // Args defines the execution parameters for a single curl run. | ||
| type Args struct { |
There was a problem hiding this comment.
I feel like we are adding a translation layer here that is not necessary.
You are writing the params in the Args language to then convert to curl language. One might as well write straight to curl language.
There's also a lot of duplication with
ech-research/greasereport/main.go
Line 139 in 933d4dc
I think we can extract runTest instead. Doesn't it work for both reports? That will also make it clearer that we are running the same test!
There was a problem hiding this comment.
I have removed the translation layer internal/curl and moved the execution logic to internal/echtest.Run. I am not fully deduplicating greasereport in this PR to keep the scope manageable, but I have added a TODO there to migrate it to internal/echtest in the future.
| csvWriter := csv.NewWriter(outputFile) | ||
| defer csvWriter.Flush() | ||
|
|
||
| header := []string{ |
There was a problem hiding this comment.
Please fetch and output the exit node AS number and name. They are more universal than the SOAX IDs, so we should have both
There was a problem hiding this comment.
There was a problem hiding this comment.
Where's it in the output? Is that the isp field? That's just the SOAX id. We need the AS name, and to validate the SOAX output (do our own mapping), because some proxy services lie about their location and people will for sure ask about that. We should flag whenever the SOAX ASN doesn't match our ASN lookup.
There was a problem hiding this comment.
Not yet. Shall we download the GeoIP DB file to this PR, I feel it's too big, maybe we just guide the users downloading themselves to the workspace folder?
2c904ca to
f0557b7
Compare
| csvWriter := csv.NewWriter(outputFile) | ||
| defer csvWriter.Flush() | ||
|
|
||
| header := []string{ |
There was a problem hiding this comment.
Where's it in the output? Is that the isp field? That's just the SOAX id. We need the AS name, and to validate the SOAX output (do our own mapping), because some proxy services lie about their location and people will for sure ask about that. We should flag whenever the SOAX ASN doesn't match our ASN lookup.
Introduces a tool to test ECH GREASE compatibility globally using SOAX proxies. It measures performance and connectivity across different countries and ISPs.