@@ -8,26 +8,49 @@ export default {
88 en : "Bypass age restriction, without login" ,
99 vi : "Tải cả video giới hạn độ tuổi, không cần đăng nhập" ,
1010 } ,
11- blackList : [ ] ,
12- whiteList : [ ] ,
1311
1412 func : function ( ) {
13+ // https://stackoverflow.com/a/8260383/11898496
14+ function getIdFromYoutubeURL ( url ) {
15+ var regExp =
16+ / .* (?: y o u t u .b e \/ | v \/ | u \/ \w \/ | e m b e d \/ | w a t c h \? v = ) ( [ ^ # \& \? ] * ) .* / ;
17+ var match = url . match ( regExp ) ;
18+ return match && match [ 1 ] . length == 11 ? match [ 1 ] : false ;
19+ }
20+
1521 let options = [
1622 {
1723 name : "yt1s.com" ,
18- url : "https://yt1s.com/vi/youtube-to-mp4?q=" ,
24+ func : ( url ) => {
25+ window . open ( "https://yt1s.com/vi/youtube-to-mp4?q=" + url ) ;
26+ } ,
1927 } ,
2028 {
2129 name : "10downloader.com" ,
22- url : "https://10downloader.com/download?v=" ,
30+ func : ( url ) => {
31+ window . open ( "https://10downloader.com/download?v=" + url ) ;
32+ } ,
33+ } ,
34+ {
35+ name : "ymp4.com" ,
36+ func : ( url ) => {
37+ window . open ( "https://ymp4.download/en50/?url=" + url ) ;
38+ } ,
2339 } ,
2440 {
2541 name : "9xbuddy.com" ,
26- url : "https://9xbuddy.com/process?url=" ,
42+ func : ( url ) => {
43+ window . open ( "https://9xbuddy.com/process?url=" + url ) ;
44+ } ,
2745 } ,
2846 {
29- name : "ymp4.com" ,
30- url : "https://ymp4.download/en50/?url=/" ,
47+ name : "getlinks.vip" ,
48+ url : "https://getlinks.vip/vi/youtube/" ,
49+ func : ( url ) => {
50+ window . open (
51+ "https://getlinks.vip/vi/youtube/" + getIdFromYoutubeURL ( url )
52+ ) ;
53+ } ,
3154 } ,
3255 ] ;
3356
@@ -40,7 +63,7 @@ export default {
4063
4164 if ( choose != null && choose >= 0 && choose < options . length ) {
4265 let url = window . prompt ( "Nhập link youtube:" , location . href ) ;
43- url && window . open ( options [ choose ] . url + url ) ;
66+ url && options [ choose ] . func ( url ) ;
4467 }
4568 } ,
4669} ;
0 commit comments