forked from mirror/misskey
parent
48ea805999
commit
5c3a56b283
@ -1,7 +1,8 @@
|
|||||||
import * as redis from 'redis';
|
import * as redis from 'redis';
|
||||||
import config from '../config';
|
import config from '../config';
|
||||||
|
|
||||||
const client = redis.createClient(
|
export function createConnection() {
|
||||||
|
return redis.createClient(
|
||||||
config.redis.port,
|
config.redis.port,
|
||||||
config.redis.host,
|
config.redis.host,
|
||||||
{
|
{
|
||||||
@ -10,7 +11,9 @@ const client = redis.createClient(
|
|||||||
db: config.redis.db || 0
|
db: config.redis.db || 0
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
|
||||||
client.subscribe(config.host);
|
export const subsdcriber = createConnection();
|
||||||
|
subsdcriber.subscribe(config.host);
|
||||||
|
|
||||||
export default client;
|
export const redisClient = createConnection();
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import redis from '../db/redis';
|
import { redisClient } from '../db/redis';
|
||||||
import { promisify } from 'util';
|
import { promisify } from 'util';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -7,8 +7,8 @@ import { promisify } from 'util';
|
|||||||
const retryDelay = 100;
|
const retryDelay = 100;
|
||||||
|
|
||||||
const lock: (key: string, timeout?: number) => Promise<() => void>
|
const lock: (key: string, timeout?: number) => Promise<() => void>
|
||||||
= redis
|
= redisClient
|
||||||
? promisify(require('redis-lock')(redis, retryDelay))
|
? promisify(require('redis-lock')(redisClient, retryDelay))
|
||||||
: async () => () => { };
|
: async () => () => { };
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -2,7 +2,7 @@ import * as os from 'os';
|
|||||||
import * as si from 'systeminformation';
|
import * as si from 'systeminformation';
|
||||||
import { getConnection } from 'typeorm';
|
import { getConnection } from 'typeorm';
|
||||||
import define from '../../define';
|
import define from '../../define';
|
||||||
import redis from '../../../../db/redis';
|
import { redisClient } from '../../../../db/redis';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
requireCredential: true as const,
|
requireCredential: true as const,
|
||||||
@ -115,7 +115,7 @@ export default define(meta, async () => {
|
|||||||
os: os.platform(),
|
os: os.platform(),
|
||||||
node: process.version,
|
node: process.version,
|
||||||
psql: await getConnection().query('SHOW server_version').then(x => x[0].server_version),
|
psql: await getConnection().query('SHOW server_version').then(x => x[0].server_version),
|
||||||
redis: redis.server_info.redis_version,
|
redis: redisClient.server_info.redis_version,
|
||||||
cpu: {
|
cpu: {
|
||||||
model: os.cpus()[0].model,
|
model: os.cpus()[0].model,
|
||||||
cores: os.cpus().length
|
cores: os.cpus().length
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import define from '../define';
|
import define from '../define';
|
||||||
import redis from '../../../db/redis';
|
import { redisClient } from '../../../db/redis';
|
||||||
import config from '../../../config';
|
import config from '../../../config';
|
||||||
|
|
||||||
export const meta = {
|
export const meta = {
|
||||||
@ -13,7 +13,7 @@ export const meta = {
|
|||||||
|
|
||||||
export default define(meta, (ps, user) => {
|
export default define(meta, (ps, user) => {
|
||||||
return new Promise((res, rej) => {
|
return new Promise((res, rej) => {
|
||||||
redis.pubsub('numsub', config.host, (_, x) => {
|
redisClient.pubsub('numsub', config.host, (_, x) => {
|
||||||
res({
|
res({
|
||||||
count: x[1]
|
count: x[1]
|
||||||
});
|
});
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import * as Limiter from 'ratelimiter';
|
import * as Limiter from 'ratelimiter';
|
||||||
import limiterDB from '../../db/redis';
|
import { redisClient } from '../../db/redis';
|
||||||
import { IEndpoint } from './endpoints';
|
import { IEndpoint } from './endpoints';
|
||||||
import getAcct from '../../misc/acct/render';
|
import getAcct from '../../misc/acct/render';
|
||||||
import { User } from '../../models/entities/user';
|
import { User } from '../../models/entities/user';
|
||||||
@ -35,7 +35,7 @@ export default (endpoint: IEndpoint, user: User) => new Promise((ok, reject) =>
|
|||||||
id: `${user.id}:${key}:min`,
|
id: `${user.id}:${key}:min`,
|
||||||
duration: limitation.minInterval,
|
duration: limitation.minInterval,
|
||||||
max: 1,
|
max: 1,
|
||||||
db: limiterDB!
|
db: redisClient
|
||||||
});
|
});
|
||||||
|
|
||||||
minIntervalLimiter.get((err, info) => {
|
minIntervalLimiter.get((err, info) => {
|
||||||
@ -63,7 +63,7 @@ export default (endpoint: IEndpoint, user: User) => new Promise((ok, reject) =>
|
|||||||
id: `${user.id}:${key}`,
|
id: `${user.id}:${key}`,
|
||||||
duration: limitation.duration,
|
duration: limitation.duration,
|
||||||
max: limitation.max,
|
max: limitation.max,
|
||||||
db: limiterDB!
|
db: redisClient
|
||||||
});
|
});
|
||||||
|
|
||||||
limiter.get((err, info) => {
|
limiter.get((err, info) => {
|
||||||
|
@ -4,7 +4,7 @@ import { getJson } from '../../../misc/fetch';
|
|||||||
import { OAuth2 } from 'oauth';
|
import { OAuth2 } from 'oauth';
|
||||||
import config from '../../../config';
|
import config from '../../../config';
|
||||||
import { publishMainStream } from '../../../services/stream';
|
import { publishMainStream } from '../../../services/stream';
|
||||||
import redis from '../../../db/redis';
|
import { redisClient } from '../../../db/redis';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import signin from '../common/signin';
|
import signin from '../common/signin';
|
||||||
import { fetchMeta } from '../../../misc/fetch-meta';
|
import { fetchMeta } from '../../../misc/fetch-meta';
|
||||||
@ -96,7 +96,7 @@ router.get('/connect/discord', async ctx => {
|
|||||||
response_type: 'code'
|
response_type: 'code'
|
||||||
};
|
};
|
||||||
|
|
||||||
redis.set(userToken, JSON.stringify(params));
|
redisClient.set(userToken, JSON.stringify(params));
|
||||||
|
|
||||||
const oauth2 = await getOAuth2();
|
const oauth2 = await getOAuth2();
|
||||||
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
||||||
@ -118,7 +118,7 @@ router.get('/signin/discord', async ctx => {
|
|||||||
httpOnly: true
|
httpOnly: true
|
||||||
});
|
});
|
||||||
|
|
||||||
redis.set(sessid, JSON.stringify(params));
|
redisClient.set(sessid, JSON.stringify(params));
|
||||||
|
|
||||||
const oauth2 = await getOAuth2();
|
const oauth2 = await getOAuth2();
|
||||||
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
||||||
@ -145,7 +145,7 @@ router.get('/dc/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||||
redis.get(sessid, async (_, state) => {
|
redisClient.get(sessid, async (_, state) => {
|
||||||
res(JSON.parse(state));
|
res(JSON.parse(state));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -216,7 +216,7 @@ router.get('/dc/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||||
redis.get(userToken, async (_, state) => {
|
redisClient.get(userToken, async (_, state) => {
|
||||||
res(JSON.parse(state));
|
res(JSON.parse(state));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -4,7 +4,7 @@ import { getJson } from '../../../misc/fetch';
|
|||||||
import { OAuth2 } from 'oauth';
|
import { OAuth2 } from 'oauth';
|
||||||
import config from '../../../config';
|
import config from '../../../config';
|
||||||
import { publishMainStream } from '../../../services/stream';
|
import { publishMainStream } from '../../../services/stream';
|
||||||
import redis from '../../../db/redis';
|
import { redisClient } from '../../../db/redis';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import signin from '../common/signin';
|
import signin from '../common/signin';
|
||||||
import { fetchMeta } from '../../../misc/fetch-meta';
|
import { fetchMeta } from '../../../misc/fetch-meta';
|
||||||
@ -95,7 +95,7 @@ router.get('/connect/github', async ctx => {
|
|||||||
state: uuid()
|
state: uuid()
|
||||||
};
|
};
|
||||||
|
|
||||||
redis.set(userToken, JSON.stringify(params));
|
redisClient.set(userToken, JSON.stringify(params));
|
||||||
|
|
||||||
const oauth2 = await getOath2();
|
const oauth2 = await getOath2();
|
||||||
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
||||||
@ -116,7 +116,7 @@ router.get('/signin/github', async ctx => {
|
|||||||
httpOnly: true
|
httpOnly: true
|
||||||
});
|
});
|
||||||
|
|
||||||
redis.set(sessid, JSON.stringify(params));
|
redisClient.set(sessid, JSON.stringify(params));
|
||||||
|
|
||||||
const oauth2 = await getOath2();
|
const oauth2 = await getOath2();
|
||||||
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
ctx.redirect(oauth2!.getAuthorizeUrl(params));
|
||||||
@ -143,7 +143,7 @@ router.get('/gh/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||||
redis.get(sessid, async (_, state) => {
|
redisClient.get(sessid, async (_, state) => {
|
||||||
res(JSON.parse(state));
|
res(JSON.parse(state));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -194,7 +194,7 @@ router.get('/gh/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
const { redirect_uri, state } = await new Promise<any>((res, rej) => {
|
||||||
redis.get(userToken, async (_, state) => {
|
redisClient.get(userToken, async (_, state) => {
|
||||||
res(JSON.parse(state));
|
res(JSON.parse(state));
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -2,7 +2,7 @@ import * as Koa from 'koa';
|
|||||||
import * as Router from '@koa/router';
|
import * as Router from '@koa/router';
|
||||||
import { v4 as uuid } from 'uuid';
|
import { v4 as uuid } from 'uuid';
|
||||||
import autwh from 'autwh';
|
import autwh from 'autwh';
|
||||||
import redis from '../../../db/redis';
|
import { redisClient } from '../../../db/redis';
|
||||||
import { publishMainStream } from '../../../services/stream';
|
import { publishMainStream } from '../../../services/stream';
|
||||||
import config from '../../../config';
|
import config from '../../../config';
|
||||||
import signin from '../common/signin';
|
import signin from '../common/signin';
|
||||||
@ -89,7 +89,7 @@ router.get('/connect/twitter', async ctx => {
|
|||||||
|
|
||||||
const twAuth = await getTwAuth();
|
const twAuth = await getTwAuth();
|
||||||
const twCtx = await twAuth!.begin();
|
const twCtx = await twAuth!.begin();
|
||||||
redis.set(userToken, JSON.stringify(twCtx));
|
redisClient.set(userToken, JSON.stringify(twCtx));
|
||||||
ctx.redirect(twCtx.url);
|
ctx.redirect(twCtx.url);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -99,7 +99,7 @@ router.get('/signin/twitter', async ctx => {
|
|||||||
|
|
||||||
const sessid = uuid();
|
const sessid = uuid();
|
||||||
|
|
||||||
redis.set(sessid, JSON.stringify(twCtx));
|
redisClient.set(sessid, JSON.stringify(twCtx));
|
||||||
|
|
||||||
ctx.cookies.set('signin_with_twitter_sid', sessid, {
|
ctx.cookies.set('signin_with_twitter_sid', sessid, {
|
||||||
path: '/',
|
path: '/',
|
||||||
@ -124,7 +124,7 @@ router.get('/tw/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const get = new Promise<any>((res, rej) => {
|
const get = new Promise<any>((res, rej) => {
|
||||||
redis.get(sessid, async (_, twCtx) => {
|
redisClient.get(sessid, async (_, twCtx) => {
|
||||||
res(twCtx);
|
res(twCtx);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -153,7 +153,7 @@ router.get('/tw/cb', async ctx => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
const get = new Promise<any>((res, rej) => {
|
const get = new Promise<any>((res, rej) => {
|
||||||
redis.get(userToken, async (_, twCtx) => {
|
redisClient.get(userToken, async (_, twCtx) => {
|
||||||
res(twCtx);
|
res(twCtx);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
@ -5,7 +5,7 @@ import MainStreamConnection from './stream';
|
|||||||
import { ParsedUrlQuery } from 'querystring';
|
import { ParsedUrlQuery } from 'querystring';
|
||||||
import authenticate from './authenticate';
|
import authenticate from './authenticate';
|
||||||
import { EventEmitter } from 'events';
|
import { EventEmitter } from 'events';
|
||||||
import redisClient from '../../db/redis';
|
import { subsdcriber as redisClient } from '../../db/redis';
|
||||||
|
|
||||||
module.exports = (server: http.Server) => {
|
module.exports = (server: http.Server) => {
|
||||||
// Init websocket server
|
// Init websocket server
|
||||||
|
@ -21,7 +21,7 @@ import { Users, Notes, Emojis, UserProfiles, Pages, Channels, Clips } from '../.
|
|||||||
import parseAcct from '../../misc/acct/parse';
|
import parseAcct from '../../misc/acct/parse';
|
||||||
import { getNoteSummary } from '../../misc/get-note-summary';
|
import { getNoteSummary } from '../../misc/get-note-summary';
|
||||||
import { getConnection } from 'typeorm';
|
import { getConnection } from 'typeorm';
|
||||||
import redis from '../../db/redis';
|
import { redisClient } from '../../db/redis';
|
||||||
import locales = require('../../../locales');
|
import locales = require('../../../locales');
|
||||||
|
|
||||||
const markdown = MarkdownIt({
|
const markdown = MarkdownIt({
|
||||||
@ -379,7 +379,7 @@ router.get('/info', async ctx => {
|
|||||||
os: os.platform(),
|
os: os.platform(),
|
||||||
node: process.version,
|
node: process.version,
|
||||||
psql: await getConnection().query('SHOW server_version').then(x => x[0].server_version),
|
psql: await getConnection().query('SHOW server_version').then(x => x[0].server_version),
|
||||||
redis: redis.server_info.redis_version,
|
redis: redisClient.server_info.redis_version,
|
||||||
cpu: {
|
cpu: {
|
||||||
model: os.cpus()[0].model,
|
model: os.cpus()[0].model,
|
||||||
cores: os.cpus().length
|
cores: os.cpus().length
|
||||||
|
Loading…
Reference in New Issue
Block a user