From 05bb955688aa117e1e328b4cae68625352a9b6a1 Mon Sep 17 00:00:00 2001 From: zefie Date: Wed, 4 Aug 2021 00:06:38 -0400 Subject: [PATCH] v0.9.10 - initial primitive wtv-cookie service to satisfy newer builds and http(s) issues - update: wtv-home:/home: add wtv-visit: in case javascript URL accessor fails - update: replace bf0app and LC2 tellyscripts with box-specific PPP auth, rather than hard coded PPP auth (may disable CHAP support) --- .../BF0APP/bf0app_WTV_18006138199.tok | Bin 0 -> 2141 bytes .../BF0APP/bf0app_boot_uncompressed.tok | Bin 6663 -> 0 bytes .../DERBY/derby_production_normal.tok | Bin 6059 -> 0 bytes .../{DC => FIJI}/dc_production_normal.tok | Bin .../LC2/LC2_HDD_artemis_18004653537.tok | Bin 7216 -> 0 bytes .../LC2/LC2_HDD_artemis_18006138199.tok | Bin 7208 -> 0 bytes ...SP_5555732_56k.tok => LC2_OpenISP_56k.tok} | Bin .../LC2/LC2_WTV_18006138199.detok.txt | 468 ++++++++++++++++++ .../LC2/LC2_WTV_18006138199.tok | Bin 0 -> 2410 bytes .../LC2/LC2_WTV_18006138199_56k.tok | Bin 6063 -> 0 bytes .../LC2/lc2_production_normal.tok | Bin 6084 -> 0 bytes .../WEBSTAR/dishplayer_production_normal.tok | Bin 6050 -> 0 bytes ...oduction_braindead.tok => bf0app_OISP.tok} | Bin 5168 -> 5150 bytes .../bf0app/bf0app_WTV_18006138199.detok.txt | 463 +++++++++++++++++ .../ServiceVault/wtv-1800/preregister.js | 63 ++- .../ServiceVault/wtv-cookie/list.js | 6 + .../ServiceVault/wtv-home/home.js | 2 + zefie_wtvp_minisrv/config.json | 4 + zefie_wtvp_minisrv/package.json | 2 +- 19 files changed, 974 insertions(+), 34 deletions(-) create mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_WTV_18006138199.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_boot_uncompressed.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok rename zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/{DC => FIJI}/dc_production_normal.tok (100%) delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18004653537.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18006138199.tok rename zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/{LC2_OISP_5555732_56k.tok => LC2_OpenISP_56k.tok} (100%) create mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199.detok.txt create mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199_56k.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/lc2_production_normal.tok delete mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/WEBSTAR/dishplayer_production_normal.tok rename zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/{bf0app_production_braindead.tok => bf0app_OISP.tok} (86%) create mode 100644 zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_WTV_18006138199.detok.txt create mode 100644 zefie_wtvp_minisrv/ServiceVault/wtv-cookie/list.js diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_WTV_18006138199.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_WTV_18006138199.tok new file mode 100644 index 0000000000000000000000000000000000000000..c99841d491361f5935d22984bf45cf57724c6e6a GIT binary patch literal 2141 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 diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok deleted file mode 100644 index 8acebbb5420a86a0c277bb9a2c3f0085e628d3ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6059 zcmX9?X;>3i+deZ{09hsppoky?2nGm{g#-cw5(45NOCT)nnq`1UNWvsxQIxP$txF}K zZLNJP!L{NNTwkqU4d7O_EsNFGS`Fa#w%=7jZL3z{%iHg|uQ~JMJm)&+n)A$a-}fWQ z&s+ikfd2cOYn%O60Zmi_Fl!S4N%L-Q=ISA6dU|~mplUG%NTGmTN(!v+MebMd1L*Qkwol1OPV0#D>j)wc%S(3s_pLE(M|i#$hP2hK2`j1J1~)8&*D7Gir*M7}Edz)GfRrJf0ZP{9 z`)2wBiJj80fpjq$a;N4?xv4WL4Lp!PhcpGPZ&H9=P%FNU3sr!5?%wbwAo8mP%V?5y zAoDRzJ%dRN%OgvevK z{1=AM7F_UO@E17l<-Y)AMZg3b#GZ}>G3bJi{D{~RH|!Dym|84nkiKYe(9a$8(AS_j zjkFw47cb>{(-(nED_q0^5p;NAc<#cmJbLJx{JgNPPy?Z_AkuN8(S+A0qQT(Zo_Vt< z2Aojgx*aA(1s)6pAlOr#tszV!VFRJ_qY8S!-Dpg9dS0Q06OH{)L?y|+NyQ7;De3-f z0HubIN)E9TpwaNDZDF-IVbth#X)<=UR0taPvmNNOa5&I?DzxGTsMPD$<3_egqpL8^ zgd4>iU1%}Lk|t>&Vk)%hBhUbG(o^ZsjNR;#4`J>WxRx`;;6YIw1}VXvm*AC<;5NaY zHV_(}sT?q;<;C)3RHZjx(yDdyP3UI;oi=LL;;6nHl@=8!7!UYcpkP{z2CTi!V|v3v z5S8jpD;f(eLg6&AJc^ufLGo70k>3Uhf`s&hva|$#8NcWm5Qsqg0>1;2n_;t{`j8i13kve5v&0egEL4l9>qHT17Wy^a9mD{Zi5^o2 zSd>sQaG#CF7kWx$Q|Oafd&Rdx$hUkIG-3gHPGMTW($JZt88W}vYf+M%N z^RLKD`@_n_GS~04m;x`k27W-7GGN7f#cL_1RDfmD=Lu}E0w}O@?O$eNWuUJS*Qwtd zrwiqhVvOhA_@pQ_TAr0(jLv~Rhm;=ytwvYQDFm!CDKDK2ICBb9dW)QMk-6j~ajSBD zOnDtTU1P?H2DCyyZ9?Zq80Q1l>n|YyG3;B$aFcnD*hA(b_K-N~Vi+||<3I4!kh4ZWNWyb zOX9KzC_CaqC}YSNG8X}3$SRL|FpBJssp32d`4wSD!i&S7B1T@M>=9xTfFRf0s4H+3 zdAZmGk0C8%-b??xG?J9U^**eMQ22DKkAkCJc$>7pi#%@opRS5)=#K@@CHHJW5O=ph z90xHVOcMt?Bq;)pL!!dg(B0m%kAy>2;ckiHBrV@9shdx#u7y^DY#_{rqxWFCLbjZ9 zOi^stFKszxP|~m(GDLVlyNo`N={(tdpjXt3PwNy)Enclx|BY9V_?ybL`no2SUS}fo z+I;)Pc=-yuQejrFw5Q!VWGKL~T9o#Vp2^KFyy%UgiyhZ()KEo}bt(pq$&-sX9F{YnpVYUk`OHZc!jj7oK1alh zCOb|!pd#e;S+UV5_TeRo*z#!}Tf|9X%Z1PRBAy_{FP9gI6!Ie%omUNdn9)I~rc_4Z z_hD!x6Wd4oONXm0);f);@=~ovjq4RQT2x{Fszz7qkJE^K*V8l z7T+V1edd6K#redIejk5VAxhNyT|?`AkD{CJwf{ih7tRR?ePItEal-=K1pyuh3>UnBKdfG4Ymxidb&s;Y}cDix|Kafc^ZV3At?W})}?qjC;g zB#$u4t-_w@b4EpLOb*thQ6edCK$Pwi%ghe)9(*3VxsfT0wvkj zBh9DmoM0kMz&UKEF=xb~Or#J9WM1R#^AS`Ab$ifcbEG|_#;wSDJ}FWbEZyWDORhv> zA!WCdcXC>Io%4m{9%B0k-C-*_6P~Ibu>s$x|mJC46P;AZ% z$G?hh6@X4CGV~E#5nE!M`n51O6EzTc`GBV07E=cA0DeAl7B~~}lXCzZ4%`mE2YiH2 zvMkCLA})CCc^g{OLnF3GTC)267eJ@moSu-ZFI6<;c46pxD%ifSPJw7l<$5}_5d3U# zCm~TRX<~{~Fn6N=nqfz|rUIQk7`Q7JR!)7No{Sb_d07S5N{Z2PXnD;VfEJW3LYbw5 zqT78@B8nBWI^gI^H z!VfyJ8RK7Dn~f%g$$Y{o^%pD{&N%xC&y)C$xrWB$^u0 zsdusK_mz5mm2dmi;U>Z~K)U^OQCgQ4%RR@xlGnI1|ETpq5gmxIsm6{~1_fcniFn*- z)~+&$6Cidw!S7JUS$~)mV=AF_6i>5Cfp2&*$d@LhbNPH1fl+DuR!o(;qp`7Qgc^;H zFrv&jyXr+d$*^;TUIjJnf>_9@tv-dj?+I3p)f25Zz<8IRC zPFx+@{eBdu{t?ZH?2Vquh=rtG2D%cOdBmQDWFZ?E$Jkpux#?Rdylg)u_wzv^Y^bJi z(|owS0W+^rc?qf1(QkZ5En!RXTm0j%?xCX9^p~T}Sb}l71!4 z@1Wq>aKVjnSrG<<(Dfzemook(php$E{lC#WbONv17d<5tWj9XNe5>3nf@nAlpN%?w*x0d zgZpP%cXa59s<%LA-c+r`8)`Ozk4DY|(Ezq&kwQYVja+l(lrZa_#f!$0a>Iui6D+Hk+VZn69z(+V&viJ43y|qp`eV45(q(g+{*IUW73=^ zj*RW9_jd|223cuT%vbT37AJml%CiXKoqKyINJf|F&BP@a`>Sw`mlJ)eQt05JjjvFX zei|*qmBpoT=p~sJR~YeiR?~ZhOT?RvCVll38%SMh2344*QBG_Un;n}lEfB`?xJgNI z0XY*VQQkET6AwGkd(Ys0bK$@Lt~zul zJPScRd7=aF!&AB~dk;nMa*@76ci1bCy|!{hp;I*k?ITmQlg9)B$z+?Aeomf}Jsfvl zaCZPx&p;nY?iSp|Fb!eP=Gdj?g<1@+Yo~7P!0Lwky==ewIncE>&|v#F9VYoF2tc0H zyZPgZh`N8X@!a-&kb20LIT2jfNph*XKL&4Pv`HdQi`fF&;KF9*0B7Ws9O2-V&ZH{!TU(dtXg8)X={4ZbOk&_zEAv$bWkVECa(ir2 zV-pwAUT3IXX6)cWnKY$E&XSd%;BdvGV>K-XT7CY?Hu+h~x`E~P z!u;xz39t6<)V028Cnv}qg)b?@)tbLf&h`(1i*E$|Wf{q8!YcFLdQe$hUA{Idm3Ws;(NEI)g%c%2-Lgi)7R{DIeTtVXb7XA!@~&uz1XC=PSG zxy1NWxanrN`Rnjt)p7bVDX(GwX_^;>y=!$;$uJ`c#xxqgG!T$q9N{)eW695k@838d zK03E03SlR0nZWuuX2gV-tM+hK0^i!M1GG};I9%nM9A@~>WS;-Qzl|kEG3PN2tPR&nRF zH!bJ>FrT08A~)q^Aa~psE3rs&I$B~C!=tf^&Y5+cA(qaN&VWE=H~fumBrMZv3^5xF zdZH=fgy6dn@^>NT;L3Z)wg!9{G*w{{h2WepOGQMQ&!l6aHM z8Ga<`X1Ny2EN@n2DNE$xqvw20ng&UTG*OV8Sk4J|gae-&Ee*J0x1&Om4DPqQQEOMn zLt4E`p>+n5FrNxYC#`Z3a-wevmpQQxq$;WQK731V3$%x!sNEzpIpa?%;2wyTN4^S2 zynF(mo$w@qH-M@91HSe04a}OT2M+_@Nl2GT4f^sr9Cu$P$)}vRRuXmwxdggpb*t9s z*0JZ4S3`cV);>66pN1427<70+bd$>}W^eaj_{tTVGi6-_$ncc)!uLDd!@-Jf=<<$< zbfUp!lXX`M8y+QvL5EFwkO-^kwdF7T-640hh*l_rpwSF5tfS#{cL89Ld({E16C}xF9Iy_I7G7;UqGt;Pl&wi zp;*eDoktohjZ|7z9~7H7LbylJSG+o2gU=h<<|rdq7qZz<7A<*S#B7BTjOFYH7zHAY z4O!v6p)L||!ST<_<0hwtd}p#+F{JroH2wSZThTivMPfoSknm?_Zu>GRpHzImxZR7Q z#qteSlg3k3wP8SuhtD_@+M9UUqk>MY?I?)u+*SCMmFyR{BPLZU+-H-O?7Z$~cAyW1=R=Na+yLT{cnX?EjVG;j#=C57;wsOZ zgKhE14iCW&Pn9Jex#Yn|FL~awAL;w*tn>9!{~(m%Otk+pequXf{n@F-=dN_h z2)x>mIyuXvM+FA$IY$T-c5gBUlxI@UUyd+(42z+Q zj6X(yd(~g=t}I9Xftw_rp1%fJgKQd9bu>ePM<~<(PsDL?Ng(j}BzsPoLi0`%$FRo? zZ~{Xn6>~88F^A60=t^|@ia^oia<5hh#3Bd#^M<~f({s7hyP%JW_%TV3=?$0#-39&= zSlj1FKoZ=78FQj<_5}tLx~}8SD)FnUxlG2s;wDDP9l8xGZF@=F@0ZuPnQB)FCVj>} zd-__wb#&^-drFrUh%*`gE=RYwp^1qo^Pwak6EU++;--|SsFhg?o#x!)plv709J^k0w(MO9lj%8-sMA0a$O^fBFtn#LQ0|#UTRwi z^M#%knyd^Qw3Wl_#S1-3Jq0lCwq`%on^Z>jqWlXcU|Jw_l;lHIk%UQ@|91Mxv*$fgF-^u#P>HVJT1Dw!8y>BJ;I)mqQ z4T5(yVcv}7VCsXCSFP(l9lg-qtUYdzHi~Q%LTKB-k$NU195m`Z_8)rCl{$((TKWB)CV8xac`|nEDTsA?BJxS+$kN_3N6+6Dj(e#@ JrT3<%{}1VGsE7an diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/FIJI/dc_production_normal.tok similarity index 100% rename from zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok rename to zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/FIJI/dc_production_normal.tok diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18004653537.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18004653537.tok deleted file mode 100644 index 1c5bb428a08c9c9b2fc89715df1d84c300d0e3f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7216 zcmbtZ>u%e|66OmOIFGRXVMi*M98ou4VmWnb7l)`Xs_9$`BM4}6B@?Ddfuy4Jq=g^7 z{bqN0)yi>E|41Zq?mP3%%t$v%=PSinsPkM{9oY==!uSZY(;yq%o37xeO zyKMrkqyF zsdk`_q_VC*+Sk#kNZ06&k9Bk^eihwdf2gAywe1^PhdMfy;gvi@Pe-ScxuP2lweeHw zTcew3<9E=uZ@j0C-(j0>ucwROuuAvsemlDG_b*|w?V(t%g2{KZNUNc)0gpra~qZ-Ii0l1xI z8pip|=(smLihg(fG+gF~Y+4~bd-;;>1Z)*Q#K}4~%)+^D1G5i=#OI6K$yi6VjLA;W zt;CuHXtH&XD%n(^D=oheEIc{@u~|4@rThY2XJK@x#(>jbF0IG6qj;I|oJ`KZJm>lHK8bnxh-?MF z=ld8(E~S*oj|jM8xwXefN=y)X(bX!?!hlaxJ`2AXO~O(i5uTrFY4!_Yz86LBWhk|T zLZ`FJ_;eLz{1g)50i{#TFzKJ;t%C3_+CpPVK|z>#ps_2hEm{47uJrLdj4@#~6b>Yj zfA7U}9@t_2dy8Nw2`EQ?PSP6$xH;Y9(%4(@T1=K+maUVN0wGg<8@|9^cFpG@5KDxDNu=*&NtATi@D)0V1T|Qm%z<7R z!I04b9uS-$#f#@T|AOh?MTKA;Ak@hdMwQd1Tk_P$0^rSs6d}JZCJ0lcs*+Fp1%Rm* z#7ng%v;tozfm!5+f(*W$wCNxnf(S)bB3%&~fr4d87$48<0k!pQ7W~+> z=oZKLQOd43boFGSGTzBt5N5P+Oeyq`0NQdi-3yT~%HOBxYD((R^lc69cw+TFV1zEi z`h*$~4?m!Ji?9mUpCYz^212krg9^pO()w+7YeEYY8HQx8bC*Z;q;_j!VO!F$(_H)< z?HJ}Y+%&s9hg+Q7Hz~hU!GwqHPN>v~f~dnWCDrLvm{v>J4T_sevZghP*@@~+gs{Qv z5d1V7H^P7sMx-!!P^;QC$!MCL)QPKML^SHBOeXow!3A=@ zp#=UAf?}i#l64mTpMX{5_7)txv8U|4AZ9M88F&e-2dwkfz3z$$^AY134IyIYRD-Q< zbR@mAC|RSO<|!_W3dMMQ2aLdXaT@_25Qy(LhI4%zHeDK4pB#!;Q4qh#85$}ETZz)b zR2Hm6@0o>ZmNVJpnVQ4NRx$G8gt0duL?RiS+VHNmQICfxsefgml={z2BrjSm_Y^rJ z8*UUK790ysvo$wbF6M#O>t@T{k~GvjRqy0qeC#`zo0uP_{wmC0y%I?yk|9BNzfY2f zvW0JvR~WsM5jUD^y_3Pfu+!?E)LJiXT7h@9Z^n2-NK>v~R7%BUCp|6}v$n1pm;1T^ zGJ**wD<+9zRWV&TF&tt#&{$0&z})qK<0wY7f)ge@)^iOzlUOJl_jE|fHR=S3tL|8L zL3U*0BIhgZzqD+LDG=w4DlbHvw)MuqKfN)QNgRD>Ohv&d4(d{1FI;JE^txS@L6AMva2`H6V*t(hI z3dhAR>&4j`Yok2WvKks$PIrBXL`_a3%d0e@9wd&uFh^eT@UIe7E4R1AZ=U4r#ZLBu zc{xjhfaM_uakDrX*igi#*s+DrG{#CdD+LHZ8IdD{4*u9ihle4B2)gSK>;NtpC?a-D z2ceDFg?q_lq_A(bg3*W-u8>-<8?mD60owcZ`J?Wg*#wtCCR6uW>RWNMq`vyqFA3s_ zfjgbz+S)9CfH0v*{rq4efvX=Ml#Qx306(~8$Z@;y4`noxLM<&W-B%EVLf>K)hZrX4 z=Z;oX8bPBwwkHy-4jtuwX1eSA^Ctlua*ZoCJ0YovFG@!(Z>GD0n=287RnBKVIoo0c z=eCo1n~_H%H|YYXvZ7iTNpGRH2@5Ue%B0FVp&A8N3Ko-}+(d;#XjFwKod%mIOK(}< zB*l0ju8o$)5pu~lqEscoKN zihQ8SLG}m<(Rv^9BnOleCW(q;9XWPnxLEC!w{tHsU($VD_rEsXOCzIF01pjEfBj|r F=Wlsuf8788 diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18006138199.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_HDD_artemis_18006138199.tok deleted file mode 100644 index 4dabe11460265f9dfd68a592a4cfe3588299359b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7208 zcmbtZ>2BLd66OocJM{dpBQ2P$sLQfrIpd+dSYmu=P3Kq`K|qr&nJ`5PBo$>gJMg2= ze%0MP)p9&o|41aV?ymZ(s`d1w{vs#HdFtidc>9FUe)V~kCVAo~k$B-J%T>y=EKFkc zJ&w7b^8nxEpR@APjNkBV9py$RazIU=x=-IBH|4pX1l*X~p!fggK-`kYxiNK#KkO9L z=eA&|y=T|IfuttD!q-2Zc%5g^X1cm&_UX-ybAHq0J>KRWYk1F`(~H~dtMexFXq)+< z&HU?o_uoyfgKe%!n+xWiUb!FJ){eJXt$v%=PSipCOnQs6oZ2T=uSZY(;yq%o37xeS zyIlgUSizE&3W-?hmO#~QLhuT5t4k9Bm`79Aq6 zt#+V}q_VC*n&{|Mq-%61CptP6zlv@!8S3apZTp7Sk&aGfcqI?f)6uD9uINTXZTwXF z*660%_#L+G8y{%nchsgk=;`7&tWv*3B5g_!tCX%0_P0-Ns3KU$HUUtr#2Ow;3rj%M z5>2;=H03rtG5%X&-9QPhLV0kgONrsTI@fS3F((6Ef{aw6*UZ)gVWgzhs0K1r0B&cM zhH*YOI_@oxqTgLV4OjUQn^j29UcY900b9q9ak7aGvv984!0baI@#W(7GS*QoW4ae~ zE3qa4nrt1UN;VbfO3N<<3r`L}Y#uJwDZfP5SsEQ`Im^H>@jv>~Dv2{Lj!Sf=G~^i! zjGTza#?;C3ls<@_q$ts&NP!>}hrgk>^84(DIYCzkYwqNNpG|7*ta;1*dbr z4kJAKvI*nIfULyBKPYgbt4hC4lv^paY*YjkrK*EagqL237|HJLCu{U_(+R7CqHt!p zm!icxdFVf8LPz8vED(odh}X+|p3-MnGoRz*oeg;SEM8_jCzCTUFL=IsNMc?-B3r@l z`98*xD=B6A3j(fK?(Ffg5)*`8biK~AFyOP4&%d45gM( z=ycW@pRJ>epFtu#pmeGkCjE1~br9Z1J7_E^C6!e?Eh=D|J&dvnacs6dzf{L zWOTvQ8(V{kbx6QR$^P~FD^G8bhwzCqI^`)}s1i^K4F>=z^1b?8zDZ&J7ey`vWSkz= z1yJUtvA5*4n5?`k+axIkLZbn*l!Rs^($T-E%RrbTx+#?MlA#i1)C z6D9FMoRxCA31CX0hXl~pq3K?Vd{O>BM^{r)$D|)?aK}@t_X)Fe8P;difOz-`U0Z}z zxc(fm1sD*5rSlbhiEZ`A?ADYvCo&AlT<0#2>RIj9)WVviVW)xkCE78?Yq)7>c?q{T zxgS#gq=E?#+bvM35d~4lVM?mAnJ}%Euv-+jm1Ip%6hjl$n+Rcp*&+C8c5H+Jvx@)~ z@W?5Tc*@@2Jy8I&Lu8YfkWs7JHOXiin$(G_DMWPW=S(K~&4~qaexL;Y5I|#=3zAJ1 z{)d27T-1-WXCpcaK6*x zOIwy0|8U-@@$_)n@t2 zg9%0IcLx&*T>a{xY*e)Y_`&r;j%$U#D5H@S3PD}Es2~W1zU4X&F-*|!9IdD{f<~8X z&m>qKI?Bb&bT|3eF9JB^{#LAXLQ)Z5l#bfkOm`1gRw4-NoX>r7w#5j}T_^KCBacLG z(#=n0MYSoC-a>5?7Fx`eNtJa%H43a0EG9p>f(nPws0vRy4K`7h-m1Pyit#|)7p+z+ z3>=6>8 v^*-cD4k#x~5*5cfa_q=(quMF2H-l-)*{(Mn 3) + { + return 0; + } + else + { + return 1; + } +} + +main() +{ + int count, i, result; + int start = ticks(); + int end; + char *number; + char buffer[32]; + char *settings = getphonesettings(); + char *accessNumber = &settings[108]; + char *dialOutsidePrefix = &settings[32]; + char *dialLDPrefix = &settings[140]; + char *callWaitingPrefix = &settings[0]; + char usePulseDialing = settings[96]; + char audibleDialing = settings[97]; + char disableCallWaiting = settings[98]; + char dialOutsideLine = settings[99]; + char changedCity = settings[100]; + char waitForTone = settings[101]; + char hasCallWaiting = settings[102]; + char useCallWaitingHack = settings[103]; + char dialSpeed = settings[104]; + char brokenPBX = settings[106]; + char numberToDial[32]; + char secondConfigCommand[80]; + char dialCommand[80]; + char *configurationCommand = "ATS38=0S30=180S95=36S11=60&D2V1E0L3&Q5&K3\r"; + char *defaultNumber = "18006138199"; + char *nvOverRide = getpreregnumber(); + char *secret = getsecret(); + char *serial_number = getserialnumber(); + char username[32]; + char password[32]; + + printf("TellyScript: 800 Registration Script 4.1-zefie"); + setprogressmode(1); + setprogresstext("Preparing to call"); + setprogresspercentage(16); + setprogressdirty(1); + + + + + if (nvOverRide != 0) + { + defaultNumber = nvOverRide; + printf("TellyScript: Over-riding default preregistration number with %s from NVRAM", nvOverRide); + } + + + + if (accessNumber[0]) + strcpy(numberToDial, accessNumber); + else + strcpy(numberToDial, defaultNumber); + + + + if (brokenPBX) + if (numberToDial[0] == 49) + strcpy(numberToDial, &numberToDial[1]); + + + + strcpy(secondConfigCommand, "ATV0"); + + + + if (audibleDialing) + strcat(secondConfigCommand, "M1"); + else + strcat(secondConfigCommand, "M0"); + + + + if (waitForTone) + strcat(secondConfigCommand, "S6=10X4"); + else + strcat(secondConfigCommand, "S6=4X3"); + + + + strcat(secondConfigCommand, "S10=14"); + + + + if (dialSpeed == 0) + strcat(secondConfigCommand, "S11=200"); + else if (dialSpeed == 1) + strcat(secondConfigCommand, "S11=110"); + else if (dialSpeed == 2) + strcat(secondConfigCommand, "S11=60"); + else if (dialSpeed == 3) + strcat(secondConfigCommand, "S11=1"); + + strcat(secondConfigCommand, "\r"); + + + + if (usePulseDialing) + strcpy(dialCommand, "ATDP"); + else + strcpy(dialCommand, "ATDT"); + + + + if (disableCallWaiting) + { + strcat(dialCommand, callWaitingPrefix); + } + + + + if (strlen(dialLDPrefix) > 0) + { + strcat(dialCommand, dialLDPrefix); + strcat(dialCommand, ","); + } + else + if (dialOutsideLine) + { + strcat(dialCommand, dialOutsidePrefix); + strcat(dialCommand, ","); + } + + + + setwindowsize(3); + printf("TellyScript: TCP Window Size set to 3 (USR)."); + + enablemodem(); + + builtin_winkdtr(); + setflowcontrol(3); + setbaud(0xe100); + + if (!ConfigureModem(configurationCommand, "OK")) + { + printf("TellyScript: Couldn't get OK from modem during first config cmd"); + setdtr(0); + return 3; + } + + flush(); + + if (!ConfigureModem(secondConfigCommand, "0")) + { + printf("TellyScript: Couldn't get OK from modem during second config cmd"); + setdtr(0); + return 3; + } + + flush(); + + setprogresstext("Dialing your hacky modem..."); + setprogresspercentage(32); + setprogressdirty(1); + + printf("TellyScript: Overriding exclusion circuit..."); + setforcehook(1); + + printf("TellyScript: Dialing %s...", numberToDial); + if ((numberToDial[0] != 65) && (numberToDial[0] != 97)) + sendstr(dialCommand); + sendstr(numberToDial); + + sendstr(";\r"); + + + + + + + + sprintf(buffer, "prereg: %s", numberToDial); + setworkingnumber(buffer); + + flush(); + + i = 0; + connected = 0; + while (!connected && i < 6) { + count = getline(buffer, 31, 0x1068); + i++; + + if (count == 0) { + printf("TellyScript: TIMEOUT waiting for dial result."); + setdtr(0); + if (i == 1) + return 4; + else + return 8; + } + + result = parseResult(atoi(buffer)); + if (result == 1) { + if (i == 1) { + setprogresstext("Waiting for answer..."); + setprogresspercentage(48); + setprogressdirty(1); + sendstr("ATD\r"); + result = 0; + } else { + + setdtr(0); + printf("TellyScript: got '%s' at odd time", buffer); + return 8; + } + } + + if (result != 0) { + setdtr(0); + if (result == 12 && i > 2) { + + return 8; + } + return result; + } else { + if (i > 1) { + setprogresstext("HackTV answered..."); + setprogresspercentage(64); + setprogressdirty(1); + } + } + } + + printf("TellyScript: Setting NameServers: 10.0.0.50, 8.8.8.8"); + setnameservice(0xa000032, 0x8080808); + + printf("TellyScript: dterate = %d, dcerate = %d, protocol = %d, compression = %d", + dterate, dcerate, protocol, compression); + setconnectionstats(dterate, dcerate, protocol, compression); + + setprogresstext("Starting communication..."); + setprogresspercentage(80); + setprogressdirty(1); + + sprintf(username, "wtv_%s", serial_number); + sprintf(password, "%d", computefcs(serial_number)); + + printf("TellyScript: Using '%s' for username", username); + printf("TellyScript: Using '%s' for password", password); + + setusername(username); + setpassword(password); + setpapmode(1); + + if (!startppp()) + { + setdtr(0); + if (getpppresult() == 3) + { + printf("TellyScript: PAP authentification failure"); + return 10; + } + + printf("TellyScript: PPP negotiation failed"); + return 11; + } + + setprogresstext("Connected to HackTV"); + setprogresspercentage(100); + setprogressdirty(1); + + printf("TellyScript: Link connected."); + printf("TellyScript: total time = %d (seconds)", (ticks() - start) / 60); + + return 2; +} diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199.tok new file mode 100644 index 0000000000000000000000000000000000000000..3d140d83143c3b39159dd4ad41af54ffb60a4b64 GIT binary patch literal 2410 zcmWladr%X10>^)w%^HN@CgG)klSN*E2_&0MAUr}60%+tFvPgAWgk`gYy*zf=-GD%q zh_P})}B~x&suA(r`6W;e9hU~yDHY{+1|A^Xw^<#8H30J)07$bA_eZB7C>~!s3Xq_i0#yiD(Syk7B$-bwV=};_ z0@&RPbV0ZOM^H36VgP->HtRA0y4cMETZqhqSY0-#cWGrUsWPm!u^kl2@J?`b?I^QE zPUI?DTH~0@>Gitnz26rj)y0Wr#ff!pXIE2uYfF6xV(CacSw5_&T|urILCS|m60IYN z&KB~qVa0#T-blnvpD0{hcr?t=664Fc44tGNfEwIr{2F3}uNUCoB$T6gwaJS9%*)MI zlvfZHCj5XE6*Q(ADWzwt%FI^fL0Jj*EJa0GR?-Q=SgycL)!9lsmYr|}oXN^c?T1Vj z>%tD@wbX1`O^vAhR{l10m9Uz}m6nea@XFKgD3kJT%0E#)OqHoE=6$!5f0+|)x05TX zGs=#Z-%hSvl~HcItu!yk@_eyU^Hkm<$V4RVo01byQ&P2+pcgK%WiM1P${O%wD^VqX zL-tMupKZ41%gvJut@XrEwk0ud9rRw3MUnUOD-dy>h~d1zhG!+UgKTGl!J#-w3oI{H zVsQ^8h>VvJv>Y413f zo-F7Vz9PjNZSHp^@VE6tV8#47)cYmAl~O$rS*)6uXc^w!vmf?gIugJ&mujX6B zsRAP~{$1fnsE4_eGQ@jYo=p)Mda-dVtt}Pd1eOXK=DWSe5~j$@>0^eciDv-jWghrh zvyqZmE1COVCV=t6Db6o2qWEGmujitzpoQBQt5g-KLeYPsq_cH^ zxh9kdtgjLGG3R=zUCy?YYl_EHu)!Ht>g#v*3S8(E*3#j1HlJ{`?mOW;?6^5L@Ya%| z#SW=Zp!uypjp^@W-#GG_RAtKndDghwI=*DQpgIS1u9lpMj+IMpU{73wI~9#UzZ~mO zYnIQz&MJhutJ2Dv2Q=TUlcy<&gnD8DS!VkPH?EYTRx}fsS8jT9{8@!Xfq#mbWgAkK zDer8}OU7-t*K5?d@*n5P@)GgyQt}Ytr9AZg=&}TlZFer3o|~GLyf$Mvl-bQ0mCuH40Ev^KfrTVg@M09SM!3zB!jMy=Ox8glF1>MhgV| zfyc)Uis#s29)D9aV^~VNJdb0K>17yM0IkJjM?rdvUJi=KS0$1@S8dVdrb}lRlTyV`iS@-51D&o6m)Er*f&l0+vXZvA~o;*q|9(}ZUO(f_G7fKl4 z)@?W)AqoY|7b&T=_p*X0VG&TzqZl3X4b(sA37vk#gY6qX9NvIbJgq!erD=GkqKvXhmOrHT`c$zIX`IC-P}q{#E}}i|_S<1&YJ`u&UveCZomI zvCSd#zd}|WvB0GMX=E&_Ctchb+)@S0J(6x95TYuPE!)_Ox@t7t~VNv?K<`{;(Lb2Fh1qbjdW|F zWxA7J+%CAx8>g8Q<2S9?5&w~ihY%%k5c?&(anGNwABSv;y-so6>|-_isIWN52*7U` z9MMe8abVv8T9lTc{m>{;k*? zpIQIjXP54O_II-2FIWo|VrEE2cp)lQV)z4NDFj)JddzyE6q2=V3m1S>;{)ucwCANt zBLMug-Zf=iAA`Y!z51$8VtzO{&S18YNj>JfM<>tUH!g8B7c9+|(_E;1Le$ijLdD+8 z)SoAN-kzl2oxIub!%v>M>xFlVb90xl(*aO+P1yF-(zSX&Er=f_bn)bN=z?(9LfjP+M!#yE5yL%9ZUGj z5!a#T)YnhMycZ1?)B^LAIA7f27>3Bq^yTx8Lghy{>5v0Z$~?Z|1GgZl1XSXAeoL%) zLz3Mr)zWI>4%4g2nS+#bo|3f#P9>RGr1{cI`(FN0Pf2zLeE1I sCw;NaGvq8bVY(ZlSab#G1Ko;WO46o_4BK5qbz6_{+Qj=m#o;*kKeC`rR{#J2 literal 0 HcmV?d00001 diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199_56k.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199_56k.tok deleted file mode 100644 index ee52443dfbda98667327a35aadd4a28c0c3de4f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6063 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 D|5c>0 diff --git a/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok b/zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_OISP.tok similarity index 86% rename from zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_production_braindead.tok rename to zefie_wtvp_minisrv/ServiceDeps/premade_tellyscripts/bf0app/bf0app_OISP.tok index e1410f425d78034cbe59d5f3f02172c9c4c06898..8e45da599fc35957848e3afdf90f6f16995faf0a 100644 GIT binary patch delta 613 zcmV-r0-F7>D4r-FK~6+j0000100003VG4xU000yE001sD%l0A>u^`70fAQ5u zhyjgRW*1>u1p)_(TVh9|2LwnD1dZ@>VoDzbOZ>%C-qLqzZe(wF2Xkq9!jfopKaW3; zKaV^=i27kq04PAC06F6^S-y~IV7Z=RVOdcdbNyCz10X0RWGNv3W^ZyJPjF>!!g>;a zM*|!7v{OBCF*4yi`*4Hcn{kuie^W(LA5u?JATTY!EYK?8hIMdtWnyHjw;B+BbUF|} z0Qevi5RY^`5Cbd_pmZ@lAp_ZOzjHA#fdM-(gk})ZbTQ%7NfF1^>Vj2Vh_UL1e^V{u z1TBX#0Kt%dpz((AiJS4h5ZGY65CH7crr9m?=w%#|jp6YT6rccNKF4eJz`W=OK35VT0b&25Yi*WGopLAtwmXqJF8A?Nlll*PO6;2 zPocq3romA|;cSaZQnJBQPvgR&d(m8xpefA4Bq;Y4Bt-=KJlD?fB*jgx8C^e delta 631 zcmV--0*L*dD6l9XK~6+j00001000014p9hFVFC{B000yT001q}TGiwXu^`70f18s= zT4e%9nvqFJx}$Ps!XHz2bar3A;W$zw=lJnc6yagoVqtS-F7I@6W*`=XAU8LEASgjj zNj)geqVHvNDJfV*VQy)Fu~?;&%22{Z4Z~$&CXq=AY%i46uxrJDdhjsBDc}GQ0I|3u z;1B`X<5l6U;k4lQc4=cep*cM>e>u-RJu@>8Uz7Z zu>DJj#41Ta04yrINld$tDoIUrpi_>1plnHN(ovNQC;&bGQ!zL&Fg7tW&p0tTIqq>b z06kM4ukdAUX>}Jz0?5J|;h*+G164<4^05LOuyYaVWb1zjQ<1{} zlwwtI!P1xD0qOxj*#V`Xf95BTa^tES<4( 3) + { + printf("TellyScript: Couldn't get OK from modem"); + setdtr(0); + return 3; + } + + setstatus(3); + + printf("TellyScript: Overriding exclusion circuit..."); + setforcehook(1); + + printf("TellyScript: Dialing %s...", numberToDial); + if ((numberToDial[0] != 65) && (numberToDial[0] != 97)) + sendstr(dialCommand); + sendstr(numberToDial); + + sendstr(";\r"); + + flush(); + + i = 0; + while (i++ < 4) + { + count = getline(buffer, 31, 0xe10); + + if (count == 0) + { + printf("TellyScript: TIMEOUT waiting for dial result."); + setdtr(0); + return 4; + } + + result = parseResult(atoi(buffer)); + if ((result == 0) && (i == 1)) + { + setstatus(7); + sendstr("ATD\r"); + } + + if (result != 0) + { + setdtr(0); + return result; + } + } + + printf("TellyScript: Setting NameServers: 10.0.0.50, 8.8.8.8"); + setnameservice(0xa000032, 0x8080808); + + printf("TellyScript: dterate = %d, dcerate = %d, protocol = %d, compression = %d", + dterate, dcerate, protocol, compression); + setconnectionstats(dterate, dcerate, protocol, compression); + setstatus(2); + + sprintf(username, "wtv_%s", serial_number); + sprintf(password, "%d", computefcs(serial_number)); + + printf("TellyScript: Using '%s' for username", username); + printf("TellyScript: Using '%s' for password", password); + + setusername(username); + setpassword(password); + setnameservice(0xa000032, 0x8080808); + setpapmode(1); + setstatus(5); + + if (!startppp()) + { + setdtr(0); + if (getpppresult() == 3) + { + printf("TellyScript: PAP authentification failure"); + return 10; + } + + printf("TellyScript: PPP negotiation failed"); + return 8; + } + + printf("TellyScript: Link connected."); + setstatus(1); + + printf("TellyScript: total time = %d (seconds)", (ticks() - start) / 60); + + return 2; +} diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js index 4d3be5f2..50e58ff2 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-1800/preregister.js @@ -39,6 +39,7 @@ if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { } // if relogin and wtv-script-id != 0, skip tellyscript + ssid_sessions[socket.ssid].set("wtv-open-access", (request_headers['wtv-open-access'] == "true") ? true : false); var file_path = null; var bf0app_update = false; var romtype = ssid_sessions[socket.ssid].get("wtv-client-rom-type"); @@ -57,52 +58,45 @@ if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { } switch (romtype) { - case "US-LC2-disk-0MB-8MB": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_OISP_5555732_56k.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/lc2_production_normal.tok"; - break; + case "US-LC2-disk-0MB-8MB": + case "US-LC2-disk-0MB-8MB-softmodem-CPU5230": + case "US-BPS-flashdisk-0MB-8MB-softmodem-CPU5230": + case "US-LC2-flashdisk-0MB-16MB-softmodem-CPU5230": + case "US-WEBSTAR-disk-0MB-16MB-softmodem-CPU5230": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access")) var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_OpenISP_56k.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/LC2/LC2_WTV_18006138199.tok"; + break; - case "US-LC2-disk-0MB-8MB-softmodem-CPU5230": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DERBY/derby_production_normal.tok"; - break; + case "bf0app": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access")) var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/bf0app/bf0app_OISP.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/bf0app/bf0app_WTV_18006138199.tok"; + break; - case "US-WEBSTAR-disk-0MB-16MB-softmodem-CPU5230": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/WEBSTAR/dishplayer_production_normal.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/WEBSTAR/dishplayer_production_normal.tok"; - break; + // the following are not yet zefie generated and may have an unknown username/password attached - case "JP-Fiji": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/DC/dc_production_normal.tok"; - break; - - case "bf0app": - prereg_contype = "text/tellyscript"; - // if wtv-open-access: true then client expects OpenISP - if (ssid_sessions[socket.ssid].get("wtv-open-access") == "true") var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_production_braindead.tok"; - else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_production_braindead.tok"; - break; + case "JP-Fiji": + prereg_contype = "text/tellyscript"; + // if wtv-open-access: true then client expects OpenISP + if (ssid_sessions[socket.ssid].get("wtv-open-access")) var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/FIJI/dc_production_normal.tok"; + else var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/FIJI/dc_production_normal.tok"; + break; default: data = ''; break; } } + if (!request_headers['wtv-client-rom-type'] && bootrom == "105") { // assume old classic in flash mode, override user setting and send tellyscript // because it is required to proceed in flash mode prereg_contype = "text/tellyscript"; - var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/BF0APP/bf0app_boot_uncompressed.tok"; + var file_path = __dirname + "/ServiceDeps/premade_tellyscripts/bf0app/bf0app_WTV_18006138199.tok"; var bf0app_update = true; ssid_sessions[socket.ssid].set("bf0app_update", bf0app_update); } @@ -111,6 +105,9 @@ if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { gourl = "wtv-head-waiter:/login-stage-two?relogin=true"; } + + if (!file_path != null && !zquiet) console.log(" * Sending TellyScript", file_path, "on socket", socket.id); + headers = "200 OK\n" if (bf0app_update) headers += "minisrv-use-carriage-return: false\n"; headers += "Connection: Keep-Alive\n"; @@ -129,7 +126,7 @@ if (ssid_sessions[socket.ssid].data_store.wtvsec_login) { if (bf0app_update) headers += "wtv-boot-url: " + gourl + "\n"; else headers += "wtv-boot-url: wtv-1800:/preregister?relogin=true\n"; headers += "wtv-visit: " + gourl + "\n"; - if (!bf0app_update) headers += "wtv-open-isp-disabled: false\n"; + if (!bf0app_update && ssid_sessions[socket.ssid].get("wtv-open-access")) headers += "wtv-open-isp-disabled: false\n"; headers += "wtv-client-time-zone: GMT -0000\n"; headers += "wtv-client-time-dst-rule: GMT\n" headers += "wtv-client-date: " + strftime("%a, %d %b %Y %H:%M:%S", new Date(new Date().toUTCString())) + " GMT"; diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-cookie/list.js b/zefie_wtvp_minisrv/ServiceVault/wtv-cookie/list.js new file mode 100644 index 00000000..11931a83 --- /dev/null +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-cookie/list.js @@ -0,0 +1,6 @@ + +headers =`200 OK +Connection: Keep-Alive +Content-type: text/plain` + +data=`.passporttest.com/ppsecure.passporttest.com/` \ No newline at end of file diff --git a/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js b/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js index 46edaa79..6d4b1262 100644 --- a/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js +++ b/zefie_wtvp_minisrv/ServiceVault/wtv-home/home.js @@ -4,6 +4,8 @@ wtv-expire-all: wtv-home:/splash wtv-expire-all: wtv-flashrom: Content-type: text/html` +if (request_headers.query.url) headers += "\nwtv-visit: " + unescape(request_headers.query.url); + if (ssid_sessions[socket.ssid].get('box-does-psuedo-encryption')) { var cryptstatus = "Psuedo-encrypted"; } else { diff --git a/zefie_wtvp_minisrv/config.json b/zefie_wtvp_minisrv/config.json index 1fb88b65..7c54bb4b 100644 --- a/zefie_wtvp_minisrv/config.json +++ b/zefie_wtvp_minisrv/config.json @@ -63,6 +63,10 @@ "port": 1630, "connections": 3 }, + "wtv-cookie": { + "port": 1619, + "connections": 1 + }, "http": { "port": 1650, "connections": 3, diff --git a/zefie_wtvp_minisrv/package.json b/zefie_wtvp_minisrv/package.json index 7ee6b090..17144fb1 100644 --- a/zefie_wtvp_minisrv/package.json +++ b/zefie_wtvp_minisrv/package.json @@ -1,6 +1,6 @@ { "name": "zefie_wtvp_minisrv", - "version": "0.9.9", + "version": "0.9.10", "description": "WebTV Service (WTVP) Emulation Server", "main": "app.js", "homepage": "https://github.com/zefie/zefie_wtvp_minisrv",