{"id":30590676,"url":"https://github.com/gnujoow/meme-sniper","last_synced_at":"2025-08-29T16:54:18.736Z","repository":{"id":311478319,"uuid":"1043814061","full_name":"gnujoow/meme-sniper","owner":"gnujoow","description":null,"archived":false,"fork":false,"pushed_at":"2025-08-24T18:19:42.000Z","size":92,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-24T21:56:59.866Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gnujoow.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-24T17:13:57.000Z","updated_at":"2025-08-24T18:19:45.000Z","dependencies_parsed_at":"2025-08-24T21:57:07.398Z","dependency_job_id":"201006ee-7311-41e1-94a4-da5970ffce4f","html_url":"https://github.com/gnujoow/meme-sniper","commit_stats":null,"previous_names":["gnujoow/meme-sniper"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/gnujoow/meme-sniper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fmeme-sniper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fmeme-sniper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fmeme-sniper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fmeme-sniper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gnujoow","download_url":"https://codeload.github.com/gnujoow/meme-sniper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gnujoow%2Fmeme-sniper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272726548,"owners_count":24982847,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-29T02:00:10.610Z","response_time":87,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-08-29T16:54:18.027Z","updated_at":"2025-08-29T16:54:18.721Z","avatar_url":"https://github.com/gnujoow.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twitter Crypto Monitor \u0026 Auto-Buyer\n\n특정 Twitter 사용자의 트윗을 모니터링하여 Solana 및 BSC 토큰 주소를 감지하고 자동으로 구매하는 도구입니다.\n\n## 기능\n\n- 🔍 실시간 트윗 모니터링\n- 🟣 Solana 토큰 주소 감지 (Base58 형식)\n- 🟡 BSC/Ethereum 주소 감지 (0x 형식)\n- 🔑 암호화폐 관련 키워드 감지\n- 🌐 **트윗 내 URL 자동 추출 및 브라우저 열기**\n- 🚀 **자동 토큰 구매 기능**\n  - Solana: Pump.fun → **공식 Meteora SDK** → Raydium 순서로 자동 구매\n  - BSC: Four.meme → PancakeSwap 순서로 자동 구매\n- 💰 정수 단위 구매 (예: 3.7 SOL → 3 SOL 사용)\n- 🔐 **분리된 지갑 니모닉** (Solana, BSC 각각 설정)\n- 📊 **실시간 수익률 추적** (구매 후 1초마다 업데이트)\n- 🔔 Webhook 알림 지원\n- ✅ **API 키 불필요** (Twitter 계정만 필요)\n\n## 설치\n\n```bash\nnpm install\n```\n\n## 설정\n\n1. `.env.example` 파일을 `.env`로 복사:\n```bash\ncp .env.example .env\n```\n\n2. `.env` 파일 편집:\n```env\n# Twitter 계정 인증 (API 키 불필요!)\nTWITTER_USERNAME=your_twitter_username\nTWITTER_PASSWORD=your_twitter_password  \nTWITTER_EMAIL=your_twitter_email\n\n# 모니터링 설정\nTARGET_USERNAME=target_twitter_username\nCHECK_INTERVAL=30000\n\n# 선택사항: 감시할 키워드\nWATCH_KEYWORDS=pump,launch,token,contract,mint\n\n# 선택사항: 알림용 Webhook URL\nWEBHOOK_URL=https://your-webhook-url\n\n# 지갑 설정 (분리된 니모닉)\nSOLANA_MNEMONIC=word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 word11 word12\nBSC_MNEMONIC=word1 word2 word3 word4 word5 word6 word7 word8 word9 word10 word11 word12\n\n# 자동 구매 설정\nAUTO_BUY_ENABLED=true\nMAX_BUY_AMOUNT_SOL=10\nMAX_BUY_AMOUNT_BNB=5\n\n# URL 자동 열기 설정\nAUTO_OPEN_URLS=true\n```\n\n## 실행\n\n```bash\nnpm start\n```\n\n개발 모드 (파일 변경 감지):\n```bash\nnpm run dev\n```\n\n## 주소 형식\n\n### Solana 주소\n- Base58 인코딩\n- 32-44 문자 길이\n- 예: `DezXAZ8z7PnrnRJjz3wXBoZgFJgjKyx6mjGgpHyQJCW2`\n\n### BSC/Ethereum 주소\n- 0x로 시작\n- 40개의 16진수 문자\n- 예: `0x742d35Cc6634C0532925a3b844Bc8e7E5313A7bE`\n\n## 감지 키워드\n\n- pump, launch, token, contract\n- mint/minting/minted\n- deploy/deploying/deployed\n- live, CA (Contract Address)\n- SOL, BSC\n- airdrop, presale, liquidity, DEX\n\n## 정규표현식 패턴\n\n### Solana\n```javascript\n/\\b[1-9A-HJ-NP-Za-km-z]{32,44}\\b/g\n```\n\n### BSC/Ethereum\n```javascript\n/\\b0x[a-fA-F0-9]{40}\\b/g\n```\n\n## 자동 기능들\n\n### 🚀 **자동 토큰 구매**\n토큰이 감지되면:\n1. **Solana 토큰**: **Pump.fun → 공식 Meteora SDK → Raydium** 순서로 확인 후 구매\n   - **Pump.fun 우선**: 메메코인 런치패드에서 먼저 확인\n   - **공식 Meteora SDK**: DLMM \u0026 Dynamic AMM 풀에서 직접 거래\n     - `@meteora-ag/dlmm`: DLMM 풀 전용 SDK\n     - `@meteora-ag/dynamic-amm-sdk`: Dynamic AMM 풀 전용 SDK\n   - Raydium 폴백: 위 플랫폼에서 찾을 수 없으면 Raydium 사용\n2. **BSC 토큰**: **Four.meme → PancakeSwap** 순서로 확인 후 구매\n   - **Four.meme 우선**: 메메코인 전용 플랫폼에서 먼저 확인\n   - PancakeSwap 폴백: Four.meme에서 찾을 수 없으면 PancakeSwap 사용\n3. **구매 금액**: 지갑 잔액의 정수 부분만 사용 (예: 3.7 SOL → 3 SOL)\n4. **📊 실시간 수익률 추적**: 구매 후 1초마다 수익률 업데이트\n\n### 🌐 **자동 URL 열기**\n트윗에서 URL이 감지되면:\n1. 모든 URL을 콘솔에 표시\n2. `AUTO_OPEN_URLS=true`이면 자동으로 기본 브라우저에서 열기\n3. 여러 URL이 있으면 1초 간격으로 순차적으로 열기\n4. Pump.fun, DEXScreener, CoinGecko 등 토큰 관련 사이트 즉시 확인 가능\n\n## 니모닉 설정\n\n### Phantom (Solana) 지갑에서 니모닉 얻기:\n1. Phantom 앱/확장프로그램 열기\n2. 설정 → 보안 → 시드 구문 표시\n3. 12개 단어를 복사하여 **SOLANA_MNEMONIC**에 입력\n\n### MetaMask (BSC) 지갑에서 니모닉 얻기:\n1. MetaMask 열기  \n2. 계정 메뉴 → 보안 및 개인정보 → 비밀 복구 구문 표시\n3. 12개 단어를 복사하여 **BSC_MNEMONIC**에 입력\n\n✅ **이제 각각의 지갑 니모닉을 따로 설정할 수 있습니다!**\n- SOLANA_MNEMONIC: Phantom 지갑 니모닉\n- BSC_MNEMONIC: MetaMask 지갑 니모닉\n\n## 보안 주의사항\n\n- ⚠️ **니모닉은 절대 공유하지 마세요**\n- `.env` 파일은 `.gitignore`에 포함되어 있습니다\n- **버너 Twitter 계정 사용을 권장합니다** (메인 계정 사용시 밴 위험)\n- 테스트넷에서 먼저 테스트하는 것을 권장합니다\n- `AUTO_BUY_ENABLED=false`로 설정하여 모니터링만 할 수 있습니다\n\n## 주의사항\n\n- ✅ **API 키 불필요** - 실제 Twitter 계정만 필요\n- Twitter 로그인 정보가 필요합니다 (username, password, email)\n- Rate limiting을 피하기 위해 적절한 CHECK_INTERVAL을 설정하세요\n- 자동 구매는 높은 위험을 수반합니다. 신중하게 사용하세요\n- 가스비와 슬리피지를 고려하여 충분한 잔액을 유지하세요\n- Twitter 스크래핑은 계정 제재 위험이 있으므로 버너 계정 사용 권장","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnujoow%2Fmeme-sniper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgnujoow%2Fmeme-sniper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgnujoow%2Fmeme-sniper/lists"}