This commit is contained in:
zlzw 2024-05-14 13:35:20 +08:00
parent 2183444676
commit 1b61722446
9 changed files with 106 additions and 68 deletions

View File

@ -6,7 +6,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication @SpringBootApplication
public class ToolsApplication { public class ToolsApplication {
public static final String version="1.4.9"; public static final String version="1.5.0";
public static void main(String[] args) { public static void main(String[] args) {
System.out.println("当前版本号:" + version); System.out.println("当前版本号:" + version);

View File

@ -29,7 +29,7 @@ import java.util.UUID;
@Controller @Controller
public class NasManager { public class NasManager {
public static String NasUrl="http://yutou233.cn"; public static String NasUrl="https://nas.yutou233.cn";
static { static {
if ("dev".equals(ConfigTools.load(ConfigTools.CONFIG, "model"))) { if ("dev".equals(ConfigTools.load(ConfigTools.CONFIG, "model"))) {
NasUrl="http://192.168.31.88"; NasUrl="http://192.168.31.88";
@ -184,7 +184,7 @@ public class NasManager {
json.put("data", NasUrl + ":8000"); json.put("data", NasUrl + ":8000");
} else { } else {
if (UpdateIp.nas_ip == null) { if (UpdateIp.nas_ip == null) {
json.put("data", "http://yutou233.cn:8001"); json.put("data", "http://nas.yutou233.cn:8001");
} else { } else {
json.put("data", String.format("http://%s:8000", UpdateIp.nas_ip)); json.put("data", String.format("http://%s:8000", UpdateIp.nas_ip));
} }
@ -282,7 +282,7 @@ public class NasManager {
json.put("data", NasUrl + ":8000/nas/music/list.do?token="); json.put("data", NasUrl + ":8000/nas/music/list.do?token=");
} else { } else {
if (UpdateIp.nas_ip == null) { if (UpdateIp.nas_ip == null) {
json.put("data", "http://yutou233.cn:8001/nas/music/list.do?token="); json.put("data", "http://nas.yutou233.cn:8001/nas/music/list.do?token=");
} else { } else {
json.put("data", String.format("http://%s:8000/nas/music/list.do?token=", UpdateIp.nas_ip)); json.put("data", String.format("http://%s:8000/nas/music/list.do?token=", UpdateIp.nas_ip));
} }

View File

@ -6,6 +6,7 @@ import com.yutou.tools.ToolsApplication;
import com.yutou.tools.mybatis.dao.UKeyDao; import com.yutou.tools.mybatis.dao.UKeyDao;
import com.yutou.tools.mybatis.model.UKey; import com.yutou.tools.mybatis.model.UKey;
import com.yutou.tools.mybatis.model.UKeyExample; import com.yutou.tools.mybatis.model.UKeyExample;
import com.yutou.tools.utils.ConfigTools;
import com.yutou.tools.utils.HttpTools; import com.yutou.tools.utils.HttpTools;
import com.yutou.tools.utils.RedisTools; import com.yutou.tools.utils.RedisTools;
import com.yutou.tools.utils.Tools; import com.yutou.tools.utils.Tools;
@ -217,7 +218,11 @@ public class tools {
} }
return builder.toString(); return builder.toString();
} }
@ResponseBody
@RequestMapping(value = "/tools/ssr/get.do", produces = "text/plain;charset=utf-8")
public String getSSRUrl(){
return (String) ConfigTools.load(ConfigTools.DATA,"ssr");
}
@ResponseBody @ResponseBody
@RequestMapping("/tools/clash/ssr.do") @RequestMapping("/tools/clash/ssr.do")
public JSONObject setClashSSR(String url) { public JSONObject setClashSSR(String url) {

View File

@ -1,6 +1,8 @@
package com.yutou.tools.utils; package com.yutou.tools.utils;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.aliyuncs.utils.StringUtils;
import java.io.*; import java.io.*;
@ -8,57 +10,88 @@ import java.io.*;
* 配置和参数 * 配置和参数
*/ */
public class ConfigTools { public class ConfigTools {
public static final String CONFIG="config.json"; public static final String CONFIG = "config.json";
public static final String DATA="data.json"; public static final String DATA = "data.json";
public static final String SQLITE="sqlite.json"; public static final String SQLITE = "sqlite.json";
static { static {
try { try {
File file=new File(CONFIG); File file = new File(CONFIG);
if(!file.exists()){ if (!file.exists()) {
file.createNewFile(); file.createNewFile();
} }
file=new File(DATA); file = new File(DATA);
if(!file.exists()){ if (!file.exists()) {
file.createNewFile(); file.createNewFile();
} }
file=null; file = null;
}catch (Exception e){ } catch (Exception e) {
e.printStackTrace(); e.printStackTrace();
} }
} }
public static Object load(String type,String key){
File file=new File(type); public static Object load(String type, String key) {
//System.out.println(type+"配置文件地址:"+file.getAbsolutePath()); return load(type, key, Object.class, null);
String src=readFile(file); }
if(src!=null){
public static <T> T load(String type, String key, Class<T> t) {
return load(type, key, t, null);
}
public static <T> T load(String type, String key, Class<T> t, T def) {
File file = new File(type);
//com.yutou.nas.utils.Log.i(type+"配置文件地址:"+file.getAbsolutePath());
String src = readFile(file);
if (src != null) {
try { try {
JSONObject json=JSONObject.parseObject(src); JSONObject json = JSONObject.parseObject(src, JSONObject.class);
if(json==null){ return json.getObject(key, t);
json=new JSONObject(); } catch (Exception e) {
saveFile(file,json.toJSONString()); e.printStackTrace();
}
return json.getOrDefault(key, "");
}catch (Exception e){
return "";
} }
} }
return "";
return def;
} }
public static boolean save(String type,String key,Object data){
File file=new File(type); public static String loadIni(File file, String key) {
String src=readFile(file); try {
if(src==null){ BufferedReader reader = new BufferedReader(new FileReader(file));
src="{}"; String tmp, str = null;
while ((tmp = reader.readLine()) != null) {
if (tmp.startsWith(key + "=")) {
str = tmp.split("=")[1];
if (StringUtils.isEmpty(str)) {
str = null;
} }
JSONObject json=JSONObject.parseObject(src); break;
json.put(key,data); }
saveFile(file,json.toJSONString()); }
return str;
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
public static boolean save(String type, String key, Object data) {
File file = new File(type);
String src = readFile(file);
if (src == null) {
src = "{}";
}
JSONObject json = JSON.parseObject(src);
json.put(key, data);
saveFile(file, json.toJSONString());
return false; return false;
} }
public static boolean saveFile(File file,String data){
public static boolean saveFile(File file, String data) {
try { try {
FileWriter writer=new FileWriter(file); FileWriter writer = new FileWriter(file);
writer.write(data); writer.write(data);
writer.flush(); writer.flush();
writer.close(); writer.close();
@ -68,13 +101,14 @@ public class ConfigTools {
return false; return false;
} }
} }
public static String readFile(File file){
public static String readFile(File file) {
try { try {
BufferedReader reader=new BufferedReader(new FileReader(file)); BufferedReader reader = new BufferedReader(new FileReader(file));
String tmp; String tmp;
StringBuilder str= new StringBuilder(); StringBuilder str = new StringBuilder();
while ((tmp=reader.readLine())!=null){ while ((tmp = reader.readLine()) != null) {
str.append(tmp); str.append(tmp).append("\n");
} }
reader.close(); reader.close();
return str.toString(); return str.toString();
@ -84,3 +118,4 @@ public class ConfigTools {
return null; return null;
} }
} }

View File

@ -10,13 +10,10 @@ public class CorsConfig implements WebMvcConfigurer {
public void addCorsMappings(CorsRegistry registry) { public void addCorsMappings(CorsRegistry registry) {
//设置允许跨域的路径 //设置允许跨域的路径
registry.addMapping("/**") registry.addMapping("/**")
//设置允许跨域请求的域名 .allowedOrigins("https://tools.yutou233.cn") // 允许哪些域的请求
.allowedOrigins("Access-Control-Allow-Origin") .allowedMethods("POST", "GET") // 允许的请求方法
//是否允许证书 不再默认开启 .allowedHeaders("*") // 允许的头部设置
.allowCredentials(true) .allowCredentials(true) // 是否发送cookie
//设置允许的方法 .maxAge(168000); // 预检间隔时间
.allowedMethods("*")
//跨域允许时间
.maxAge(3600);
} }
} }

View File

@ -435,7 +435,7 @@ public class Tools {
} }
public static String getLoginUser() { public static String getLoginUser() {
if("dev".equals(ConfigTools.load(ConfigTools.CONFIG, "model"))) { if ("dev".equals(ConfigTools.load(ConfigTools.CONFIG, "model"))) {
return "admin"; return "admin";
} }
Object user = SecurityContextHolder.getContext().getAuthentication().getPrincipal(); Object user = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
@ -459,7 +459,7 @@ public class Tools {
} }
public static String getPinYin(String text) { public static String getPinYin(String text) {
String pinyin = HttpTools.get("http://api.tianapi.com/pinyin/index?key=a1e0f7267037c4e0ea02fb1cb3912367&text=" + URLEncoder.encode(text, StandardCharsets.UTF_8)); String pinyin = HttpTools.get("https://apis.tianapi.com/pinyin/index?key=" + ConfigTools.load(ConfigTools.CONFIG, "tianapi.key", String.class) + "&text=" + URLEncoder.encode(text, StandardCharsets.UTF_8));
JSONObject json = JSONObject.parseObject(pinyin); JSONObject json = JSONObject.parseObject(pinyin);
if (json.getInteger("code") == 200) { if (json.getInteger("code") == 200) {
return json.getJSONArray("newslist").getJSONObject(0).getString("pinyin").trim().replace(" ", ""); return json.getJSONArray("newslist").getJSONObject(0).getString("pinyin").trim().replace(" ", "");
@ -474,15 +474,16 @@ public class Tools {
calendar.setTime(new Date()); calendar.setTime(new Date());
return calendar.get(Calendar.DAY_OF_WEEK) - 1; return calendar.get(Calendar.DAY_OF_WEEK) - 1;
} }
public static Date timeToDate(String date,String time){
public static Date timeToDate(String date, String time) {
String form; String form;
if(StringUtils.isEmpty(time)){ if (StringUtils.isEmpty(time)) {
form="yyyy-MM-dd"; form = "yyyy-MM-dd";
}else{ } else {
form="yyyy-MM-dd HH:mm:ss"; form = "yyyy-MM-dd HH:mm:ss";
} }
try { try {
return new SimpleDateFormat(form).parse(date+" "+time); return new SimpleDateFormat(form).parse(date + " " + time);
} catch (ParseException e) { } catch (ParseException e) {
return null; return null;
} }

View File

@ -101,7 +101,7 @@
return; return;
} }
localhost = json.data; localhost = json.data;
if (localhost === 'http://null:8000' || localhost === ":8000") { if (localhost === 'https://null:8000' || localhost === ":8000") {
localhost = "https://" + window.location.host; localhost = "https://" + window.location.host;
} }
} catch (e) { } catch (e) {
@ -210,7 +210,7 @@
} }
$.post('/nas/music/share.do', {file: file, isDir: isDir}, function (json) { $.post('/nas/music/share.do', {file: file, isDir: isDir}, function (json) {
if (json.code === 0) { if (json.code === 0) {
var url = "http://" + window.location.host + "/html/body/nas/music.html?share=" + json.data.token var url = "https://" + window.location.host + "/html/body/nas/music.html?share=" + json.data.token
layer.prompt({ layer.prompt({
title: "分享链接", title: "分享链接",
value: url value: url
@ -290,7 +290,7 @@
$('#play_share').click(function () { $('#play_share').click(function () {
$.post('/nas/music/share.do', {file: playNow}, function (json) { $.post('/nas/music/share.do', {file: playNow}, function (json) {
if (json.code === 0) { if (json.code === 0) {
let url = "http://" + window.location.host + "/html/body/nas/music.html?share=" + json.data.token let url = "https://" + window.location.host + "/html/body/nas/music.html?share=" + json.data.token
layer.prompt({ layer.prompt({
title: "分享链接", title: "分享链接",
value: url value: url

View File

@ -11,7 +11,7 @@
©2022 by yutou ©2022 by yutou
</div> </div>
<div> <div>
<a href="http://beian.miit.gov.cn/">湘ICP备16005656号1</a> <a href="https://beian.miit.gov.cn/">湘ICP备16005656号1</a>
<!--<script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1279421741&web_id=1279421741"></script>--> <!--<script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1279421741&web_id=1279421741"></script>-->
</div> </div>

View File

@ -12,7 +12,7 @@
<body> <body>
<div class="layui-header"> <div class="layui-header">
<ul class="layui-nav" lay-filter="" style="background-color: #1772B4;"> <ul class="layui-nav" lay-filter="" style="background-color: #1772B4;">
<li class="layui-nav-item"><a href="http://blog.yutou233.cn">博客</a></li> <li class="layui-nav-item"><a href="https://blog.yutou233.cn">博客</a></li>
<div id="admin" style="display: inline-block; font-size: 0px;"> <div id="admin" style="display: inline-block; font-size: 0px;">
<li class="layui-nav-item"> <li class="layui-nav-item">
<a href="javascript:;">NAS管理</a> <a href="javascript:;">NAS管理</a>
@ -36,9 +36,9 @@
<li class="layui-nav-item"> <li class="layui-nav-item">
<a href="javascript:;">页面集</a> <a href="javascript:;">页面集</a>
<dl class="layui-nav-child"> <dl class="layui-nav-child">
<dd><a href="http://nas.yutou233.cn/" target="_blank">管理后台</a></dd> <dd><a href="https://nas.yutou233.cn/" target="_blank">管理后台</a></dd>
<dd><a href="http://bt.yutou233.cn" target="_blank">BT下载</a></dd> <dd><a href="https://bt.yutou233.cn" target="_blank">BT下载</a></dd>
<dd><a href="http://jellyfin.yutou233.cn:7800/" target="_blank">jellyfin</a></dd> <dd><a href="https://jellyfin.yutou233.cn:7800/" target="_blank">jellyfin</a></dd>
<dd><a href="/html/body/nas/music.html">NAS音乐播放器</a></dd> <dd><a href="/html/body/nas/music.html">NAS音乐播放器</a></dd>
<dd><a href="/html/body/tools/calendar.html">日历</a></dd> <dd><a href="/html/body/tools/calendar.html">日历</a></dd>
</dl> </dl>