It looks like this is a web page, not a feed. I looked for a feed associated with this page, but couldn't find one. Please enter the address of your feed to validate.

Source: http://www.bitcoinprime.pro

  1.  
  2. <!DOCTYPE html>
  3. <html lang="en">
  4. <head>
  5.    <meta charset="UTF-8">
  6.    <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7.    <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8.    <title>CoinsDude</title>
  9.    <meta name="google" content="notranslate">
  10.    <meta name="theme-color" content="#191722">
  11.    <meta name="google-site-verification" content="75oCMQxNROwIFTU0YQs-eJJ4AdqnqoJSoRvV_cjLvVA" />
  12.  
  13.    <style>
  14.    /* latin */
  15.    @font-face {
  16.     font-family: 'Outfit';
  17.     font-style: normal;
  18.     font-weight: 400;
  19.     font-display: swap;
  20.     src: url(https://fonts.gstatic.com/s/outfit/v5/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  21.     unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  22.    }
  23.    
  24.    /* latin */
  25.    @font-face {
  26.     font-family: 'Outfit';
  27.     font-style: normal;
  28.     font-weight: 700;
  29.     font-display: swap;
  30.     src: url(https://fonts.gstatic.com/s/outfit/v5/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  31.     unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  32.    }
  33.    
  34.    /* latin */
  35.    @font-face {
  36.     font-family: 'Outfit';
  37.     font-style: normal;
  38.     font-weight: 900;
  39.     font-display: swap;
  40.     src: url(https://fonts.gstatic.com/s/outfit/v5/QGYvz_MVcBeNP4NJtEtq.woff2) format('woff2');
  41.     unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
  42.    }
  43.    
  44.    *,
  45.    :after,
  46.    :before {
  47.     padding: 0;
  48.     margin: 0;
  49.     box-sizing: border-box;
  50.    }
  51.    
  52.    body {
  53.     /*background: #191722;*/
  54.     font-family: 'Outfit', sans-serif;
  55.     display: flex;
  56.     margin: auto;
  57.     justify-content: center;
  58.     align-items: center;
  59.     height: 100vh;
  60.    }
  61.    
  62.    .container {
  63.     /*background: #191722;*/
  64.     padding: 25px;
  65.     border-radius: 20px;
  66.    }
  67.    
  68.    
  69.    .header {
  70.     width: 150px;
  71.     height: auto;
  72.     margin: 0 auto 30px;
  73.     display: block;
  74.    }
  75.    
  76.    .countdown_container {
  77.     display: flex;
  78.     flex-wrap: wrap;
  79.     justify-content: space-between;
  80.     margin: 0 auto;
  81.     overflow: hidden;
  82.     width: 280px;
  83.    }
  84.    
  85.    .countdown__item {
  86.     border-radius: 10px 0 25px 25px;
  87.     overflow: hidden;
  88.     text-align: center;
  89.     color: grey;
  90.     flex-direction: column;
  91.     min-width: 60px;
  92.     background: conic-gradient(#f0269b, #463bd2, #38bc66, #fda30e 590deg, #f0269b);
  93.     /* background: linear-gradient(163deg, #e91e63, #00ff0a); */
  94.     clip-path: polygon(0 0, 100% 17%, 91% 100%, 9% 100%);
  95.    }
  96.    
  97.    .countdown__digits {
  98.     color: #ffffff;
  99.     font-size: 25px;
  100.     font-weight: 900;
  101.     padding: 18px 0 6px;
  102.     text-shadow: rgb(109 84 9) 2px 1.5px 0px;
  103.    }
  104.    
  105.    .countdown__label {
  106.     color: #fff;
  107.     font-size: 11px;
  108.     padding: 7px 0px;
  109.     background: rgba(0, 0, 0, 0.2);
  110.     text-transform: uppercase;
  111.     font-weight: 500;
  112.    }
  113.    
  114.    .deadline {
  115.     text-align: center;
  116.     position: relative;
  117.     color: #ffffff;
  118.     font-size: 16px;
  119.     font-weight: bold;
  120.     letter-spacing: 1px;
  121.     margin: 0 auto 35px;
  122.     opacity: 0.7;
  123.     padding: 6px 0;
  124.     background: linear-gradient(90deg, transparent, #ffffff30, transparent);
  125.     font-variant: small-caps;
  126.    }
  127.    </style>
  128. </head>
  129. <body>
  130.    <div class="container">
  131.       <!--<img class="header" src="https://onlylearns.com/crypto/logo.png?v=1.11" />-->
  132.       <div class="deadline">We Are Coming Soon.</div>
  133.       <div id="countdown" class="countdown_container">
  134.          <div class="countdown__item">
  135.             <div class="countdown__digits" id="day"></div>
  136.             <div class="countdown__label" id="day-countdown">Days</div>
  137.          </div>
  138.          <div class="countdown__item">
  139.             <div class="countdown__digits" id="hour"></div>
  140.             <div class="countdown__label" id="hour">Hrs</div>
  141.          </div>
  142.          <div class="countdown__item">
  143.             <div class="countdown__digits" id="minute"></div>
  144.             <div class="countdown__label" id="minute-countdown">Min</div>
  145.          </div>
  146.          <div class="countdown__item">
  147.             <div class="countdown__digits" id="second"></div>
  148.             <div class="countdown__label" id="second">Sec</div>
  149.          </div>
  150.       </div>
  151.    </div>
  152.  
  153.      <script>
  154.        // if ('serviceWorker' in navigator) {
  155.        //   window.addEventListener('load', function() {
  156.        //     navigator.serviceWorker.register('/firebase-messaging-sw.js').then(function(registration) {
  157.        //       // Registration was successful
  158.        //       console.log('ServiceWorker registration successful with scope: ', registration.scope);
  159.        //     }, function(err) {
  160.        //       // registration failed :(
  161.        //       console.log('ServiceWorker registration failed: ', err);
  162.        //     });
  163.        //   });
  164.        // }
  165.      </script>
  166.      
  167.    <script>
  168.            // timmer
  169.            var deadline = new Date("Sep 20, 2024 00:00:00+0:00").getTime();
  170.            var x = setInterval(function() {
  171.            var now = new Date().getTime();
  172.            var t = deadline - now;
  173.            var days = Math.floor(t / (1000 * 60 * 60 * 24));
  174.            var hours = Math.floor((t%(1000 * 60 * 60 * 24))/(1000 * 60 * 60));
  175.            var minutes = Math.floor((t % (1000 * 60 * 60)) / (1000 * 60));
  176.            var seconds = Math.floor((t % (1000 * 60)) / 1000);
  177.            document.getElementById("day").innerHTML = days.toString().length < 2 ? '0' + days : days;
  178.            document.getElementById("hour").innerHTML = hours.toString().length < 2 ? '0' + hours : hours;
  179.            document.getElementById("minute").innerHTML = minutes.toString().length < 2 ? '0' + minutes : minutes;
  180.            document.getElementById("second").innerHTML = seconds.toString().length < 2 ? '0' + seconds : seconds;
  181.            if (t < 0) {
  182.                    clearInterval(x);
  183.                    document.getElementById("countdown").style.display = "none";
  184.                    document.getElementById("day").innerHTML ='0';
  185.                    document.getElementById("hour").innerHTML ='0';
  186.                    document.getElementById("minute").innerHTML ='0' ;
  187.                    document.getElementById("second").innerHTML = '0'; }
  188.            }, 1000);
  189.  
  190.        </script>
  191.  
  192.        <script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-app.js"></script>
  193.        <script src="https://www.gstatic.com/firebasejs/8.9.1/firebase-messaging.js"></script>
  194.  
  195.        <script>
  196.        
  197.        const sendTokenToServer = (token) => {
  198.        //     const formData = new FormData();
  199.        // formData.append("push_token", token);
  200.          fetch( "https://bitcoinprime.pro/push/save-token/", {
  201.            method: "POST",
  202.            headers: {"Content-Type": "application/json"},
  203.            body: JSON.stringify({ push_token: token, deviceType: getDeviceType()}),
  204.            // body: formData,
  205.          }).then((response) => {
  206.              if (response.ok) {
  207.                console.log("Token sent to server successfully.");
  208.              } else {
  209.                console.error("Failed to send token to the server.", response);
  210.              }
  211.            }).catch((error) => {
  212.              console.error("Failed to send token to the server.", error);
  213.            });
  214.        };
  215.        
  216.        async function init() {
  217.            const registration = await navigator.serviceWorker.register("/firebase-messaging-sw.js");
  218.            await navigator.serviceWorker.ready;
  219.    
  220.            firebase.initializeApp({
  221.              apiKey: "AIzaSyB-pLUUP_lVmvtqJruoChTpITs-VjTXe1M",
  222.              authDomain: "notification-test-59e5d.firebaseapp.com",
  223.              databaseURL: "https://notification-test-59e5d-default-rtdb.firebaseio.com",
  224.              projectId: "notification-test-59e5d",
  225.              storageBucket: "notification-test-59e5d.appspot.com",
  226.              messagingSenderId: "1083167483097",
  227.              appId: "1:1083167483097:web:f37f8eed7650f9a71ccac8",
  228.            });
  229.            
  230.            const messaging = firebase.messaging();
  231.            messaging.usePublicVapidKey("BNml_IdtB58X1SwZOw7Dxbp3OduW9aLmGOaVAN3LHJ4LUJdkTLBigulLFfb-tMANJRoO5Oq18-oTwhIzPZ04Uz0");
  232.            messaging.useServiceWorker(registration);
  233.    
  234.            if ('Notification' in window) {
  235.                Notification.requestPermission().then((permission) => {
  236.                    if (permission === 'granted') {
  237.                        console.log('Notification permission granted.');
  238.                        
  239.                        messaging.getToken().then((currentToken) => {
  240.                            if (currentToken) {
  241.                                console.log('Current Token:', currentToken);
  242.                                sendTokenToServer(currentToken);
  243.                            } else {
  244.                                console.log('No registration token available.');
  245.                            }
  246.                        }).catch((err) => {
  247.                            console.log('An error occurred while retrieving token. ', err);
  248.                        });
  249.                        
  250.                    } else {
  251.                        console.log('Unable to get permission to notify.');
  252.                    }
  253.                });
  254.            } else {
  255.                console.log('This browser does not support notifications.');
  256.            }
  257.        }
  258.        
  259.        init();
  260.        
  261.        // Device info
  262.        function getDeviceType() {
  263.          var userAgent = navigator.userAgent;
  264.          if (/mobile/i.test(userAgent)) return "mobile";
  265.          else if (/iPad|Android|Touch/i.test(userAgent)) return "tablet";
  266.          else return "desktop";
  267.    }
  268.  
  269.        </script>
  270. </body>
  271. </html>
Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda