Commit Graph

61 Commits

Author SHA1 Message Date
Андрей Бобырев
0143eafde7 fix: reset admin password on reinstall 2026-09-19 13:58:24 +03:00
andrey271192
0a3f9de717 fix: auto-detect amnezia container runtime 2026-06-23 12:18:08 +03:00
Андрей Бобырев
b264108819 fix: default awg container name 2026-06-06 14:46:39 +03:00
Андрей Бобырев
dc9b0ffac0 fix: default runtime login to admin 2026-06-06 10:48:46 +03:00
Андрей Бобырев
db7e41c3b8 fix: use admin default on fresh install 2026-06-06 10:39:13 +03:00
Андрей Бобырев
93f2e4ddc0 fix: accept cached login payloads 2026-06-06 10:04:32 +03:00
Андрей Бобырев
44c634f8ac fix(ui): users table layout clipping v1.2.33
table-layout:auto + min-width scroll; action buttons nowrap;
compact name cell flex; keep last-disconnect column on mobile.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 05:27:50 +03:00
Андрей Бобырев
281bc73214 style: Apple/3x-ui inspired panel redesign
Refresh admin UI with system typography, glass cards, refined badges
and table hover states. Bump to v1.2.32; no JS or selector changes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 05:14:14 +03:00
Андрей Бобырев
443baaeafb fix: enable client management in basic panel
After PRO removal, readOnlyClients stayed true and client API routes
still used requireProTier, blocking toggle/rename/dates/export in UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 05:02:23 +03:00
Андрей Бобырев
edbe50c046 fix: restore panel boot after PRO refactor
hydratePanelPromoFooter was removed in 90f9443 but still called at
module load, causing ReferenceError and leaving login/app hidden.
Restore footer hydration; drop yellow promo strip from panel UI.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 04:50:51 +03:00
Андрей Бобырев
90f94434e9 refactor: separate basic web panel from pro product
Remove upgrade banners, GitHub PAT install flow, pro edition tier,
and all references to amnezia_web-PRO. Panel is now a standalone
basic product: view/delete clients and MTProto proxy only.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-30 04:40:03 +03:00
Андрей Бобырев
1d741d5065 fix(install): print initial admin password
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-26 19:36:56 +03:00
andrey271192
b8abffc22d README.md 2026-05-15 15:08:08 +03:00
andrey271192
8e6382bb71 README.md 2026-05-15 15:05:48 +03:00
andrey271192
580ddf8a0e README.md 2026-05-15 11:53:36 +03:00
andrey271192
30e9de1c3a README.md 2026-05-15 11:52:06 +03:00
Андрей Бобырев
6a88321c2b docs(readme): add Amnezia Web positioning section (truthful scope)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 06:54:52 +03:00
Андрей Бобырев
fd3cf93bff docs: add project description block and expand package.json summary
Short Russian intro for what amnezia_web is, FREE vs PRO, and Docker.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 06:28:29 +03:00
Андрей Бобырев
1fc992fbfd docs: move support block to bottom of README 2026-05-15 06:05:54 +03:00
Андрей Бобырев
1df8c99c47 fix: always show token field in FREE banner, remove conditional
Token input + "Установить PRO" button now renders unconditionally
in community edition. Removed the else-branch with the "disabled"
hint text entirely — the field is always present.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 05:58:58 +03:00
Андрей Бобырев
8e886d6547 feat: token field ON by default in FREE, donate links everywhere
- server.js: ALLOW_COMMUNITY_GITHUB_ACTIVATION defaults to true for
  community edition (disable explicitly with =0/false/no/off)
- app.js: updated hint text when field is disabled by owner
- public/index.html: donate links block on login screen
- public/styles.css: .gate-donate styles
- landing: proj-support-strip with donate links
- README: unified "Поддержка проекта" block + blockquote at top
- .github/FUNDING.yml: Boosty + Ozon + Telegram
- scripts/install.sh: updated comment header
- version bumped to 1.2.28

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 05:52:15 +03:00
Андрей Бобырев
24ce104aea fix(ui): explain missing GitHub token row on FREE banner
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 05:10:06 +03:00
Андрей Бобырев
29c01e11ac docs(readme): add Amnezia admin panel screenshots
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 05:06:26 +03:00
Андрей Бобырев
11d8003cef docs(readme): MTProto API and reverse-proxy /api
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 04:28:28 +03:00
Андрей Бобырев
5451ca806a fix(panel): harden WARP and MTProto routing
- Re-apply WARP rules after container restart; wait for warp up
- Drop stale WARP IPs from UI when no matching peer AllowedIPs
- MTProto: status?withLogs=1, GET /api/mtproto/tail, richer /api/* 404 JSON
- WARP intro + MTProto copy; bump patch to 1.2.24

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 04:25:11 +03:00
Андрей Бобырев
3c2866818a perf(mtproto): fast tg link; logs via separate endpoint
/api/mtproto/status skips docker logs. /api/mtproto/logs loads tail async. Install response sets link card immediately. v1.2.23.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 04:14:35 +03:00
Андрей Бобырев
c72a7b9c02 fix(ui): restore index.html; add Ozon to panel promo
Repair broken HTML merge. Extend /api/panel/footer with PANEL_FOOTER_OZON_URL (default Ozon СБП) and labels in strip+footer.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 04:12:25 +03:00
Андрей Бобырев
9d751922fb feat(panel): auto tg link host + theme switcher
mtproto status now derives advertised host from request when MTPRO_PUBLIC_HOST/CLIENT_CONFIG_ENDPOINT are unset, so tg:// always works with the host:port the admin uses. Adds copy button. Adds theme selector (auto/light/dark) persisted in localStorage with prefers-color-scheme fallback.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 04:03:00 +03:00
Андрей Бобырев
bb007ad644 feat(panel): donor strip + Telegram sponsor in footer
Public GET /api/panel/footer with env-backed URLs (defaults: Boosty + t.me sponsor). install.sh forwards PANEL_FOOTER_*. Promo only in admin SPA, not nginx landing.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:57:36 +03:00
Андрей Бобырев
8d6bf1a45c feat(ui): light theme + mtproto host-port explainer
Default palette is light for readability; fix orphaned .edition-banner CSS. Explain Docker 443→host map in mtproto panel. Cache-bust css/js v1.2.19.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:55:10 +03:00
Андрей Бобырев
eaee4d78f7 fix(mtproto): harden panel + deploy visibility
- Rename snapshot to snap; bust app.js cache (?v).\n- /health returns version from package.json; startup log prints v.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:41:49 +03:00
Андрей Бобырев
6c2698c106 fix(mtproto-ui): restore status fetch, trim promo footer
ReferenceError fixed by awaiting /api/mtproto/status before using snap. Footer: GitHub-only; dropped Boosty/Ozon/Telegram. Removed advertiseHint from install JSON (hint remains on status).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:32:45 +03:00
Андрей Бобырев
ecf754c7da feat(community): manage Telegram MTProto proxy from FREE UI
Docker pull/run/remove/restart via host socket (no SSH), optional
secrets and tg:// links when MTPRO_PUBLIC_HOST or CLIENT_CONFIG_ENDPOINT set.
Expose MTPRO_* and UI_HIDE_MTPROTO through install.sh.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:27:50 +03:00
Андрей Бобырев
485fea7ef7 fix(ui): hide cascade in FREE even when state fetch fails
/api/protocols now returns uiHidden alongside edition; client
applies both so cascade/warp stay hidden if /api/clients errors
out (e.g. missing clientsTable in tunnel container).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 03:11:18 +03:00
Андрей Бобырев
11c753c010 feat(community): probe AWG conf/clients paths in autodetect
Auto AWG_PROFILES now docker-execs each amnezia-awg* container to
pick wg0.conf vs awg0.conf, fallback find, clientsTable siblings.
Fixes legacy layouts where awg0.conf does not exist.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:54:56 +03:00
Андрей Бобырев
5c00d08c79 fix(install): mirror PRO tarball auth via GITHUB_TOKEN
Keep FREE installer aligned with PRO: support api.github.com
tarball endpoint with bearer token; tolerate SHA-suffixed dir.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:47:26 +03:00
Андрей Бобырев
9e17b05444 feat(community): auto-detect AWG_PROFILES for PRO install
Before spawning helper, scan running amnezia-awg* containers and
build AWG_PROFILES JSON labeled by UDP port; pass via env so PRO
install.sh writes it into new panel and /root snapshot.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:41:02 +03:00
Андрей Бобырев
d902f78667 fix(community): install openssl and tar into helper
PRO install.sh calls openssl (line 102) for initial secrets and
tar to unpack the release; Alpine docker:*-cli ships neither.
Add them to apk/apt step plus early presence check for clearer log.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:33:21 +03:00
Андрей Бобырев
ab40786dee fix(community): mount real host data dir into helper
Helper used DATA_DIR (in-container path) for bind-mount source.
Daemon created phantom /data on host, log + staging went there
instead of /opt/amnezia-admin-data. Resolve HOST_DATA_DIR via env
or docker inspect; place staging under DATA_DIR so single mount
exposes both log and install.sh to helper.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:30:02 +03:00
Андрей Бобырев
da925022cb fix(community): write install log footer inside helper
finalize() runs in killed FREE panel misses footer; helper survives.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 02:16:46 +03:00
Андрей Бобырев
0213003ff9 fix(community): PRO helper logs full prelude; safe GH token env; prelude ;
Redirect helper stdout/err to install log; pass PAT via spawn env (-e VAR),
fix prelude chaining; clearer missing bash/curl exit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:44:17 +03:00
Андрей Бобырев
9f5aa3929f fix(community): install bash in docker helper for PRO install.sh shebang
docker: 26-cli image lacks bash; exec bash exited immediately (code≈2).
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:40:39 +03:00
Андрей Бобырев
31945d8868 feat(install): INSTALL_FREE_COMMUNITY_ACTIVATION persists GitHub PRO UI opt-in
One env enables community + ALLOW_COMMUNITY_* and writes marker in DATA volume
for idempotent reinstalls without re-export.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:37:32 +03:00
Андрей Бобырев
5e51175d44 fix(install): tolerate docker port failure on stopped panel container
pipefail aborted the script after download when inspect succeeded but port
mapping was unavailable (Stopped/Created).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:31:31 +03:00
Андрей Бобырев
262ae5238e fix(install): AWG multi-count pipeline no longer dies on grep miss
pipefail + grep with zero matches exited the script before docker build.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:30:27 +03:00
Андрей Бобырев
5c3797d3d8 docs(install): explain GitHub stall; curl timeouts and optional progress
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:23:51 +03:00
Андрей Бобырев
08fb053d9f fix(community): install curl in docker helper before private install.sh
Alpine docker:26-cli lacked curl causing PRO install to fail/tar garbage;
also sweep containers matching name substring amnezia-admin-pro (compose IDs).

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:20:05 +03:00
Андрей Бобырев
6c213ef49e feat(community): live install log panel in FREE UI + install-log API
Poll community-install-last.log after «Установить PRO» with GET
/api/community/install-log; preserve log DOM across banner redraws.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:17:47 +03:00
Андрей Бобырев
902bd99395 fix(community): PRO install from UI uses docker-cli helper to free :8080
Run install.sh in a disposable docker:26-cli container after docker rm
FREE/landing/stale PRO; keeps working after API response. Legacy in-panel
bash retained when COMMUNITY_DISABLE_DOCKER_CLI_HELPER=1. Persist related
env vars in install.sh from previous container.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:14:18 +03:00
Андрей Бобырев
dab8807cc7 chore: bump to 1.1.9
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-15 01:09:18 +03:00