Nodejs kneesocks - 让 npm install 走 shadowsocks(或者其他 SOCKSv5 端口)

Nodejs kneesocks - 让 npm install 走 shadowsocks(或者其他 SOCKSv5 端口)

简单点说就是启动一个HTTP Proxy,把收到的请求转换为SOCKSv5可以理解的格式,转发出去。

如果你懒得在各个平台上build对应的转发工具,这是个简单的选择。

  • npm install -g kneesocks
  • DEBUG=proxy kneesocks httpPort socksPort
  • npm config set proxy http://127.0.0.1:httpPort
  • npm config set https-proxy http://127.0.0.1:httpPort
  • npm install

httpPort和socksPort对应自身实际情况填写。

详见:https://github.com/bitinn/kneesocks


12 回复

PS: 如果需要切换,在~/.bash_profile下设个alias;如果使用osx,用launchd设为背景服务进程,再套alias更方便。

PPS: 用得上的话,欢迎收藏点赞 :)


Nodejs kneesocks - 让 npm install 走 shadowsocks(或者其他 SOCKSv5 端口)

简单点说,kneesocks 是一个 HTTP 代理工具,它可以把接收到的 HTTP 请求转换成 SOCKSv5 可以理解的格式,并将其转发出去。这使得你可以通过 SOCKS 代理来执行 npm install 命令。

如果你不想在不同平台上构建复杂的转发工具,那么膝盖袜(kneesocks)是一个简便的选择。

安装

首先,你需要全局安装膝盖袜:

npm install -g kneesocks

启动膝盖袜代理

接下来,使用膝盖袜启动一个 HTTP 代理并指定 SOCKS 代理端口:

DEBUG=proxy kneesocks httpPort socksPort

例如,如果你想将 HTTP 端口设置为 8080 并将 SOCKS 代理端口设置为 1080,则命令如下:

DEBUG=proxy kneesocks 8080 1080

配置 npm 使用代理

然后,你需要配置 npm 使用膝盖袜代理。这可以通过以下命令完成:

npm config set proxy http://127.0.0.1:8080
npm config set https-proxy http://127.0.0.1:8080

这里的 8080 是你之前设定的 HTTP 端口号。

执行 npm install

最后,你可以执行 npm install 命令,此时所有的网络请求都会通过膝盖袜代理,进而通过 SOCKS 代理(如 Shadowsocks)进行通信。

npm install

示例

假设你的环境配置如下:

  • HTTP 端口:8080
  • SOCKS 端口:1080

那么完整的步骤如下:

# 安装膝盖袜
npm install -g kneesocks

# 启动膝盖袜代理
DEBUG=proxy kneesocks 8080 1080

# 配置 npm 使用代理
npm config set proxy http://127.0.0.1:8080
npm config set https-proxy http://127.0.0.1:8080

# 执行 npm install
npm install

查看文档

更多详细信息和配置选项,请参阅膝盖袜的 GitHub 页面:

https://github.com/bitinn/kneesocks

通过这些步骤,你就可以轻松地通过 SOCKS 代理执行 npm install 命令了。

npm config set proxy shadowsocks地址 npm config set https-proxy shadowsocks地址 直接这样设置行不,我用cow,好像就是导出Http的

proxychains 不就是干这个的吗。。。

[@alsotang](/user/alsotang) 制作这个的原因是大多数工具需要build和额外conf文件,kneesocks限制自身的功能,免去这些麻烦。如果你需要为npm提速,为什么不用npm包跨平台解决它呢?

需要更多功能又不介意build的话,我个人推荐DeleGate。

npm 被墙了~~~在公司自带翻墙, 回来就用这个~

逗号前置, 实在不忍直视… forgive me

没有 .jsbeautifyrc .jshintrc 等格式化, 风格检查 工具配置的仓库, 怎么贡献代码~

cnpm proxychains …

已经无法配合shadowsocks使用了

用nrm就可以 nrm use taobao

为了使用 kneesocksnpm install 通过 Shadowsocks 或其他 SOCKSv5 端口进行网络请求,你可以按照以下步骤操作。kneesocks 是一个方便的工具,可以将 HTTP 请求转换为 SOCKSv5 请求。

步骤

  1. 安装 kneesocks: 首先,你需要全局安装 kneesocks。打开终端并运行:

    npm install -g kneesocks
    
  2. 启动 kneesocks: 接下来,启动 kneesocks 并指定 HTTP 端口和 SOCKS 端口。例如,如果你想让 HTTP 端口监听 3128,而 SOCKS 端口监听 1080,则运行:

    DEBUG=proxy kneesocks 3128 1080
    

    这会启动一个代理服务器,将 HTTP 请求转发到 SOCKSv5 代理。

  3. 配置 npm 使用代理: 设置 npm 使用 HTTP 代理,确保 npm 发出的所有请求都通过代理服务器:

    npm config set proxy http://127.0.0.1:3128
    npm config set https-proxy http://127.0.0.1:3128
    
  4. 运行 npm install: 现在你可以正常运行 npm install 命令,它将会通过 SOCKS 代理进行所有网络请求。

    npm install
    

示例代码

# 安装 kneesocks
npm install -g kneesocks

# 启动膝盖袜代理
DEBUG=proxy kneesocks 3128 1080

# 设置 npm 代理
npm config set proxy http://127.0.0.1:3128
npm config set https-proxy http://127.0.0.1:3128

# 运行 npm install
npm install

这样配置后,所有的 npm 操作都会通过你指定的 SOCKSv5 代理进行,从而绕过任何可能的网络限制。

回到顶部