Underground 2 Revived
Play Need for Speed: Underground 2 (2004) in Chrome and Firefox with WebGPU graphics, Web Audio, up to 120 fps widescreen, controller support, free roam and Online races with friends. Fan project, not
Ukrainian fan hub for Aion players: live EuroAion, Origin Aion and AionDestiny server status, instance schedules, crafting and stigma calculators, client localization.
GamesJavaScript · HTMLGitHub @juniorapiOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Український фан-сайт для гравців Aion: онлайн серверів, розклад подій, калькулятори, лічильники для стріму
й локалізація. Відкривається на https://juniorapi.github.io/aionua/ (GitHub Pages з гілки main).
З 5.10.2026 це нова версія (дизайн «Безодня»): вона переїхала з папки v2/ у корінь, на старі адреси
сторінок. Старий дизайн лишився в історії git.
| Сторінка | Файл | Що вміє |
|---|---|---|
| Головна | index.html | онлайн трьох серверів наживо, найближчі події, пошук інструментів (клавіша /), покажчик усіх інструментів, банер локалізації |
| Розклад | schedule/index.html | шкала «Сьогодні» з лінією поточного часу, тижнева таблиця, перемикач EuroAion / Origin Aion / AionDestiny, фільтри категорій; сервер у посиланні: schedule/?server=origin |
| Кристали, стрижні, божики | crystal_crafting/index.html | три калькулятори рецептів: матеріали на один крафт і на партію до 999 крафтів |
| Біжутерія | craft/index.html | калькулятори біжутерії й матеріалів, точки збору дарриту, опалу, сераміуму, давнього ефіру й фоніки |
| Сувої, зілля, їжа | spc/index.html | чотири калькулятори з ефектами предметів; однакові назви рецептів підписані матеріалом чи пропорцією |
| Енергокінез, ефірокінез | essencetapping/, aethertapping/ | ресурси за расою, регіоном і рівнем навички, пошук, координати [pos:…] з кнопкою копіювання |
| Стигми 4.6 і 4.8 | stigma/, stigmas/ | сторінки в дизайні сайту, а сам калькулятор — оригінальний, у рамці: перемикач версії й мови, для 4.8 — ряд класів; збірка живе в адресі сторінки (stigma/#код, stigmas/#клас/код); на телефоні 4.6 зменшується цілком, а 4.8 ставить слоти над списком |
| Калькулятор чар | aion-4.6-enchantment-calculator/index.html | шанс для кожного з 41 рівня каменю за рідкістю, рівнем предмета й зачаруванням |
| Конвертер ефіру | efir/index.html | сяючий, чистий і очищений ефір у звичайному магічному |
| Solution / Hammer Counter | tempering-solution-counter/, ice-hammer-counter/ | налаштування оверлею (мова підпису, фон, свій підпис), посилання для OBS, прев'ю з кнопками; сам оверлей — overlay.html |
| Локалізація | localization/index.html | інсталятори клієнтів із версією, розміром і датою з релізу GitHub, скрипти перекладу сайтів, інструкція |
Калькулятори стигм — оригінали з stigma/calculator/ і stigmas/<клас>/ у рамці. Усередині рамки вони
ховають власний фон, кнопку «Назад» і підвал (embed.js у їхніх папках), а посилання на збірку беруть
у сторінки через window.stigmaShareLink. Відкриті напряму (старі закладки), вони переходять на сторінку
сайту з тією самою збіркою. Нові сторінки збираються з компонентів DESIGN.md.
euroaion/, originaion/, aiondestiny/ ведуть на schedule/?server=euro|origin|destiny;
файли schedule.json у цих папках лишаються — їх пише збирач;v2/… веде на ту саму сторінку без v2/, з параметрами й #збіркою (у v2/ лише перенаправлення);tempering-solution-counter/ і ice-hammer-counter/ в OBS (window.obsstudio) одразу показують
overlay.html?lang=en з тим самим числом: так джерела «Браузер», налаштовані на стару сторінку,
працюють без змін;stigma/calculator/ і stigmas/<клас>/, відкриті напряму, — див. вище.Сторінки нічого не збирають самі:
aionua-online.borsay86.workers.dev (код у worker/), запасний варіант data.json;euroaion/schedule.json, originaion/schedule.json, aiondestiny/schedule.json
(їх оновлюють fetch_online.py і destiny_schedule.py у GitHub Actions, .github/workflows/fetch.yml);<інструмент>/data.json, перенесені зі скриптів старих сторінок;
іконки предметів — у <інструмент>/images/;localStorage під ключами старих сторінок (waterCount, hammerCount),
тож рахунок переходить разом зі стрімером;localization/dates.js (його оновлюють разом
із релізом), справжні — з релізу localization через GitHub API; скрипти *.user.js
лежать у localization/, бо їхні @updateURL ведуть на
raw.githubusercontent.com/juniorapi/aionua/main/localization/…, тобто саме на цей шлях
у репозиторії. Через raw, а не Pages: Pages розгортається GitHub Actions, і під час збою
Actions (5.10.2026) оновлення стояли в черзі; raw віддає файл із гілки за ~5 хв без Actions.Правила відображення онлайну (коли ховати число, коли стверджувати «офлайн») пояснені в коментарях
assets/js/online.js.
├── index.html головна
├── schedule/index.html розклад
├── crystal_crafting/, craft/, spc/ крафт: index.html + data.json
├── essencetapping/, aethertapping/ збирання: index.html + data.json
├── aion-4.6-enchantment-calculator/, efir/ калькулятори без даних
├── tempering-solution-counter/, ice-hammer-counter/ index.html + overlay.html для OBS
├── localization/ сторінка локалізації, dates.js, скрипти *.user.js, логотипи
├── stigma/, stigmas/ сторінки стигм 4.6 і 4.8; оригінальні калькулятори — stigma/calculator/, stigmas/<клас>/
├── euroaion/, originaion/, aiondestiny/ schedule.json + перенаправлення на розклад
├── v2/ лише перенаправлення зі старих адрес нової версії
├── data.json онлайн для запасного варіанта
├── fetch_online.py, destiny_schedule.py збирачі онлайну й розкладів (GitHub Actions)
├── worker/ воркер Cloudflare з онлайном наживо
├── DESIGN.md дизайн-система «Безодня»: токени, компоненти, правила
└── assets/
├── css/v2.css усі стилі й токени
├── css/overlay.css оверлей лічильника: окремо, щоб OBS не тягнув увесь сайт
├── img/favicon.svg
└── js/
├── home.js точка входу головної
├── schedule-page.js точка входу розкладу
├── online.js сервери й фракції
├── events.js «Найближчі події»
├── search.js пошук інструментів
├── schedule-model.js спільна модель розкладу й переклади назв
├── header.js меню на телефоні
├── format.js множини, час, тривалість
└── tools/ сторінки інструментів
├── craft-page.js точка входу крафту
├── tapping-page.js точка входу збирання
├── recipes.js калькулятор рецепта
├── gathering.js список ресурсів і координати
├── enchant.js калькулятор чар
├── ether.js конвертер ефіру
├── stigma-embed.js рамка калькулятора стигм: адреса, класи, мова, масштаб
├── counter.js сторінка лічильника для стріму
├── counter-overlay.js оверлей для OBS
├── counter-core.js спільне для лічильника й оверлею
├── localization.js реліз і скрипти локалізації
└── common.js лічильник, копіювання, іконки
Без збірки й залежностей: звичайні HTML, CSS і модулі JavaScript.
Мова перемикається кнопками UA/EN у шапці. Вибір лежить у ?lang=en (посиланням можна поділитися)
і в localStorage під ключем aionua:lang, тож решта сторінок відкривається тією ж мовою.
Українська — мова за замовчуванням і живе в самому HTML.
data-en (текст), data-en-html
(розмітка з тегами), data-en-aria-label, data-en-title, data-en-placeholder, data-en-alt,
data-en-content (для <meta name="description">). Їх застосовує localizePage() з
assets/js/i18n.js, яку викликає initHeader().tr("українською", "in English") з assets/js/i18n.js; формати чисел і дат у
format.js уже беруть мову сайту.nameEn, titleEn, labelEn, descriptionEn,
regionEn поруч з українськими. Назви предметів — офіційні з англійського клієнта (звірено з
Aion Codex за ID предмета).assets/js/lang-boot.js у <head> ховає англійську сторінку, доки її не перекладено, щоб вона не
блимала українською.Додаючи текст на сторінку, одразу додайте data-en або tr(): tests/i18n.e2e.mjs падає, якщо
англійська сторінка показує хоч одну українську літеру.
Сторінки чекають, що сайт лежить у підпапці /aionua/, як на GitHub Pages. Найпростіше:
mkdir -p /tmp/site && ln -sfn "$PWD" /tmp/site/aionua
npx http-server /tmp/site -p 8080
# відкрити http://localhost:8080/aionua/
Воркер онлайну відповідає на localhost:8080, тож онлайн буде живий і локально.
node --test tests/*.e2e.mjs
python3 -m unittest tests/test_destiny_schedule.py
Потрібен Playwright. site.e2e.mjs (головна й розклад) підставляє власні дані й фіксує час, тож не
залежить від того, що зараз у data.json і розкладах; tools.e2e.mjs звіряє розрахунки інструментів з їхніми
data.json; stigma-calculators.e2e.mjs перевіряє сторінки стигм з оригінальними калькуляторами (збірку
в адресі, класи, мову, заточку, українські підказки, телефон); redirects.e2e.mjs — старі адреси; i18n.e2e.mjs —
перемикач мови й те, що англійські сторінки (і на телефоні) не мають жодного українського слова.