From 634e299803ffd36561f72a28b46eb1013dd4cbd7 Mon Sep 17 00:00:00 2001 From: SatoX69 Date: Sat, 5 Oct 2024 19:50:12 +0600 Subject: [PATCH] update --- README.md | 13 +++++++++++++ background.js | 12 ++++++++++++ content.js | 32 ++++++++++++++++++++++++++++++++ icons/icon128.png | Bin 0 -> 10054 bytes icons/icon16.png | Bin 0 -> 563 bytes icons/icon48.png | Bin 0 -> 2141 bytes manifest.json | 28 ++++++++++++++++++++++++++++ 7 files changed, 85 insertions(+) create mode 100644 background.js create mode 100644 content.js create mode 100644 icons/icon128.png create mode 100644 icons/icon16.png create mode 100644 icons/icon48.png create mode 100644 manifest.json diff --git a/README.md b/README.md index 1b37291..c3f81d9 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,15 @@ # Facebook-Story A really simple extension for extracting Facebook Story CDN links + +## How It Works +1. **Check for Element:** The script checks for a specific `
` element on a the `facebook.com/stories` url for extracting the CDN. +2. **Find Video URL:** It scans the entire HTML content of the page to find all `data-video-url` values and get the last one (Which seems to be in higher quality (to me)) +3. **Retry:** If the element is not found, it waits for 2 seconds and checks again. + +## Usage +1. Add this script to your browser's console or include it in a web page. +2. Open the console to see the logs. +3. Watch for messages about the element and the last video URL. + +## Note/Concerns +The script doesn't always seem to be actively running whenever the story is opened. It only seems to run whenever the story page (`facebook.com/stories`) is directly opened or refreshed. \ No newline at end of file diff --git a/background.js b/background.js new file mode 100644 index 0000000..f0c165b --- /dev/null +++ b/background.js @@ -0,0 +1,12 @@ +chrome.tabs.onUpdated.addListener((tabId, changeInfo, tab) => { + if (tab.url && tab.url.startsWith("https://www.facebook.com/stories/")) { + chrome.scripting.executeScript({ + target: { tabId: tabId }, + files: ['content.js'] + }); + } +}); + +chrome.action.onClicked.addListener((tab) => { + chrome.tabs.create({ url: "https://github.com/SatoX69/Facebook-Story" }); +}); \ No newline at end of file diff --git a/content.js b/content.js new file mode 100644 index 0000000..297f5f5 --- /dev/null +++ b/content.js @@ -0,0 +1,32 @@ +function CDN_Elem() { + const element = document.querySelector('div[data-force-autoplay="false"][data-use-device-sound-state="true"]'); + + if (element) { + var htmlContent = document.documentElement.innerHTML; + var regex = /data-video-url="(.*?)"/g; + var lastVideoUrl; + var match; + + while ((match = regex.exec(htmlContent)) !== null) { + lastVideoUrl = match[1]; + } + + if (lastVideoUrl) { + lastVideoUrl = CDN_link(lastVideoUrl); + if (confirm(`Open Story`)) { + window.open(lastVideoUrl, '_blank'); + } + } else { + console.log("No CDN Found"); + } + } else { + console.log("CDN not found, retrying..."); + setTimeout(CDN_Elem, 2000); + } +} + +CDN_Elem(); + +function CDN_link(str) { + return str.replace(/&/g, "&"); +} \ No newline at end of file diff --git a/icons/icon128.png b/icons/icon128.png new file mode 100644 index 0000000000000000000000000000000000000000..1ce7b087650c15ea289c725bae62a582fbed12e9 GIT binary patch literal 10054 zcmV-MC%M>(P)0YaA|AfSLEB1J&#f`YEHt|*qZuC5){238bNiiIW! zD69yAAc{x{p(PNK(9-+#d(S!F?E3w|@*<*A5}oHkSXfwC*q;@_pTyX-R%);4#E2-x z9BrqX9h_Pq2$g~Yf=a=u&ua*GZ7@)~q3&?)ys8~R{0R{JfovMlkH(nH8B&l=id5PX zL9-xey5ua`LCr3~i6#XF3BvwU<1N2^H76;jaQk*YdKBT6(l1q6c>4B*r-0-`{0nkzWT6M_{8 z1I3clW2OKvKgdO0pAE}7PGW7_>u3T@k(Ah6;4FzrCB@)0gGrVZpe&nFbCv;W;)KEg z1qX#6qM?=t)^I{TJ7UxnjknystX#Q^xL>JXG8Zf zf432HHs_?U$k*^>GL31)B)c}C%hILQduKmU@>O6#+AVZU(fa}+GvkI>+gdX_DopF; zCA6=`to=AOMRHJZQ0RmN15*6k0GV?*Sg~wU!Sg{hatw{w>sO|@o*&SBQmoZ9*Uacd zmC$woRRt%dQeZCO_{R@F7Eiq3%bX7qoz^X}4r>daW^&BUKYX-!%#}~usrm&2yYH6t zmaF1S_Fguo&Q!rJGPsQ1*HE{3Ok(Cr6O?WWVcjeJzG*Sc{lQo!zTBs@aa$8&f z1zK|9U9L<1a;>v_-H0O}Y-wpt_3jFm=iGYe-C2oJd8xIv)mj6hS`d;b35}sd$)Z#l z6QMZ&G9db*s0?e1{O{|x)uWM8&IkMQ$FfdHRd)1a^0 z?lEL`l&zhsZM=0rMMLoV%%nUs)KtHY+S}WvN1G`%6A44;!F(%0WwGD8J5rGkLl99G z@Go3hQ6&97cMlItS(+q;gL3D)b35Jnd{7uAX3lIL?*Ed4BvL>TK$?lND>h_3I>$!L zdpTHiUq^@Kn>_iWF3h`c9e{Q3rrmviqABJ=gII53%zP~f;-VGjBfTQK-k)vHp6?OC zsrTePxC@O8K_gQC&o<3{x_rXI*jOT{Dg^`g%Y2VVyjFPFJGam01$781xTAYqq@r%3 zl4TsK3odzJ{r-{f_G+`l1~sK7Al}Vfy8i9?%@RnegnHqz(jb0^w_W`$Ew#kv^+wI% zDGho4*PGoik1*|OuauPq!LpP%Q~XPen1%#_WjnkF9{tCmcl^&LO}3`l0SnEk%EA8vV{cjJX6)rUfEKi zT$UO+F;Z0qd4rf8sc2iACescW#9vk)e7Nn0n`h!2+S>9FM?kg7UV9&PFKzYY%m_7N zya9^6zC#^trl>kE4_;nvG%V^J*`cZ;7#JuheHcXPZx9L&YE&6@?-coppM10Er3##9 z1n1GzA#vo!&W>v>8hOz~Xp)o^L9g6V6U1Yy4|u-FiZk2pSaR6??y&Ts9ph}vASi0R z;?>mGx87Sdpp~^YDD;dC1v<{7e@0J2wlhB4qUedwlq~w{p_JQaO0e+(z#|ChdEKr% za}n}d>zDhe)bfnVtbI8sfUrJ+ZKf1FQ}ATgi&~`OdXO>GBb-pPL5ROzZ+L7=&4yQ29h)t1 z4l$fV$0oIo?9tr(L9CrUN*T-no#$56@nK0*3g5qHkZa_iEbAAYnps*c&#iwmQd9P$ z)_APtTlp){g!PZScrzi);uU^Tp;yfs)9jXB3N`mE4ivws3uQhfT4#l_7Amt`7H>)G z-8XT}>TgOHxp9sVoFf}=%;?ZQ!L*n#*^)2_4)O9gdm0`awzMR$_~vF&muFflK_#v8 zV0O~82gczK>h<<>@+46*{Zedta_^nJFHg9hc8TuufI`hr8HAcRXlZ4zz2$>En`f}DMf;iDA)abRF|1WZ%^tQJ7V%h(IdAX^Q~SYO?9=ORWepTt{JZ3@$R5vuesV6^R!(0AF^(v=)%0mE6aency!W32W; zl$lK+6sYm>r)zaN$>y>QyDmF&)zxhy)ei3#JkeQWuUs(a&<^}b<__NzwwX|VF`GVEomM<>t zmvsGdt10Ty9*HCEFYmbSxpuDpyEVl&oKQ8(q*{9=J3BAhUH+wxGl<~~T0AI&_DisR zU^mh0K_F^%K0bYJ-n%zuMQN8LJKSa_V}pj66Sw;4tIyZz2>V|>;;!SjOk_rxUbAcTF2bZJ^Xn7h zG}CNB#A}Lz+csBt2M=0ua1Fvv>9*{TI!Yonix~xkYC{@$^(R)?2U^Y1pGwNKAcCLP z2P?*Wuz4KE89;G{w2d-9WLM~22q~`*{;l;#``)h!7?&|ZCQ2#wXq8nV>=(Ve`}&-j zyKeYFC6*^Gieq-9mau4B)xTF&`Hox%fGboR8DUPEc189RI1?z&fNut6jWSXCEJA90 z#?x7g^4>%U703w~;(h5hhIU)9e+R-&n=btC3(2cgX1+4cn%->Iwh2obf>jd%0z#F) z#yB$W#u-5HJLL>%*S?ue*+dlByJq(AF@Dgn*Qr ze<-XT8Edz8iZZjMnnIjjozHtGuj&ZGev_QirPVp59~JdV8~2oEidft>>B_o|1v8#Y ziN2sSrD_{RwOo-J+w0>!N0-;*H=_8B?#PHG*%6j^6iQlhAp(+}riD{O=L=yBXY{4-nYQu~VZWQne$sIX4?3upc0?PFw0nSNDEL!EeOy8@<=P z#n@O)c@z}laJ_$Ymcw%J{ zO7SaE{7TPeHz!GE)4K{Gk@bei-CSDtn3wCCh0)8okoC0r-|ZM=;5?KWMec*7qXbO8@U69{>*VZC0!p<2Xj9P>!iuLgt-%(cWK6np8Y?g!@M-N=u1*eJO zG(Fy``Aa57den2iRaxmkws8T-i-gtXWhsr|!(3^&w6J!)e&syM20$Nu5b3Shc|?bh2B0ot?Hkr^YUS z^I+L~2sgN!mX;D}9 z@AX=1`~rqw@Jy?eNl_-{axWM8Id0G2o@$w#a4cXPZoeV-jd_PFs}Ocx6_>8_rZ*o| z5YTC1W$h1(R&KcMNZX9-E~ZRNr%Yq}4t)4IPJ!YS7Iw~J$!60X2&vYM*LK$UZ8pks zTieas5!PrdS$oBNw}00^A{;G-_U`(O%@?Sih7gM-_QtEOSQUX&pg4ujcH1CENQxn( z=c~%Pxr1DhSDPq_(WNXvSfi2<)8(EhXV#MF=(hjdSGZt>!Tm=Fp$?{4uf-`)oZ47~ z)Ej)!gL{kX1ecou{JY8*d>CPkN=^NN4G2*b+ZFo`E--Y%I~yT{(6KlLhM)0i$2N`( ztN9&5pw=43{VJtJX39wK?|03Zak%^l!WtE;CH_cMWP7d~WJzAZ2fH%Th9A|m=)V%h z)Vz7~fpZTOEUd*zQ2dNmR`V4UunLLN@<4FiGKj=;~LIEfn*;*>~*4MK>NScVXT^9?@TSiP~vy%k}NlHHOZ zh0rTOSft&Nda(pwh7iphePM@=lcRAG3Ql4~Ty$5B(r8^u?~6sp)*&SQ+wBt&)~Nlk zV=Cg~`#%O_lk9+3I|`hu$Y=0sc~`L2LM=z6DT-|ZV~nY2&vYM4X+j-^Y6H@ z(;KlSrRP?UyU(z#`#cD1w3h$-@}*t7{&ShG*Qg$E34(_EE3?TlJ|ePZe*g<{0tF|* zK>8viAjJCTTc$bVP3il$z)XWwExNT~_|^j$PYCUclb|@khOQkb zBcwY*>J71pLQ*N=t=IYLE}L>{5!UE&9$m;=KykI<_qVWB)s8?|lMo2h&*Gfcf+&@R#h(>&?ymqqnQG~R6DT+V zf$W5kI)fKHa^O%yL9ec3f<#{UZlLBtgf$6Yth(|u08#k=I(K8J8HRMkvgM5S5T) z_arCX*uidHo^CNciLfRm;Loi!cy-F4;VWHS21@}Vq?BrWQco9-Lvfs*kr5FB&_Ey$ z`-9~cO4AS`B>V_#Qe3fJM_a9la}>q?$c}AO8l*IQ2w{pX7ROO=oETM!h6E%aG)n5E zkV`>iHwG*~Sd${9&=EoijjgEIhL9QnHptuzJM=Eu_Pp8d0_9CpwSiAcADpj@r z4S>W?eE5kK$5HUVDE>o2AcO#&RYGC_v;eRdVNJ%RgFlV8JJNRR!uRotMZNz9K;XX! z!Eq=~hTy+ETpR|#%Yynbgf%IYDDjl4F_f9x;S?17FNyzxivQ)qe-L6t$gtR`R2uJkXjSLzc!V`6|6Y03!P;tbtfxLW z0Y9K)5WtDBCWT0hWX$|9A?!Ziv&?e;51ejTBzjtqoI$qNheKg97AoPdJlBZLxU zMQe__0QbFb7{aL3bpv5dLR3^6jWI14SRx?%WM3CeQT{riUCh!NjpBSZ?m2PaT)0zya*LL7``J(-bg z?cs>XXz#FmH9RhA@`XR_{19P{UUBhCUR=C#2tra*1`$e4oe)AO&A|y2oS-tO=Q$PT zrUdqjq9QtilPHzYxG0s~1>i%3HF{SKUwFVgf)6Y2Fxd_V!M}8HIon)W3?vsM2Hl|!4*p`uD}T> zPJ%;jK!}6Ue$N&j_G|kNq^is*+BDaAK935t{0 z$wt zlgW_<0#RA9^(&kN#YxOMRvM@^j5P=`Gct6a$G3w^S)vh=_G0Ta4PlMa;EU%(noN<8 znbgQzJPk)ps%jgCkYJ#0+y4BIOK}nuKZ|^Z5CV*hG!YTxqPK4FZujpi3LvaeQdN6v zLZ~K${?(SPPX~y^DEx;MpEWcb#K}MDfHRA zGgubXXCfrZq}&aY@TP3aeb;U=4c~lG_B9A=G-?|nuF{P_|8<)t^VFD_Ys^`*<&Sj?_hB_X7$cJKIuhnAP%6exbd#N7vvROrThgg8|C@YUP% zJ#NnDQ9zBis{IjmUd2SVo@_Qn-Jz&~Mo^N-xX|8Jp0M31nuKxBeiPJ!FnmVlCnRnP9df0qxbl)8oVyku?nf^#!VyeZ2D0bvR8Fzry!5 z?k596R+|}VnP@gWIBnn2S5WOvD?L{I;;zB%>>cfIHEznaJN9H%g? zmxKsZ*X2EcUxDFQ_`IyvJ0UIBV^irBib8w3Eb4+b8}bf5&?R+Jf<;|Bu7zvc8~e-i z5q8#G*?CG-lr1%(sB+Vk(%PNx*p&!Jls#=JD76N;_r)daZ&-j|f#O#x_66TIgxpL3 zbG*&;-jq(wsUctjz#Jwv4Pj@^%{}MYlB2qQ+cIHbUUJL@t~ez=7;Q~^oe=7hQXKSn zOPXWZcG1`tt_QZ1)V}KX>F*)P7bEPfQJHl-rAix}dkX`4 zLrq%JfE#R@YYYJ4_Lq+Tbi>VF{7MYJ!MlYO730!fe!EI9V~q4|AaZ4w)qCH1Wqi8m+?oWNGUhLBT>Gc*uE<5$?{@oz^DpUMRoduF;k162;^3K_Ft2Cbd`bMfZ{iLes77W_Xcm`LY7(>ZPC?b zoqKt51gQ%e4iIUXUEr7s&xh6cKb`O`Rs>D ze*8uZzr!1amF`yTl^JoQu;UTHllvqs_~&u1DB! z(mvseSgR>&0+(WGmH+V5y;5$TWHvb;mXu1LUVro4jbqm1cVPIP-pDU6z9B8DGQzA3 zv8klz%~{bE8H@I;a7Ae9kd%mmB)f9!b*-JNXY8sfMc8S(ug9n9-J6e@s4#6!Zdvk_ zGWW3sNme$@VUC?C384*visxr-9Qhi4CyF!R$JP07>0C@lNTOApzIAlg$S)4n`DKtV zS15^zvnZ1gcG||be?3_x=5Ni+{;WdOQR@mi`_dh?y_{OYM*x@DkMVi@&KFzFKUG@5lUX30$3-RHwHcrRw9ivlb=2n*>?3B7C49&Kx z(f8<5|E4Zb_UMI4qdPe*i7P>wU6=Yde#1R##jeM7oB;%9(7GX+T82|yX4mLtpweH@ z`N-7w_pU_9(Ftwxtr|%y@#{CWeQ*DKg#8~6cKqmKrkF1(@fS~_EHbS=$PP8Pn>(1* z$S(z>&Y%o#s|i#MnEm6}TAU#iXVAr;=Lc3Et{huLWH-gkl!Tgm+`XZ}s2V(D+qi0+1q^4&?0wbz zy0*^6PK~)JLwC(YF1jSm*7>4T+sYOZ>TXc?qF!HA734>kLiFR$+y34Rw5pjgisE?D8T)r-rPRcjkAQ{EL%7z1-+V? z@3uuMFHt5HpAh@2gM3V&$hRvxT1ja0$>AdhA8he8Rb=yqptz&ObA@a02R5bcn_W3b z>TY-Ll9myj-!i0$SLpHqr{aybs!{VPwR9DPNw@GmU*yvsUz9gO;4ES|%N7>Y;pOdB zn{R6qxyfo_gH;vD5f(bm5wF(IIq3Up{Xq{V_llZe)kr6^N(aBNw)$WAgPN8-<57#^ z_(-LeYy84Lcgnu|=A>BDK5u1D8e>+z-e?SqcpwjK-^2yKldZ&$FP-4uxu37WpZ5)LVRH<-_6)j%eHxy0O zzgqosc)Tg`eMyxlp9l^;T2;PMw;-Z~AF0iDTrf^!_Njs}7bjHI8~)cy0!JQxcmE?k zoI?cXN$#ELozr8LS;T}+pb|lY~ zJwVu+)G7OBOxsks=b=9Fab`xJQ7OA1)}pkU`d!JqjW>2`GoocI`*?4;2aU)h&2GIn z#hmzQq!Kxt5p}Dom}i*{ZQjj$Z<{tGc2Lq4aYJ59(3(x7L`gM>33uCVdxg6gY=I&iMN!v1;`FI*{cN`XwI8FN#v4|5a}^ zEY1xSJv!ykJMK5LrnHGroDWH&T+azrI4Imau)JP(-~agj$@w_X2pW-+N3yzDD0!AK zHVA?eDHt03a$QM1pZ4yyiWM`qmKoD8O=n{=jnJX{TKBXP z`jAO8T?s*{6cm0PhrNC|r@|xVcAvdHuWVShdI*GfTeeG--Fopxg{r*;r|!Z!e{7Uu zc`QoN9`y!gX>o&paGhW5OS42w6rA{Vj+GazU0nE0&(X~UCo%Q9Q8sM*lClMDN7+*p z=RifO5r+fyi&ANq5d3{AB-wlbl_>jtV~RcmZ(OY{>?V!K}o z3Mq)v5Da{u!lH)>Nof$snq9R?-r>09CQ4|+A){#hn-#14Z&!R-vMlo-yAl-pZC|$e z*C-IRrvRm#P#A#UZv+<}4OUM3xN^zX?G3xo7%?hAh3XUkvPWWJyUg3~&zTAkM`CjLme z*=i6$_8UUHGp%4((LJdh6IFqL$KYSTe{A;`V`8#uBdBT?LawVc0(1K1y>sy1m|hDx z558&f7R-F5VUIXw)a;McEEN%|v)kC1OD2wW4S3nXtWOa_2NAFoNeB!na)iWGCM@Gd zb?rALrNMGERs>B<{!N|J?PhHxI2mEq%oj>Q6mSX%1}PYVIx2iRa)d#48Jy%n z&;y>JEUxhzrI)T>*?`mVdDhL=2v`%WQcHng8IUYX64s7VwUa_jiJVXvpx~h3ga|L! zw@HX)HNv~-ngh@8MH52Mgstk+DmpdRIUwF)?=Ohj7gA{rL8%lJl2d?FNWmaE1q2hi zL3~os8e*_|DX32hDqv7ZL5bwdA~|(P!J-*gtl*SN!5}$>5EPtJ7@**w(f}#YrQA@b zyT3jhs9OEcs?SRg1xnBq5&VG^UOm8RVrm!4Nk>DlY*nyK&PfY}nd2mP{3f2 zf+-3p$sz#jy`pTOeGwpvn5 zqKi{gY)hg>P`!GpIUg2Is96=4TKLG{(8Cy&neQX$V0B_BYL=w|Lk$a-s!&Z+ zj561qO=Yj-u>rw4)v0)2i_o-L4OR>_{K;OG^+riyx)urj;+15P>z3E}(96k%@t=(I(Hq~2=-_(dUQb<+N6kQRZhCIyGh7^8g%g8)rp;2V7JC@Gvs}SH zye>U&?v9NunWBGqFn*!<;rsm>h0D+}Vrk?_>_Jw;CT`82X=ps2>O9hLk>7{*MjOmN zxc$w?8F+9iof)H|^qx0b&Vb{PMR;WL!Xky;&ohUJjIlaAatIorM5GLG2teSO!vIhh zvp^7lM;u5ubsU|F9L-Xm?Se->%S!kl3-a_gX^88NPTV^yB8+N)sJiOWf@N z@t>wtcy~K<^ebEh>r|)WQ4{3&pEap$smhmTNv@g22y5tJslbPm6;AH0@}b$uh4DPv z2s)@t3~kfOQopGx0ZR=#T3s>fyqr6ny}W`A{sOE#%EFDS(P;nx002ovPDHLkV1maW B3N8Qu literal 0 HcmV?d00001 diff --git a/icons/icon48.png b/icons/icon48.png new file mode 100644 index 0000000000000000000000000000000000000000..4f3b2d9dbf60aa9e61ad55005113839b11b7db87 GIT binary patch literal 2141 zcmV-j2%`6iP)Wqi1ESo{^m*{Vj^P}s zzvU{{n@0-Blf}lf2OC%B8dpZOE1_LGr5qVoo{S|Kulp!yYnXCig~2(%@CAHWQ7XHU zJsG|%S7~0NT&qDjqSjA~nDJ%z<0*cS0y{V2*jjngf*;CrDO}=`9OhAIcZ!L>v>LT# z#@+=k&Jx2}XnCxt7b!7MyJC9a@U3oIeBikJy$FlUQc3Fr*JX#oest`yHnv&n&`?T8 zB1zZ0A6DHLwlMJwV|FBA;42;~^(ivhC95(GzG`;;51Vm@7|uZBLj|H+m@2f-Z%d_V zz2}PeY-WwuNvrYGgxdrbbh z&G;)HsGsejix|47dExL8mTjK#pkDV4UK3hgA8*mCOhf9UQB{W(&cd%RoXf3fetux} zeBy*rzu*)t(;_m-0nK@|W=0*lfT0UMttcvImVVHMS`BGh73s*pCu19M4lOBKGoC0^ zk^mhh5q(H;v1)O3*#>+Lj?d9NXJiFnZt^vL7Z{Upef`$O%VRrmj=kFSw?hM>!*}%v z<=>fvx0sQ2&$#?q`P&;eY{zLZoJM@ss0z*XRgTtAhiu*VI%zpWZ#+Pit=#39} z6jVvs?OrXcnibn7{T!#jaSF$7Dk%puH?=zY5lI*`;J5qMzSz)e@DwY0B3M?htQ(`1@L%1jk8yJazO4Fsw}a>Rv&t?BYM|S&FaN+ecrhF3q1&YJ@m! z7|ksma>qN>v31AL389k%6H5evJ(FF>r;i=ax&HJiW_hFnz|JXOj1jgN_NS<(1s**%#0XiXcaP*qXdIbu%C0z5I ztMvXsRr}L8&(?3dp-C~9E8=e}qo&_FWoJKhK#stV@_hdlL!mu^_6w#=-^P(a$mnBe-C3+j0}Mc1`H0g zIRaoCvYgT;2JJ;TVzw07C{L!vIN}*dWQN3|WpCB#iL^lSBsLGjR=^P}=N7 zmeX1{GQa{%92tZR1H>e;!IIc;WI4g*d}2Ho1_zNr$WSnK7GtA`*hR~SUt%LmU0V1f zg4WM+W{omN)gptC(dc>&g4i%u1%JGvN4FlxQWy6BW)3I&0%BAgxUKcbAY@$ePK}Yo zc57mz``h9=WU1~s`9BDp=KlzihblLJD?kRJoq^dTI0jjq@*WvFfFsL{8}k^EVIN6m zU&@Txgm#2>DPt;aPS^TIz4g7mJ@b%d`t~l)<0SG0S<`gjY(hIiyMi~WU5m3y%~3QU zA{QacL}ky##%*mB%&OY>;=h2kXPI?@tz;PN&YvbD=ygYX(+4#POS+{U}pL-?@i*Dagb0WZ(;DN%` zz50g-UB!9MKn`5b$ci<#zW;cA{O>pwhAudMPtnXk>I%oGWg@Kmx=hz!^2EV6a1Jdk zT64WeQu@s54j!JPxO{eT_0*^FIT*U=_=4djEM(Ru5mY)ptF)PQ|Irq@@0EtOV~@Xf zSmP|*oI9D7bh|9CkKKQMn%S>475Ew#HJ8i;P`xcB1J30 zklj))#RJD08jI^S)$v5~!JT^*PNS^nw54-0s-sKo^9eHJPVNakq@-{4cI%7eA+w)#7c;tVl-0Vn2_Mhvsdv@gq@ zG%xU6tIkV{I?oXwE6;*ghm=q7HdxqHm==IyE39($+T-HwIk!olLsA$+Q7*A(G3p;_&?ykWXh|} TiR~+M00000NkvXXu0mjfAAl2M literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..cc7aa9c --- /dev/null +++ b/manifest.json @@ -0,0 +1,28 @@ +{ + "manifest_version": 3, + "name": "FB Story CDN", + "version": "1.0", + "description": "Extracts the FB Story element for sharing or downloading directly. (Refresh on the story page to activate it)", + "permissions": ["activeTab", "scripting"], + "background": { + "service_worker": "background.js" + }, + "content_scripts": [ + { + "matches": ["https://www.facebook.com/stories/*"], + "js": ["content.js"] + } + ], + "icons": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + }, + "action": { + "default_icon": { + "16": "icons/icon16.png", + "48": "icons/icon48.png", + "128": "icons/icon128.png" + } + } +} \ No newline at end of file