如何使用 QuotaGuard 静态设置 FTP 静态 ip?

How to setup FTP static ip with QuotaGuard static?

我正在使用托管在 heroku 上的 nodejs FTP 客户端,但我连接的端点需要将我的静态 IP 列入白名单。 Heroku 不提供静态 IP,因此我使用的是 QuotaGuard 插件。我对如何使用 QuotaGuard url 来代理我的 FTP 连接有点迷茫。

感谢任何帮助!

您可以使用 node-ftp 包的分支来执行此操作,但它不在 NPM 中,因此需要一些手动安装。

  1. 在本地克隆存储库:git clone git@github.com:choonyme/node-socksftp.git

  2. 将 socksftp 目录复制到您的项目目录中(例如 cp -r node-socksftp/socksftp ./node_modules/

  3. 将您的 QuotaGuard 静态连接详细信息导出到名为 QUOTAGUARDSTATIC_URL 的本地环境变量中。

然后您可以使用与原始 node-ftp 包中相同的所有 FTP 命令。

var url = require('url');
var Client = require('socksftp');

var httpProxyUrl = process.env.QUOTAGUARDSTATIC_URL;
// Make sure to switch to the SOCKS5 proxy port 1080
var socksProxyUrl = httpProxyUrl.replace(":9293",":1080");  

var server = {
    'host': 'ftp.linuxjournal.com',
    'port': 21,
    'socksproxy': socksProxyUrl
};

var c = new Client();
c.on('ready', function() {
    c.list(function(err, list) {
      if (err) throw err;
      console.dir(list);
      c.end();
    });
});

c.on('error', function(err){
    console.error('socksftp error: ' + err);
    return;
});

c.connect(server);

为了将来参考,您可以通过 http://support.quotaguard.com 联系我们的支持团队,我们会尽快回复。