Commit Graph

56 Commits

Author SHA1 Message Date
andrey271192
a686ea967e fix: ship router package helpers 2026-06-12 12:21:26 +03:00
andrey271192
8e491b8f29 docs: add install error fixes 2026-06-11 19:42:47 +03:00
andrey271192
e215cedbb3 fix: clean stable client input pattern 2026-06-11 19:33:06 +03:00
andrey271192
eac33b3cf6 fix: ship stable lib-core helper 2026-06-11 19:27:33 +03:00
andrey271192
3831292330 fix: create patch fetch directories 2026-06-11 19:03:08 +03:00
andrey271192
13644f6991 fix: fetch x64 obfuscator fallback 2026-06-11 14:40:55 +03:00
Андрей Бобырев
07fc4657bf feat: promote.sh — channel promotion/forward-port tool (dev->beta->stable)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-02 15:22:45 +03:00
andrey271192
e97b106adc docs: add user troubleshooting guide 2026-06-01 03:18:41 +03:00
Андрей Бобырев
390501ad34 fix: pull router config through tunnel iface 2026-06-01 01:50:37 +03:00
Андрей Бобырев
e430d1a70c fix: recover secondary API key handling 2026-06-01 00:54:26 +03:00
Андрей Бобырев
fde7b9b897 fix: restore short router install command 2026-06-01 00:48:08 +03:00
Андрей Бобырев
c1a151903a fix: harden router installs and failover sync 2026-06-01 00:02:40 +03:00
Codex
38ff3ae3dd Add stable APK download button 2026-05-31 16:13:20 +03:00
Андрей Бобырев
4c1c82afec stable 1.2.8: scannable QR (ECC L + native size)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.2.8
2026-05-31 15:21:38 +03:00
Андрей Бобырев
0f98c074c8 docs: add full server uninstall section + link
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 15:11:06 +03:00
Андрей Бобырев
286142bd7a docs: APK downloaded via in-panel button (beta/dev), drop manual .apk placement note
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 15:07:47 +03:00
Андрей Бобырев
cf4b5f79b5 docs: CHANGELOG + troubleshooting (handshake/aarch64/phobos-import/uninstall) + update steps
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 15:06:00 +03:00
Андрей Бобырев
5f97c6c6d7 feat: server uninstall.sh (full removal: panel, obfuscator, wg0, nginx, cron, iptables, dirs)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 14:59:49 +03:00
Андрей Бобырев
14bb6ae589 stable 1.2.7: phobos:// pad missing fields with '= none' (PhobosWG import fix)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.2.7
2026-05-31 14:57:21 +03:00
Андрей Бобырев
51712310f6 fix: force OBFUSCATOR_PORT from OBFUSCATOR_PORTS[0] (override lib-core 51821 default)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 13:56:01 +03:00
Андрей Бобырев
6ec1782d8b fix(stable): client obfuscator targets real listening port (OBFUSCATOR_PORTS[0])
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 13:53:37 +03:00
Андрей Бобырев
e61ec09b18 fix: find -type f for wg-obfuscator binary in archive (tar unpacks to dir)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 12:26:40 +03:00
Андрей Бобырев
ed3071a971 bump stable to 1.2.6 (aarch64 router binary fix)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.2.6
2026-05-31 12:24:35 +03:00
Андрей Бобырев
db4cab7a38 fix(stable): fetch router-arch binaries from ClusterM (aarch64, mipsel, armv7)
Keenetic routers are aarch64 but Ground-Zerro only ships x86_64. Installer
now copies all Ground-Zerro binaries + fetches missing arm64/mipsel/armv7
from ClusterM/wg-obfuscator latest release so action_package includes the
right binary for every router architecture.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 12:24:35 +03:00
Андрей Бобырев
9f402be886 fix(stable): api.py in managed_files (port from dev)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 02:48:35 +03:00
Андрей Бобырев
8971565e6e fix: add server/api.py to managed_files (phobos-update now deploys agent)
The secondary agent api.py was not included in the update manifest, so
phobos-update left stale api.py on the server after channel switches.
Adding it ensures bandwidth-aware /api/health reaches secondaries on update.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 02:48:35 +03:00
Андрей Бобырев
b6525bc0ae stable 1.2.5: token field + channel buttons in version card
Ports the channel UI to stable so users who installed the open stable
version can paste their subscriber token (save_token) and switch to
beta/dev straight from Настройки → Версия и обновления. Adds
gh_token_present/save_gh_token helpers and stable/beta/dev quick buttons.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
v1.2.5
2026-05-31 01:57:19 +03:00
Андрей Бобырев
d072c8227f feat: private dev/beta channels via subscriber token (repo split)
Closed channels (beta, dev) now live in a separate PRIVATE repository
andrey271192/PCA_Phobos-dev. Access is gated by a read-only subscriber
GH_TOKEN (distributed via Boosty) instead of a shared hash key — the
token both authenticates the private raw fetch AND acts as the gate, so
there is a single secret and the code is genuinely hidden (public repo
holds stable/main only).

install.sh: CHANNEL=beta|dev -> private repo, requires GH_TOKEN, persists
it to $PANEL_DIR/.gh_token + writes .channel. stable stays public/no-token.
update.sh: per-ref repo routing (repo_for), gh_curl injects the token for
private channels, token read from env or saved .gh_token, --check/--versions
reflect public vs private, stable path unchanged and tokenless.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 01:12:32 +03:00
Андрей Бобырев
7b941dc532 docs: README channels — stable open, beta/dev key-gated (Boosty)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 00:59:45 +03:00
Андрей Бобырев
8c1654ecaa feat: 3-channel model (stable open / beta + dev key-gated)
Channels:
  stable -> branch main  (open, no key)
  beta   -> branch beta  (release candidate, key-gated)
  dev    -> branch dev    (active development, key-gated)

beta and dev require PHOBOS_KEY (subscriber key distributed via Boosty);
only the sha256 hash is embedded in install.sh / update.sh. stable stays
open. install.sh honours CHANNEL=stable|beta|dev; phobos-update accepts
stable|beta|dev|<tag> and gates the closed channels. --check now lists all
three channels with a [закрыт ключом] marker.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-05-31 00:58:06 +03:00
phobos
dc83d90a35 v1.2.4: install stable by default; beta opt-in via CHANNEL=beta (documented) v1.2.4 2026-05-31 00:38:50 +03:00
phobos
e0ea54e83a v1.2.3: debounce server DOWN alerts (3 cycles + retry) fix flapping; update.sh aborts on missing version + --check/--versions + beta channel; panel Check button v1.2.3 2026-05-30 23:52:47 +03:00
phobos
628973374e v1.2.2: contact Telegram -> group @PCAdministration (README + panel footer) v1.2.2 2026-05-30 18:24:24 +03:00
phobos
041a533457 v1.2.1: fix bot button parsing (no arg from button text); bot create sends QR photo + phobos:// link; delete shows inline client picker v1.2.1 2026-05-30 15:14:58 +03:00
phobos
48ae0c2fd8 v1.2.0: Telegram bot buttons (reply keyboard + inline delete + status) v1.2.0 2026-05-30 15:09:26 +03:00
phobos
73af670f59 v1.1.0: per-client notification toggle (bell) + Telegram bot (/add /del /list clients) v1.1.0 2026-05-30 15:00:51 +03:00
phobos
c48d727f6c Phone pages: download buttons — Android PhobosWG APK (self-hosted /app/), iOS WireGuard App Store; installer nginx /app/ 2026-05-30 14:41:01 +03:00
phobos
b37b4cc1a3 README: public docs — human description, features, screenshots section, update/rollback, troubleshooting table 2026-05-30 14:33:22 +03:00
phobos
9e1144d310 Versioning: VERSION file, phobos-update (update/rollback), panel version+update UI v1.0.0 2026-05-30 14:29:50 +03:00
phobos
54867442ae Phone clients: panel generates phobos:// link + QR (Android) and plain WG + QR (iOS); installer qrcode dep + ALLOW_PLAIN_WG option 2026-05-30 14:25:35 +03:00
phobos
87882b0156 Footer: detailed authorship (who made what + whose support); new Telegram link 2026-05-30 14:09:59 +03:00
phobos
95eb17a84a Support links: add Ozon (author) + WireGuard Easy/Emile Nijssen credit; full footer chain 2026-05-30 14:07:24 +03:00
phobos
01c9baab0e Add GitHub Sponsor button (FUNDING.yml -> Boosty) 2026-05-30 14:02:35 +03:00
phobos
6752e61b1e Add support links (author + upstream Phobos/wg-obfuscator) to README + panel footer 2026-05-30 14:01:48 +03:00
phobos
d5313d3572 secondary-setup: fetch agent api.py (with /api/router-config); README turnkey 2026-05-30 13:47:14 +03:00
phobos
8113fb190a install.sh: set -e safe watchdog cron install 2026-05-30 13:44:33 +03:00
phobos
dc09185afd install.sh: optional GH_TOKEN for private-repo fetch 2026-05-30 13:41:46 +03:00
phobos
fff45ca342 turnkey installer: full primary stack one-command + session improvements
- install.sh: rewritten as self-contained turnkey primary installer (deps,
  wg-obfuscator from Ground-Zerro, wg0, obfuscator services, Phobos repo +
  PCA overlay patches, web panel, nginx, router watchdog).
- app.py: current panel (RU/EN, tunnel-pull config endpoint, fan-out, load-aware
  rebalance, online-anywhere status, '?' help).
- overlay/: patched onboarding scripts (phobos-client.sh 403 fix,
  install-router.sh.template tunnel-pull+cron+client_id, router-configure-wireguard
  public WG, phobos-pull.sh tunnel-first).
- server/: phobos-health.sh (self-heal+apply-server), phobos-pull.sh,
  phobos-router-watchdog.py, api.py (agent + /api/router-config).
2026-05-30 13:39:49 +03:00
Андрей Бобырев
5badb15d75 feat: safety checks + backup + uninstall for secondary-setup.sh
Pre-flight checks before installation:
- Detect existing WireGuard, Phobos clients, tokens, server.env
- Check port conflicts (obfuscator ports, 51820, 8444)
- Check running conflicting services
- Pause with warning count if issues found

Safety during install:
- Auto-backup existing configs to /opt/Phobos/backup/TIMESTAMP/
- Preserve existing wg0.conf if found (reuse keys)
- Skip obfuscator binary download if already installed

Clean uninstall script:
- /opt/Phobos/server/phobos-secondary-uninstall.sh
- Stops all services, removes configs and systemd units
- Preserves backup directory
- Removes iptables rules

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-29 00:03:19 +03:00
Андрей Бобырев
ba5a9deeb6 feat: random 5-digit port for panel on install
Panel now gets a random port (10000-59999) instead of fixed 8443.
Harder to find via port scanning, avoids conflicts with existing services.
Port saved to /opt/phobos-panel/.port for reference.
Override with PANEL_PORT=xxxxx env var.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-28 23:53:15 +03:00