Yasin DemirandClaude Opus 5 b0a0aa9e3c Fix trial cleanup, users.db perms, DB field escaping and /tmp races
- create_trial_account wrote a 6-field record, so the marker landed in
  field 6 while firewallfalcon-trial-cleanup.sh reads field 7. Trials were
  never actually removed. Write the daily-bandwidth field so the layout
  matches, and drop a <user>.trial_expiry stamp so the limiter's sweep --
  previously dead code, nothing ever created those files -- can act as a
  fallback when atd is unavailable.
- create_user tagged every normal account as "trial"; use "normal" so the
  now-working cleanup cannot delete a regular user. Also remove the
  trial_expiry stamp when an account is deleted.
- ensure_firewallfalcon_dirs now chmods users.db to 0600; it stores
  cleartext passwords and was created world-readable by touch.
- Replace the `sed -i "s/^user:.*/..."` record updaters with an awk-based
  db_set_user_field. Values containing / or & are now stored literally and
  the trailing marker field is preserved (renew_user also truncated the
  record to five fields).
- Validate operator-supplied passwords: ':' breaks the record layout, a
  backslash is eaten by awk -v, quotes and whitespace break the consumers.
- Use mktemp instead of the fixed /tmp/ff_banners_new.conf and
  /tmp/badvpn_build paths, which root wrote in a world-writable directory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-16 06:18:25 +03:00
2026-09-16 06:00:33 +03:00
2026-09-16 06:00:33 +03:00

SSH-Manager (TNS243-GLOBAL Manager — self-contained bundle)

TNS243-GLOBAL/ManagerPanel'in remote-bağımsız (offline) dağıtımı. Kurulum sırasında GitHub'a bağlanmaz; tüm birinci-parti dosyalar paketin içindedir. udp-custom binary'lerinin UPX katmanı açılmış (unpacked) haldedir.

Upstream (ManagerPanel) bağımlılığı tamamen kaldırılmıştır: panel, udp-custom, udpgw ve falconproxy artık yalnızca yerel bundle'dan kurulur. Dosya eksikse menü uzaktan indirmeye düşmez, hata verip durur.

VPS kurulumu

Yöntem 1 — Tek satır (önerilen)

bash <(curl -sL https://git.yasindemir.link/yasin/SSH-Manager/raw/branch/main/install.sh)

Yöntem 2 — Manuel klon

git clone https://git.yasindemir.link/yasin/SSH-Manager.git
cd SSH-Manager
sudo bash install.sh

Kurulum sonrası

  • menu komutu ile yönetim menüsü açılır.
  • Kurulum, bundle'ı /opt/firewallfalcon-bundle altına yerleştirir; menü dosyalarını (panel, udp-custom, udpgw, falconproxy) buradan okur.
  • Önceki SSH yapılandırması sshd_config.backup.<tarih> olarak yedeklenir.

Notlar

  • udp/udp-custom-linux-amd64 / udp-custom-linux-arm: UPX ile açılmış build'ler. Orijinal paketli haller dışarıda (*.upxbackup) tutulur ve bundle'a girmez.
  • Web panel: menu içinden kurulur, JSON tabanlı oturum yönetimi /etc/firewallfalcon altındadır.
  • udp/udpgw bir x86-64 build'idir. ARM64 sunucuda udpgw kaynaktan derlenir (ambrop72/badvpn, internet gerekir). Tamamen offline ARM kurulumu için arm64 derlenmiş bir udpgw'yi udp/udpgw-linux-arm64 adıyla repoya koymak yeterlidir; menü varsa otomatik onu kullanır.

Kalan internet bağımlılıkları (üçüncü taraf / opsiyonel)

Aşağıdakiler ManagerPanel ile ilgili değildir; ilgili menü öğesi seçilmedikçe çalışmazlar:

Modül Kaynak
badvpn (ve ARM'de udpgw derlemesi) github.com/ambrop72/badvpn
ZiVPN github.com/zahidbd2/udp-zivpn releases
DNSTT dnstt.network
3x-ui / x-ui raw.githubusercontent.com/mhsanaei, alireza0 install script'leri
DDNS desec.io API
Public IP tespiti icanhazip.com
SSL sertifikası certbot / Let's Encrypt
Paket kurulumu dağıtımın apt/dnf depoları

Ayrıca web panel arayüzü fonts.googleapis.com üzerinden font çeker; internet yoksa yalnızca yazı tipi fallback'e düşer, işlevsellik etkilenmez.

S
Description
No description provided
Readme
12 MiB
Languages
Shell 65%
HTML 17.7%
Python 17.3%