Tanpa KYC — tanpa ID, tanpa selfie, tanpa dokumen · Penargetan kota, negara bagian, dan ZIP di setiap paket
Bahasa: Bahasa Indonesia
Mulai

Dokumentasi · Node.js 18+

Proxy residensial Node.js berdasarkan kota AS

Contoh dengan undici (library di balik fetch Node) dan Playwright, sudah dicek sintaksisnya dengan node --check.

Terakhir diperbarui:

Jawaban singkat

Bagaimana cara menggunakan proxy kota AS di Node.js?

Buat undici ProxyAgent untuk http://gw.metroproxies.com:7777 dengan username kota seperti USERNAME-country-us-state-fl-city-orlando, dan teruskan sebagai dispatcher dari fetch; Playwright memakai nilai yang sama di opsi proxy-nya. MetroProxies menyertakan penargetan kota, ZIP, dan ASN pada setiap paket mulai US$0,50/GB (Oktober 2026). Tanpa KYC; kripto.

1. fetch melalui IP kota (simpan sebagai city.mjs)
import { ProxyAgent, fetch } from 'undici';

const user = 'USERNAME-country-us-state-fl-city-orlando';
const agent = new ProxyAgent({
  uri: 'http://gw.metroproxies.com:7777',
  token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
});

const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
if (!res.ok) throw new Error(`HTTP ${res.status}`);
console.log(await res.json());
await agent.close();
2. Beberapa kota, satu agent per kota (simpan sebagai cities.mjs)
import { ProxyAgent, fetch } from 'undici';

const cities = [['fl', 'orlando'], ['fl', 'tampa'], ['ga', 'atlanta']];

for (const [state, city] of cities) {
  const user = `USERNAME-country-us-state-${state}-city-${city}`;
  const agent = new ProxyAgent({
    uri: 'http://gw.metroproxies.com:7777',
    token: 'Basic ' + Buffer.from(`${user}:PASSWORD`).toString('base64'),
  });
  try {
    const res = await fetch('https://ipinfo.io/json', { dispatcher: agent, signal: AbortSignal.timeout(30000) });
    if (!res.ok) throw new Error(`HTTP ${res.status}`);
    const info = await res.json();
    console.log(city, '->', info.ip, info.city, info.region);
  } catch (err) {
    console.log(city, 'failed:', err.message);
  } finally {
    await agent.close();
  }
}
3. Playwright dengan IP kota sticky (simpan sebagai browser.mjs)
import { chromium } from 'playwright';

const browser = await chromium.launch({
  proxy: {
    server: 'http://gw.metroproxies.com:7777',
    username: 'USERNAME-country-us-state-fl-city-miami-session-mia01-ttl-15',
    password: 'PASSWORD',
  },
});
const context = await browser.newContext({ timezoneId: 'America/New_York', locale: 'en-US' });
const page = await context.newPage();
await page.goto('https://ipinfo.io/json', { timeout: 60000 });
console.log(await page.textContent('body'));
await browser.close();

Apa yang perlu saya perhatikan di Node.js?

  • Keep-alive: satu ProxyAgent menggunakan ulang koneksi, jadi dalam mode rotating ia mempertahankan IP keluar yang sama selama koneksi tetap terbuka. Buat satu agent per kota, atau tutup, untuk mendapatkan IP baru.
  • Zona waktu dan locale: opsi timezoneId dan locale di Playwright membuat browser cocok dengan kota; setiap halaman kota mencantumkan zona IANA-nya (Miami: America/New_York).
  • SOCKS5: Chromium tidak mengirim username ke proxy SOCKS5; gunakan port HTTP di browser.
  • Timeout: AbortSignal.timeout() di fetch, timeout di Playwright.
  • Rate: jaga permintaan ke setiap situs tetap wajar dan ikuti robots.txt serta ketentuannya.

Ke mana sebaiknya saya pergi selanjutnya?

Mulai dari setup lima menit, bandingkan dengan contoh Python dan curl, dan periksa exit dengan pemeriksa lokasi proxy. Semua dokumentasi: dokumentasi.

Apa lagi yang orang tanyakan tentang Node.js?

Versi Node.js mana yang saya butuhkan?

Node.js 18 atau lebih baru untuk AbortSignal.timeout dan top-level await di file .mjs. Instal undici dengan npm install undici dan Playwright dengan npm install playwright.

Apakah Puppeteer juga bisa?

Ya: jalankan dengan --proxy-server=http://gw.metroproxies.com:7777 dan panggil page.authenticate({ username, password }) sebelum navigasi pertama.

Apakah contoh-contoh ini dijalankan terhadap gateway?

Contoh-contoh ini dicek sintaksnya dengan node --check, dengan USERNAME dan PASSWORD sebagai placeholder. Jalankan dengan kredensial Anda sendiri.

1 GB US$1,50 · tanpa KYC

Mulai