Or
api.saturn.web.id
GET
/api/executor
Response
{   ...   "arceusx": {
    "androidversion": "2.x.x",     "android": "... (link download)",     "iosversion": "2.x.x",     "ios": "... (link download)"   }   ... }
index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Saturn Executor</title> </head> <body> <button onclick="getExecutor()">Get Executor Links</button> <div id="result"></div> <script> async function getExecutor() { const res = await fetch('https://api.saturn.web.id/api/executor'); const data = await res.json(); const out = document.getElementById('result'); out.innerHTML = ''; for (const [name, info] of Object.entries(data)) { out.innerHTML += ` <h3>${name}</h3> <p>Android ${info.androidversion}: <a href="${info.android}">Download</a></p> <p>iOS ${info.iosversion}: <a href="${info.ios}">Download</a></p> `; } } </script> </body> </html>
index.js
const URL = 'https://api.saturn.web.id/api/executor'; async function getExecutor() { const res = await fetch(URL); if (!res.ok) throw new Error(`HTTP error: ${res.status}`); const data = await res.json(); return data; } // Usage getExecutor() .then(data => { for (const [name, info] of Object.entries(data)) { console.log(`${name} (${info.androidversion}): ${info.android}`); } }) .catch(console.error);
main.py
import requests URL = "https://api.saturn.web.id/api/executor" def get_executor() -> dict: res = requests.get(URL) res.raise_for_status() return res.json() # Usage data = get_executor() for name, info in data.items(): print(name, info["androidversion"], info["android"])
index.php
<?php function getExecutor() { $ch = curl_init('https://api.saturn.web.id/api/executor'); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPGET => true, ]); $body = curl_exec($ch); curl_close($ch); return json_decode($body, true); } // Usage $data = getExecutor(); foreach ($data as $name => $info) { echo $name . ' - Android: ' . $info['android'] . "\n"; }
main.go
package main import ( "encoding/json" "fmt" "net/http" ) type ExecutorInfo struct { AndroidVersion string `json:"androidversion"` Android string `json:"android"` IosVersion string `json:"iosversion"` Ios string `json:"ios"` } func getExecutor() (map[string]ExecutorInfo, error) { res, err := http.Get("https://api.saturn.web.id/api/executor") if err != nil { return nil, err } defer res.Body.Close() var data map[string]ExecutorInfo json.NewDecoder(res.Body).Decode(&data) return data, nil } func main() { data, _ := getExecutor() for name, info := range data { fmt.Printf("%s: %s\n", name, info.Android) } }
SaturnApi.java
import java.net.URI; import java.net.http.*; public class SaturnApi { private static final String URL = "https://api.saturn.web.id/api/executor"; public static String getExecutor() throws Exception { HttpClient client = HttpClient.newHttpClient(); HttpRequest request = HttpRequest.newBuilder() .uri(URI.create(URL)) .GET() .build(); HttpResponse<String> response = client.send( request, HttpResponse.BodyHandlers.ofString() ); return response.body(); // parse JSON as needed } public static void main(String[] args) throws Exception { System.out.println(getExecutor()); } }