GithubHelp home page GithubHelp logo

kevva / caw Goto Github PK

View Code? Open in Web Editor NEW
44.0 44.0 9.0 19 KB

Construct HTTP/HTTPS agents for tunneling proxies

License: MIT License

JavaScript 100.00%
http https https-agents nodejs protocol proxy tunnel tunneling-proxies

caw's People

Contributors

alexmeah avatar artskydj avatar floatdrop avatar kevva avatar leizeng 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

Watchers

 avatar  avatar  avatar  avatar  avatar

caw's Issues

Drop get-proxy

It doesn't support NO_PROXY and does not take an input URL (or protocol) to discern which env var to use, as there can be multiple. Meanwhile, proxy-from-env does all of this and more.

Passing credentials

How can I pass caw a username/password required by the proxy I want to use?

Add tests

Couldn't get the tests to work so I'm not 100% this works. @floatdrop, you'd probably know how to fix this I guess :).

Security vulnerability in `tunnel-agent`

You may already be aware of this issue, but I figured I'd post it here anyway, just in case I'm wrong. (I don't see it already posted.)

When running an npm audit on my Laravel project, I get several Moderate security vulnerabilities related to the tunnel-agent dependency. It seems there is a patch available, but it requires that you update caw so that it will use tunnel-agent version >=0.6.0:

┌───────────────┬──────────────────────────────────────────────────────────────┐
│ Moderate      │ Memory Exposure                                              │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Package       │ tunnel-agent                                                 │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Patched in    │ >=0.6.0                                                      │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Dependency of │ laravel-mix [dev]                                            │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ Path          │ laravel-mix > img-loader > imagemin-gifsicle > gifsicle >    │
│               │ bin-build > download > caw > tunnel-agent                    │
├───────────────┼──────────────────────────────────────────────────────────────┤
│ More info     │ https://nodesecurity.io/advisories/598                       │
└───────────────┴──────────────────────────────────────────────────────────────┘

What format should I provide the proxy string as?

I'm having trouble getting caw to work with got, and I'm trying to figure out whether the issue is because of the proxy itself or because of how I'm configuring caw. If my proxy IP is something like 1.2.3.4 and port is 555 and it's an HTTPS proxy, should the string argument be exactly https://1.2.3.4:555, or does it expect it in a different format?

Update tunnel-agent to address snyk vulnerability

Vulnerability described in more detail here: https://snyk.io/vuln/npm:tunnel-agent:20170305

I'm not sure if caw is using tunnel-agent in a way that this vulnerability is exploitable, but it looks like tunnel agent should be safe to update (the only change to it since 2015 was to address this vulnerability) and doing so will save the whole ecosystem from getting Snyk warnings about this.

I'm happy to submit a PR, but I think it's just a package.json change.

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.