Created for NoblePort Systems - NoblePort.eth
This application provides a comprehensive solution for uploading videos to both YouTube and DTube platforms while clearly communicating the different copyright enforcement policies of each platform.
- YouTube Integration: Full OAuth2 authentication with Google APIs
- DTube Integration: Decentralized uploads via IPFS network
- Simultaneous Uploads: Can upload to both platforms at once
The application includes a detailed copyright policy comparison system that highlights the fundamental differences:
- Automated Content ID scanning of all uploads
- Immediate blocking or monetization diversion possible
- Channel strikes for violations
- Even fair use may be flagged
- Highly professional platform with strict enforcement
- No automated copyright detection
- Content rarely auto-blocked
- Relies on manual DMCA complaints
- Users still legally liable
- Decentralized, lenient platform
- Modern, responsive design
- Interactive copyright policy comparison
- Platform selection (YouTube, DTube, or both)
- Real-time upload progress
- Detailed result display with links
- Full-featured CLI for automation
- Copyright policy comparison tool
- Batch upload capabilities
- Platform-specific options
- Scriptable for workflows
- Copyright warnings before upload
- Platform-specific recommendations
- Risk level indicators
- Legal disclaimer and guidance
- Secure credential handling
- Flask: Web application framework
- Google API Client: YouTube Data API v3 integration
- IPFS HTTP Client: Decentralized storage for DTube
- OAuth2: Secure YouTube authentication
- HTML5: Modern semantic markup
- CSS3: Responsive design with gradients
- Vanilla JavaScript: No framework dependencies
- REST API: Clean API architecture
┌─────────────────────────────────────────────────┐
│ Web Interface / CLI │
├─────────────────────────────────────────────────┤
│ Flask Application (app.py) │
├──────────────────┬──────────────────────────────┤
│ YouTube Module │ DTube Module │
│ (OAuth2 Auth) │ (IPFS Upload) │
├──────────────────┴──────────────────────────────┤
│ Copyright Policy Comparison │
│ (Warnings & Recommendations) │
└─────────────────────────────────────────────────┘
.
├── app.py # Main Flask application
├── cli.py # Command-line interface
├── config.py # Configuration & copyright policies
├── youtube_uploader.py # YouTube API integration
├── dtube_uploader.py # DTube/IPFS integration
├── test_app.py # Test suite
├── quickstart.sh # Quick setup script
├── requirements.txt # Python dependencies
├── .env.example # Environment template
├── .gitignore # Git ignore rules
├── LICENSE # MIT License
├── README.md # Main documentation
├── SETUP_GUIDE.md # Detailed setup guide
├── PROJECT_OVERVIEW.md # This file
├── templates/
│ └── index.html # Web UI template
├── static/
│ ├── css/
│ │ └── style.css # Web UI styles
│ └── js/
│ └── app.js # Web UI JavaScript
└── uploads/ # Temporary upload folder
| Aspect | YouTube | DTube |
|---|---|---|
| Risk Level | HIGH | LOW |
| Automated Scanning | Yes (Content ID) | No |
| Blocking | Immediate | Rare |
| Strikes | Yes | No |
| Monetization | Can be diverted | Crypto-based |
| Legal Liability | High | High |
| Platform Enforcement | Aggressive | Minimal |
| Best For | Original content | Controversial/remix content |
| Professional Use | Yes | Limited |
- Recommendation: Upload to both platforms
- YouTube: Maximum reach and monetization
- DTube: Backup and decentralized presence
- Recommendation: DTube primarily
- Reason: No automated blocking
- Warning: Still legally liable for copyright
- Recommendation: YouTube with proper licensing
- Reason: Content ID will verify license
- Benefit: Professional monetization
- Recommendation: Both, but expect YouTube claims
- YouTube: May require dispute process
- DTube: No automated claims
- Credential Protection: OAuth2 tokens stored securely
- Environment Variables: Sensitive data in .env
- Git Ignore: Credentials excluded from version control
- HTTPS: Secure API communications
- File Validation: Type and size checking
- Keep API credentials secure
- Ensure content rights
- Respond to legal notices
- Maintain licensing records
- Understand fair use doctrine
- Python 3.8+
- IPFS (for DTube)
- YouTube API credentials
- Broadband internet
./quickstart.sh
python app.pySee SETUP_GUIDE.md for comprehensive instructions.
Returns comparison of both platforms' copyright policies.
Returns detailed information about YouTube or DTube.
Uploads video to selected platform(s).
Authenticates with YouTube via OAuth2.
Health check endpoint.
- ML Copyright Detection: Pre-upload content analysis
- Batch Upload: Multiple videos at once
- Scheduling: Delayed publishing
- Analytics: View stats from both platforms
- Thumbnail Generation: Automatic sprite creation
- Video Editing: Basic trim/crop capabilities
- Transcoding: Format optimization per platform
- Multi-Language: Internationalization support
- Rumble
- Odysee
- Peertube
- Vimeo
- Dailymotion
- Speed: Depends on Google's servers (fast)
- Processing: Immediate Content ID scan
- Availability: Usually immediate (after processing)
- Speed: Depends on IPFS daemon and network
- Processing: No automated scanning
- Availability: Depends on IPFS pinning
Run the test suite:
python test_app.pyTests cover:
- Configuration loading
- Copyright policy system
- YouTube uploader initialization
- DTube uploader initialization
- Flask app endpoints
- API responses
This software is provided for educational purposes. Users are solely responsible for:
- Ensuring they have rights to upload content
- Complying with copyright laws
- Responding to legal notices
- Understanding fair use in their jurisdiction
The authors are not liable for copyright infringement or legal issues arising from use.
- NoblePort Systems
- NoblePort.eth
- GitHub Issues for bug reports
- See README.md for detailed documentation
MIT License - See LICENSE file for details.
Developed by NoblePort Systems for the decentralized content creator community.
- Python 3
- Flask
- Google APIs
- IPFS
- HTML5/CSS3/JavaScript
This dual-platform video uploader provides content creators with:
- Freedom of choice between platforms
- Clear understanding of copyright risks
- Tools for managing both centralized and decentralized uploads
- Professional-grade API integrations
- User-friendly interfaces for all skill levels
Empowering Decentralized Content Creation - NoblePort Systems