shell bypass 403
/* GitHub URL: https://github.com/gucastiliao/video-popup-js */ (function($) { $.fn.videoPopup = function(options) { var videoPopup = { embedLink: '' } var settings = $.extend({ autoplay: false, showControls: true, controlsColor: null, loopVideo: false, showVideoInformations: true, width: null, customOptions: {} }, options); var parsers = { youtube: { regex: /^.*((youtu.be\/)|(v\/)|(\/u\/\w\/)|(embed\/)|(watch\?))\??v?=?([^#\&\?]*).*/, test: function (videoUrl, regex) { var match = videoUrl.match(regex); return (match && match[7].length==11) ? match[7] : false; }, mount: function (videoCode) { var youtubeOptions = { autoplay: settings.autoplay, color: settings.controlsColor, loop: settings.loopVideo, controls: settings.showControls, showinfo: settings.showVideoInformations, } Object.assign(youtubeOptions, settings.customOptions); return "https://www.youtube.com/embed/"+videoCode+"/?"+$.param(youtubeOptions); } }, vimeo: { regex: /^.*(vimeo\.com\/)((channels\/[A-z]+\/)|(groups\/[A-z]+\/videos\/))?([0-9]+)/, test: function (videoUrl, regex) { var match = videoUrl.match(regex); return (match && match[5].length) ? match[5] : false; }, mount: function (videoCode) { var vimeoOptions = { autoplay: settings.autoplay, color: settings.controlsColor, loop: settings.loopVideo, controls: settings.showControls, title: settings.showVideoInformations, } Object.assign(vimeoOptions, settings.customOptions); return "https://player.vimeo.com/video/"+videoCode+"/?"+$.param(vimeoOptions); } } } function mountEmbedLink(videoUrl) { $.each(parsers, function(index, parser){ var videoCode = parser.test(videoUrl, parser.regex); if(videoCode) { videoPopup.embedLink = parser.mount(videoCode); return this; } }) } function mountIframe() { var iframeElement = '<iframe src="'+videoPopup.embedLink+'" allowfullscreen frameborder="0" width="'+settings.width+'"></iframe>'; if(!videoPopup.embedLink) { iframeElement = '<div class="videopopupjs__block--notfound">Video not found</div>'; } return '<div class="videopopupjs videopopupjs--animation">'+ '<div class="videopopupjs__content">'+ '<span class="videopopupjs__close"></span>'+ iframeElement+ '</div>'+ '</div>'; } $(this).css('cursor', 'pointer'); $(this).on('click', function (event) { event.preventDefault(); var videoUrl = $(this).attr("video-url"); var videoIframe = mountEmbedLink(videoUrl); $("body").append(mountIframe()); $('.videopopupjs__content').css('max-width', 700); if(settings.width) { $('.videopopupjs__content').css('max-width', settings.width); } if($('.videopopupjs').hasClass('videopopupjs--animation')){ setTimeout(function() { $('.videopopupjs').removeClass("videopopupjs--animation"); }, 200); } $(".videopopupjs, .videopopupjs__close").click(function(){ $(".videopopupjs").addClass("videopopupjs--hide").delay(515).queue(function() { $(this).remove(); }); }); }); $(document).keyup(function(event) { if (event.keyCode == 27){ $('.videopopupjs__close').click(); } }); return this; }; }(jQuery));