Kneesocks
Put some nice SOCKS on your HTTP only program
Install / Use
/learn @bitinn/KneesocksREADME
kneesocks
Put some nice SOCKS on your HTTP only program
Motivation
Driven by my burning desire to tunnel npm install requests through a SOCKSv5 proxy (eg. shadowsocks). Since npm only support HTTP proxy, I wrote this simple command line module to fire up a HTTP Proxy server, then use it to tunnel requests to my SOCKS proxy.
Features
- Supports HTTP and HTTPS requests
- Built-in DNS cache
- 150 loc, does nothing else
Install
npm install kneesocks --production -g
Usage
kneesocks port1 port2, eg. kneesocks 10001 10002
port1is the port your HTTP proxy server listen to on localhost.port2is the port of your existing SOCKS proxy, also on localhost.
Then you can set your npm config:
npm config set http http://127.0.0.1:10001npm config set https-proxy http://127.0.0.1:10001
To revert proxy config, use npm config delete http and npm config delete https-proxy.
To debug, use DEBUG=proxy kneesocks port1 port2
Limit
- Node v0.10+ required (Node v0.11+ preferred).
- Probably not the best solution for day-to-day browsing, due to lack of remote dns and websocket support.
- If you don't mind building binaries, use DeleGate or Polipo instead.
License
MIT
Related Skills
node-connect
349.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.5kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
