Nodesty Java API İstemcisi nodesty.com 'un güçlü API'sine Java uygulamalarınızdan kolayca erişmenizi sağlayan modern, asenkron ve tip-güvenli (type-safe) bir istemci kütüphanesi.
⚡ Reaktif ve Asenkron : RxJava3 ile tamamen asenkron, non-blocking operasyonlar. 🔒 Tip-Güvenliği : Güçlü tip kontrolü sayesinde daha az çalışma zamanı hatası. 🔄 Otomatik Serileştirme : Gson ile JSON ve Java nesneleri arasında otomatik dönüşüm. ⚙️ Esnek Yapılandırma : Timeout, yeniden deneme sayısı, rate limit ve loglama seviyesi gibi kritik ayarları kolayca yönetin. 📦 Modern Kaynak Yönetimi : AutoCloseable arayüzü ile try-with-resources bloğunda otomatik kaynak temizliği. repositories {
mavenCentral()
maven { url = uri(" https://jitpack.io" ) }
}
dependencies {
implementation ' com.github.nodestycom:java-api-client:main-SNAPSHOT'
} 1. API İstemcisini Yapılandırma import dev .astatic .nodestyclient .client .ClientOptions ;
import dev .astatic .nodestyclient .client .NodestyApiClient ;
import java .time .Duration ;
String accessToken = System .getenv ("NODESTY_API_TOKEN" );
ClientOptions options = new ClientOptions (accessToken )
.withTimeout (Duration .ofSeconds (45 ))
.withRetry (5 )
.withLogLevel (ClientOptions .LogLevel .BODY );
try (NodestyApiClient client = new NodestyApiClient (options )) {
client .getUser ().getCurrentUser ()
.subscribe (
user -> System .out .println ("Merhaba, " + user .getUsername ()),
error -> System .err .println ("Bir hata oluştu: " + error .getMessage ())
);
Thread .sleep (5000 );
} catch (InterruptedException e ) {
e .printStackTrace ();
}👤 User Service (client.getUser()) Metot Endpoint Açıklama GET /users/@meMevcut kullanıcı bilgilerini getirir GET /servicesKullanıcının tüm hizmetlerini listeler GET /ticketsTüm destek biletlerini listeler GET /tickets/{id}Belirli bileti getirir GET /users/@me/invoicesFaturaları listeler GET /users/@me/invoices/{id}Fatura detaylarını getirir GET /users/@me/sessionsAktif oturumları getirir
☁️ VPS Service (client.getVps()) Metot Endpoint Açıklama GET /services/{id}/vps/infoVPS detaylarını getirir POST /services/{id}/vps/actionVPS eylemi gönderir (REBOOT, SHUTDOWN) GET /services/{id}/vps/graphsVPS kullanım grafiklerini alır GET /services/{id}/vps/tasksVPS görevlerini listeler POST /services/{id}/vps/passwordRoot şifresini değiştirir GET /services/{id}/vps/os-templatesİşletim sistemi şablonlarını listeler POST /services/{id}/vps/reinstallVPS'i yeniden kurar POST /services/{id}/vps/backups/{date}/{file}Belirli yedeği geri yükler
🔥 Firewall Service (client.getFirewall()) Metot Endpoint Açıklama GET /services/{id}/firewall/{ip}/rulesKuralları listeler POST /services/{id}/firewall/{ip}/rulesYeni kural oluşturur DELETE /services/{id}/firewall/{ip}/rules/portPorta göre siler DELETE /services/{id}/firewall/{ip}/rules/appUygulamaya göre siler GET /services/{id}/firewall/{ip}/attack-logsSaldırı loglarını getirir GET /services/{id}/firewall/{ip}/statsİstatistikleri getirir GET /services/{id}/firewall/{ip}/reverse-dnsReverse DNS kayıtlarını listeler PUT /services/{id}/firewall/{ip}/reverse-dnsReverse DNS günceller GET /services/{id}/firewall/{ip}/attack-notificationBildirim ayarlarını getirir PUT /services/{id}/firewall/{ip}/attack-notificationBildirim ayarlarını günceller
🖥️ Dedicated Service (client.getDedicated()) Metot Endpoint Açıklama GET /services/{id}/dedicated/infoSunucu bilgilerini getirir POST /services/{id}/dedicated/actionEylem gönderir GET /services/{id}/dedicated/hardwareDonanım bilgilerini getirir GET /services/{id}/dedicated/tasksGörevleri listeler GET /services/{id}/dedicated/os-templatesOS şablonlarını getirir POST /services/{id}/dedicated/reinstallYeniden kurulum başlatır GET /services/{id}/dedicated/reinstall-statusYeniden kurulum durumunu getirir
🔐 Güvenlik ve En İyi Pratikler Token'ınızı kaynak kodda tutmayın, ortam değişkeni kullanın. try-with-resources ile istemciyi yönetin.Hata yönetimini her .subscribe() çağrısında sağlayın. blockingGet() gibi bloklayıcı metotlardan kaçının.Bu repoyu fork'layın Yeni bir dal oluşturun: git checkout -b feature/yeni-ozellik Değişikliklerinizi yapın ve commit'leyin Dalınızı push'layın: git push origin feature/yeni-ozellik Pull Request oluşturun ⭐ Bu proje işinize yaradıysa bir yıldız bırakmayı unutmayın! ⭐
Nodesty Topluluğu için ❤️ ile geliştirildi.