diff --git a/Launcher/runtime/config.js b/Launcher/runtime/config.js
index 1f1f81b4..a91e447b 100644
--- a/Launcher/runtime/config.js
+++ b/Launcher/runtime/config.js
@@ -1,8 +1,8 @@
var config = {
//*** Настройки лаунчера ***//
- dir: "GravitLauncher", // Название папки лаунчера
- title: "GravitLauncher", // Заголовок окна
- icons: ["favicon.png"], // Путь/Пути до иконки окна
+ dir: "GravitLauncher", // Название папки лаунчера
+ title: "GravitLauncher", // Заголовок окна
+ icons: ["favicon.png"], // Путь/Пути до иконки окна
links: [
//*** Ссылки ***//
@@ -11,7 +11,7 @@ var config = {
text: "GravitLauncher",
url: "https://gravit.pro",
},
-
+
{
id: "discord",
text: "",
@@ -19,18 +19,21 @@ var config = {
}
],
+ //*** Сервер Hastebin для сохранения лога ***//
+ hasteserver: "https://hasteb.in/",
+
//*** Стандартные настройки клиента ***//
- autoEnterDefault: false, // Автоматический вход на выбранный сервер
- fullScreenDefault: false, // Клиент в полный экран
- featureStoreDefault: true, // Поиск файлов в других клиентах (Используется для экономии трафика и ускорения загрузки)
- ramDefault: 1024, // Количество оперативной памяти выделенной по умолчанию (0 - Автоматически)
+ autoEnterDefault: false, // Автоматический вход на выбранный сервер
+ fullScreenDefault: false, // Клиент в полный экран
+ featureStoreDefault: true, // Поиск файлов в других клиентах (Используется для экономии трафика и ускорения загрузки)
+ ramDefault: 1024, // Количество оперативной памяти выделенной по умолчанию (0 - Автоматически)
//*** Настройка загрузки JVM ***//
/* LaunchServer: guardtype = java */
jvm: {
- enable: false, // Включение загрузки своей JVM
- jvmMustdie32Dir: "jre-8u211-win32", // Название папки JVM для Windows x32
- jvmMustdie64Dir: "jre-8u211-win64", // Название папки JVM для Windows x64
+ enable: false, // Включение загрузки своей JVM
+ jvmMustdie32Dir: "jre-8u211-win32", // Название папки JVM для Windows x32
+ jvmMustdie64Dir: "jre-8u211-win64", // Название папки JVM для Windows x64
},
settingsMagic: 0xC0DE5, // Магия вне хогвартса
diff --git a/Launcher/runtime/dialog/overlay/debug/debug.fxml b/Launcher/runtime/dialog/overlay/debug/debug.fxml
index 731fba31..fbc61fc0 100644
--- a/Launcher/runtime/dialog/overlay/debug/debug.fxml
+++ b/Launcher/runtime/dialog/overlay/debug/debug.fxml
@@ -22,7 +22,7 @@
-
+
diff --git a/Launcher/runtime/dialog/overlay/debug/debug.js b/Launcher/runtime/dialog/overlay/debug/debug.js
index 0f67fb54..9a3a1497 100644
--- a/Launcher/runtime/dialog/overlay/debug/debug.js
+++ b/Launcher/runtime/dialog/overlay/debug/debug.js
@@ -21,8 +21,17 @@ var debug = {
debug.copy = debug.overlay.lookup("#copy");
debug.copy.setOnAction(function(event) {
+ var haste = FunctionalBridge.hastebin(config.hasteserver, debug.output.getText());
+
+ if (haste == null) {
+ debug.copy.setText("Ошибка!");
+ return;
+ }
+
+ openURL(new java.net.URL(haste));
+
var content = new javafx.scene.input.ClipboardContent();
- content.putString(debug.output.getText());
+ content.putString(haste);
javafx.scene.input.Clipboard.getSystemClipboard().
setContent(content);
diff --git a/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java b/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java
index 560b5abe..da2fc4ca 100644
--- a/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java
+++ b/Launcher/src/main/java/pro/gravit/launcher/client/FunctionalBridge.java
@@ -6,6 +6,16 @@
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicReference;
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.ProtocolException;
+import java.net.URL;
+import com.google.gson.JsonParser;
+
import pro.gravit.launcher.LauncherAPI;
import pro.gravit.launcher.api.AuthService;
import pro.gravit.launcher.events.request.AuthRequestEvent;
@@ -133,4 +143,37 @@ public static String getLauncherVersion() {
Version.BUILD
);
}
+
+ @LauncherAPI
+ public static String hastebin(String hasteserver, String log) {
+ HttpURLConnection connection = null;
+ try {
+ //Create connection
+ URL url = new URL(hasteserver + "documents");
+ connection = (HttpURLConnection) url.openConnection();
+ connection.setRequestMethod("POST");
+ connection.setDoInput(true);
+ connection.setDoOutput(true);
+
+ //Send request
+ DataOutputStream wr = new DataOutputStream(connection.getOutputStream());
+ wr.writeBytes(log);
+ wr.flush();
+ wr.close();
+
+ //Get Response
+ BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
+
+ String result = rd.readLine();
+
+ return hasteserver + new JsonParser().parse(result).getAsJsonObject().get("key").getAsString();
+
+ } catch (IOException e) {
+ LogHelper.error(e);
+ return null;
+ } finally {
+ if (connection == null) return null;
+ connection.disconnect();
+ }
+ }
}