diff --git a/CHANGELOG.MD b/CHANGELOG.MD index 7f8465f..d60e2e7 100644 --- a/CHANGELOG.MD +++ b/CHANGELOG.MD @@ -11,3 +11,11 @@ init - GUI版停止后再次启动存在BUG - 命令行版本优化输出部分,添加HELP信息 - 处理非主要功能的BUG +- 自动检查新版本并提示更新 + +- Fix the bug of handling payloads containing `_` characters. +- Allow Base64 input for parameters to prevent special cases. +- Fix the bug that occurs when restarting the GUI version. +- Optimize the output in the command-line version and add HELP information. +- Fix minor bugs related to non-core features. +- Automatically check for new versions and prompt for updates. \ No newline at end of file diff --git a/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_DBase.java b/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_DBase.java new file mode 100644 index 0000000..ac5fffa --- /dev/null +++ b/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_DBase.java @@ -0,0 +1,16 @@ +package me.n1ar4.fake.test.mysql5; + +import java.sql.DriverManager; + +public class MySQL5CB_DBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?" + + "detectCustomCollations=true&autoDeserialize=true&user=base64ZGVzZXJfQ0JfY2FsYy5leGU="; + try { + Class.forName("com.mysql.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_SBase.java b/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_SBase.java new file mode 100644 index 0000000..846eff9 --- /dev/null +++ b/fake-mysql5-test/src/main/java/me/n1ar4/fake/test/mysql5/MySQL5CB_SBase.java @@ -0,0 +1,17 @@ +package me.n1ar4.fake.test.mysql5; + +import java.sql.DriverManager; + +public class MySQL5CB_SBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?" + + "autoDeserialize=true&statementInterceptors=" + + "com.mysql.jdbc.interceptors.ServerStatusDiffInterceptor&user=base64ZGVzZXJfQ0JfY2FsYy5leGU="; + try { + Class.forName("com.mysql.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_DBase.java b/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_DBase.java new file mode 100644 index 0000000..9e2a0b5 --- /dev/null +++ b/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_DBase.java @@ -0,0 +1,16 @@ +package me.n1ar4.fake.test.mysql6; + +import java.sql.DriverManager; + +public class MySQL6CB_DBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?" + + "detectCustomCollations=true&autoDeserialize=true&user=base64ZGVzZXJfQ0JfY2FsYy5leGU="; + try { + Class.forName("com.mysql.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_SBase.java b/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_SBase.java new file mode 100644 index 0000000..af11739 --- /dev/null +++ b/fake-mysql6-test/src/main/java/me/n1ar4/fake/test/mysql6/MySQL6CB_SBase.java @@ -0,0 +1,17 @@ +package me.n1ar4.fake.test.mysql6; + +import java.sql.DriverManager; + +public class MySQL6CB_SBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?" + + "autoDeserialize=true&statementInterceptors=" + + "com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=base64ZGVzZXJfQ0JfY2FsYy5leGU="; + try { + Class.forName("com.mysql.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8CB_SBase.java b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8CB_SBase.java new file mode 100644 index 0000000..25133df --- /dev/null +++ b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8CB_SBase.java @@ -0,0 +1,17 @@ +package me.n1ar4.fake.test.mysql8; + +import java.sql.DriverManager; + +public class MySQL8CB_SBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?" + + "autoDeserialize=true&queryInterceptors=" + + "com.mysql.cj.jdbc.interceptors.ServerStatusDiffInterceptor&user=base64ZGVzZXJfQ0JfY2FsYy5leGU="; + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadBase.java b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadBase.java new file mode 100644 index 0000000..bd4b1e8 --- /dev/null +++ b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadBase.java @@ -0,0 +1,16 @@ +package me.n1ar4.fake.test.mysql8; + +import java.sql.DriverManager; + +public class MySQL8ReadBase { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?user=" + + "base64ZmlsZXJlYWRfQzpcUHJvZ3JhbSBGaWxlc1xKYXZhXGpkay0xN1xsaWJcc3JjLnppcA=="; + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadOtherPath.java b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadOtherPath.java new file mode 100644 index 0000000..5a2f626 --- /dev/null +++ b/fake-mysql8-test/src/main/java/me/n1ar4/fake/test/mysql8/MySQL8ReadOtherPath.java @@ -0,0 +1,16 @@ +package me.n1ar4.fake.test.mysql8; + +import java.sql.DriverManager; + +public class MySQL8ReadOtherPath { + public static void main(String[] args) { + String url = "jdbc:mysql://127.0.0.1:3308/test?user=" + + "fileread_C:\\\\Program Files\\\\Java\\\\jdk-17\\\\lib\\\\src.zip"; + try { + Class.forName("com.mysql.cj.jdbc.Driver"); + DriverManager.getConnection(url); + } catch (Exception e) { + e.printStackTrace(); + } + } +}