qqwry 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/usr/bin/env node
  2. const program = require('commander');
  3. const chalk = require('chalk');
  4. const qqwry = require('../');
  5. const child_process = require('child_process');
  6. const path = require('path');
  7. program
  8. .usage('<command> [options]')
  9. .option('-v, --version', '当前版本信息')
  10. .option('--remote', '获取最新IP库信息')
  11. .command('search', '默认指令 搜索IP/IP段', { isDefault: true })
  12. .command('find', '查找区域信息')
  13. .command('update', '更新IP库(qqwry.dat)');
  14. // .command('remote', '获取最新IP库信息').alias('last');
  15. //版本
  16. program.on('option:version', function() {
  17. try {
  18. let v_lib = require('../package').version;
  19. let v_data = qqwry().searchIP('255.255.255.255').Area;
  20. console.log(`v${v_lib}`, `(Local data: ${chalk.bold(v_data)})`);
  21. } catch (err) {
  22. console.error(err.message || err);
  23. }
  24. process.exit(0);
  25. });
  26. program.on('option:remote', function() {
  27. try {
  28. var log = child_process.execFileSync(process.argv[0], [path.join(__dirname, 'qqwry-remote')]);
  29. process.stdout.write(log);
  30. } catch (err) {
  31. console.error(err.message || err);
  32. }
  33. process.exit(0);
  34. });
  35. if (process.argv.length < 3) {
  36. // program.help();
  37. }
  38. program.parse(process.argv);