mirror of
https://github.com/lyz05/danmaku.git
synced 2026-02-02 17:59:53 +08:00
chore: add some comment
This commit is contained in:
@@ -2,7 +2,6 @@ const axios = require("axios");
|
||||
const pako = require("pako");
|
||||
const {
|
||||
time_to_second,
|
||||
make_response,
|
||||
content_template,
|
||||
} = require("./utils");
|
||||
const memory = require("../../utils/memory");
|
||||
|
||||
@@ -26,13 +26,16 @@ const apiLimiter = rateLimit({
|
||||
skip: (request, response) => allowlist.includes(request.ip),
|
||||
});
|
||||
|
||||
// 返回对象{msg: "ok", title: "标题", content: []}
|
||||
async function build_response(url, req) {
|
||||
// 循环找最终url
|
||||
for (let q = new URLSearchParams(URL.parse(url).query); q.has("url");) {
|
||||
console.log("Redirecting to", url);
|
||||
url = q.get("url");
|
||||
q = new URLSearchParams(URL.parse(url).query);
|
||||
}
|
||||
console.log("Real url:", url);
|
||||
// 测试url是否能下载
|
||||
try {
|
||||
await axios.get(url, {
|
||||
headers: { "Accept-Encoding": "gzip,deflate,compress" }
|
||||
@@ -41,15 +44,18 @@ async function build_response(url, req) {
|
||||
console.log(e);
|
||||
return { msg: "传入的链接非法!请检查链接是否能在浏览器正常打开" };
|
||||
}
|
||||
// 循环找到对应的解析器
|
||||
let fc = undefined;
|
||||
for (let item of list) {
|
||||
if (url.indexOf(item.domain) !== -1) {
|
||||
fc = item;
|
||||
}
|
||||
}
|
||||
// 找不到对应的解析器
|
||||
if (fc === undefined) {
|
||||
return { "msg": "不支持的视频网址" };
|
||||
}
|
||||
// 捕获所有错误并添加日志
|
||||
let ret;
|
||||
try {
|
||||
ret = await fc.work(url);
|
||||
|
||||
103
utils/oss.js
103
utils/oss.js
@@ -1,103 +0,0 @@
|
||||
const OSS = require("ali-oss");
|
||||
const path = require("path");
|
||||
const fastregion = "oss-accelerate";
|
||||
|
||||
// 引入环境变量
|
||||
require("dotenv")
|
||||
.config({ path: "../.env" });
|
||||
|
||||
let client = new OSS({
|
||||
region: process.env.ALI_OSS_REGION,
|
||||
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
|
||||
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
|
||||
bucket: process.env.OSS_BUCKET,
|
||||
});
|
||||
|
||||
let fastclient = new OSS({
|
||||
region: fastregion,
|
||||
accessKeyId: process.env.ALIBABA_CLOUD_ACCESS_KEY_ID,
|
||||
accessKeySecret: process.env.ALIBABA_CLOUD_ACCESS_KEY_SECRET,
|
||||
bucket: process.env.OSS_BUCKET,
|
||||
});
|
||||
|
||||
async function get(objname,isFast) {
|
||||
try {
|
||||
const result = isFast ? await fastclient.get(objname) : await client.get(objname);
|
||||
return result.content.toString();
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function putfile(objname, localfilename, headers) {
|
||||
try {
|
||||
const res = await client.put(objname,path.normalize(localfilename),{headers});
|
||||
return res;
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function put(objname, content, headers) {
|
||||
try {
|
||||
const result = await client.put(objname, new Buffer.from(content), { headers });
|
||||
return result;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function head(objname,isfast) {
|
||||
try {
|
||||
const result = isfast ? await fastclient.head(objname) : await client.head(objname);
|
||||
return result.res.headers;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function signurl(objname, isFast) {
|
||||
try {
|
||||
let result = isFast ? await fastclient.signatureUrl(objname):await client.signatureUrl(objname);
|
||||
result = result.replace("http://", "//")
|
||||
return result;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
|
||||
async function list(prefix) {
|
||||
const result = await client.list({
|
||||
prefix,
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
async function putACL(key,acl = "public-read"){
|
||||
client.putACL(key,acl);
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
get,
|
||||
put,
|
||||
putfile,
|
||||
head,
|
||||
list,
|
||||
signurl,
|
||||
putACL
|
||||
};
|
||||
|
||||
async function main() {
|
||||
get("SUB/database.yaml",true);
|
||||
put("SUB/test.txt", "中文");
|
||||
head("SUB/database.yaml",true);
|
||||
const url = await signurl("SUB/database.yaml", true);
|
||||
console.log(url)
|
||||
}
|
||||
|
||||
if (!module.parent) {
|
||||
get("SUB/database.yaml");
|
||||
put("SUB/test.txt", "中文");
|
||||
head("SUB/database.yaml");
|
||||
signurl("SUB/database.yaml", true);
|
||||
}
|
||||
Reference in New Issue
Block a user