UNPKG

shadowsocks-manager

Version:

A shadowsocks manager tool for multi user and traffic control.

44 lines (39 loc) 1.14 kB
"use strict"; const knex = appRequire('init/knex').knex; const tableName = 'server'; const config = appRequire('services/config').all(); const manager = appRequire('services/manager'); const createTable = async () => { await knex.schema.createTableIfNotExists(tableName, function (table) { table.increments('id'); table.string('name'); table.string('host'); table.integer('port'); table.string('password'); table.string('method').defaultTo('aes-256-cfb'); }); const list = await knex('server').select(['name', 'host', 'port', 'password']); if (list.length === 0) { const host = config.manager.address.split(':')[0]; const port = +config.manager.address.split(':')[1]; const password = config.manager.password; await manager.send({ command: 'version' }, { host, port, password }).catch(() => { logger.error(`connect to server ${password}@${host}:${port} fail.`); process.exit(1); }); await knex('server').insert({ name: 'default', host, port, password }); } return; }; exports.createTable = createTable;