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'
}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();
}| Metot | Endpoint | Açıklama |
|---|---|---|
| GET | /users/@me |
Mevcut kullanıcı bilgilerini getirir |
| GET | /services |
Kullanıcının tüm hizmetlerini listeler |
| GET | /tickets |
Tüm destek biletlerini listeler |
| GET | /tickets/{id} |
Belirli bileti getirir |
| GET | /users/@me/invoices |
Faturaları listeler |
| GET | /users/@me/invoices/{id} |
Fatura detaylarını getirir |
| GET | /users/@me/sessions |
Aktif oturumları getirir |
| Metot | Endpoint | Açıklama |
|---|---|---|
| GET | /services/{id}/vps/info |
VPS detaylarını getirir |
| POST | /services/{id}/vps/action |
VPS eylemi gönderir (REBOOT, SHUTDOWN) |
| GET | /services/{id}/vps/graphs |
VPS kullanım grafiklerini alır |
| GET | /services/{id}/vps/tasks |
VPS görevlerini listeler |
| POST | /services/{id}/vps/password |
Root şifresini değiştirir |
| GET | /services/{id}/vps/os-templates |
İşletim sistemi şablonlarını listeler |
| POST | /services/{id}/vps/reinstall |
VPS'i yeniden kurar |
| POST | /services/{id}/vps/backups/{date}/{file} |
Belirli yedeği geri yükler |
| Metot | Endpoint | Açıklama |
|---|---|---|
| GET | /services/{id}/firewall/{ip}/rules |
Kuralları listeler |
| POST | /services/{id}/firewall/{ip}/rules |
Yeni kural oluşturur |
| DELETE | /services/{id}/firewall/{ip}/rules/port |
Porta göre siler |
| DELETE | /services/{id}/firewall/{ip}/rules/app |
Uygulamaya göre siler |
| GET | /services/{id}/firewall/{ip}/attack-logs |
Saldırı loglarını getirir |
| GET | /services/{id}/firewall/{ip}/stats |
İstatistikleri getirir |
| GET | /services/{id}/firewall/{ip}/reverse-dns |
Reverse DNS kayıtlarını listeler |
| PUT | /services/{id}/firewall/{ip}/reverse-dns |
Reverse DNS günceller |
| GET | /services/{id}/firewall/{ip}/attack-notification |
Bildirim ayarlarını getirir |
| PUT | /services/{id}/firewall/{ip}/attack-notification |
Bildirim ayarlarını günceller |
| Metot | Endpoint | Açıklama |
|---|---|---|
| GET | /services/{id}/dedicated/info |
Sunucu bilgilerini getirir |
| POST | /services/{id}/dedicated/action |
Eylem gönderir |
| GET | /services/{id}/dedicated/hardware |
Donanım bilgilerini getirir |
| GET | /services/{id}/dedicated/tasks |
Görevleri listeler |
| GET | /services/{id}/dedicated/os-templates |
OS şablonlarını getirir |
| POST | /services/{id}/dedicated/reinstall |
Yeniden kurulum başlatır |
| GET | /services/{id}/dedicated/reinstall-status |
Yeniden kurulum durumunu getirir |
- Token'ınızı kaynak kodda tutmayın, ortam değişkeni kullanın.
try-with-resourcesile 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.