Skip to main content

☕ Java Code Examples

import java.io.*;
import java.net.NetworkInterface;
import java.net.InetAddress;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.net.URI;
import java.util.Enumeration;
import com.google.gson.Gson;
import com.google.gson.JsonObject;

public class TKIAuth {
private static final String API_KEY = "your-api-key-here";
private static final String API_URL = "http://your-domain.com/api/license/auth";
private static final String PRODUCT = "MyJavaApp";
private static final String VERSION = "1.0.0";

public static class AuthRequest {
public Data data;

public static class Data {
public String product;
public String version;
public String licensekey;
public String ip;
public String hwid;
}
}

public static class AuthResponse {
public String status_overview;
public String status_msg;
public String discord_username;
public String discord_tag;
public String expire_date;
public boolean staff_license;
public String message;
}

private static String getHWID() {
try {
// Get MAC address as HWID
Enumeration<NetworkInterface> networks = NetworkInterface.getNetworkInterfaces();
while (networks.hasMoreElements()) {
NetworkInterface network = networks.nextElement();
byte[] mac = network.getHardwareAddress();

if (mac != null && mac.length > 0) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < mac.length; i++) {
sb.append(String.format("%02X%s", mac[i], (i < mac.length - 1) ? "-" : ""));
}
return "JAVA-" + sb.toString();
}
}
} catch (Exception e) {
e.printStackTrace();
}

// Fallback HWID
return "JAVA-FALLBACK-" + System.currentTimeMillis() % 1000000;
}

private static String getLocalIP() {
try {
return InetAddress.getLocalHost().getHostAddress();
} catch (Exception e) {
return "127.0.0.1";
}
}

public static boolean authenticate(String licenseKey) {
try {
HttpClient client = HttpClient.newHttpClient();
Gson gson = new Gson();

// Prepare request data
AuthRequest.Data data = new AuthRequest.Data();
data.product = PRODUCT;
data.version = VERSION;
data.licensekey = licenseKey;
data.ip = getLocalIP();
data.hwid = getHWID();

AuthRequest request = new AuthRequest();
request.data = data;

String jsonBody = gson.toJson(request);

HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(URI.create(API_URL))
.header("Content-Type", "application/json")
.header("Authorization", API_KEY)
.POST(HttpRequest.BodyPublishers.ofString(jsonBody))
.build();

HttpResponse<String> response = client.send(httpRequest,
HttpResponse.BodyHandlers.ofString());

if (response.statusCode() == 200) {
AuthResponse authResponse = gson.fromJson(response.body(), AuthResponse.class);

if ("success".equals(authResponse.status_overview)) {
System.out.println("✓ License authenticated!");
System.out.println("User: " + authResponse.discord_username);
System.out.println("Expires: " + authResponse.expire_date);
System.out.println("Staff License: " + authResponse.staff_license);
return true;
} else {
System.out.println("✗ Authentication failed: " + authResponse.message);
}
} else {
System.out.println("✗ HTTP Error: " + response.statusCode());
}

} catch (Exception e) {
System.out.println("✗ Error: " + e.getMessage());
e.printStackTrace();
}

return false;
}

public static void main(String[] args) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
System.out.print("Enter license key: ");
String licenseKey = reader.readLine();

if (authenticate(licenseKey)) {
System.out.println("Starting application...");
// Your application logic here
} else {
System.out.println("Authentication failed!");
System.exit(1);
}

} catch (IOException e) {
e.printStackTrace();
}
}
}

Dependencies (Maven)​

<dependencies>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.10.1</version>
</dependency>
</dependencies>

Compilation​

javac -cp ".:gson-2.10.1.jar" TKIAuth.java
java -cp ".:gson-2.10.1.jar" TKIAuth