Skip to content

Instantly share code, notes, and snippets.

View lenconda's full-sized avatar
💻
Working and studying hard

Peng Hanlin lenconda

💻
Working and studying hard
View GitHub Profile
@lenconda
lenconda / vhost.conf
Created March 8, 2019 11:50
Nginx config file to make a Node.js backend proxy
# © Lenconda
# When the path is //path.example.com/api/path/to/interface, redirect to http://localhost:3000/api/path/to/interface
# Backend should add a route prefix of '/api'
server {
listen 80;
server_name path.example.com;
location / {
proxy_set_header X-Real-IP $remote_addr;
@lenconda
lenconda / distinct.js
Last active March 8, 2019 05:39
A MongoDB script to remove duplicates
db.NEW_COLLECTION.ensureIndex({ 'KEY_TO_DISTINCT': 1 }, { 'unique': true, 'dropDups': true });
db.DUMMY_COLLECTION.find().forEach(function(doc) {
db.NEW_COLLECTION.insert(doc);
});
@lenconda
lenconda / child.js
Created February 25, 2019 01:17
Node.js child_process.fork()
console.log(`Child process running with ${process.pid}`)
setInterval(() => {
process.send(`Worker got time: ${Date.parse(new Date())}`)
}, 1000)
@lenconda
lenconda / publisher.js
Last active February 8, 2019 15:51
Another producer consumer model
// /src/publisher.js
const amqp = require('amqp')
const {
MQ_HOST,
MQ_PORT,
MQ_LOGIN,
MQ_PASSWORD,
MQ_TIMEOUT,
MQ_QUEUE } = require('../../config')
@lenconda
lenconda / redis_queue.js
Created February 8, 2019 14:09
A queue model based on Redis
const redis = require('redis')
const _db = Symbol('db')
class RedisQueue {
constructor () {
this[_db] = redis.createClient({
host: 'localhost',
port: 6379
@lenconda
lenconda / connect_db.js
Created February 8, 2019 13:38
MongoDB example
const mongoose = require('mongoose')
const {
DB_HOST,
DB_PORT,
DB_USER,
DB_PASSWORD,
DB_NAME } = require('../../config')
const getLogger = require('../utils/logger')
const logger = getLogger(__filename)
@lenconda
lenconda / consumer.js
Created February 8, 2019 03:47
Basic Producer-Consumer model with Node.js and RabbitMQ
const amqp = require('amqp')
const conn = amqp.createConnection({
host: '127.0.0.1',
port: 5672,
login: 'guest',
password: 'guest',
connectionTimeout: 10000
})
@lenconda
lenconda / mysql_mapping.sh
Created January 9, 2019 05:25
通过SSH端口转发将远程MySQL服务器映射到本地
IP=SERVER_ADDRESS
# LOCAL_PORT:IP:SERVER_PORT
ssh -fNg -L 3306:IP:3306 root@IP
@lenconda
lenconda / get_subdomains.js
Last active December 31, 2018 08:01
获取子域名列表
const superagent = require('superagent');
const cheerio = require('cheerio');
const getSubdomains = (rootDomain) => {
return new Promise((resolve, reject) => {
superagent
.post('https://hackertarget.com/find-dns-host-records/')
.type('form')
.send({ theinput: rootDomain })
.send({ thetest: 'hostsearch' })
const baseUrl = window.isDevMode ? '/api' : 'https://os.ncuos.com/api'
// 信息提示框
/**
* @param {any} msg
* @param {any} isSucc
*/
const alertBox = function (msg, isSucc) {
msg = typeof msg !== 'undefined' ? msg : '操作失败'
try {
if (msg.indexOf('permission') >= 0) {