Skip to content

Latest commit

ย 

History

History
115 lines (96 loc) ยท 5.94 KB

File metadata and controls

115 lines (96 loc) ยท 5.94 KB

Watchdog

Language GPL License Repo Size Github Action Image Size

๐Ÿถ Watchdog is a Dcinside image crawler that includes NSFW detection.

๋ชฉ์ฐจ

์†Œ๊ฐœ

Watchdog์€ Node.js๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์‹œ์ธ์‚ฌ์ด๋“œ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ํฌ๋กค๋งํ•˜๊ณ 
TensorFlow ๊ธฐ๋ฐ˜ NSFW ๋ชจ๋ธ์„ ํ†ตํ•ด ์ด๋ฏธ์ง€์˜ NSFW ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•˜๊ณ  ๋ถ„๋ฅ˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.

์„ค์น˜

๋นŒ๋“œ ๊ฒฐ๊ณผ

์šด์˜์ฒด์ œ ๊ฒฐ๊ณผ
Windows logo Windows 11 โœ… ์„ฑ๊ณต
Ubuntu logo Ubuntu 24.04 โœ… ์„ฑ๊ณต
macOS logo macOS Sequoia โœ… ์„ฑ๊ณต

๊ณตํ†ต

  1. ์ด ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.
  2. Node.js์™€ npm์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
    • ํ˜ธํ™˜๋˜๋Š” ๋ฒ„์ „์€ 20.x ๋˜๋Š” 22.x์ž…๋‹ˆ๋‹ค.1
    • ๋‹ค๋ฅธ Node.js ๋ฒ„์ „์„ ์‚ฌ์šฉ ์ค‘์ผ ๊ฒฝ์šฐ .nvmrc ํŒŒ์ผ์„ ์ฐธ๊ณ ํ•ด ๊ถŒ์žฅ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
      nvm์„ ์„ค์น˜ํ•˜๊ณ  ๋‹ค์Œ ๋ช…๋ น์–ด๋กœ ๊ถŒ์žฅ ๋ฒ„์ „์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
      nvm install 22
      nvm use 22
      node -v
  3. npm install์„ ์ž…๋ ฅํ•˜์—ฌ ์˜์กด์„ฑ์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

๋กœ์ปฌ

  1. Python 3.x ๋ฒ„์ „์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

  2. TensorFlow ๋นŒ๋“œ ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

    Windows

    Microsoft C++ Build Tools๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค. (๋งํฌ ์ฐธ๊ณ )

    Linux

    sudo apt-get install build-essential

    macOS

    xcode-select --install

  3. .env.example์„ .env๋กœ, targets.example.json์„ targets.json์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

  4. npm start ๋˜๋Š” npm run pm2:start๋ฅผ ์ž…๋ ฅํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๋„์ปค

  1. Docker๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

  2. (์˜ต์…˜) Docker Desktop์˜ ์„ค์ •์—์„œ ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค.

    • ์ด ํ”„๋กœ๊ทธ๋žจ์€ ecosystem.config.js์˜ ์„ค์ •์— ๋”ฐ๋ผ pm2 ์‚ฌ์šฉ ์‹œ ์ตœ๋Œ€ 16GB๊นŒ์ง€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, Docker ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ์ด ์ด์ƒ์œผ๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ecosystem.config.js๋ฅผ ์ˆ˜์ •ํ•˜์„ธ์š”.2

  3. ์•„๋ž˜ ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜์„ธ์š”.

    • (๊ถŒ์žฅ) Docker Hub์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋‚ด๋ ค๋ฐ›์•„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      1. npm run docker:up
    • ๋กœ์ปฌ์—์„œ ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
      1. .env.example์„ .env๋กœ, targets.example.json์„ targets.json์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
      2. npm run docker:build

์‚ฌ์šฉ๋ฒ•

  • ๊ธฐ๋ณธ์ ์œผ๋กœ ์ด๋ฏธ์ง€๋Š” ๋ ˆํฌ์ง€ํ† ๋ฆฌ ํ•˜์œ„์˜ archive ํด๋” ๋‚ด์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค.
    ์ €์žฅ ์œ„์น˜๋Š” .envํŒŒ์ผ์˜ LOCAL_ARCHIVE_DIR ๊ฐ’์„ ์ˆ˜์ •ํ•˜์—ฌ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • targets.json์„ ์ˆ˜์ •ํ•˜์—ฌ ํฌ๋กค๋ง ๋Œ€์ƒ ๊ฐค๋Ÿฌ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.3
    • ๋Œ€์ƒ ๊ฐค๋Ÿฌ๋ฆฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

      "๊ฐค๋Ÿฌ๋ฆฌ ์•„์ด๋””": {
          "name": "๊ฐค๋Ÿฌ๋ฆฌ ์ด๋ฆ„",
          "type": "๊ฐค๋Ÿฌ๋ฆฌ ํƒ€์ž…"
      }
      • ๊ฐค๋Ÿฌ๋ฆฌ ์•„์ด๋””๋Š” ๊ฐค๋Ÿฌ๋ฆฌ URL์—์„œ id=๋’ค์— ๋‚˜์˜ค๋Š” ๋ถ€๋ถ„์ž…๋‹ˆ๋‹ค.
        ์˜ˆ๋ฅผ ๋“ค์–ด ๊ตญ๋‚ด์•ผ๊ตฌ ๊ฐค๋Ÿฌ๋ฆฌ URL https://gall.dcinside.com/board/lists?id=baseball_new11์—์„œ ๊ฐค๋Ÿฌ๋ฆฌ ์•„์ด๋””๋Š” baseball_new11์ž…๋‹ˆ๋‹ค.
      • ๊ฐค๋Ÿฌ๋ฆฌ ํƒ€์ž…์€ ๋ฉ”์ธ: main, ๋งˆ์ด๋„ˆ: minor, ๋ฏธ๋‹ˆ: mini๋กœ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.

์ €์ž

Watchdog ยฉ xCrypt0r
Authored and maintained by xCrypt0r

GitHub @xCrypt0r
Discord @xcrypt0r

๋ผ์ด์„ ์Šค

์ด ํ”„๋กœ์ ํŠธ๋Š” GNU ์ผ๋ฐ˜ ๊ณต์ค‘ ์‚ฌ์šฉ ํ—ˆ๊ฐ€์„œ ๋ฒ„์ „ 3.0 (GPLv3) ๋ผ์ด์„ ์Šค๋ฅผ ๋”ฐ๋ฆ…๋‹ˆ๋‹ค.

Footnotes

  1. ์ด์™ธ์˜ ๋ฒ„์ „ ์„ค์น˜ ์‹œ TensorFlow์˜ ์˜์กด์„ฑ ๋ฌธ์ œ๋กœ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. โ†ฉ

  2. Windows์—์„œ WSL 2๊ธฐ๋ฐ˜ Docker Desktop์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ .wslconfig๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์„ ์„ค์ •ํ•˜์„ธ์š”. โ†ฉ

  3. ๋Œ€์ƒ ๊ฐค๋Ÿฌ๋ฆฌ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๋†’์•„์ง‘๋‹ˆ๋‹ค. โ†ฉ