AdultTime to Intiface/Buttplug.io Bridge
June 3, 2025 ยท View on GitHub
A Python bridge that connects Adult Time video content to Buttplug.io/Intiface devices for interactive experiences. This project automatically downloads and synchronizes funscripts with Adult Time videos, providing real-time haptic feedback through connected toys.
Features
- ๐ฏ Auto-Funscript Detection: Automatically finds and downloads interactive content for Adult Time videos
- ๐ Intiface Integration: Direct connection to Intiface Central for device control
- ๐ Web Interface: Clean web UI for device management and status monitoring
- ๐ฑ Real-time Sync: Synchronized haptic feedback with video playback
- ๐ฎ Multi-Device Support: Works with various Buttplug.io compatible devices
- ๐ WebSocket API: Real-time communication between browser and devices
- ๐ Funscript Caching: Intelligent caching system for downloaded scripts
- ๐๏ธ Intensity Control: Adjustable intensity settings for personalized experience
Prerequisites
- Python 3.8 or higher
- Intiface Central installed and running
- Compatible adult toy devices (Lovense, Kiiroo, etc.)
- Modern web browser with Tampermonkey extension
Installation
1. Clone the Repository
git clone https://github.com/alston808/Adulttime-Intiface-Bridge.git
cd Adulttime-Intiface-Bridge
2. Install Python Dependencies
pip install -r requirements.txt
3. Install Tampermonkey Script
- Install the Tampermonkey browser extension
- Open Tampermonkey dashboard
- Click "Create a new script"
- Copy the contents of
tampermonkey.jsinto the editor - Save the script (Ctrl+S)
4. Setup Intiface Central
- Download and install Intiface Central
- Start Intiface Central
- Enable WebSocket server (default port 6969)
- Connect your devices
Usage
Starting the Bridge
python start_bridge.py
The bridge will start on http://localhost:8080 by default.
Configuration
Create a config.json file to customize settings:
{
"bridge_host": "localhost",
"bridge_port": 8080,
"buttplug_url": "ws://localhost:6969",
"cache_dir": "cache",
"auto_funscript": true,
"debug": false
}
Using with Adult Time
- Ensure the bridge is running
- Navigate to any Adult Time video
- The Tampermonkey script will automatically:
- Connect to the bridge
- Download available funscripts
- Sync haptic feedback with video playback
Web Interface
Visit http://localhost:8080 to access the control panel:
- View connected devices
- Monitor bridge status
- Manually download funscripts
- Adjust intensity settings
API Endpoints
Bridge Status
GET /api/status- Get bridge and device statusGET /api/devices- List connected devices
Funscript Management
POST /api/auto-funscript- Auto-download funscript for a videoGET /api/funscript/{video_id}- Get cached funscript dataPOST /api/download-funscript- Manually download funscript
Device Control
POST /api/connect-buttplug- Connect to Intiface CentralPOST /api/video-event- Send video events (play/pause/seek)
Technical Details
Architecture
Browser (Tampermonkey) โโ Bridge Server โโ Intiface Central โโ Devices
The bridge acts as a middleware layer that:
- Receives video events from the browser
- Downloads and processes funscripts
- Converts timing data to device commands
- Communicates with Intiface Central via WebSocket
Supported Formats
- Funscript (.funscript): Industry standard interactive script format
- Lovense Patterns: Auto-converted to funscript format
- Real-time Audio: Audio level-based intensity (fallback mode)
Device Compatibility
Works with any Buttplug.io compatible device:
- Lovense toys (Max, Nora, Lush, etc.)
- Kiiroo devices
- We-Vibe products
- Many other manufacturers
Troubleshooting
Common Issues
Bridge won't connect to Intiface Central
- Ensure Intiface Central is running
- Check that WebSocket server is enabled (port 6969)
- Verify no firewall is blocking the connection
No funscripts found
- Not all videos have interactive content
- Try manually searching funscript databases
- Check the video URL format is supported
Device not responding
- Ensure device is paired with Intiface Central
- Check device battery level
- Verify device compatibility with Buttplug.io
Browser script not loading
- Disable other userscripts that might conflict
- Check browser console for JavaScript errors
- Ensure Tampermonkey is properly installed
Debug Mode
Enable debug logging by setting debug: true in your config file or running:
python start_bridge.py --debug
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Security & Privacy
- All communication happens locally on your machine
- No data is sent to external servers except for funscript downloads
- Adult Time credentials are never accessed or stored
- Device control remains within your local network
Legal Notice
This software is for educational and personal use only. Users are responsible for complying with all applicable laws and terms of service of the platforms they use. The developers are not affiliated with Adult Time, Intiface, or any device manufacturers.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
- Open an issue for bug reports or feature requests
- Check existing issues before creating new ones
- Include debug logs when reporting problems
Acknowledgments
- Buttplug.io team for the amazing haptics framework
- Intiface for the user-friendly device management
- The funscript community for content and standards
- Adult Time for providing a platform (unofficial integration)