{"_id":"@77io/nginx-logs-watcher","_rev":"14-b49f51550e72f7e9bb42978098f47bbc","name":"@77io/nginx-logs-watcher","dist-tags":{"latest":"0.0.6"},"versions":{"0.0.1":{"name":"@77io/nginx-logs-watcher","version":"0.0.1","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"nginx-logs-watcher"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"20f0e0a728f90253dca0ad351aae7be39a980c26","_id":"@77io/nginx-logs-watcher@0.0.1","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-NKY2lM2cLpejINx11+gqv4WMk6NE2cs/ckO3SQBAYXIetR76t2cnFIe9yeCPfwxRSIfP308ZGrs6yrcxmTdlSw==","shasum":"89e6a1195dac78d08f9a0f3e5751c31b78b343a3","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.1.tgz","fileCount":30,"unpackedSize":33948,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUC4+CRA9TVsSAnZWagAAFQ0QAKIerJvSrYoKbR8iQA6C\n13bM2f6mSMM0H42qJK7jB1wTvM/rZy1Ah8lx0QXgg2EEtTnB2arfPALJPSdM\nU1//MrTheSdkd8AW0MC4UyqgYbSEQ2Zm8YIxPgD5unPrAtl4RXQXfP49R0tq\nlAizOw6aIFsPB5FHyDw5gpbIF2JthCS56CeBtH+XeOzrOFODxqDUFoOeqRbj\nLX2TfbltCc0KuSUprtOFK4JBXmsUXbtELMf1BuVbiR0SRxzKgbe69et2oj2S\n6Yq2gojP7FoEALpMblKXB4gHlcnaPfSJXViAmJVymo5eY5lCcV+7oIWoEHig\nZvWmyMMbhN6q9TA8ScjQBAm4hTDRKDFljKcgTCxU6EmaM368UdB1pmWPdntm\naOTIK1iOs44wD05OYe6fI2GcPE8IW4rK8y4hntvPwMasX3bvCfmxfOl+TLh9\nkkasmydVSFvhI/rqr2cKblK1aLGbBwEDpxORVvpDA+Nc9qYS3jHjBt2g5rzi\nu5xQGW/TOYJJO780flG/SimtgMIvhpLMkq5zhdWTeHkGSTLx9sQ9xZckQBgM\nxIAKtKbGVt2Sfnc9zgTlA8cw4xxI96h1t7zcD3t/1f8Q7dzBf+srV2uSJ+t5\nGMXG3lSqfCi551Nv/4r60OtLetscSzVXko3CSq3TAPXldAacfRLAmj29fu1M\nLuN+\r\n=hJgC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCYfuWSKfvPkJAJnaqivhEjj28GOOV213T6roQ8NIb34QIhAPMGKcJNxaoMyjyuHMXXWvgZ5GSVWRY2gmm7eJsFVJ8k"}]},"maintainers":[{"name":"zachkrolack","email":"zachk@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"77matt","email":"matt@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.1_1565535805716_0.4984744675280055"},"_hasShrinkwrap":false},"0.0.2":{"name":"@77io/nginx-logs-watcher","version":"0.0.2","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"./bin/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"ffdd5e15f20312a50a7df666429503ee82b29bb3","_id":"@77io/nginx-logs-watcher@0.0.2","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-A2R2b5TsHMl/5BjBACgyn+R6Zft+VTN4srXGUdMWVG9EJZVttbdCwC4yfsEiLPbeO6cUkFhoBn7o8rWOrVWZ4Q==","shasum":"7c0c693c3be8f8cb29f66bab536782f517ba7a5e","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.2.tgz","fileCount":31,"unpackedSize":34138,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUDAbCRA9TVsSAnZWagAAInIP+wVxWVEnr3kOX0ya1U14\nfK/pZLt3LEFoigMoe1/dP4qqajYpIbfFSBZBisrDnuFQoKwd8b8Pu3xistZ8\nHbKwh/ErPBdw9PJ3qNV7MOK4TNTZY9Rf82NZruXsbFTdygNh9JENS52Z6Ts+\nUT+DKg1iL53aIb9TUOQwXtBwfEhAkd14Gdv/u1wHha5At3o+7HRtT6j3s8hD\nGujSK6gwdbq8Lqq9tACczMleR+VsYTleNuYlKEMvXLqx1HEsZQkDpAzIg90e\nTPVI57RbooQ0RYo8Ku4EQA1C3n57H9EYwH9yZJlkfA7Vl+qRnmYgpyiRSKjp\nEy5hhvDhvjFKpj99TnaxRvCk2lJQZEyZnQwQWvPM6cV9IqZ6Pc9TXq0PP4Qz\nwM0m/2ydADeFsSkjCsu+XxTvqTQAHG7g0Qg/xBv8mG0UNIfYmsbjyUrT+CU8\nA9na6+mdRDz7BRZdSfy6ovl1pP7dQsp885GeWj5cfcf7+7caY86UczENfPCV\nx2RUfRMb9NfYKzJ4o7h9EBe6+uFgw0coWcGnAY1QJqE9FSMraoB0GEwfiBqD\n0dfte3p5ALy9yit5BSvUooyUuSL0p4RqMoaHxlivbmHTa8BAjr9w9A6rw575\nWLsinwuhdDVsRPGinHLdBEpEPo2IVipliof/diDJq+ytZFB85ql0KtXnsXB+\naIjJ\r\n=XklI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDA4PJ09TBA3sd9IeylLW8gZAkJoHHvbphkGGHydT8SMAiEAn2R5NhLm6PacnQiRgm3udi0goyJZRaq5XSKurlgIzlU="}]},"maintainers":[{"name":"77matt","email":"matt@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"zachkrolack","email":"zachk@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.2_1565536282566_0.7344018973241142"},"_hasShrinkwrap":false},"0.0.3":{"name":"@77io/nginx-logs-watcher","version":"0.0.3","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"./bin/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"737d4f131d92e1583193f46a4f3abc3f221e06b2","_id":"@77io/nginx-logs-watcher@0.0.3","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-AeD21r8InP8FHdMtER1BZDuGhzontB9QjgjDWwKy5WyYT1hsKDWq+qeo+dptob+LxWzfwzbHeq5lCCMKw9wCUw==","shasum":"b9c5d140c66f85b825c5f44ffc02a9dd2498267c","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.3.tgz","fileCount":31,"unpackedSize":34312,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUD3pCRA9TVsSAnZWagAAOL0P+wYpCjvZLNKDUYBSuSoG\nljDnH0Ho+VMThSjLyBF1swSeCv9nE7sgYY/iTqnCZlewkHRRn1AeCSmD25RF\ns7gqu6ObWdyOIgdpM8eiDgGP6dit+BTm6Rp+mL2a02YxZ7eothzanVC0HM5N\nLMrtv1GPmm2mWjUECLaaO3uQpk5PkHW9y7motXzAQjvz4ngzkfsSskUQrYtM\netPa3UDqz863HFmLpnAyi8q6hEtr7xtMI29YM8w2ITgLbVeSr//2+Fg2tvFD\nIEGFBiMDD1gpm3jh7evMn+M1C3P3ZuiK9bErw/PDhhX6Yu29wQhaMCXVmrgy\ncKTWINg2VjwmrWttlf6LyuXctbTcJ0NgIm1aJxCnD1xf6aslNh1R0jSWvJYM\n9vF3WHFknGX+Ch1hfqP+zInRmVOl6Hl9guohXSx1MgkAI4bVx/+PfEOG/LV9\nJqsoU2Q6e+J0NCZsmOCBnkwEz3nJkvt2p3h09gY0/D3XTOfhuLmaR1n+VNyV\neOFW5Qqe0AG4Gqnn/JXz2rQpAOp/yjHuAChoEZdaHCt1GsYgtv5mZK8CP0T9\nQOnTreP4VPazyIAlvOwfhUEbloZG7VVe97OlDEb4F8iDQ5PgSpFikVoK2NZx\noFwQNg8vy0nUDSBtd6tAwAV3BiJ4SKCWu/xgwj5s4/uwG/0LMH9ZvSiVaWKe\nCk1Q\r\n=pwkH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIFumMSw33DydsIZqGWAuhofRK5+a4/Ics2+p41/9sPoRAiBxo6IWEYncNg/OOC6nF5Ad3bCmFAubIMmCIo0cNAoLlA=="}]},"maintainers":[{"name":"77matt","email":"matt@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"zachkrolack","email":"zachk@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.3_1565539817278_0.5304225684572579"},"_hasShrinkwrap":false},"0.0.4":{"name":"@77io/nginx-logs-watcher","version":"0.0.4","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"./bin/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"e759a3cd01ac0bebb6c5b12e41664dce61ff6916","_id":"@77io/nginx-logs-watcher@0.0.4","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-v86ep8HkeFQ4jJJdGNLovUx5HG30H0R9z78BxXXpq2Z+lCrAKAI1X/hyfdvdKmIvQyuzkJrNUA9HoAchBRhR6Q==","shasum":"101c3217cb3330d80af2b2966dbcd659746624b8","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.4.tgz","fileCount":31,"unpackedSize":34525,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUD6OCRA9TVsSAnZWagAAIaIP/15lLC1lzIFd5oNduV1u\nGNUIHrmO5bL3jnMZGRa/MDNfTIt4yeto3YC53GPIpV3Nx9+3rWkTH7zhjhmA\nviSRAlfqUJEEVf+Erqwghe/8vA+g4VU4Meycomv4btKeJAl4w9iOQefie32f\n5UlL5NI0RuEDEKWtz11Oeom9iO3eqtLDjJBVURI97eGog1JrGNRhnniFY050\nP1vcRgFKx3BdOvEkRUyvqtCUz/v+bCpkfuXtnzSL4Yw+EQo5onzj+w20CF3t\n97YGb1X3owC7qaBfYaFvAPhXAJQkzSgQ01IJS9dcuJUu5dRwqybOUlcKrk09\nka/Rt6O5581l7M7HsBsYhwxrEisARSR9AdtQoHmzGNxY6I6n7x1xLJMX956F\nyJ5wKzPyjXD3+bYH99Sy9gY6kpmYWuG3p+si74uwLxWJhD9U7TAylFNPodjS\neB2nRmR6YUMcO7zddR1JPBGSHxgYCae3coqczTlPfwI5oLcAkRcF3Lkr2D/0\nH9XsjVVz+w79wsAbkpwY+Fcqrb15TkqHcNcMy+0V/RVA0PwtpA5TMg7OEgPK\njV5yQZ/rxWuejVPvzQAOnYlXx5ingrt1sQEAyKgUol8l+41E2js6ndhLTPrK\nFMkWTH0LJSgVDVir3SQD07OqGsVc/k5u06wkWrI6MMK32cworF+NuD3EMMfl\nW/vm\r\n=fc+B\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDctQpGJOAiGwrFRbzQ9wSWs4QyRSpBEyc33RdOwoFP0AiAMeCVTA+6k5iTcOu6yEh9TbQFfaq8Kk+Gksg6Bbh+AnQ=="}]},"maintainers":[{"name":"77matt","email":"matt@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"zachkrolack","email":"zachk@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.4_1565539981787_0.01012476757689007"},"_hasShrinkwrap":false},"0.0.5":{"name":"@77io/nginx-logs-watcher","version":"0.0.5","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"./bin/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"7c8116c7b54cd2f310a9702ff93689b986d8ea2a","_id":"@77io/nginx-logs-watcher@0.0.5","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-YR2/EaQKboVsIJ/Kkir+9MrEPYUmNKyErnzF4Xi72K5jHdg6+6/g0NhkTLOyPVviSuJzohAdoghny5YP1ZucnQ==","shasum":"8b48ae058ba5d3142d551877eef1ad55bb193327","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.5.tgz","fileCount":31,"unpackedSize":34692,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUEA4CRA9TVsSAnZWagAAPP4P/1TSu2atp/IUI3qsAYCR\nQZazpDtVtOqiooXiyRB3D6HY6RZKIi9uhnfiKG9TETEUPZk2NSSfWutD1hNg\ngTyNBGNVMa8lbhLYcd0rARK4tSILeO4aLFtz3S+pJ7MAuY6JfmFUGwHI/ppB\ngburjCdnyLHhk9ZORqs8VgPG7jwQb7mxDoeadQF/Ba9FI4xupeQwSUmGAQFM\npbg6ad+YDGmoGC5p6mYvM3yDxzFxC20O5VUXScum2t86DkjP9l+XmZNjT0NG\nSwwv30MWsHmbuGq88i6LiwrN9RoKq6RcW3ZS3NZpFpNkIcYC8Df3BjDHWcBU\nshhzMyfwHRSQwKOonbMjJFv/Hxp4CtcNlG1+dm0xSGQXRb6zyE2Ynbhmd4+3\nZT2kPDlNWQX9aEj6Ybr99LsGTyXJjWHpOfBZJ8+BZ0K51BzncN7zk+8PGC9U\nPh2iv3IZ7VLkMusYaYYgfg0VsWEJQrF67/kU/EXaDKaIihMmOtfs83cz0Eo2\nUQJMr1gOHM0j34v+XtHYSIDdV7vNZVFZf1c1JedfSMJpohAWYBBK+6kgYKur\n0/hCOS5RaSeLCh1IPwanoKgjbW4gK9cm/4ozD83TioJ9+H8AeKdwIK75nnMw\nnG5WLymzaOpUZKfplo2HXIW74cHI0RPy6DTLPHwY8FNPJSPjYZ884u+NCf9U\nDjXN\r\n=53pD\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC/uUmNP9CTBH+U8iMt+u8Mq+kLdQqCqrFaVSpb3b2qsAiBYdRy0QDI6TIpg1oKcDVj7W9rCnQ9eeFPGsPY3f5eWgA=="}]},"maintainers":[{"name":"77matt","email":"matt@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"zachkrolack","email":"zachk@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.5_1565540408104_0.237159387448993"},"_hasShrinkwrap":false},"0.0.6":{"name":"@77io/nginx-logs-watcher","version":"0.0.6","description":"Watches nginx access logs for suspicious activity","main":"lib/index.js","bin":{"nginx-logs-watcher":"./bin/index.js"},"scripts":{"test":"echo \"Error: no test specified\" && exit 1","start":"node -r dotenv/config lib/index.js","build":"tsc","build-start":"npm run build && npm run start"},"keywords":[],"author":"","license":"ISC","devDependencies":{"@types/node":"^12.7.1","typescript":"^3.5.3"},"dependencies":{"@slack/web-api":"^5.1.0","dotenv":"^8.0.0"},"gitHead":"59fddff52740e346ff27926f6bac1fa5877fac3c","_id":"@77io/nginx-logs-watcher@0.0.6","_nodeVersion":"10.16.1","_npmVersion":"6.10.2","dist":{"integrity":"sha512-IU0ZML1rwHcvbmnsVWTMXZzAJCfEJRz/ibSx80bb5T+SvNyJKtsNiJKdfjI6JqRUlfWFrL5ZJCuLSMiP0QyG4Q==","shasum":"d2f423a963e74f364e8850150e29a0ccd298e0d0","tarball":"https://registry.npmjs.org/@77io/nginx-logs-watcher/-/nginx-logs-watcher-0.0.6.tgz","fileCount":31,"unpackedSize":34741,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdUXTUCRA9TVsSAnZWagAAKWMP/jYhTjzS8YSjrfbQ20uL\nOQuREdDnmHZGWvQk6H9WiGF8MVClHr4oCRGh/zL/2M6nSV6PBenIS1uIT305\n1cnAEdvQ/Tv8rPGktroyqlKFfKzaA6FxJbaiva9Lg1oJaHd0GXWlS7m4B4Xk\nj3UxcZwujz3sXU/vRc68VPMxrS1HV3jBiQZZgUviHbKDt08dl3xHEItv1woZ\nesNZaAU/JbZwXpOsyDkM8JWKuQijfam6/GxLpve7jZ6IG/HpYKGNW4OVcBlB\nCNwsMg+49bTIgN5ZrQpFj+Htu4sEkvRjDW+uIqDrCimfUBrht9mTrBcy5g/q\nH2D7auRj4m9ZWTuozvrRzT1k8fvCt1Xr4fQZYJfbkg3diZhQLYYXQTMmQCDP\nHT1yaPJTxVdYcR/bUKiJQD0iNxG2x+o/YsFGAxDLJTxWzYZlQfflg1x9Xj7h\nBKbfEIbw44ZhrdLHrYLVfx4pEEmheqm5RDQ/KuJNTePo1+iUbCIvxD4AveZc\n+nsVLp2WcXCr3ykfteYU/aGhRCVolImLPz8OoAhSc6RQ7BuMsOIMh5dpd0nE\nFyyKmp0qRn6537/OrKRUc99mxaeZg9Y3vZl9nlmyVoye6FNrPrn0mNp1B05C\nZbr2cixyUKH4h5u9ZRS/wV4vwVFjy9rJoqcFGvsagHiYhEQZydFdHteHZ75D\nZ80a\r\n=9HtI\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCKuazxIZhibWnHOesit1zpxHCe6pN+cC4CMqVRQD1SywIgYrTo1ZMen0hcMI/U2PEBUJV+A3IHrrxp1WfFkZDc3z8="}]},"maintainers":[{"name":"77matt","email":"matt@77creative.io"},{"name":"sam77","email":"sam@77creative.io"},{"name":"zach77","email":"zach@77creative.io"},{"name":"zachkrolack","email":"zachk@77creative.io"}],"_npmUser":{"name":"sam77","email":"sam@77creative.io"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/nginx-logs-watcher_0.0.6_1565619411931_0.5273455279577193"},"_hasShrinkwrap":false}},"time":{"created":"2019-08-11T15:03:25.497Z","0.0.1":"2019-08-11T15:03:25.832Z","modified":"2023-11-28T19:33:09.614Z","0.0.2":"2019-08-11T15:11:22.756Z","0.0.3":"2019-08-11T16:10:17.417Z","0.0.4":"2019-08-11T16:13:01.957Z","0.0.5":"2019-08-11T16:20:08.211Z","0.0.6":"2019-08-12T14:16:52.054Z"},"maintainers":[{"email":"brad@77creative.io","name":"bmanderscheid"},{"email":"chris.dziewa@gmail.com","name":"chris.dziewa"},{"email":"dave@77creative.io","name":"davgerd"},{"email":"matt@77creative.io","name":"77matt"}],"description":"Watches nginx access logs for suspicious activity","keywords":[],"license":"ISC","readme":"# nginx-logs-watcher\r\n\r\nThis utility service monitors the nginx access.log file and looks for suspicious patterns and behaviors.\r\n\r\nYou can install nginx-logs-watcher globally by running the following command.\r\n\r\n```sh\r\n$npm install -g @77io/nginx-logs-watcher\r\n```\r\n\r\n## Setup\r\n\r\nBe sure to set the following environment variables to configure the service correctly.\r\n\r\n#### NODE_DEBUG\r\n\r\n_boolean_\r\nSet to `true` to run the service in debug mode.\r\n\r\n#### LOG_FILE\r\n\r\n_string_\r\nAbsolute path to the log file you want to monitor. `/var/log/nginx/access.log` is the defualt nginx access logs file path.\r\n\r\n#### DEBOUNCE_SECONDS\r\n\r\n_number_ `60` default\r\nThe number of seconds between log file changes to search for patterns. Keeping this value too low may cause performance issues. (I typically run this at 300).\r\n\r\n#### SLACK_TOKEN\r\n\r\n_string_\r\nThis service uses slack to notify admins on suspicious activity. This token can be obtained by creating a private app in Slack. Learn about building private apps here [here](https://api.slack.com/slack-apps).\r\n\r\n#### SLACK_CHANNEL\r\n\r\n_string_\r\nThe slack channel id to post the message to.\r\n\r\n#### SERVER_NAME\r\n\r\n_string_\r\nFriendly string to identify the server. This will be shared along with the suspicious activity.\r\n\r\n#### DETECTOR_SENSITIVITY\r\n\r\n_number_ `20` default\r\nThis determines the sensitivity of the detection process. The number itself is arbitrary, but smaller numbers will pickup smaller patterns while larger numbers will need larger patterns to emit a problem.\r\n\r\n## Example .env file\r\n\r\n```txt\r\nNODE_DEBUG=false\r\nLOG_FILE=/var/logs/nginx/access.log\r\nDEBOUNCE_SECONDS=300\r\nSLACK_TOKEN=xoxb-YOUR-TOKEN-HERE\r\nSERVER_NAME=DevelopmentServers\r\nSLACK_CHANNEL=CHANNELID\r\nDETECTOR_SENSITIVITY=20\r\n```\r\n\r\n## Running with systemd\r\n\r\nHere is an example service file that will restart the log watcher on failure. It also sets up the environment variables. This example assumes a typically installation of NodeJS and nginx-logs-watcher installed globally.\r\n\r\n```service\r\n[Unit]\r\nDescription=NginxLogsWatcher\r\n\r\n[Service]\r\nExecStart=/usr/bin/node /opt/nodejs/lib/node_modules/@77io/nginx-logs-watcher/bin/index.js\r\nRestart=on-failure\r\nEnvironment=NODE_DEBUG=false LOG_FILE=/var/log/nginx/access.log DEBOUNCE_SECONDS=100 SLACK_TOKEN=xoxb-YOUR-TOKEN-HERE SLACK_CHANNEL=SLACKCHANNELID SERVER_NAME=DevelopmentServer DETECTOR_SENSITIVITY=20\r\n\r\n[Install]\r\nWantedBy=multi-user.target\r\n```\r\n","readmeFilename":"readme.md"}