A powerful userscript for downloading videos from Bilibili with an intuitive floating control panel and batch download queue system.
- ๐ฏ Smart Video Detection: Automatically detects video information from Bilibili pages
- ๐ฅ Multiple Download Methods: Support for direct download, RPC, and AriaNG
- ๐๏ธ Floating Control Panel: Clean, draggable interface with quality/format selection
- ๐ Batch Download Queue: Add multiple videos and download them sequentially
- ๐ง Quality Selection: Choose from 360P to 8K Ultra HD
- ๐ฑ Responsive Design: Works on all Bilibili video pages
- โก Real-time Progress: Live download progress with speed/size tracking
- ๐จ Modern UI: Beautiful gradient design with smooth animations
-
Download
belibeli-download-only.user.jsfrom this repository -
Open your browser and install a userscript manager:
- Tampermonkey (recommended): Chrome | Firefox
- Greasemonkey: Firefox
- Violentmonkey: Chrome/Firefox
-
Open the downloaded
.user.jsfile in your browser -
Click "Install" when prompted by your userscript manager
- Copy the entire content of
belibeli-download-only.user.js - Open your userscript manager
- Create a new userscript
- Paste the code and save
- Navigate to any Bilibili video page
- Look for the floating download button (๐ฅ) in the bottom-right corner
- Click it to open the control panel
- Select your preferred quality and format
- Click "๐ฌ Download Current" to download the video
- On video list pages, hover over video thumbnails
- Click the "+" button that appears to add videos to queue
- Open the control panel and click "โถ Start Queue" to download all queued videos
- Quality: 360P, 480P, 720P, 1080P, 4K, 8K
- Format: MP4, DASH, FLV
- Method: Direct Download, RPC, AriaNG
For advanced users who want to use external download managers:
- Set up an RPC server (like aria2 with RPC enabled)
- Configure the RPC settings in the control panel:
- Domain: Your RPC server address (default:
http://localhost) - Port: RPC port (default:
16800) - Token: Authentication token (if required)
- Domain: Your RPC server address (default:
// In the userscript, you can modify these settings:
const CONFIG = {
download_type: 'blob', // 'blob' | 'rpc' | 'ariang' | 'web'
format: 'mp4', // 'mp4' | 'flv' | 'dash'
base_api: 'https://api.bilibili.com/x/player/playurl',
video_quality: '80', // Default quality (80 = 1080P)
// RPC Settings
rpc_domain: 'http://localhost',
rpc_port: '16800',
rpc_token: '',
// AriaNG Settings
ariang_host: 'http://ariang.injahow.com/'
};The script works on all Bilibili video pages:
- โ
Regular videos (
/video/av123456or/video/BV1xx411x7xD) - โ
Bangumi/Anime (
/bangumi/play/ep123456or/bangumi/play/ss12345) - โ
Courses (
/cheese/play/ep123456or/cheese/play/ss12345) - โ Video lists and collections
- Modular Design: Clean separation of concerns with dedicated classes
- Error Handling: Robust error handling with retry mechanisms
- API Integration: Uses official Bilibili APIs for reliable downloads
- Cross-browser: Compatible with all modern browsers
VideoInfo: Handles video information extractionDownloadManager: Manages download operationsAPIRequest: Handles API communicationsDownloadQueue: Manages batch download queueUIController: Controls the user interfaceMessageSystem: Handles user notifications
- โ No data collection
- โ No external tracking
- โ Uses only official Bilibili APIs
- โ Respects user's download choices
- โ No malicious code
Script not loading:
- Make sure your userscript manager is enabled
- Check that the script is enabled for Bilibili domains
- Try refreshing the page
Download fails:
- Check your internet connection
- Try a different quality setting
- Some videos may have region restrictions
Queue not working:
- Make sure you're on a video list page
- Try refreshing the page
- Check browser console for errors
Open browser console and use:
// Get current video info
window.BilibiliDownload.getVideoInfo()
// Get download URL for current video
window.BilibiliDownload.getVideoURL()
// Access configuration
window.BilibiliDownload.config- โจ Complete UI redesign with floating control panel
- ๐ฏ Improved video detection and API integration
- ๐ Added batch download queue system
- ๐ง Enhanced error handling and retry mechanisms
- ๐จ Modern gradient design with smooth animations
- ๐ฑ Better mobile responsiveness
- ๐ฌ Initial release with basic download functionality
- ๐ฅ Support for multiple download methods
- โ๏ธ Quality and format selection
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
This userscript is for educational purposes only. Please respect Bilibili's terms of service and copyright laws. The author is not responsible for any misuse of this script.
- Thanks to the Bilibili community for inspiration
- Built with jQuery for cross-browser compatibility
- Uses official Bilibili APIs for reliable operation
If you encounter any issues or have suggestions:
- Check the troubleshooting section above
- Open an issue on GitHub
- Provide detailed information about your problem
Happy downloading! ๐ฌ๐ฅ
