Skip to content

mertercelik/btk-sorgu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BTK Sorgu

Türkiye'de BTK tarafından engellenen alan adlarını DNS sorgusu ile tespit eden araç.

Nasıl Çalışır

Türk ISP'leri engelli alan adları için DNS yanıtında özel bir IP adresi döndürür (195.175.254.2). Bu araç ilgili DNS sunucusuna A kaydı sorgusu yaparak dönen IP'yi kontrol eder. Captcha çözme veya web scraping gerektirmez.

Kurulum

npm install btk-sorgu

Kullanım

import { checkDomain, checkDomains, createChecker } from 'btk-sorgu';

const sonuc = await checkDomain('discord.com');
// { domain: 'discord.com', blocked: true, resolvedIp: '195.175.254.2', dnsServer: '195.46.158.3', error: null }

const sonuclar = await checkDomains(['google.com', 'discord.com']);

const checker = createChecker({
  dnsServers: ['195.46.158.3'],
  blockedIps: ['195.175.254.2'],
  timeout: 5000,
});
await checker.check('google.com');
await checker.checkMany(['a.com', 'b.com']);

CommonJS

const { checkDomain } = require('btk-sorgu');

CLI

btk-sorgu discord.com
btk-sorgu google.com discord.com
btk-sorgu --json discord.com
btk-sorgu --dns 195.46.158.3 discord.com

API

checkDomain(domain, options?)

Tek alan adı sorgular. Promise<CheckResult> döner.

checkDomains(domains, options?)

Birden fazla alan adını paralel sorgular. Promise<CheckResult[]> döner.

createChecker(options)

Tekrar kullanılabilir checker oluşturur. check ve checkMany metodları içerir.

CheckerOptions

Alan Tip Varsayılan Açıklama
dnsServers string[] ['195.46.158.3'] DNS sunucu adresleri
blockedIps string[] ['195.175.254.2'] Engelli IP adresleri
timeout number 5000 Zaman aşımı (ms)

CheckResult

Alan Tip Açıklama
domain string Sorgulanan alan adı
blocked boolean Engel durumu
resolvedIp string | null Çözümlenen IP
dnsServer string Kullanılan DNS sunucusu
error string | null Hata kodu

Hata Yönetimi

Fonksiyonlar throw etmez. Hata oluşursa error alanında hata kodu döner, blocked her zaman false olur. Toplu sorgularda tek bir hata diğer sonuçları etkilemez.

DNS Sunucuları

Sağlayıcı Adres
Vodafone 195.46.158.3

Başka bir ISP DNS'i kullanmak için dnsServers parametresini değiştirin.

Bağımlılık

Sıfır. Sadece node:dns/promises kullanır.

Gereksinimler

Node.js 18+

Lisans

MIT

Contributors