Server IP : 185.86.78.101 / Your IP : 216.73.216.124 Web Server : Apache System : Linux 675867-vds-valikoshka1996.gmhost.pp.ua 5.4.0-150-generic #167-Ubuntu SMP Mon May 15 17:35:05 UTC 2023 x86_64 User : www ( 1000) PHP Version : 7.4.33 Disable Function : passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /www/wwwroot/mifepriston.org/node_modules/stream-throttle/bin/ |
Upload File : |
#!/usr/bin/env node var net = require('net'); var opts = require('commander'); var Throttle = require('../src/throttle.js').Throttle; function parseAddr(addr) { var result = /^(([^:]*):)?(\d+)$/.exec(addr); if (!result) return null; return { host: result[2], port: result[3] }; } function parseInteger(s) { if (!/^\d+$/.test(s)) return undefined; return parseInt(s, 10); } function runProxy(localAddr, remoteAddr, downRate, upRate) { var server = net.createServer(function(local) { var remote = net.createConnection(remoteAddr); var localThrottle = new Throttle({rate: upRate}); var remoteThrottle = new Throttle({rate: downRate}); local.pipe(localThrottle).pipe(remote); local.on('error', function() { remote.destroy(); local.destroy(); }); remote.pipe(remoteThrottle).pipe(local); remote.on('error', function() { local.destroy(); remote.destroy(); }); }); server.listen(localAddr.port, localAddr.host); } function main() { var localAddr, remoteAddr, downRate, upRate; opts .option('-l, --localaddr <addr>', 'local address, default 0.0.0.0:8080') .option('-r, --remoteaddr <addr>', 'remote address, default localhost:80') .option('-d, --downstream <bps>', 'downstream bandwidth', parseInteger) .option('-u, --upstream <bps>', 'upstream bandwidth, default equal to downstream', parseInteger) .parse(process.argv); if (opts.localaddr !== undefined) { localAddr = parseAddr(opts.localaddr); if (!localAddr) opts.help(); } else localAddr = {host: undefined, port: 8080}; if (opts.remoteaddr !== undefined) { remoteAddr = parseAddr(opts.remoteaddr); if (!remoteAddr) opts.help(); } else remoteAddr = {host: undefined, port: 80}; if (opts.downstream === undefined) opts.help(); downRate = opts.downstream; if (opts.upstream !== undefined) upRate = opts.upstream; else upRate = downRate; runProxy(localAddr, remoteAddr, downRate, upRate); } main();