Onlyfans Coomer.su

Adds a link to the user's profile in the specified menu

As of 2024-04-28. See the latest version.

// ==UserScript==
// @name         Onlyfans Coomer.su
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Adds a link to the user's profile in the specified menu
// @author       You
// @match        https://onlyfans.com/*
// @grant        none
// @license      Unlicense
// ==/UserScript==

(function() {
    'use strict';

    function getUsernameFromUrl() {
        const urlParts = window.location.pathname.split('/');
        const username = urlParts[1];
        return username;
    }

    function fetchUserProfile(username, retryCount = 0) {
        const apiUrl = `https://coomer.su/api/v1/onlyfans/user/${username}/profile`;

        fetch(apiUrl)
            .then(response => {
                if (!response.ok) {
                    if (response.status === 404) {
                        console.log(`User ${username} not found`);
                    } else {
                        throw new Error('Network response was not ok');
                    }
                }
                return response.json();
            })
            .then(data => {
                if (data) {
                    const profileUrl = `https://coomer.su/onlyfans/user/${username}`;
                    const menuElement = document.querySelector('.l-header__menu.m-native-custom-scrollbar.m-scrollbar-y.m-invisible-scrollbar');
                        const aElement = document.createElement('a');
                        aElement.setAttribute('href', profileUrl);
                        aElement.textContent = 'Coomer.su';
                        menuElement.appendChild(aElement);
                }
            })
            .catch(error => {
                if (retryCount < 5) {
                    console.log(`Retrying... Attempt ${retryCount + 1}`);
                    setTimeout(() => fetchUserProfile(username, retryCount + 1), 1000);
                } else {
                    console.error('Error fetching data:', error);
                }
            });
    }

    const username = getUsernameFromUrl();
    fetchUserProfile(username, 0);

})();