Пример #1
0
 def post(self):
     parser = reqparse.RequestParser()
     parser.add_argument('page', type=int, default=1, help='')
     parser.add_argument('minute', type=int, default=10, help='')
     args = parser.parse_args()
     page = args.get('page')
     minute = args.get('minute')
     setting_col.update_many(
         {'key': 'task'},
         {'$set': {
             'key': 'task',
             'page': page,
             'minute': minute
         }},
         upsert=True)
     try:
         os.kill(
             setting_col.find_one({
                 'key': 'task'
             }).get('pid'), signal.SIGHUP)
     except ProcessLookupError:
         pass
     result = list(setting_col.find({}, {'_id': 0}))
     data = {'status': 201, 'msg': '设置成功', 'result': result}
     return jsonify(data)
Пример #2
0
 def get(self):
     result = list(
         setting_col.find({'webhook': {
             '$exists': True
         }}, {'_id': 0}))
     data = {'status': 200, 'msg': '获取信息成功', 'result': result}
     return jsonify(data)
Пример #3
0
    def post(self):
        parser = reqparse.RequestParser()
        parser.add_argument('argument',
                            type=str,
                            default=request.host,
                            help='setting argument')
        parser.add_argument('value',
                            type=str,
                            default=request.host,
                            help='setting value')
        parser.add_argument('unique',
                            type=inputs.boolean,
                            default=False,
                            help='setting unique')
        args = parser.parse_args()
        value = args.get('value')
        argument = args.get('argument')

        setting_col.update_many({
            'key': 'system',
            'argument': argument
        }, {'$set': {
            'key': 'system',
            'argument': argument,
            'value': value
        }},
                                upsert=True)

        result = list(setting_col.find({}, {'_id': 0}))
        data = {'status': 201, 'msg': '设置成功', 'result': result}
        return jsonify(data)
Пример #4
0
def webhook_notice(tag, results):
    if len(results):
        for webhook_setting in setting_col.find({'webhook': {'$exists': True}, 'enabled': True},
                                                {'domain': 1, 'webhook': 1, '_id': 0}):
            hostname = webhook_setting.get('domain')
            webhook = webhook_setting.get('webhook')
            if 'oapi.dingtalk.com' in webhook:
                content = {
                    "msgtype": "markdown",
                    "markdown": {"title": "GitHub泄露",
                                 "text": '#### [规则名称: {}]({}/?tag={})\n\n- {}'.format(tag, hostname, tag,
                                                                                      '\n- '.join(results))
                                 },
                    "at": {
                        "atMobiles": [

                        ],
                        "isAtAll": False
                    }
                }
            else:

                content = {
                    "msgtype": "markdown",
                    "markdown": {
                        "content": '#### [规则名称: {}]({}/?tag={})\n\n- {}'.format(tag, hostname, tag,
                                                                                '\n- '.join(results))
                    }
                }
            try:
                requests.post(
                    webhook,
                    json=content)
            except Exception as error:
                logger.error(error)
Пример #5
0
 def get(self):
     result = setting_col.find({'key': 'system'}, {'_id': 0})
     data = {'status': 200, 'msg': '获取信息成功', 'result': result}
     return jsonify(data)