BootyTape Bigger Thumbnails

Makes thumbnail previews bigger on BootyTape

Size

4.6 KB

Version

1.1.3

Created

Jan 17, 2026

Updated

18 days ago

1// ==UserScript==
2// @name		BootyTape Bigger Thumbnails
3// @description		Makes thumbnail previews bigger on BootyTape
4// @version		1.1.3
5// @match		https://*.ssl.bootytape.com/*
6// @icon		https://ssl.bootytape.com/favicon.ico
7// ==/UserScript==
8(function() {
9    'use strict';
10    
11    console.log('BootyTape Bigger Thumbnails extension loaded');
12    
13    async function replaceWithFullQualityImage(img) {
14        // Get the parent link that points to the details page
15        const link = img.closest('a');
16        if (!link || !link.href.includes('details.php')) {
17            console.log('No details link found for image');
18            return;
19        }
20        
21        try {
22            // Fetch the details page
23            const response = await GM.xmlhttpRequest({
24                method: 'GET',
25                url: link.href
26            });
27            
28            const html = response.responseText;
29            
30            // Look for the full quality image in the details page
31            // The full-size images are in /fibx/imgx/ directory with .800.jpg extension
32            const fullImageMatch = html.match(/https:\/\/cdn\.bootytape\.com\/fibx\/imgx\/\d+_\d+\.800\.jpg/);
33            
34            if (fullImageMatch) {
35                const fullImageUrl = fullImageMatch[0];
36                console.log('Found full quality image:', fullImageUrl);
37                img.src = fullImageUrl;
38                img.dataset.upgraded = 'true';
39                return;
40            }
41            
42            // Fallback: Try to find any larger resolution images
43            const largeImageMatch = html.match(/https:\/\/cdn\.bootytape\.com\/thbx\/imgx\/\d+_\d+\.(\d+)x(\d+)\.jpg/g);
44            
45            if (largeImageMatch && largeImageMatch.length > 0) {
46                // Find the largest image
47                let largestImage = largeImageMatch[0];
48                let maxSize = 0;
49                
50                largeImageMatch.forEach(imgUrl => {
51                    const sizeMatch = imgUrl.match(/\.(\d+)x(\d+)\.jpg/);
52                    if (sizeMatch) {
53                        const width = parseInt(sizeMatch[1]);
54                        const height = parseInt(sizeMatch[2]);
55                        const size = width * height;
56                        if (size > maxSize) {
57                            maxSize = size;
58                            largestImage = imgUrl;
59                        }
60                    }
61                });
62                
63                console.log('Found larger image:', largestImage);
64                img.src = largestImage;
65                img.dataset.upgraded = 'true';
66            } else {
67                console.log('No larger image found on details page');
68            }
69        } catch (error) {
70            console.error('Error fetching details page:', error);
71        }
72    }
73    
74    async function upgradeAllThumbnails() {
75        const thumbnails = document.querySelectorAll('table.main img[src*="cdn.bootytape.com/thbx/imgx/"]:not([data-upgraded])');
76        
77        console.log(`Found ${thumbnails.length} thumbnails to upgrade`);
78        
79        for (const img of thumbnails) {
80            await replaceWithFullQualityImage(img);
81            // Add a small delay to avoid overwhelming the server
82            await new Promise(resolve => setTimeout(resolve, 100));
83        }
84    }
85    
86    function init() {
87        // Add CSS to make thumbnails bigger and styled nicely
88        TM_addStyle(`
89            /* Make thumbnail images in the Image Preview column bigger */
90            table.main img[src*="cdn.bootytape.com/thbx/imgx/"] {
91                width: 200px !important;
92                height: auto !important;
93                max-width: 200px !important;
94                transition: transform 0.2s ease;
95                border: 1px solid #ccc;
96                border-radius: 4px;
97            }
98            
99            /* Add hover effect to make them even bigger on hover */
100            table.main img[src*="cdn.bootytape.com/thbx/imgx/"]:hover {
101                transform: scale(1.3);
102                z-index: 1000;
103                position: relative;
104                cursor: pointer;
105                box-shadow: 0 4px 8px rgba(0,0,0,0.3);
106            }
107            
108            /* Make the Image Preview column wider */
109            td:last-child {
110                min-width: 220px;
111            }
112        `);
113        
114        console.log('Thumbnail styles applied');
115        
116        // Upgrade thumbnails to full quality
117        upgradeAllThumbnails();
118    }
119    
120    // Run when page loads
121    if (document.readyState === 'loading') {
122        document.addEventListener('DOMContentLoaded', init);
123    } else {
124        init();
125    }
126})();
BootyTape Bigger Thumbnails | Robomonkey