mirror of
https://github.com/funkemunky/AntiVPN.git
synced 2026-06-01 09:51:55 +00:00
69 lines
2.8 KiB
Java
69 lines
2.8 KiB
Java
package dev.brighten.antivpn.utils;
|
|
|
|
import dev.brighten.antivpn.utils.json.JSONException;
|
|
import dev.brighten.antivpn.utils.json.JSONObject;
|
|
import lombok.AllArgsConstructor;
|
|
import lombok.Getter;
|
|
import lombok.RequiredArgsConstructor;
|
|
import lombok.Setter;
|
|
|
|
@Getter
|
|
@Setter
|
|
@AllArgsConstructor
|
|
@RequiredArgsConstructor
|
|
public class VPNResponse {
|
|
private String asn, ip, countryName, countryCode, city, timeZone, method, isp;
|
|
private boolean proxy, cached;
|
|
private final boolean success;
|
|
private double latitude, longitude;
|
|
private long lastAccess;
|
|
private long queriesLeft;
|
|
|
|
public JSONObject toJson() throws JSONException {
|
|
JSONObject json = new JSONObject();
|
|
|
|
json.put("ip", ip);
|
|
json.put("countryName", countryName);
|
|
json.put("countryCode", countryCode);
|
|
json.put("city", city);
|
|
json.put("method", method);
|
|
json.put("isp", isp);
|
|
json.put("proxy", proxy);
|
|
json.put("success", success);
|
|
json.put("timeZone", timeZone);
|
|
json.put("success", true);
|
|
json.put("queriesLeft", queriesLeft);
|
|
json.put("cached", cached);
|
|
|
|
return json;
|
|
}
|
|
|
|
public static VPNResponse fromJson(String json) throws JSONException {
|
|
JSONObject jsonObject = new JSONObject(json);
|
|
|
|
return new VPNResponse(jsonObject.getString("asn"), jsonObject.getString("ip"),
|
|
jsonObject.getString("countryName"), jsonObject.getString("countryCode"),
|
|
jsonObject.getString("city"), jsonObject.getString("timeZone"),
|
|
jsonObject.has("method") ? jsonObject.getString("method") : "N/A",
|
|
jsonObject.getString("isp"), jsonObject.getBoolean("proxy"),
|
|
jsonObject.getBoolean("cached"), jsonObject.getBoolean("success"),
|
|
jsonObject.getDouble("latitude"), jsonObject.getDouble("longitude"),
|
|
jsonObject.getLong("lastAccess"), jsonObject.getInt("queriesLeft"));
|
|
}
|
|
|
|
public static VPNResponse fromJson(JSONObject jsonObject) throws JSONException {
|
|
if(jsonObject.getBoolean("success")) {
|
|
return new VPNResponse(jsonObject.getString("asn"), jsonObject.getString("ip"),
|
|
jsonObject.getString("countryName"), jsonObject.getString("countryCode"),
|
|
jsonObject.getString("city"), jsonObject.getString("timeZone"),
|
|
jsonObject.has("method") ? jsonObject.getString("method") : "N/A",
|
|
jsonObject.getString("isp"), jsonObject.getBoolean("proxy"),
|
|
jsonObject.getBoolean("cached"), jsonObject.getBoolean("success"),
|
|
jsonObject.getDouble("latitude"), jsonObject.getDouble("longitude"),
|
|
jsonObject.getLong("lastAccess"), jsonObject.getInt("queriesLeft"));
|
|
}
|
|
|
|
return new VPNResponse(false);
|
|
}
|
|
}
|