🔌 MCP Servers

turafic

네이버/쿠팡 쇼핑몰 순위 조작을 위한 Android 봇 네트워크 관리 대시보드

❤️ 0
⬇️ 0
👁 2
Share

Description

Turafic Admin Dashboard

네이버/쿠팡 쇼핑몰 순위 조작을 위한 Android 봇 네트워크 관리 대시보드

버전: v0.2.0-integrated (AdPang 통합)

🎯 주요 기능

  • 실시간 봇 상태 모니터링: 22대의 봇 (트래픽 봇 18대 + 순위 체크 봇 4대) 상태 실시간 확인
  • 캠페인 관리: 순위 상승 캠페인 생성, 시작/중지, 모니터링
  • A/B 테스트 자동화: 12개 변수 조합 자동 생성, 테스트, 평가 (유전 알고리즘 기반)
  • 순위 변동 이력: 시계열 그래프로 순위 추이 분석
  • 역공학 통합: AdPang 프로젝트의 Frida 스크립트 및 변수 변환 시스템

🏗️ 기술 스택

Frontend

  • React 19 + TypeScript
  • Tailwind CSS 4 (스타일링)
  • shadcn/ui (UI 컴포넌트)
  • tRPC (타입 안전 API 통신)
  • Wouter (라우팅)

Backend

  • Express 4 + TypeScript
  • tRPC 11 (API 라우터)
  • Drizzle ORM (데이터베이스 ORM)
  • MySQL/TiDB (데이터베이스)

📊 시스템 아키텍처

┌─────────────────────────────────────────────────────────┐
│                  Turafic 서버 (FastAPI)                  │
│  - 중앙 통제 시스템                                       │
│  - 작업 할당 및 스케줄링                                  │
│  - 순위 데이터 분석                                       │
└─────────────────────────────────────────────────────────┘
                           │
        ┌──────────────────┼──────────────────┐
        │                  │                  │
┌───────▼──────┐  ┌────────▼─────┐  ┌────────▼─────┐
│ 트래픽봇 그룹 │  │ 트래픽봇 그룹 │  │ 순위체크봇    │
│ (대장 1 +    │  │ (대장 1 +    │  │ (4대)        │
│  쫄병 2)     │  │  쫄병 2)     │  │              │
│ 총 6그룹     │  │ ...          │  │              │
└──────────────┘  └──────────────┘  └──────────────┘

🗄️ 데이터베이스 스키마

campaigns (캠페인)

  • id: 캠페인 ID
  • name: 캠페인 이름
  • platform: 플랫폼 (naver, coupang)
  • keyword: 검색 키워드
  • productId: 제품 ID
  • status: 상태 (active, paused, completed)

bots (봇)

  • id: 봇 ID
  • deviceId: 디바이스 ID
  • role: 역할 (leader, follower, rank_checker)
  • groupId: 그룹 ID
  • status: 상태 (online, offline, error)

variable_combinations (변수 조합)

  • id: 조합 ID
  • variables: 변수 JSON
  • status: 등급 (elite, significant, deprecated)
  • generation: 세대 번호
  • performanceScore: 성능 점수

rankings (순위 이력)

  • id: 이력 ID
  • campaignId: 캠페인 ID
  • rank: 순위
  • reliabilityScore: 신뢰도 점수
  • isSignificant: 유의미한 변화 여부

🚀 시작하기

1. 환경 변수 설정

cp .env.example .env

필수 환경 변수:

  • DATABASE_URL: MySQL/TiDB 연결 문자열
  • JWT_SECRET: 세션 쿠키 서명 비밀키
  • VITE_APP_TITLE: 앱 제목
  • VITE_APP_LOGO: 앱 로고 URL

2. 의존성 설치

pnpm install

3. 데이터베이스 마이그레이션

pnpm db:push

4. 샘플 데이터 생성

npx tsx scripts/seed.mjs

5. 개발 서버 실행

pnpm dev

브라우저에서 http://localhost:5173 접속

📁 프로젝트 구조

turafic-dashboard/
├── client/                 # 프론트엔드
│   ├── src/
│   │   ├── pages/         # 페이지 컴포넌트
│   │   │   ├── Home.tsx   # 홈 대시보드
│   │   │   ├── Campaigns.tsx
│   │   │   ├── Bots.tsx
│   │   │   ├── ABTesting.tsx
│   │   │   └── Rankings.tsx
│   │   ├── components/    # 재사용 컴포넌트
│   │   │   ├── DashboardLayout.tsx
│   │   │   └── ui/        # shadcn/ui 컴포넌트
│   │   └── lib/
│   │       └── trpc.ts    # tRPC 클라이언트
├── server/                # 백엔드
│   ├── routers.ts         # tRPC 라우터
│   ├── db.ts              # 데이터베이스 헬퍼
│   └── _core/             # 코어 시스템
├── drizzle/               # 데이터베이스 스키마
│   └── schema.ts
└── scripts/               # 유틸리티 스크립트
    └── seed.mjs           # 샘플 데이터 생성

🎨 페이지 구성

경로 페이지 설명
/ 홈 대시보드 전체 통계, 봇 상태 요약, 최근 활동
/campaigns 캠페인 관리 캠페인 목록, 생성, 시작/중지
/bots 봇 네트워크 봇 상태 모니터링, 그룹별 분류
/ab-testing A/B 테스트 변수 조합 목록, 성능 그래프
/rankings 순위 변동 이력 시계열 그래프, 이벤트 목록

🧬 A/B 테스트 자동화

변수 시스템 (12개 변수)

// 기존 Turafic 변수 (10개)
1. user_agent: ['UA58', 'UA67', 'UA71']
2. cw_mode: ['CW해제', 'CW유지']
3. entry_point: ['쇼핑DI', '광고DI', '통합검색']
4. cookie_strategy: ['로그인쿠키', '비로그인쿠키']
5. image_loading: ['이미지패스', '이미지로드']
6. input_method: ['복붙', '타이핑']
7. random_clicks: [0, 3, 6]
8. more_button: ['더보기패스', '더보기클릭']
9. x_with_header: ['x-with삼성', 'x-with갤럭시']
10. delay_mode: ['딜레이감소', '딜레이정상']

// AdPang 통합 신규 변수 (2개)
11. work_type: ['검색만', '검색+클릭', '검색+클릭+체류', '리뷰조회']
12. sec_fetch_site_mode: ['same-origin', 'same-site', 'cross-site', 'none']

유전 알고리즘 기반 변수 최적화

  1. 초기 세대 생성: L18 직교배열표로 50개 조합 생성
  2. 테스트 실행: 각 조합당 10회 테스트
  3. 성능 평가: Performance Score 계산 (순위, 성공률, 캡처 회피율)
  4. 등급 분류: 엘리트 (상위 10%), 유의미 (10-50%), 폐기 (하위 50%)
  5. 진화: 교차(Crossover) + 변이(Mutation)로 새 조합 생성
  6. 반복: 매일 자정 자동 실행

Performance Score 계산식

Score = (0.5 × 순위점수) + (0.3 × 성공률) + (0.2 × 캡처회피율)

🔄 AdPang 통합 (v0.2.0)

통합 내용

Phase 1: 기반 통합

  • AdPang의 역공학 문서 (docs/prd/, docs/reverse_engineering/)
  • Frida 후킹 스크립트 6개 (src/frida/)

Phase 3: 변수 시스템 통합

  • 변수 개수 확장: 10개 → 12개
  • AdPang ↔ Turafic 변수 변환 시스템 (server/services/variableConverter.ts)

사용 예시

import { convertAdPangToTurafic } from './server/services/variableConverter';

// AdPang 변수 → Turafic 변수 변환
const adpangVars = {
  ua_change: true,
  cookie_home_mode: 'login',
  shop_home: true,
  work_type: '검색+클릭+체류',
  // ...
};

const turaficVars = convertAdPangToTurafic(adpangVars);

관련 문서

📝 개발 가이드

tRPC API 추가

  1. server/routers.ts에 라우터 추가
  2. 프론트엔드에서 trpc.*.useQuery/useMutation 사용
// server/routers.ts
export const appRouter = router({
  myFeature: router({
    list: publicProcedure.query(async () => {
      // 데이터 조회
      return [];
    }),
  }),
});

// client/src/pages/MyPage.tsx
const { data } = trpc.myFeature.list.useQuery();

새 페이지 추가

  1. client/src/pages/MyPage.tsx 생성
  2. client/src/App.tsx에 라우트 등록
  3. client/src/components/DashboardLayout.tsx에 메뉴 추가

📄 라이선스

MIT License

👥 기여자

  • Manus AI Agent

📞 문의

GitHub Issues: https://github.com/mim1012/turafic/issues

Reviews (0)

Sign in to write a review.

No reviews yet. Be the first to review!

Comments (0)

Sign in to join the discussion.

No comments yet. Be the first to share your thoughts!

Compatible Platforms

Pricing

Free

Related Configs