initial commit

initial commit
This commit is contained in:
2026-07-13 22:20:40 +03:00
commit 96b396149e
9 changed files with 5658 additions and 0 deletions
+108
View File
@@ -0,0 +1,108 @@
# 📻 Linux ve Windows Arka Plan APRS Beacon İstemcisi
Bu proje; Linux ve Windows tabanlı cihazlarda sistem açılışında arka planda tamamen otomatik çalışan, sistem kaynaklarını tüketmeyen hafif bir **APRS-IS (Automatic Packet Reporting System - Internet Service)** konum bildirim istemcisidir.
Herhangi bir grafik arayüze (GUI) ihtiyaç duymadan çalışır. İstasyonunuzun konumunu, durum mesajını ve harita simgesini periyodik olarak gönderir.
---
## ✨ Özellikler
- **Sıfır Bağımlılık:** Sadece standart Python 3 kütüphanelerini kullanır (pip ile ek paket yüklemeye gerek yoktur).
- **Otomatik Başlangıç:**
- **Linux:** `systemd` kullanıcı servisi (`systemd --user`) ve `loginctl linger` kullanır. Bilgisayar açıldığında kullanıcı oturum açmasa dahi arka planda otomatik başlar.
- **Windows:** Windows Görev Zamanlayıcı (Task Scheduler) ile kullanıcı oturum açtığında görünmez şekilde (konsol açılmadan) çalışır.
- **Passcode Üretici:** Kurulum esnasında çağrı işaretiniz için gerekli olan APRS-IS şifresini (passcode) otomatik hesaplar.
- **Düşük Kaynak Tüketimi:** Sürekli TCP bağlantısı açık tutmak yerine belirtilen dakikada bir sunucuya bağlanıp paketi iletir ve bağlantıyı kapatır.
---
## 🚀 Kurulum ve Çalıştırma
### 🐧 Linux Kurulumu
Bu projeyi tek bir komutla doğrudan kurabilir veya güncelleyebilirsiniz:
```bash
bash <(curl -sL https://raw.githubusercontent.com/mcturan/aprs/main/install.sh)
```
*(Kurulum bittikten sonra log takibi için: `tail -f ~/.aprs-beacon/aprs_beacon.log`)*
---
### 💻 Windows Kurulumu
Bu projeyi tek bir komutla doğrudan kurabilir veya güncelleyebilirsiniz. **PowerShell** ekranında aşağıdaki komutu çalıştırmanız yeterlidir:
```powershell
PowerShell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/mcturan/aprs/main/install.ps1 | iex"
```
*(Görev Zamanlayıcıya eklenir. Log takibi için: `Get-Content -Path "$HOME\.aprs-beacon\aprs_beacon.log" -Wait -Tail 10`)*
---
## 🗺️ Harita Üzerinde İzleme
Servis ilk paketi gönderdikten sonra, istasyonunuzu canlı olarak [aprs.fi](https://aprs.fi/) üzerinden takip edebilirsiniz:
👉 `https://aprs.fi/#!call=a%2F<ÇAGRI_İŞARETİNİZ>` (Örn: `https://aprs.fi/#!call=a%2FN0CALL-9`)
---
## 🎛️ Çoklu Profil ve Yönetim Arayüzü (APRS Manager)
Bu güncelleme ile artık aynı anda birden fazla APRS beacon'ını (örneğin farklı SSID veya çağrı işaretleri ile) çalıştırabilir ve bunları görsel arayüzden yönetebilirsiniz.
### Özellikler:
- **Grafik Arayüz (GUI):** Sisteminizdeki tüm profilleri listeler, aktif/pasif durumlarını gösterir, tek tıklamayla başlatıp durdurmanızı sağlar. **Aydınlık (light) temalı, temiz ve modern bir tasarıma sahiptir.**
- **APRS Chat (Mesajlaşma):** Her profile ait özel "Chat" butonu ile diğer çağrı işaretlerine veya SMS/E-posta ağ geçitlerine (örneğin SMSGTE) doğrudan APRS kısa mesajı gönderip alabilirsiniz.
- **Özelleştirilebilir Perşembe Etkinliği (APRS Thursday):** ANSRVR grubuna perşembe günleri gönderilen katılım mesajı metnini ve saatini her profil için ayrı ayrı özelleştirebilirsiniz.
- **Otomatik Güncelleme Kontrolü:** Program günlük olarak arka planda en son sürümü kontrol eder, yeni bir sürüm varsa otomatik yükler ve sizi bilgilendirir.
- **Sistem Tepsisi (Tray Icon):** Uygulama kapatıldığında arka planda sistem tepsisinde (görev çubuğunda) çalışmaya devam eder. Hızlıca durumları izleyebilir ve profilleri kontrol edebilirsiniz.
- **Log İzleyici:** Her profile ait logları arayüz üzerinden canlı ve anlık olarak takip edebilirsiniz.
- **CLI Modu:** GUI kütüphaneleri yüklü olmayan veya grafik arayüzü bulunmayan (headless) sunucularda terminal komutları ile tüm profilleri kolayca yönetebilirsiniz.
### Kullanım:
Yönetim panelini başlatmak için:
```bash
python3 ~/.aprs-beacon/aprs_manager.py gui
```
*(Uygulama menüsündeki "APRS Multi-Beacon Manager" kısayolunu da kullanabilirsiniz).*
Terminal üzerinden (CLI) yönetim komutları:
- Profilleri Listele: `python3 ~/.aprs-beacon/aprs_manager.py list`
- Yeni Profil Ekle: `python3 ~/.aprs-beacon/aprs_manager.py create`
- Profil Düzenle (Güncelle): `python3 ~/.aprs-beacon/aprs_manager.py edit`
- Profili Başlat: `python3 ~/.aprs-beacon/aprs_manager.py start <profil_adi>`
- Profili Durdur: `python3 ~/.aprs-beacon/aprs_manager.py stop <profil_adi>`
- Profili Sil: `python3 ~/.aprs-beacon/aprs_manager.py delete <profil_adi>`
- Ayarları Dışa Aktar: `python3 ~/.aprs-beacon/aprs_manager.py export [yedek_yolu.json]`
- Ayarları İçe Aktar: `python3 ~/.aprs-beacon/aprs_manager.py import <yedek_yolu.json>`
- Uygulamayı Güncelle (Git Pull): `python3 ~/.aprs-beacon/aprs_manager.py update`
---
## 🗑️ Tamamen Kaldırma (Uninstall)
Uygulamayı, arka plan servislerini, zamanlanmış görevleri ve tüm yapılandırma/günlük dosyalarını sisteminizden tamamen temizlemek için aşağıdaki adımları uygulayabilirsiniz:
### 🐧 Linux (Tek Komutla Kaldırma)
Aşağıdaki komutu terminale yapıştırarak tüm servisleri durdurup uygulamayı silebilirsiniz:
```bash
systemctl --user stop aprs-beacon.service 2>/dev/null
systemctl --user disable aprs-beacon.service 2>/dev/null
rm -f ~/.config/systemd/user/aprs-beacon.service
systemctl --user daemon-reload
rm -rf ~/.aprs-beacon
```
---
### 💻 Windows (PowerShell ile Kaldırma)
**PowerShell** ekranında aşağıdaki komutları sırasıyla çalıştırarak zamanlanmış görevi kaldırıp dosyaları temizleyebilirsiniz:
```powershell
Stop-ScheduledTask -TaskName "APRSBeacon" -ErrorAction SilentlyContinue
Unregister-ScheduledTask -TaskName "APRSBeacon" -Confirm:$false -ErrorAction SilentlyContinue
Remove-Item -Path "$env:USERPROFILE\.aprs-beacon" -Recurse -Force -ErrorAction SilentlyContinue
```
---