🐾

SkyBlock Pet Skin Tracker v2.0 Web

Gracz: KROLKUFR • Dane z arkusza bazowego
Pobieranie cen z Coflnet...
Suma kupionych skinów (LBIN) 💎
0
0 coins
Liczba kupionych 📦
0 / 0
0% kolekcji 0 niekupionych
Najtańszy NIEKUPIONY skin (L4/L5) 🏷️
—
—
Koszt pozostałych na AH (LBIN > 0) 🛒
0
0 coins 0 dostępnych na AH
🔍
Wyświetlanie 0 skinów Kliknij nagłówek kolumny, aby sortować • Kliknij tag, aby skopiować
Kupione Pet Skin Kategoria / Release Pet Coflnet Item Tag Aktualna cena LBIN Średnia 7d Sprz. 7d Akcje
💸 Planer zakupów (Budżet): Wpisz budżet, aby wyliczyć ile najtańszych skinów kupisz.
Dynamiczna lista wszystkich niekupionych skinów z aktywnym LBIN > 0, posortowana od najtańszego
# Pet Skin Pet / Kategoria LBIN (coins) Średnia 7d Różnica vs 7d Sprz. 7d Tag Akcja

📂 Postęp według kategorii

🎂 Dodatkowe Kolekcje (z końca arkusza)

Uwagi z Twojego arkusza:
• Najtańszy skin NIEKUPIONY jest liczony tylko z LBIN > 0 i Kupione = false.
• Kategorie: Fire Sale, Event Shop Skins, Seasonal Bundle, Taylor's Collection, Renewable / Regalia Room, Other.

🐾 Postęp według Peta (Applied To)

📜 Konsola Logów

🔌 Jak działa połączenie z API (Hypixel & Coflnet)?

Przeglądarki blokują bezpośrednie żądania fetch() do serwerów, które nie zwracają nagłówka CORS (dotyczy to głównie api.hypixel.net). Masz tu dwa wbudowane rozwiązania:

1. Zero instalacji (wklejenie JSON-a z przeglądarki):
Gdy klikniesz Skanuj Storage i wystąpi błąd CORS, pojawi się okno z linkiem do Twoich profili Hypixel — otwierasz w nowej karcie, kopiujesz tekst (Ctrl+A, Ctrl+C) i wklejasz. Aplikacja sama rozpakuje GZIP wszystkich plecaków!

2. Własne lokalne proxy (100% automatyczne, bez wysyłania klucza w sieć):
Zapisz poniższy kod jako proxy.mjs, uruchom node proxy.mjs i w Ustawieniach wpisz Proxy URL: http://localhost:8787/?url=

import http from 'node:http';
const ALLOW = ['api.hypixel.net', 'sky.coflnet.com', 'api.eliteskyblock.com'];
http.createServer(async (req, res) => {
  res.setHeader('Access-Control-Allow-Origin', '*');
  res.setHeader('Access-Control-Allow-Headers', '*');
  if (req.method === 'OPTIONS') return res.writeHead(204).end();
  try {
    const target = new URL(new URL(req.url, 'http://localhost').searchParams.get('url'));
    if (!ALLOW.includes(target.hostname)) return res.writeHead(403).end('Blocked host');
    const headers = {};
    if (req.headers['api-key']) headers['API-Key'] = req.headers['api-key'];
    const r = await fetch(target, { headers });
    res.writeHead(r.status, { 'Content-Type': r.headers.get('content-type') || 'application/json' });
    res.end(Buffer.from(await r.arrayBuffer()));
  } catch (e) { res.writeHead(500).end(e.message); }
}).listen(8787, () => console.log('SkyBlock Proxy działa na http://localhost:8787'));
```