🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

baidur

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

baidur - npm Package Compare versions

Comparing version
0.5.1
to
0.6.0
+2
-2
fetchData.js

@@ -5,3 +5,3 @@ const baidu = require('baidu-search')

async function baiduFilter(keyword, page, timewait){
/* 基础策略:把description空的放行
/* 基础策略:把description空的过滤
* 为了提速,如果贪心策略,搞乱分页,需要保存进全局破坏封装性且拖慢首屏速度

@@ -41,3 +41,3 @@ * 现在决定第一页直接过滤无description的,后面保持

return new Promise( (resolve, reject) => {
baidu( keyword , page ,( (err,res)=>{
baidu( encodeURI(keyword) , page ,( (err,res)=>{
resolve( res.links )

@@ -44,0 +44,0 @@ }))

{
"name": "baidur",
"version": "0.5.1",
"version": "0.6.0",
"description": "baidur 是一个在命令行搜百度的工具",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -28,2 +28,3 @@ baidur 是一个命令行工具,从命令行获取百度结果。因为用惯了ddgr跟googler,找了一圈没有发现baidur的类似东西,毕竟前两个必须fq伤不起,于是决定写(chao)一个,同时改进一下现在的终端搜索的不爽之处

```
这将启动一个repl交互解释器,以后可以直接在解释器里输入关键词,回车搜索

@@ -38,2 +39,3 @@ 如要使用 - 语法,引号是必要的。否则bash将认为是一个选项参数而导致错误

程序将在home文件夹(linux、mac 一般为 /Users/username , windows 一般为 C:\users\username) 建立.baidur 文件,用于保存搜索历史与配置,可以直接进去修改配置。也可以在命令行修改部分配置。

@@ -66,6 +68,4 @@ # Installation 安装

# 开发进度
known issue
repl在不同终端上表现不同, 有的甚至不能接收中文
o: done a: alpha - thoughts // cancel & comment<br />
o: done a: alpha b: beta - thoughts // cancel & comment<br />
显示

@@ -97,7 +97,8 @@ o- 快速、干净、自定义色彩<br />

-- 仅记录搜索词<br />
-- 上下方向键查询历史, 字节支持 // 得自己动手 困难<br />
b- 上下方向键查询历史, 字节支持 // 得自己动手 困难 // 似乎发布后直接支持了<br />
-- 默认config的写入<br />
-- repl: save current config<br />
o- repl: save current config<br />
-- repl: show current config<br />
-- repl 加入filter<br />
-- repl key mapping<br />

@@ -122,4 +123,6 @@ 自定义结果页数// 需要拼接结果; 弄一个队列

# known issue 已知问题
偶尔会显示 MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 pipe listeners added. Use emitter.setMaxListeners() to increase limit, 原因暂时不明
# License
# License 协议

@@ -126,0 +129,0 @@ GPL 3.0

@@ -9,2 +9,4 @@ #! /usr/bin/env node

const repl = require('repl')
const osHome = require('os').homedir()
const fs = require('fs-extra')

@@ -21,3 +23,3 @@ const {textByteLength, textColoredIgnorePart, keywordColor, combineResultToPrint} = require('./util.js')

const emitter = new EventEmitter();
emitter.setMaxListeners(60)
emitter.setMaxListeners(200)

@@ -67,3 +69,3 @@

}
defaultHistoryConfig: {
historyConfig: {
historySize,

@@ -86,2 +88,6 @@ searchTextOnly,

const homedir = osHome + '/.baidur'
const configPath = homedir + '/config'
fs.ensureDirSync(homedir)
program

@@ -104,3 +110,3 @@ .version('0.0.1')

showCurrentWord: true,
showParseError: true,
showParseError: false,
}

@@ -114,2 +120,35 @@ }

if( fs.pathExistsSync(configPath ) ){
defaultViewMode = fs.readJsonSync(configPath).viewMode
defaultHistoryConfig = fs.readJsonSync(configPath).historyConfig
} else {
saveConfig({
viewMode: defaultViewMode,
historyConfig: defaultHistoryConfig
})
let configHelpPath = configPath + '_help'
fs.outputFileSync(configHelpPath, `
viewMode:{
enableQueueNextSearch: true, // 预加载队列,在快速切换时会加速,同时可启用filter,但不稳定。
urlExpansion: false, // 结果标题下显示url
useFilter: false, // 开启过滤自定义站点 功能暂未实现
saveHistory: false, // 保存搜索历史
showReverse: true, // 搜索结果反向显示
parseTimeout: 1000, // 重定向解析超时时间, 设为100 将会不解析大多数链接。
consoleMode: {
showFilter, // 显示被过滤的站点标题
showTime, // 显示搜索时间
showCurrentWord, // 显示当前搜索词
showParseError, // 显示重定向解析失败的条目
}
}
historyConfig: {
historySize, // 保存历史的条数
searchTextOnly, // 历史只保存搜索词,功能暂未实现
compress, // 不删除,只在达到上限后压缩历史,功能暂未实现
}
`)
}
let currentSearch = await baiduFilter(searchText, 1, defaultViewMode.parseTimeout)

@@ -124,2 +163,3 @@ resultPrint(currentSearch, defaultViewMode)

viewMode: defaultViewMode,
historyConfig: defaultHistoryConfig,

@@ -140,3 +180,3 @@ resultQueue: [],

if( shellContext.context.viewMode.saveHistory ) {
let historyFile = require('os').homedir() + '/.baidu_history'
let historyFile = homedir + '/baidu_history'

@@ -154,2 +194,9 @@ let historyInitialString = searchText + '\n-- ' + dateNowString() + '\n'

function saveConfig (object) {
fs.outputJsonSync(configPath, {
viewMode: object.viewMode,
historyConfig: object.historyConfig
},{spaces:' '})
}
async function changePage(context, page){

@@ -226,3 +273,10 @@ let {currentSearch, nextSearch , viewMode, resultQueue} = context;

case 'r': context.viewMode.showReverse = !context.viewMode.showReverse; console.log('切换反向显示');break;
case 's': console.log('functionality not accomplished'); break;
case 's':{
saveConfig({
viewMode: context.viewMode,
historyConfig: context.historyConfig
})
console.log('保存配置成功')
break;
}
case '?': displayHelp(); break;

@@ -255,6 +309,7 @@ case 'h': displayHelp(); break;

o [index|range ...] 与直接输入数字效果相同,都将打开页面。用于兼容习惯 (o - open)
c index 复制结果链接, c - copy
q, ^D 退出 q - quit
x 切换显示,切换在标题下显示url与否。x - url expansion,
r 切换反向显示 r - reverse
c index 复制结果链接, c - copy
q, ^D 退出 q - quit
w 保存当前配置(x,r等控制的显示配置保存)。w - write
?, h 显示帮助 h - help

@@ -272,3 +327,5 @@ .help 显示node.repl默认帮助

if(errorLogArray.length >= 1) {
let {consoleMode} = viewMode
console.log(viewMode)
if(errorLogArray.length >= 1 && consoleMode.showParseError) {
errorLogArray.map(item => {

@@ -278,3 +335,3 @@ console.log(item)

}
if(filteredArray.length >= 1){
if(filteredArray.length >= 1 && consoleMode.showFilter){
console.log('过滤了:')

@@ -296,5 +353,8 @@ filteredArray.map(item => {

if(consoleMode.showTime)
console.log(`搜索用时: ${searchTime/1000}秒`)
if(consoleMode.showCurrentWord)
console.log(`当前搜索:${keyword}`)
}