Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stealth: Download API #71

Open
3 tasks done
cookiengineer opened this issue Jun 18, 2021 · 1 comment
Open
3 tasks done

Stealth: Download API #71

cookiengineer opened this issue Jun 18, 2021 · 1 comment
Assignees
Labels
in-progress Task is in progress

Comments

@cookiengineer
Copy link
Member

cookiengineer commented Jun 18, 2021

The Download implementation is the outsourced Download stream that abstracts away all the necessary overhead that's necessary for 206 Partial Content, whereas the Request API should be the high-level abstraction that doesn't necessarily depend on the HTTP/S Protocols; but could be used as a virtual transport layer - so that Request will also handle the peer to peer logic.

However, this arises a new problem. The current Download API is implemented without any knowledge about Stealth's internal APIs. It made sense to implement this in order to focus only on HTTP/S protocol quirks. But many download servers on the internet actually use location redirects behind URLs, so this somehow needs to be supported now, too - and requires the Download to have a reference of the Stealth instance so that it can do DNS lookups.

This kinda sucks for the Covert Reviews which should be failsafe with one guaranteed endpoint. So this issue is open until a better solution arises for that. Maybe the Request should be able to follow redirects at one point?

  • Redirects in Downloads are currently unsupported
  • Optionally integrate Stealth as parameter in new Download()
  • Integrate stealth services for hosts/redirects lookup
@cookiengineer cookiengineer self-assigned this Oct 8, 2021
@cookiengineer cookiengineer added the in-progress Task is in progress label Oct 8, 2021
@cookiengineer cookiengineer added this to the X0 - Codename Spirit milestone Oct 8, 2021
@cookiengineer
Copy link
Member Author

Most of the standalone Download API has been implemented. The Review, however, needs more test cases for servers that return invalid responses (e.g. the wrong 206 byte ranges or the wrong content-length like it's the case with HTTP smuggling techniques).

  • Add tests for wrong 206 byte range responses
  • Add tests for wrong content-length
  • Add tests for transfer-encoding: chunked with content-length (HTTP smuggled payload)
  • Add tests for invalid transfer-encoding: chunked responses (e.g. second frame is bigger/smaller than expected)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
in-progress Task is in progress
Projects
None yet
Development

No branches or pull requests

1 participant