Skip to content

HexZoNetwork/UniversalProxy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

19 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


πŸš€ Universal API Proxy β€” by HexZo Beginner

Universal API Proxy Logo

Solusi ejet buat masalah CORS dan akses API yang ribet,Made By HexZo.

GitHub Stars GitHub Issues Telegram


🌟 Kenapa pake Proxy Ini?

Gue bikin ini karena sering banget (mungkin lu juga) mentok sama problem ini:

  • Benci Error CORS: Capek lihat error Cross-Origin Resource Sharing di console? Proxy ini solusinya.
  • Males Setup Backend: Butuh data dari API publik tapi males bikin server sendiri cuma buat fetch? Pakai ini aja.
  • Eksplorasi & Belajar: Cocok banget buat yang lagi belajar ngoding dan mau coba-coba berbagai macam API tanpa ribet.

⚑ API Siap Pakai

Gak perlu masang. Langsung pakai api publik untuk semua kebutuhan lo.


https://proxyhexzo.netlify.app/.netlify/functions/proxy

✨ Fitur Unggulan

Fitur Deskripsi
πŸ”— Fleksibel Bisa meneruskan request ke mayoritas API publik (REST, JSON, XML).
🌐 Anti-CORS Didesain khusus untuk jadi "obat" masalah CORS dari origin mana pun.
πŸš€ Cukup Cepat Lunch Di Netlify yang cepat dengan logic retry otomatis.
πŸ›‘οΈ Validasi Url Ngecek URL target untuk nyegah request ke endpoint yang ga aman/ngatasin absolute link.
πŸ‘¨β€πŸ’» Ramah Pemula Gampang dipake sama dokumentasi jelas
πŸ€‘ Nyaris Anti DDoS Yah Gmn Yaks Wong ISP Netlify

πŸš€ Cara Make

Ada dua cara utama: pake API bawaan atau proxy ke URL custom.

1. Menggunakan API Bawaan

Pakai parameter ?api= Sama EndPoint

// Mendapatkan info IP publik
fetch('[https://proxyhexzo.netlify.app/.netlify/functions/proxy?api=info.ip](https://proxyhexzo.netlify.app/.netlify/functions/proxy?api=info.ip)')
  .then(res => res.json())
  .then(data => console.log(data));

2. Proxy ke URL costum

Pakai query ?web= untuk meneruskan request ke URL mana pun.

// Melakukan POST request ke API testing
fetch('[https://proxyhexzo.netlify.app/.netlify/functions/proxy?web=https://jsonplaceholder.typicode.com/posts](https://proxyhexzo.netlify.app/.netlify/functions/proxy?web=https://jsonplaceholder.typicode.com/posts)', {
  method: 'POST',
  body: JSON.stringify({ title: 'Coba POST' })
})
.then(res => res.json())
.then(data => console.log(data));

πŸ”§ Clone

Kalo Mau Self Host Ni Api Di Netlify Wajib Ikuti Langkah Di Bwh.

Syarat:

  • Node.js v18+
  • Akun GitHub & Netlify (yang gratisan cukup)

Langkah-langkah:

  1. Fork repo ini.
  2. Di dashboard Netlify, upload project dari repo gw yg udh lu fork.
  3. "Deploy site" And Done Atau
  4. Git Clone Repo Ini Atau Download Source.
  5. Upload Ke Netlify Make Netlify-Cli Biar Gampang.
  6. Deploy And Done

πŸ›‘οΈ Security

Proyek ini dibuat untuk belajar dan development. Penting untuk tahu batasannya.

Fitur Status Catatan
URL Validation βœ… Hanya URL http & https valid yang diproses.
Header Filtering βœ… Beberapa header dari klien disaring untuk keamanan dasar.
Rate Limiting ❌ BELUM ADA. Jangan gunakan untuk aplikasi production yang penting.

🚨 Warn

Proxy publik yang disediakan GA MAKE RATE LIMIT. Artinya, siapa aja bisa make. pake buat belajar dan prototipe aja.


πŸ“š Referensi & Contoh

πŸ“‚ Daftar API

πŸ” Info

  • IP Address: ?api=info.ip
  • Geo Location: ?api=info.geoip
  • Time: ?api=info.time
  • Request Headers: ?api=info.headers

πŸ˜„ Fun

  • Joke: ?api=fun.joke
  • Cat Fact: ?api=fun.cat_fact
  • Dog Image: ?api=fun.dog_image
  • Meme: ?api=fun.meme

πŸ’» Dev

  • GitHub User: ?api=dev.github_user&username={nama_user}
  • GitHub Repos: ?api=dev.github_repos&username={nama_user}
  • JSONPlaceholder Post: ?api=dev.jsonplaceholder_post&id={post_id}
  • HTTPBin Test: ?api=dev.httpbin

🌦️ Cuaca

  • Current Weather: ?api=weather.current&location={kota}
  • Forecast: ?api=weather.forecast&lat={latitude}&lon={longitude}
πŸ’» Contoh Cara Make API Built In (JS, Python, cURL)

JavaScript

const API_BASE = '[https://proxyhexzo.netlify.app/.netlify/functions/proxy](https://proxyhexzo.netlify.app/.netlify/functions/proxy)';

// GET GitHub user info
fetch(`${API_BASE}?api=dev.github_user&username=octocat`)
  .then(res => res.json())
  .then(data => console.log('Nama User GitHub:', data.name));

Python

import requests

API_BASE = "[https://proxyhexzo.netlify.app/.netlify/functions/proxy](https://proxyhexzo.netlify.app/.netlify/functions/proxy)"

# GET cuaca di Jakarta
params = {"api": "weather.current", "location": "Jakarta"}
response = requests.get(API_BASE, params=params)

if response.ok:
    print(response.json())
else:
    print("Gagal mengambil data cuaca")

cURL

# POST request via proxy
curl -X POST "[https://proxyhexzo.netlify.app/.netlify/functions/proxy?web=https://httpbin.org/post](https://proxyhexzo.netlify.app/.netlify/functions/proxy?web=https://httpbin.org/post)" \
  -H "Content-Type: application/json" \
  -d '{"pesan": "Hello dari cURL"}'

πŸ’¬ Kontak & Komunitas

Punya ide, nemu bug?

Made with ❀️ By HexZo Beginner

About

This API Will Fordward your https website to http api server

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors