@@ -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 = / n a m e = ' c s r f m i d d l e w a r e t o k e n ' v a l u e = ' ( .* ) ' / . 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 = / n a m e = ' c s r f m i d d l e w a r e t o k e n ' v a l u e = ' ( .* ) ' / . 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