API Referansı
CLI ve Node.js derlemeleri için herkese açık javascript-obfuscator paketini kullanın. Paket, akışları ve büyük yüklemeleri kendisi yönetir. Doğrudan REST istemcileri aşağıdaki protokolü uygulamalıdır.
İzle
Using the Obfuscator.io API: API Keys, npm Package, CLI and Custom Presets
Ayarlar → API Anahtarları bölümünden bir API anahtarı oluşturun. Pro, Team veya Business erişimi gerekir. Anahtarı sunucunuzda veya CI gizli bilgi deposunda tutun, asla tarayıcı kodunda tutmayın. javascript-obfuscator paketi anahtarı apiToken olarak alır (CLI'da --pro-api-token); doğrudan bir REST isteği ise anahtarı Authorization: Bearer başlığında gönderir. Team veya Business planında ekip sahibi API Anahtarı Oluştur iletişim kutusunda Ekip servis anahtarı seçeneğini işaretleyebilir; bu anahtar bir kişiye değil ekibe aittir, bu yüzden üyeler ayrıldığında da çalışmaya devam eder.
API Anahtarları · NPM Paketini Kullanma
İstek
POST https://obfuscator.io/api/v1/obfuscate
code ve options alanlarını içeren JSON gönderin. En az bir Pro özelliğini etkinleştirin: vmObfuscation: true veya parseHtml: true. Tekrarlanabilir derlemeler için version sorgu parametresini sabitleyin; bu parametre verilmezse en son sürüm kullanılır. Parametre 8.0.0 gibi tam bir sürümü ya da bir aralığı kabul eder: ^8.0.0 8.x'in yeni minor ve patch sürümlerini, ~8.0.0 ise 8.0.x'in patch sürümlerini izler; bir aralık, eşleşen en yüksek sürüme çözümlenir. Aralıklar Team veya Business planı gerektirir.
options seçeneklerin kendisini listeler; optionsPreset içindeki bir ön ayar adı uygulanmaz. Yerleşik ya da özel bir ön ayarla derlemek için seçeneklerini ayrı bir istekle ön ayarlar uç noktasından alın ve options olarak gönderin.
Ekip sahibi bir sürümü veya bir ön ayarı zorunlu kılarsa, bu ayar ekip üyeleri ve ekip servis anahtarları için isteğin version veya options değerini geçersiz kılar. Bkz. Ekibiniz için sürümü zorunlu kılma ve Paylaşılan Ön Ayarlar.
| Başlık | Değer |
|---|---|
Content-Type | application/json |
Authorization | Bearer YOUR_API_KEY |
Yanıt
Gövdeyi satır sonuyla ayrılmış JSON (NDJSON) olarak okuyun. Bir ağ okuması bir JSON satırını veya bir UTF-8 karakterini bölebilir. İlerleme mesajı tamamlanma anlamına gelmez: bir result veya chunk_end mesajı bekleyin ve warnings alanını saklayın.
Küçük çıktı tek bir result mesajıyla gelir. Büyük çıktı chunk mesajları ve ardından gelen chunk_end ile gelir. Her iki son mesaj da çıktıyı üreten somut obfuscator sürümünü içeren version alanını taşır (bir aralık istediğinizde veya ekip bir sürümü zorunlu kıldığında işe yarar). warnings, ölümcül olmayan obfuscation uyarılarını { type, message, functionName? } biçiminde listeler ve uyarı yoksa hiç gönderilmez; bu yüzden eksik alanı boş bir liste olarak ele alın. VM derlemeleri ve HTML girdisi için source map üretilmez. sourceMap: true ile düz JavaScript'in parseHtml derlemesi, source map'i son mesajın sourceMap alanında ya da büyükse sourceMap parçaları olarak döndürür.
Uygulama hataları, genellikle HTTP 200 ile birlikte akış içinde error mesajları olarak gelir. Hem HTTP durum kodunu hem de akıştaki hataları kontrol edin. Altyapı ve yükleme uç noktaları 2xx dışında HTTP yanıtları döndürebilir.
Node.js (.mjs)
Ön ayarlar
GET https://obfuscator.io/api/v1/presets/{name}
Bir ön ayarın seçeneklerini, obfuscate isteğinin options alanı olarak gönderilmeye hazır şekilde döndürür. Aynı Authorization: Bearer başlığını gönderin. Ad büyük/küçük harfe duyarsız olarak eşleştirilir ve yanıt bir akış değil, tek bir JSON nesnesidir. Aşağıdaki örnekler kısaltılmıştır.
- Yerleşik ön ayarlar:
{name},vm-defaultgibi yerleşik bir ön ayardır (bkz. Ön Ayar Seçimi).versionsorgu parametresi, ön ayarı döndürülecek obfuscator sürümünü seçer; obfuscate uç noktasıyla aynı değerleri kabul eder ve varsayılan olarak en son sürümü kullanır.descriptionveupdatedAtdeğerlerinullolur. - Özel ön ayarlar:
{name}, panelde özel bir ön ayarın kaydetme iletişim kutusunda belirlenen API takma adıdır;optionsise kaydedilmiş yapılandırmadır (yalnızca bir ön ayardan değiştirilenler değil, tüm seçenekler). Görünürlük paneldekiyle aynıdır: bir API anahtarı, kullanıcısının kendi ön ayarlarını ve o kullanıcının ekip sahibinin paylaştıklarını çözümler; bir ekip servis anahtarı ise sahibin ön ayarlarını çözümler.
GET https://obfuscator.io/api/v1/presets/vm-default
GET https://obfuscator.io/api/v1/presets/production
| Durum | Anlamı |
|---|---|
| 200 | Ön ayarın kendisi. |
| 400 | Ad hatalı biçimlendirilmiş (1-20 karakter, a-z harfleri, rakamlar, kısa çizgiler veya alt çizgiler; bir harf veya rakamla başlamalıdır) ya da version desteklenmiyor. |
| 401 | API anahtarı eksik, geçersiz veya süresi dolmuş. |
| 403 | Hesap askıya alınmış, etkin abonelik yok veya API erişimi olmayan bir plan. |
| 404 | İstenen sürümde bu ada sahip yerleşik bir ön ayar yok ve bu takma ada sahip, anahtar tarafından görülebilen özel bir ön ayar da yok. |
| 429 | Hız sınırına takıldı; istek, Limitler ve hatalar bölümündeki kullanıcı başına ve IP başına bütçeleri paylaşır. |
| 500 | Ön ayar araması sunucuda başarısız oldu. Daha sonra yeniden deneyin. |
Hatalar {"error": "..."} biçimindedir. javascript-obfuscator paketi ve CLI'ı için kullanım örnekleri NPM Paketini Kullanma sayfasındadır.
Limitler ve hatalar
Plan limitleri kaynak boyutuna ve kullanıma uygulanır. Kaçış karakterleri ve seçenekler dahil olmak üzere serileştirilmiş JSON gövdesinin tamamını 4.4 MB altında tutun. Daha büyük kaynaklar geçici yüklemeler gerektirir; bunlar Team ve Business planlarında yalnızca javascript-obfuscator paketi üzerinden kullanılabilir. Güncel plan limitlerinizi panelden kontrol edin.
API, kullanıcı başına (kullanıcının tüm anahtarları arasında paylaşılır) dakikada 30 isteğe ve IP başına dakikada 100 isteğe izin verir. Ön ayar istekleri, obfuscation istekleriyle aynı bütçelerden sayılır.
Hız sınırlaması, kota hataları ve kesintiye uğrayan akışlar derlemeyi durdurmalıdır. Yeniden denemeleri bilinçli olarak yapın; tekrarlanan bir istek ek kullanım tüketebilir. Kısmi çıktı yayınlamayın.
