|
130 | 130 | "url": "https://github.com/crowdsecurity/cs-express-bouncer",
|
131 | 131 | "description": "CrowdSec is an open-source cyber security tool. This Express middleware blocks detected attackers or display them a captcha to check they are not bots.",
|
132 | 132 | "stars": 9,
|
133 |
| - "downloads": 4663, |
| 133 | + "downloads": 4688, |
134 | 134 | "readme_content": "IyBDcm93ZFNlYyBFeHByZXNzIEpTIEJvdW5jZXIKCiFbQ3Jvd2RTZWMgRXhwcmVzcyBCb3VuY2VyXShodHRwczovL2dpdGh1Yi5jb20vY3Jvd2RzZWN1cml0eS9jcy1leHByZXNzLWJvdW5jZXIvcmF3L21haW4vZG9jcy9hc3NldHMvYmFubmVyLnBuZyAiQ3Jvd2RTZWMgRXhwcmVzcyBCb3VuY2VyIikKCkNyb3dkU2VjIGlzIGNvbXBvc2VkIG9mIGEgYmVoYXZpb3IgZGV0ZWN0aW9uIGVuZ2luZSwgYWJsZSB0byBibG9jayBjbGFzc2ljYWwgYXR0YWNrcyBsaWtlIGNyZWRlbnRpYWwgYnJ1dGVmb3JjZSwgcG9ydCBzY2Fucywgd2ViIHNjYW5zLCBldGMuCgpCYXNlZCBvbiB0aGUgdHlwZSBhbmQgbnVtYmVyIG9mIGJsb2NrZWQgYXR0YWNrcywgYW5kIGFmdGVyIGN1cmF0aW9uIG9mIHRob3NlIHNpZ25hbHMgdG8gYXZvaWQgZmFsc2UgcG9zaXRpdmVzIGFuZCBwb2lzb25pbmcsIGEgZ2xvYmFsIElQIHJlcHV0YXRpb24gREIgaXMgbWFpbnRhaW5lZCBhbmQgc2hhcmVkIHdpdGggYWxsIG5ldHdvcmsgbWVtYmVycy4KCkdldCBtb3JlIGluZm8gb24gdGhlIFtDcm93ZFNlYyBvZmZpY2lhbCB3ZWJzaXRlXShodHRwczovL2Nyb3dkc2VjLm5ldC8pLgoKVGhpcyBFeHByZXNzIG1pZGRsZXdhcmUgaXMgYSDigJxib3VuY2Vy4oCdLCB3aGljaCBwdXJwb3NlIGlzIHRvIGJsb2NrIGRldGVjdGVkIGF0dGFja3Mgd2l0aCB0d28gcmVtZWRpYXRpb24gc3lzdGVtczogYmFuIG9yIGNoYWxsZW5nZSBkZXRlY3RlZCBhdHRhY2tlcnMgd2l0aCBhIENhcHRjaGEuCgojIEluY2x1ZGVkIGZlYXR1cmVzCgpIZXJlIGlzIHRoZSBleGhhdXN0aXZlIGxpc3Qgb2YgYm91bmNlciBmZWF0dXJlcy4KCi0gW3hdICoqQmxvY2sgYWNjZXNzIG9yIG9mZmVyIHRvIGZpbGwgaW4gYSBjYXB0Y2hhKiogT3VyIGJvdW5jZXIgaXMgYWJsZSB0byBibG9jayBhY2Nlc3Mgb3IgcHJlc2VudCBhIGNhcHRjaGEgKGEuay5hLiBfYmFuIHdhbGxfIGFuZCBfY2FwdGNoYSB3YWxsXykuCi0gW3hdICoqQ3VzdG9taXphYmxlIHdhbGwgcGFnZXMqKiBUaGlzIGJvdW5jZXIgYWxsb3dzIHlvdSB0byBjdXN0b21pemUgdGhlIHZpc3VhbCBhc3BlY3Qgb2YgdGhlIGJhbiBwYWdlIGFuZCB0aGUgY2FwdGNoYSBmb3JtICh0aGVzZSB0d28gcGFnZXMgYXJlIGNhbGxlZCAid2FsbCIpLiBZb3UgY2FuIHRoZXJlZm9yZSBjdXN0b21pemUgdGhlIGNvbG9ycyBvZiB0aGVzZSBwYWdlcywgbW9kaWZ5IHRoZSB0ZXh0cyBhbmQgdHJhbnNsYXRpb25zIGFuZCBldmVuIGFkZCB5b3VyIG93biBDU1Mgc3R5bGVzaGVldCBpZiBuZWNlc3NhcnkuCi0gW3hdICoqRmxleCBtb2RlKiogOiBGb3IgY2VydGFpbiBzcGVjaWZpYyB1c2VzIHN1Y2ggYXMgb25saW5lIGNvbW1lcmNlLCBpdCBpcyBwcmVmZXJhYmxlIHRvIG5ldmVyIGJsb2NrIHRoZSB1c2VyIGFuZCwgaW4gdGhlIHdvcnN0IGNhc2UsIHlvdSBzaG91bGQgb2ZmZXIgdG8gZmlsbCBvdXQgYSBjYXB0Y2hhLiBXZSBjYWxsIHRoaXMgZmVhdHVyZSAiZmxleCBtb2RlIi4KLSBbeF0gKipTdXBwb3J0IElQdjQgYW5kIElQdjYqKiA6IE91ciBib3VuY2VyIHN1cHBvcnRzIGJvdGggSVB2NCBhbmQgSVB2NgotIFt4XSAqKlJlbWVkeSBJUHMgb3IgSVAgcmFuZ2VzKiogOiBEZWNpc2lvbnMgZnJvbSBDcm93ZFNlYyBtYXkgY29uY2VybiBzaW5nbGUgSVBzIG9yIHJhbmdlcyBvZiBJUHMKLSBbeF0gKipTdXBwb3J0IGZvciB1bmtub3duIHJlbWVkaWF0aW9ucyoqIERlc2lnbmVkIHRvIGJlIGV4dGVuc2libGUsIENyb3dkU2VjIGFsbG93cyB5b3UgdG8gY3JlYXRlIGFzIG1hbnkgdHlwZXMgb2YgcmVtZWRpZXMgYXMgbmVjZXNzYXJ5LiBPdXIgYm91bmNlciBjYW4gaGFuZGxlIGFsbCB0aGVzZSB0eXBlcyBvZiByZW1lZGllcywgZXZlbiB0aG9zZSB0aGF0IHRoZSBib3VuY2VyIGRvZXMgbm90IHlldCBrbm93LgotIFt4XSAqKkNETiBXaGl0ZWxpc3RpbmcqKiA6IFdoZW4gdXNpbmcgQ0ROLCB0aGUgdXNlcidzIElQIGlzIGhpZGRlbiBiZWhpbmQgdGhlIENETi4gRm9ydHVuYXRlbHkgdGhlIENETiBzdGlsbCB0cmFuc21pdHMgdGhlIElQIHRocm91Z2ggYSBzcGVjaWZpYyBoZWFkZXIuIFRvIGF2b2lkIElQIHNwb29maW5nIHRocm91Z2ggdGhpcyBoZWFkZXIsIHRoZSBib3VuY2VyIGNhbiBiZWxpZXZlIHRoaXMgaGVhZGVyIG9ubHkgaWYgdGhlIENETiBJUCBpcyBpbmNsdWRlZCBpbiBhIGxpc3QgZmlsdGVyZWQgYnkgdGhlIGJvdW5jZXIgdXNlci4KLSBbeF0gKipCeXBhc3MgbW9kZSoqIDogQWxsb3cgdGhlIHVzZXIgdG8gdGVtcG9yYXJpbHkgZGlzYWJsZSBib3VuY2luZyB0byBtZWV0IHNwZWNpZmljIG5lZWRzLgotIFt4XSAqKkV2ZW50cyBsb2dnZXIqKiA6IFRvIGJlIF9Qcm9kdWN0aW9uIHJlYWR5Xywgd2UgaGF2ZSBpbXBsZW1lbnRlZCBhIGxvZyBzeXN0ZW0uIFRoaXMgd2lsbCBhbHNvIGFsbG93IHlvdSB0byBjb25zdWx0IHRoZSBib3VuY2VyIHVzYWdlIG1ldHJpY3MgbGF0ZXIuIFdlIHVzZSB0aGUgcG9wdWxhciBsaWJyYXJ5IFtXaW5zdG9uXShodHRwczovL2dpdGh1Yi5jb20vd2luc3RvbmpzL3dpbnN0b24jcmVhZG1lKQoKIyMgSG93IHRvIHVzZSB0aGlzIEV4cHJlc3MgbWlkZGxld2FyZQoKPiBOb3RlOiBZb3UgbXVzdCBmaXJzdCBoYXZlIENyb3dkU2VjIGluc3RhbGxlZCBvbiB5b3VyIHNlcnZlci4gVGhlIFtpbnN0YWxsYXRpb24gaXMgdmVyeSBzaW1wbGVdKGh0dHBzOi8vZG9jLmNyb3dkc2VjLm5ldC9Dcm93ZHNlYy92MS9nZXR0aW5nX3N0YXJ0ZWQvaW5zdGFsbGF0aW9uLyNpbnN0YWxsYXRpb24pLgoKCgpGaXJzdCwgaW5zdGFsbCB0aGUgKipDcm93ZHNlYyBCb3VuY2VyKiogZXhwcmVzcyBtaWRkbGV3YXJlOgoKYGBgYmFzaApucG0gaW5zdGFsbCBAY3Jvd2RzZWMvZXhwcmVzcy1ib3VuY2VyCmBgYAoKb3IKCmBgYGJhc2gKeWFybiBhZGQgQGNyb3dkc2VjL2V4cHJlc3MtYm91bmNlcgpgYGAKClRoZW4gaW5pdCB0aGUgRXhwcmVzcyBtaWRkbGV3YXJlLiBIZXJlIGlzIGEgcXVpY2sgdXNhZ2UgZXhhbXBsZS4KCmBgYGphdmFzY3JpcHQKY29uc3QgZXhwcmVzcyA9IHJlcXVpcmUoImV4cHJlc3MiKTsKY29uc3QgYm9keVBhcnNlciA9IHJlcXVpcmUoImJvZHktcGFyc2VyIik7CmNvbnN0IGV4cHJlc3NDcm93ZHNlY0JvdW5jZXIgPSByZXF1aXJlKCJAY3Jvd2RzZWMvZXhwcmVzcy1ib3VuY2VyIik7CgooYXN5bmMgKCkgPT4gewogIC8vIENvbmZpZ3VyZSBDcm93ZFNlYyBNaWRkbGV3YXJlLgogIGNvbnN0IGNyb3dkc2VjTWlkZGxld2FyZSA9IGF3YWl0IGV4cHJlc3NDcm93ZHNlY0JvdW5jZXIoewogICAgdXJsOiAiaHR0cDovL2xvY2FsaG9zdDo4MDgwIiwKICAgIGFwaUtleTogIklOU0VSVF9ZT1VSX0JPVU5DRVJfQVBJX0tFWSIsCiAgfSk7CgogIC8vIENvbmZpZ3VyZSBFeHByZXNzIHNlcnZlci4KICBjb25zdCBhcHAgPSBleHByZXNzKCk7CiAgYXBwLnVzZShib2R5UGFyc2VyLnVybGVuY29kZWQoeyBleHRlbmRlZDogdHJ1ZSB9KSk7CiAgYXBwLnVzZShjcm93ZHNlY01pZGRsZXdhcmUpOwoKICAvLyBDcmVhdGUgYW4gZXhhbXBsZSByb3V0ZS4KICBhcHAuYWxsKCIvIiwgZnVuY3Rpb24gKHJlcSwgcmVzKSB7CiAgICByZXMuc3RhdHVzKDIwMCkuc2VuZChgVGhlIHdheSBpcyBjbGVhciFgKTsKICB9KTsKCiAgLy8gU3RhcnQgc2VydmVyLgogIGFwcC5saXN0ZW4oMzAwMCk7CiAgY29uc29sZS5sb2coCiAgICBgRXhwcmVzcyBzZXJ2ZXIgY29uZmlndXJlZCB3aXRoIENyb3dkc2VjIG1pZGRsZXdhcmUgYXZhaWxhYmxlIGhlcmU6IGh0dHA6Ly8xMjcuMC4wLjE6MzAwMGAKICApOwp9KSgpOwpgYGAKPiBOb3RlOiBUbyBnZXQgYSBfYm91bmNlciBBUEkga2V5XywganVzdCB0eXBlIGBjc2NsaSBib3VuY2VycyBhZGQgZXhwcmVzcy1qcy1ib3VuY2VyYCAoeW91IGNhbiByZXBsYWNlIHRoZSBuYW1lIGBleHByZXNzLWpzLWJvdW5jZXJgIGJ5IGFueXRoaW5nIHlvdSBwcmVmZXIpLgoKIyMgQ29uZmlndXJhdGlvbgoKSGVyZSBpcyB0aGUgZnVsbCBsaXN0IG9mIHBhcmFtZXRlcnMgdGhhbiBjYW4gYmUgcGFzc2VkIHRvIGBleHByZXNzQ3Jvd2RzZWNCb3VuY2VyYC4KCnwgTmFtZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBUeXBlICAgICAgICAgICB8IERlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gfCAtLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8CnwgYHVybGAgKHJlcXVpcmVkKSAgICAgICAgICAgICAgICAgfCBUaGUgVVJMIG9mIHlvdXIgTEFQSSBpbnN0YW5jZS4gRXg6ICJodHRwOi8vbG9jYWxob3N0OjgwODAiICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcgICAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGFwaUtleWAgKHJlcXVpcmVkKSAgICAgICAgICAgICAgfCBUaGUgYm91bmNlciBrZXkgKGdlbmVyYXRlZCB2aWEgY3NjbGkpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcgICAgICAgICB8IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGZhbGxiYWNrUmVtZWRpYXRpb25gICAgICAgICAgICAgfCBUaGUgcmVtZWRpYXRpb24gdG8gdXNlIHdoZW4gdGhlIHJlY2VpdmVkIG9uZSBpcyB1bmtub3duICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb25zdGFudCBcKiAgICB8IGBCQU5fUkVNRURJQVRJT05gICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYG1heFJlbWVkaWF0aW9uYCAgICAgICAgICAgICAgICAgfCBUaGUgbWF4aW11bSByZW1lZGlhdGlvbiB0byB1c2UgKGZsZXggbW9kZSkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBDb25zdGFudCBcKiAgICB8IGBCQU5fUkVNRURJQVRJT05gICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGJ5cGFzc2AgICAgICAgICAgICAgICAgICAgICAgICAgfCBUbyBlbmFibGUgb3IgZGlzYWJsZSB0aGUgYm91bmNpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBib29sZWFuICAgICAgICB8IGBmYWxzZWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGNhcHRjaGFUZXh0c2AgICAgICAgICAgICAgICAgICAgfCBUbyBjaGFuZ2UgdGhlIHRleHQgZGlzcGxheWVkIG9uIHRoZSBDQVBUQ0hBIHdhbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvYmplY3QgICAgICAgICB8IHZpZXcgYmVsb3cgXCpcKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGJhblRleHRzYCAgICAgICAgICAgICAgICAgICAgICAgfCBUbyBjaGFuZ2UgdGhlIHRleHQgZGlzcGxheWVkIG9uIHRoZSBCQU4gd2FsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvYmplY3QgICAgICAgICB8IHZpZXcgYmVsb3cgXCpcKlwqICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGNvbG9yc2AgICAgICAgICAgICAgICAgICAgICAgICAgfCBUbyBjaGFuZ2UgdGhlIGNvbG9ycyBvZiB0aGUgQkFOIGFuZCBDQVBUQ0hBIHdhbGxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBvYmplY3QgICAgICAgICB8IHZpZXcgYmVsb3cgXCpcKlwqXCogICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGN1c3RvbUNzc2AgICAgICAgICAgICAgICAgICAgICAgfCBDU1MgY29kZSB0byBjdXN0b21pemUgYmFuIGFuZCBjYXB0Y2hhIHdhbGxzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcgICAgICAgICB8IGAiImAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHVzZXJBZ2VudGAgICAgICAgICAgICAgICAgICAgICAgfCBUbyB1c2UgYSBjdXN0b20gYm91bmNlciB1c2VyIGFnZW50IHdoZW4gcmVxdWVzdGluZyBMQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBzdHJpbmcgICAgICAgICB8IGAiQ3Jvd2RTZWMgRXhwcmVzcy1Ob2RlSlMgYm91bmNlci92eC54LngiYCB8CnwgYHRpbWVvdXRgICAgICAgICAgICAgICAgICAgICAgICAgfCBUaGUgdGltZW91dCB3aGVuIHJlcXVlc3RpbmcgTEFQSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBudW1iZXIgICAgICAgICB8IGAyMDAwYCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGNhcHRjaGFHZW5lcmF0aW9uQ2FjaGVEdXJhdGlvbmAgfCBUaGUgbWluaW11bSB0aW1lIGJldHdlZW4gdHdvIENBUFRDSEEgZ2VuZXJhdGlvbnMgZm9yIGEgc2FtZSBJUCAgICAgICAgICAgICAgICAgICAgICAgfCBudW1iZXIgICAgICAgICB8IGA2MCAqIDEwMDBgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGNhcHRjaGFSZXNvbHV0aW9uQ2FjaGVEdXJhdGlvbmAgfCBUaGUgdGltZSB3ZSBjYW4gY29uc2lkZXIgYSBjYXB0Y2hhIGFzIHJlc29sdmVkIChkdXJpbmcgYW4gYWN0aXZlICJjYXB0Y2hhIiBkZWNpc2lvbikgfCBudW1iZXIgICAgICAgICB8IGAzMCAqIDYwICogMTAwMGAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGhpZGVDcm93ZHNlY01lbnRpb25zYCAgICAgICAgICAgfCBUbyBkaXNwbGF5IG9yIGhpZGUgQ3Jvd2RTZWMgbWVudGlvbiBvbiB0aGUgQkFOIGFuZCBDQVBUQ0hBIHdhbGxzICAgICAgICAgICAgICAgICAgICAgfCBib29sZWFuICAgICAgICB8IGBmYWxzZWAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGN1c3RvbUxvZ2dlcmAgICAgICAgICAgICAgICAgICAgfCBZb3UgY2FuIHVzZSBhIGN1c3RvbSBXaW5zdG9uIGxvZ2dlciAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBXaW5zdG9uIGxvZ2dlciB8IGRlZmF1bHQgbG9nZ2VyICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYGJ5cGFzc0Nvbm5lY3Rpb25UZXN0YCAgICAgICAgICAgfCBUbyBieXBhc3MgdGhlIGNvbm5lY3Rpb24gdGVzdCBhdCBtaWRkbGV3YXJlIGluaXRpYWxpemF0aW9uICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBib29sZWFuICAgICAgICB8IGZhbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CnwgYHRydXN0ZWRSYW5nZXNGb3JJcEZvcndhcmRpbmdgICAgfCBUaGUgbGlzdCBvZiBJUHMgdG8gdHJ1c3QgYXMgcHJveGllcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBhcnJheTxzdHJpbmc+ICB8IFtdICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cgo+IFwqOiBBbGwgcmVtZWRpYXRpb24gdHlwZSBhcmUgY29uc3RhbnRzIGFuZCB0aGV5IGNhbiBiZSBmb3VuZDogW2BleHByZXNzLWNyb3dkc2VjLWJvdW5jZXIvc3JjL25vZGVqcy1ib3VuY2VyL2xpYi9jb25zdGFudHMuanNgXShzcmMvbm9kZWpzLWJvdW5jZXIvbGliL2NvbnN0YW50cy5qcykuCgo+IFwqXCo6IGBjYXB0Y2hhVGV4dHNgIGRlZmF1bHQgdmFsdWU6CgpgYGBqc29uCnsKICAidGFiVGl0bGUiOiAiT29wcy4uIiwKICAidGl0bGUiOiAiSG1tLCBzb3JyeSBidXQuLi4iLAogICJzdWJ0aXRsZSI6ICJQbGVhc2UgY29tcGxldGUgdGhlIHNlY3VyaXR5IGNoZWNrLiIsCiAgInJlZnJlc2hfaW1hZ2VfbGluayI6ICJyZWZyZXNoIGltYWdlIiwKICAiY2FwdGNoYV9wbGFjZWhvbGRlciI6ICJUeXBlIGhlcmUuLi4iLAogICJzZW5kX2J1dHRvbiI6ICJDT05USU5VRSIsCiAgImVycm9yX21lc3NhZ2UiOiAiUGxlYXNlIHRyeSBhZ2Fpbi4iLAogICJmb290ZXIiOiAiIgp9CmBgYAoKPiBcKlwqXCo6IGBiYW5UZXh0c2AgZGVmYXVsdCB2YWx1ZToKCmBgYGpzb24KewogICJ0YWJUaXRsZSI6ICJPb3BzLi4iLAogICJ0aXRsZSI6ICLwn6StIE9oISIsCiAgInN1YnRpdGxlIjogIlRoaXMgcGFnZSBpcyBwcm90ZWN0ZWQgYWdhaW5zdCBjeWJlciBhdHRhY2tzIGFuZCB5b3VyIElQIGhhcyBiZWVuIGJhbm5lZCBieSBvdXIgc3lzdGVtLiIsCiAgImZvb3RlciI6ICIiCn0KYGBgCgo+IFwqXCpcKlwqOiBgY29sb3JzYCBkZWZhdWx0IHZhbHVlOgoKYGBganNvbgp7CiAgInRleHQiOiB7CiAgICAicHJpbWFyeSI6ICJibGFjayIsCiAgICAic2Vjb25kYXJ5IjogIiNBQUEiLAogICAgImJ1dHRvbiI6ICJ3aGl0ZSIsCiAgICAiZXJyb3JfbWVzc2FnZSI6ICIjYjkwMDAwIgogIH0sCiAgImJhY2tncm91bmQiOiB7CiAgICAicGFnZSI6ICIjZWVlIiwKICAgICJjb250YWluZXIiOiAid2hpdGUiLAogICAgImJ1dHRvbiI6ICIjNjI2MzY1IiwKICAgICJidXR0b25faG92ZXIiOiAiIzMzMyIKICB9Cn0KYGBgCgojIyBGQVEKCiMjIyBXaGF0IGRvIEkgbmVlZCB0byBtYWtlIENyb3dkU2VjIHdvcms/CgotIFlvdSBoYXZlIHRvIGluc3RhbGwgYSBDcm93ZFNlYyBpbnN0YW5jZSBvbiB0aGlzIHNlcnZlci4KLSBZb3UgaGF2ZSB0byBnZW5lcmF0ZSBhIGJvdW5jZXIga2V5IG9uIHRoZSBzZXJ2ZXIgb24gd2hpY2ggQ3Jvd2RTZWMgaXMgcnVubmluZy4KCiMjIE1JVCBMaWNlbmNlCgpbTUlUIExpY2VuY2VdKC4vTElDRU5DRSkK",
|
135 | 135 | "status": "stable",
|
136 | 136 | "version": "v0.1.0",
|
|
154 | 154 | "url": "https://github.com/crowdsecurity/cs-firewall-bouncer",
|
155 | 155 | "description": "Crowdsec bouncer written in golang for firewalls",
|
156 | 156 | "stars": 121,
|
157 |
| - "downloads": 11767, |
| 157 | + "downloads": 11773, |
158 | 158 | "readme_content": "PHAgYWxpZ249ImNlbnRlciI+CjxpbWcgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vY3Jvd2RzZWN1cml0eS9jcy1maXJld2FsbC1ib3VuY2VyL3Jhdy9tYWluL2RvY3MvYXNzZXRzL2Nyb3dkc2VjX2xpbnV4X2xvZ28ucG5nIiBhbHQ9IkNyb3dkU2VjIiB0aXRsZT0iQ3Jvd2RTZWMiIHdpZHRoPSIzMDAiIGhlaWdodD0iMjgwIiAvPgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPgo8aW1nIHNyYz0iaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS9idWlsZC1wYXNzLWdyZWVuIj4KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvdGVzdHMtcGFzcy1ncmVlbiI+CjwvcD4KPHAgYWxpZ249ImNlbnRlciI+CiYjeDFGNERBOyA8YSBocmVmPSIjaW5zdGFsbGF0aW9uIj5Eb2N1bWVudGF0aW9uPC9hPgomI3gxRjRBMDsgPGEgaHJlZj0iaHR0cHM6Ly9odWIuY3Jvd2RzZWMubmV0Ij5IdWI8L2E+CiYjMTI4MTcyOyA8YSBocmVmPSJodHRwczovL2Rpc2NvdXJzZS5jcm93ZHNlYy5uZXQiPkRpc2NvdXJzZSA8L2E+CjwvcD4KCgojIGNyb3dkc2VjLWZpcmV3YWxsLWJvdW5jZXIKQ3Jvd2RzZWMgYm91bmNlciB3cml0dGVuIGluIGdvbGFuZyBmb3IgZmlyZXdhbGxzLgoKY3Jvd2RzZWMtZmlyZXdhbGwtYm91bmNlciB3aWxsIGZldGNoIG5ldyBhbmQgb2xkIGRlY2lzaW9ucyBmcm9tIGEgQ3Jvd2RTZWMgQVBJIHRvIGFkZCB0aGVtIGluIGEgYmxvY2tsaXN0IHVzZWQgYnkgc3VwcG9ydGVkIGZpcmV3YWxscy4KClN1cHBvcnRlZCBmaXJld2FsbHM6CiAtIGlwdGFibGVzIChJUHY0IDpoZWF2eV9jaGVja19tYXJrOiAvIElQdjYgOmhlYXZ5X2NoZWNrX21hcms6ICkKIC0gbmZ0YWJsZXMgKElQdjQgOmhlYXZ5X2NoZWNrX21hcms6IC8gSVB2NiA6aGVhdnlfY2hlY2tfbWFyazogKQogLSBpcHNldCBvbmx5IChJUHY0IDpoZWF2eV9jaGVja19tYXJrOiAvIElQdjYgOmhlYXZ5X2NoZWNrX21hcms6ICkKIC0gcGYgKElQVjQgOmhlYXZ5X2NoZWNrX21hcms6IC8gSVBWNiA6aGVhdnlfY2hlY2tfbWFyazogKQoKIyBJbnN0YWxsYXRpb24KClBsZWFzZSBmb2xsb3cgdGhlIFtvZmZpY2lhbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvYy5jcm93ZHNlYy5uZXQvZG9jcy9ib3VuY2Vycy9maXJld2FsbCkuCg==",
|
159 | 159 | "status": "stable",
|
160 | 160 | "version": "v0.0.31",
|
|
253 | 253 | "url": "https://github.com/crowdsecurity/cs-custom-bouncer",
|
254 | 254 | "description": "CrowdSec bouncer to use custom scripts",
|
255 | 255 | "stars": 13,
|
256 |
| - "downloads": 1451, |
| 256 | + "downloads": 1452, |
257 | 257 | "readme_content": "PHAgYWxpZ249ImNlbnRlciI+CjxpbWcgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vY3Jvd2RzZWN1cml0eS9jcy1jdXN0b20tYm91bmNlci9yYXcvbWFpbi9kb2NzL2Fzc2V0cy9jcm93ZHNlY19jdXN0b21fbG9nby5wbmciIGFsdD0iQ3Jvd2RTZWMiIHRpdGxlPSJDcm93ZFNlYyIgd2lkdGg9IjI4MCIgaGVpZ2h0PSIzMDAiIC8+CjwvcD4KPHAgYWxpZ249ImNlbnRlciI+CjxpbWcgc3JjPSJodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2J1aWxkLXBhc3MtZ3JlZW4iPgo8aW1nIHNyYz0iaHR0cHM6Ly9pbWcuc2hpZWxkcy5pby9iYWRnZS90ZXN0cy1wYXNzLWdyZWVuIj4KPC9wPgo8cCBhbGlnbj0iY2VudGVyIj4KJiN4MUY0REE7IDxhIGhyZWY9IiNpbnN0YWxsYXRpb24vIj5Eb2N1bWVudGF0aW9uPC9hPgomI3gxRjRBMDsgPGEgaHJlZj0iaHR0cHM6Ly9odWIuY3Jvd2RzZWMubmV0Ij5IdWI8L2E+CiYjMTI4MTcyOyA8YSBocmVmPSJodHRwczovL2Rpc2NvdXJzZS5jcm93ZHNlYy5uZXQiPkRpc2NvdXJzZSA8L2E+CjwvcD4KCgojIGNyb3dkc2VjLWN1c3RvbS1ib3VuY2VyCkNyb3dkc2VjIGJvdW5jZXIgd3JpdHRlbiBpbiBnb2xhbmcgZm9yIGN1c3RvbSBzY3JpcHRzLgoKY3Jvd2RzZWMtY3VzdG9tLWJvdW5jZXIgd2lsbCBwZXJpb2RpY2FsbHkgZmV0Y2ggbmV3IGFuZCBleHBpcmVkL3JlbW92ZWQgZGVjaXNpb25zIGZyb20gQ3Jvd2RTZWMgTG9jYWwgQVBJIGFuZCB3aWxsIHBhc3MgdGhlbSBhcyBhcmd1bWVudHMgdG8gYSBjdXN0b20gdXNlciBzY3JpcHQuCgojIyBJbnN0YWxsYXRpb24KClBsZWFzZSBmb2xsb3cgdGhlIFtvZmZpY2lhbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvYy5jcm93ZHNlYy5uZXQvZG9jcy9ib3VuY2Vycy9jdXN0b20pLgoK",
|
258 | 258 | "status": "stable",
|
259 | 259 | "version": "v0.0.17",
|
|
432 | 432 | "url": "https://github.com/crowdsecurity/cs-cloudflare-bouncer",
|
433 | 433 | "description": "A CrowdSec Bouncer that syncs the decisions made by CrowdSec with CloudFlare's firewall. Manages multi user, multi account, multi zone setup. Supports IP, Country and AS scoped decisions.",
|
434 | 434 | "stars": 53,
|
435 |
| - "downloads": 1715, |
| 435 | + "downloads": 1716, |
436 | 436 | "readme_content": "PHAgYWxpZ249ImNlbnRlciI+CjxpbWcgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vY3Jvd2RzZWN1cml0eS9jcy1jbG91ZGZsYXJlLWJvdW5jZXIvcmF3L21haW4vZG9jcy9hc3NldHMvY3Jvd2RzZWNfY2xvdWRmYXJlLnBuZyIgYWx0PSJDcm93ZFNlYyIgdGl0bGU9IkNyb3dkU2VjIiB3aWR0aD0iMjgwIiBoZWlnaHQ9IjMwMCIgLz4KPC9wPgo8cCBhbGlnbj0iY2VudGVyIj4KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvYnVpbGQtcGFzcy1ncmVlbiI+CjxpbWcgc3JjPSJodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL3Rlc3RzLXBhc3MtZ3JlZW4iPgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPgomI3gxRjRBMDsgPGEgaHJlZj0iaHR0cHM6Ly9odWIuY3Jvd2RzZWMubmV0Ij5IdWI8L2E+CiYjMTI4MTcyOyA8YSBocmVmPSJodHRwczovL2Rpc2NvdXJzZS5jcm93ZHNlYy5uZXQiPkRpc2NvdXJzZSA8L2E+CjwvcD4KCiMgQ3Jvd2RTZWMgQ2xvdWRmbGFyZSBCb3VuY2VyCgpBIGJvdW5jZXIgZm9yIENsb3VkZmxhcmUuCgojIyBIb3cgZG9lcyBpdCB3b3JrCgpBIGJvdW5jZXIgdGhhdCBzeW5jcyB0aGUgZGVjaXNpb25zIG1hZGUgYnkgQ3Jvd2RTZWMgd2l0aCBDbG91ZEZsYXJlJ3MgZmlyZXdhbGwuIE1hbmFnZXMgbXVsdGkgdXNlciwgbXVsdGkgYWNjb3VudCwgbXVsdGkgem9uZSBzZXR1cC4gU3VwcG9ydHMgSVAsIENvdW50cnkgYW5kIEFTIHNjb3BlZCBkZWNpc2lvbnMuCgojIERvY3VtZW50YXRpb24KClBsZWFzZSBmb2xsb3cgdGhlIFtvZmZpY2lhbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuY3Jvd2RzZWMubmV0L2RvY3MvYm91bmNlcnMvY2xvdWRmbGFyZSku",
|
437 | 437 | "status": "stable",
|
438 | 438 | "version": "v0.3.0",
|
|
697 | 697 | "url": "https://github.com/crowdsecurity/cs-blocklist-mirror",
|
698 | 698 | "description": "",
|
699 | 699 | "stars": 17,
|
700 |
| - "downloads": 1702, |
| 700 | + "downloads": 1704, |
701 | 701 | "readme_content": "PHAgYWxpZ249ImNlbnRlciI+DQo8aW1nIHNyYz0iaHR0cHM6Ly9yYXcuZ2l0aHVidXNlcmNvbnRlbnQuY29tL2Nyb3dkc2VjdXJpdHkvY3MtYmxvY2tsaXN0LW1pcnJvci9tYWluL2RvY3MvYXNzZXRzL2JvdW5jZXIuc3ZnIiBhbHQ9IkNyb3dkU2VjLUh0dHAtYmxvY2tsaXN0LW1pcnJvci1sb2dvIiB0aXRsZT0iQ3Jvd2RTZWMtSHR0cC1CbG9ja2xpc3QtbWlycm9yLWxvZ28iIHdpZHRoPSIyODAiIGhlaWdodD0iMzAwIj4NCiA8L3A+DQo8cCBhbGlnbj0iY2VudGVyIj4NCjxpbWcgc3JjPSJodHRwczovL2ltZy5zaGllbGRzLmlvL2JhZGdlL2J1aWxkLXBhc3MtZ3JlZW4iPg0KPGltZyBzcmM9Imh0dHBzOi8vaW1nLnNoaWVsZHMuaW8vYmFkZ2UvdGVzdHMtcGFzcy1ncmVlbiI+DQo8L3A+DQo8cCBhbGlnbj0iY2VudGVyIj4NCiYjeDFGNEEwOyA8YSBocmVmPSJodHRwczovL2h1Yi5jcm93ZHNlYy5uZXQiPkh1YjwvYT4NCiYjMTI4MTcyOyA8YSBocmVmPSJodHRwczovL2Rpc2NvdXJzZS5jcm93ZHNlYy5uZXQiPkRpc2NvdXJzZSA8L2E+DQo8L3A+DQoNCiMgQ3Jvd2RTZWMgQmxvY2tsaXN0IE1pcnJvcg0KDQpUaGlzIGJvdW5jZXIgZXhwb3NlcyBDcm93ZFNlYydzIGFjdGl2ZSBkZWNpc2lvbnMgdmlhIHByb3ZpZGVkIEhUVFAgZW5kcG9pbnRzIGluIHByZS1kZWZpbmVkIGZvcm1hdHMuIEl0IGNhbiBiZSB1c2VkIGJ5IG5ldHdvcmsgYXBwbGlhbmNlcyB3aGljaCBzdXBwb3J0IGNvbnN1bXB0aW9uIG9mIGJsb2NrbGlzdHMgdmlhIEhUVFAuDQoNCiMgRG9jdW1lbnRhdGlvbg0KDQpQbGVhc2UgZm9sbG93IHRoZSBbb2ZmaWNpYWwgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9kb2NzLmNyb3dkc2VjLm5ldC9kb2NzL2JvdW5jZXJzL2Jsb2NrbGlzdC1taXJyb3IpLg0K",
|
702 | 702 | "status": "stable",
|
703 | 703 | "version": "v0.0.4",
|
|
796 | 796 | "url": "https://github.com/crowdsecurity/cs-windows-firewall-bouncer",
|
797 | 797 | "description": "Crowdsec bouncer for the Windows Firewall",
|
798 | 798 | "stars": 20,
|
799 |
| - "downloads": 14949, |
| 799 | + "downloads": 14965, |
800 | 800 | "readme_content": "PHAgYWxpZ249ImNlbnRlciI+CjxpbWcgc3JjPSJodHRwczovL2dpdGh1Yi5jb20vY3Jvd2RzZWN1cml0eS9jcy13aW5kb3dzLWZpcmV3YWxsLWJvdW5jZXIvcmF3L21haW4vYXNzZXRzL2xvZ28ucG5nIiBhbHQ9IkNyb3dkU2VjIiB0aXRsZT0iQ3Jvd2RTZWMiIHdpZHRoPSIzMDAiIGhlaWdodD0iMjgwIiAvPgo8L3A+CjxwIGFsaWduPSJjZW50ZXIiPgomI3gxRjREQTsgPGEgaHJlZj0iaHR0cHM6Ly9kb2NzLmNyb3dkc2VjLm5ldC9kb2NzL2JvdW5jZXJzL3dpbmRvd3NfZmlyZXdhbGwiPkRvY3VtZW50YXRpb248L2E+CiYjeDFGNEEwOyA8YSBocmVmPSJodHRwczovL2h1Yi5jcm93ZHNlYy5uZXQiPkh1YjwvYT4KJiMxMjgxNzI7IDxhIGhyZWY9Imh0dHBzOi8vZGlzY291cnNlLmNyb3dkc2VjLm5ldCI+RGlzY291cnNlIDwvYT4KPC9wPgoKCiMgV2luZG93cyBGaXJld2FsbCBCb3VuY2VyCkNyb3dkc2VjIGJvdW5jZXIgd3JpdHRlbiBpbiBnb2xhbmcgZm9yIHRoZSBXaW5kb3dzIGZpcmV3YWxsLgoKVGhlIGJvdW5jZXIgd2lsbCBmZXRjaCBuZXcgYW5kIG9sZCBkZWNpc2lvbnMgZnJvbSBhIENyb3dkU2VjIEFQSSB0byBhZGQgdGhlbSBpbiBhIGJsb2NrbGlzdCB1c2VkIGJ5IHRoZSBXaW5kb3dzIGZpcmV3YWxsLgoKIyBJbnN0YWxsYXRpb24KClBsZWFzZSBmb2xsb3cgdGhlIFtvZmZpY2lhbCBkb2N1bWVudGF0aW9uXShodHRwczovL2RvY3MuY3Jvd2RzZWMubmV0L2RvY3MvYm91bmNlcnMvd2luZG93c19maXJld2FsbCkuCg==",
|
801 | 801 | "status": "stable",
|
802 | 802 | "version": "v0.0.5",
|
|
0 commit comments