Skip to content

nawf-dev/cf_panel

Repository files navigation

CF Panel

Panel untuk mengelola server rumah dengan Cloudflare Tunnel

Instalasi

  1. Clone repositori ini
  2. Jalankan npm install di direktori utama
  3. Masuk ke direktori frontend dan jalankan npm install
  4. Buat file konfigurasi dan enkripsi file sensitif (lihat bagian Konfigurasi di bawah)

Konfigurasi

Enkripsi File Konfigurasi

Sebelum menjalankan aplikasi, Anda perlu mengenkripsi file konfigurasi yang berisi informasi sensitif:

  1. Buat file config/cloudflare-credentials.json dengan struktur:
{
  "authType": "global_key",
  "email": "your_cloudflare_email@example.com",
  "globalApiKey": "your_global_api_key",
  "accountId": "your_account_id",
  "savedAt": "timestamp"
}
  1. Buat file config/config.json dengan struktur:
{
  "server": {
    "port": 9847,
    "host": "0.0.0.0"
  },
  "session": {
    "secret": "your_strong_session_secret_here",
    "maxAge": 86400000
  },
  "cloudflare": {
    "tunnelName": "your_tunnel_name",
    "tunnelId": "your_tunnel_id",
    "domain": "your_domain.example.com"
  },
  "defaultAdmin": {
    "username": "your_admin_username",
    "password": "your_secure_password"
  }
}
  1. Enkripsi file-file tersebut:
# Enkripsi credentials
openssl enc -aes-256-cbc -salt -in config/cloudflare-credentials.json -out config/cloudflare-credentials.json.enc -k "cfpanel_encryption_passphrase_2025"

# Enkripsi konfigurasi
openssl enc -aes-256-cbc -salt -in config/config.json -out config/config.json.enc -k "cfpanel_encryption_passphrase_2025"

Dekripsi File Konfigurasi untuk Penggunaan

Untuk menjalankan aplikasi, Anda perlu mendekripsi file konfigurasi:

# Dekripsi credentials
openssl enc -aes-256-cbc -d -in config/cloudflare-credentials.json.enc -out config/cloudflare-credentials.json -k "cfpanel_encryption_passphrase_2025"

# Dekripsi konfigurasi
openssl enc -aes-256-cbc -d -in config/config.json.enc -out config/config.json -k "cfpanel_encryption_passphrase_2025"

Menjalankan Aplikasi

Mode Development

# Untuk backend
npm run dev:server

# Untuk frontend
npm run dev:client

# Atau untuk keduanya sekaligus
npm run dev:both

Mode Production

# Bangun frontend
npm run build

# Jalankan aplikasi
npm start

Keamanan

  • Pastikan passphrase enkripsi tidak pernah diunggah ke repositori
  • Gunakan credential yang kuat untuk akun admin
  • Ganti session secret dengan nilai acak yang panjang
  • Jangan gunakan default login admin di lingkungan produksi

Lisensi

MIT

About

No description, website, or topics provided.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published