Skip to content

Commit 2a930a1

Browse files
committed
new unshorten api
1 parent faba473 commit 2a930a1

File tree

1 file changed

+55
-35
lines changed

1 file changed

+55
-35
lines changed

scripts/unshorten.js

Lines changed: 55 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -17,50 +17,70 @@ export default {
1717
// Chi tiết xem trong file rules.json
1818

1919
// https://unshorten.it/
20+
const unshortenIt = {
21+
async getToken() {
22+
let res = await fetch("https://unshorten.it/");
23+
let text = await res.text();
24+
let token = /name='csrfmiddlewaretoken' value='(.*)'/.exec(text)?.[1];
25+
return token;
26+
},
27+
async getLongUrl(shortURL) {
28+
let token = await unshortenIt.getToken();
2029

21-
async function getToken() {
22-
let res = await fetch("https://unshorten.it/");
23-
let text = await res.text();
24-
let token = /name='csrfmiddlewaretoken' value='(.*)'/.exec(text)?.[1];
25-
return token;
26-
}
30+
let formData = new FormData();
31+
formData.append("short-url", shortURL);
32+
formData.append("csrfmiddlewaretoken", token);
2733

28-
async function getLongUrl(shortURL, token) {
29-
let formData = new FormData();
30-
formData.append("short-url", shortURL);
31-
formData.append("csrfmiddlewaretoken", token);
34+
let res = await fetch("https://unshorten.it/main/get_long_url", {
35+
method: "POST",
36+
body: formData,
37+
});
38+
let json = await res.json();
39+
if (json?.success) {
40+
return json.long_url;
41+
} else {
42+
alert(json.message);
43+
return null;
44+
}
45+
},
46+
};
3247

33-
let res = await fetch("https://unshorten.it/main/get_long_url", {
34-
method: "POST",
35-
body: formData,
36-
});
37-
let json = await res.json();
38-
if (json?.success) {
39-
return json.long_url;
40-
} else {
41-
alert(json.message);
42-
return null;
43-
}
44-
}
48+
// https://linkunshorten.com/
49+
const linkunshorten = {
50+
async getLongUrl(shortURL) {
51+
let res = await fetch(
52+
"https://linkunshorten.com/api/link?url=" + shortURL
53+
);
54+
let text = await res.text();
55+
return JSON.parse(text || "");
56+
},
57+
};
4558

46-
let shortenURL = prompt("Nhập URL đã rút gọn: ");
47-
if (shortenURL) {
59+
let short_url = prompt("Nhập URL đã rút gọn: ");
60+
if (short_url) {
4861
// faster way: open unshorten.it page
49-
// return window.open(
50-
// "http://unshorten.it/extensionloading.php?shortURL=" +
51-
// shortenURL +
52-
// "&source=chromeextension"
53-
// );
62+
// return window.open(
63+
// "http://unshorten.it/extensionloading.php?shortURL=" +
64+
// shortenURL +
65+
// "&source=chromeextension"
66+
// );
5467

5568
const { closeLoading, setLoadingText } = showLoading("Đang lấy token...");
5669
try {
57-
let token = await getToken();
58-
59-
setLoadingText("Đang giải mã link rút gọn...");
60-
let long_url = await getLongUrl(shortenURL, token);
70+
setLoadingText(
71+
"Đang giải mã link rút gọn...<br/>Sử dụng linkunshorten.com"
72+
);
73+
let long_url = await linkunshorten.getLongUrl(short_url);
74+
if (!long_url || long_url == short_url) {
75+
setLoadingText(
76+
"Đang giải mã link rút gọn...<br/>Sử dụng unshorten.it"
77+
);
78+
long_url = await unshortenIt.getLongUrl(short_url);
79+
}
6180

62-
if (long_url) prompt("Link gốc của " + shortenURL, long_url);
63-
else alert("Không tìm thấy link gốc");
81+
long_url
82+
? prompt("Link gốc của " + short_url, long_url)
83+
: alert("Không tìm thấy link gốc");
6484
} catch (e) {
6585
alert("Lỗi: " + e);
6686
} finally {

0 commit comments

Comments
 (0)