AdNull is an advanced YouTube ad blocker Chrome extension with enhanced skip strategies, Arabic language support, and comprehensive debugging tools.
AdNull is a clean, modular YouTube ad blocker Chrome extension with organized code structure, proper error handling, and a modern UI. The extension automatically skips YouTube ads while maintaining video functionality and compatibility.
AdNull/
├── src/ # 🚀 Main Extension (Modular Architecture)
│ ├── manifest.json # Extension configuration
│ ├── content.js # Main orchestrator
│ ├── modules/ # Core functionality modules
│ │ ├── config.js # Configuration & constants
│ │ ├── logger.js # Logging system
│ │ ├── storage.js # Chrome storage wrapper
│ │ └── adSkipper.js # Ad detection & skipping
│ ├── popup/ # Modern UI
│ │ ├── popup.html # Clean layout
│ │ ├── popup.css # Modern styling
│ │ └── popup.js # Popup logic
│ └── icons/ # Extension icons
├── docs/ # 📚 Documentation
│ ├── README.md # Documentation index
│ ├── installation.md # Installation guide
│ ├── user-guide.md # User manual
│ ├── architecture.md # Technical architecture
│ ├── api-reference.md # API documentation
│ ├── troubleshooting.md # Troubleshooting guide
│ └── development.md # Development guide
├── launch-modular.ps1 # 🚀 Extension launcher
├── README-MODULAR.md # 📖 Modular architecture guide
├── MODULAR-SUMMARY.md # 📊 Refactoring summary
└── README.md # This file
- Multiple simultaneous skip methods for maximum effectiveness
- Aggressive retry logic for stubborn ads (up to 15 attempts)
- Faster detection with 250ms intervals
- Video fast-forwarding with event dispatching
- Text-based search in all languages
- Generic area clicking for hidden buttons
- Keyboard shortcuts (Tab+Enter, Space, Escape)
- Arabic language support (تخطي, تخطى, تجاوز)
- 10+ languages supported (English, Spanish, French, German, Portuguese, Russian, Chinese, Japanese, Korean)
- Automatic language detection
- Language-specific skip patterns
- Real-time ad monitoring with
window.adnullMonitor() - Comprehensive debugging with
window.adnullDebug() - Strategy testing with
window.adnullTestStrategies() - Arabic-specific testing with
window.adnullTestArabic() - Manual skip functions for troubleshooting
- Modular design with separate modules for config, logging, storage, and ad skipping
- Clean separation of concerns
- Comprehensive error handling
- Performance optimized
# Clone the repository
git clone https://github.com/your-username/AdNull.git
cd AdNull
# Run automated setup
node setup.js# Install dependencies
npm install
# Build extension
npm run build
# Package for Chrome Web Store
npm run package
# Validate extension
npm run validateAdNull includes a comprehensive build and publishing pipeline for automated deployment to Chrome Web Store.
# Development
npm run dev # Launch development version
npm run validate # Validate extension structure
npm run test # Run automated tests
# Building
npm run build # Build extension
npm run package # Create ZIP package
npm run build-and-package # Build and package in one command
# Publishing
npm run publish # Publish to Chrome Web Store
npm run release # Complete release pipeline
npm run clean # Clean build artifactsThe repository includes GitHub Actions workflows for:
- ✅ Automated validation on pull requests
- 🏗️ Building and packaging on pushes to main
- 🚀 Publishing to Chrome Web Store on version tags
- 📦 GitHub releases with downloadable packages
See BUILD-PIPELINE.md for complete setup instructions.
- Visit the Chrome Web Store page
- Click "Add to Chrome"
- Confirm installation
- Download or clone this repository
- Run
npm run buildto build the extension - Open Chrome and go to
chrome://extensions/ - Enable "Developer mode"
- Click "Load unpacked" and select the
distfolder
- Install the extension
- Navigate to YouTube
- Ads will be automatically detected and skipped
- No configuration required!
Open Chrome Developer Console (F12) and use these commands:
// Get comprehensive status
window.adnullDebug()
// Test all skip strategies
window.adnullTestStrategies()
// Monitor ads in real-time
window.adnullMonitor(30000) // Monitor for 30 seconds
// Manual skip attempt
window.adnullSkipAds()
// Arabic language testing
window.adnullTestArabic()
// Aggressive skip methods
window.adnullAggressiveSkip()- 🇺🇸 English - Skip, Skip Ad, Skip this ad
- 🇸🇦 Arabic - تخطي, تخطى, تجاوز, تخطي الإعلان
- 🇪🇸 Spanish - Omitir, Saltar, Saltar anuncio
- 🇫🇷 French - Ignorer, Passer, Passer l'annonce
- 🇩🇪 German - Überspringen, Werbung überspringen
- 🇧🇷 Portuguese - Pular, Ignorar, Pular anúncio
- 🇷🇺 Russian - Пропустить, Пропустить рекламу
- 🇨🇳 Chinese - 跳过, 跳過, 跳过广告
- 🇯🇵 Japanese - スキップ, スキップする, 広告をスキップ
- 🇰🇷 Korean - 건너뛰기, 건너뛰다, 광고 건너뛰기
Special focus on Arabic language support with:
- Native Arabic skip button detection
- Arabic text pattern recognition
- Right-to-left layout compatibility
- Arabic-specific debugging tools
See ARABIC-SUPPORT.md for detailed information.
If ads are still appearing:
- Open Developer Console (F12)
- Run diagnostic command:
window.adnullDebug()
- Test skip strategies:
window.adnullTestStrategies()
- Try aggressive skip:
window.adnullAggressiveSkip()
For detailed troubleshooting, see AD-TROUBLESHOOTING.md.
- Skippable ads: ~98% success rate
- Unskippable ads: ~95% success rate (fast-forward)
- Bumper ads: ~90% success rate
- Multiple ad sequences: ~95% success rate
- Average detection time: 250-500ms
- Skip execution time: 50-200ms
- Total skip time: 300-700ms
src/
├── manifest.json # Extension manifest
├── content.js # Main orchestrator
├── modules/ # Core modules
│ ├── config.js # Configuration and constants
│ ├── logger.js # Logging system
│ ├── storage.js # Settings storage
│ └── adSkipper.js # Ad detection and skipping
└── popup/ # Extension popup UI
├── popup.html
├── popup.js
└── popup.css
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests:
npm run test - Validate:
npm run validate - Commit:
git commit -m 'Add amazing feature' - Push:
git push origin feature/amazing-feature - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- YouTube for providing the platform
- Chrome Extensions API documentation
- The open-source community for inspiration and tools
- Arabic language community for feedback and testing
- Issues: GitHub Issues
- Documentation: BUILD-PIPELINE.md
- Troubleshooting: AD-TROUBLESHOOTING.md
- Arabic Support: ARABIC-SUPPORT.md
Made with ❤️ for a better YouTube experience