From 54d8ccef7ebc39ed6b5f3e8337e960d7ce277111 Mon Sep 17 00:00:00 2001 From: hoelee Date: Wed, 30 Sep 2026 04:52:43 +0800 Subject: [PATCH] post: one hostname for a public tracker and an SSO-gated dashboard (EN+ZH) + og/banner images --- ...-hostname-public-tracker-sso-dashboard.png | Bin 0 -> 103954 bytes ...-hostname-public-tracker-sso-dashboard.png | Bin 0 -> 45517 bytes scripts/banner-gen/generate.mjs | 21 ++ scripts/og-gen/generate.mjs | 5 + ...e-hostname-public-tracker-sso-dashboard.md | 280 ++++++++++++++++++ ...e-hostname-public-tracker-sso-dashboard.md | 170 +++++++++++ 6 files changed, 476 insertions(+) create mode 100644 public/banners/one-hostname-public-tracker-sso-dashboard.png create mode 100644 public/og/one-hostname-public-tracker-sso-dashboard.png create mode 100644 src/content/posts/one-hostname-public-tracker-sso-dashboard.md create mode 100644 src/content/posts/zh/one-hostname-public-tracker-sso-dashboard.md diff --git a/public/banners/one-hostname-public-tracker-sso-dashboard.png b/public/banners/one-hostname-public-tracker-sso-dashboard.png new file mode 100644 index 0000000000000000000000000000000000000000..568a700f50ec89ab3091c771bb299647d83ec45b GIT binary patch literal 103954 zcmX_nbwHEf_dg~g3JOwE(ltOpKw42^q~vI%8)S5=lr#*+=t&DBN9UC8u8|U>8%Dvhk)&+CSKQj&T4_~m099Gs^>*^jC?I1k_9;M@y%bob^LS8i)8 z4$dc-|yt-*>JhpaG1gLU)Lw8Ev1(l;4|p4KP^MbhLWz^^7db?!An& zy1h#u=Ot#(7FY4PX#$VWn^bJbi6#$%kSH~3`Arv(rJ#Zh^JkLO2@K&QeaLkjMB9b09y;58`5Im%-0y(g2x z5QiN_=Sdi-Q5|x}cgI%J2MP2bM5z!6emsDoZ4qmb95w{d@h;$YDqmWV7K)Sb#Ad5^ zS=T>(k*6Tgl-YP|kGAnVBp9a^7OxGNi-8bB%C<_97d-Fj3+9y?b~*k`kewRtRXJSN z1BDcoUxb#1ug7jZ7Rehp)g!Da4_jDw`)Az>!#~o&+}TQc!v8Y@WI!0d;=ftKqu$n6 z*PN};Omw*lBE`q6s~$K+SY`dalye)s=t2^Wm!;_6f#`ceKbgtZ8arn*ojTqRZ%o88 zl^6Fpc_%hWv97ffD@cBQaO;0fGkOsY%hd;Uy8{DNxpFw!*K&mH_!r#0QtV^S?`;*m zS9{!BoWh(N-%!N}3VWMK$ptAr%ty$8bX2>7n^u#@pLBPdz0&4hwcY6{CjRGkP1l?_ zTO*f!biBJeKzRp8D^f_L&oz00t_PwAuqdf+hr|ORD`#6EmgIhLjZ$+2md8du#>128 zG{FG4HubFlqAJ2H&F`@zpRmqcZNQw4&S(_)XBw|oEi5Pnq7%&Hf2X9tCT_Z5V9o@S zE&$Bp@#o<*$6md6Yp!B>;aE~|3?n=nx#+?I=r;L4nFy|U117Sgj5_HX#~r-4Zu))aSK&KkgGH8l-JL*8}@fPTy%s zHZ6z(_XejA=?S8cPo6W*o5ytMT@P_w-%Z-?$^FXROc8G?-tAnQDXn#1>(=B?%yRnR z%Jb>eLgB5b-8=ysxhZ-I*;Oh{%R>#`1RI(=vN=3SqjAr!gTA||MP;U=h!b-_vxmP9 z*?V$L%%Dc-u?6wweM!TpL1m6Rq&Eh?9(F3U-O*i(d{Uog*&IYxWG$PXkbLFO#^X-z zrrV%#z=3!Wo?E9^m$|IkDbv$`D7RnxS@5r#4gc^H`F%eu9t_cGTh}Vpgwc6*>)|;m%>`A6`Ai=sD|Mxmmu_;VX%lFyEXPFrkHs;y-O@peC(Y%A{`tCDCm9W(I8x%Os zJu%gJZU~_OZWM;=e%67A7Am3QOs`ZW(Y4?WB8YPEjmIhO?3UmDD>I6}mvo{-U`bbW zj0{+B=rqXPE+pm;|6>$H%&ogxcoI@|q_1u1ixF#p_yCJ}hj-m$!!M_cG=0loh?-=OT8(Si1Awzr)R=7X_gKITkNdTwZG5vY{Qyb11 z`+Zr>cuv*Y*X+4;b_vRS4N5rVW|7V2-ldR+k?E!31K<};{SeNV8B=8b#~qxfvrkxN zQtZ^$`vb1zd3wOp_Xf%z?%=<57%^3iz=E0|BX1Dq;?W5%T2t@~YLsi2O5V0)GeO92 zeb%{;5Fn9H^VOJ9Qcj~i{rC@FJZ=5ziB#*%nYKsS{B8!t! zUsRHzhyL%~jum51==?N0A7ymTlkOv$y()(EQQpp2y#J~)3rGql=c7lI#^>fd%PSm! z3n*LZXMU+3D!|glr8sB3LE{KjEQ3_L)a>Lt`$B69$LcnhH9Hwm$6T2GG=u21ZTeWz z(HF_ZXvu#l8UPCYavX{3sSNn?=RLczAVc=3hgOT)he&l$5<6R9F)6VfC;|LpHM^Xf z!m4tJ!!VN`?)18Id`97eN1e1*Q#ZlMm#1WpZmXw*q>+U{h`!byEYBIWIahvKmsufwwEKID^>R##lnd-U&1Ns;z?vbz2DSqoAbSiF)|OyC z{v+5^PlJe)R=020CkA4xjcApNFxR%rGzDjN)JCOqW*;)W(9j^0&eqHFcXGaKN%nhlRw8(T0#^Wv-D$A8a1yij$1wb^HLg(tnxx zc@AuM$}&ocE-ZRi^T}yHf9QodW|^ycTVmBm5F#^#oTHf%BGt8=x{&LC+W@Yp^Q~wA zr=YUAZNZ?LrMX5gcH0;uj~!W7p%il=WeJ{gkAG-?X0hjp?zqmwE=2^wwo}ih zV1ySij#p>jpCHB;6j-u)}dO-%5XA9h;7m7`u$CwA60~Ta$Ti^6Y5QKV+sjso39W#gUj@=EXI0K-X{!0^--9fMSVfnl6}Zqi z*MC;Z1{txze$tMk`{>2>pQJMw{&c#A>uiR$ATA6W^`Ak!IY@^GjF#smf z%3;N@md4IJeiYKu#_V+`SP_D<8}KysB#C#Th@SyN{31$3?=L2q{SRv&V7(#X*%g?u zsCM>t!aBd?75cAXv79tNFUfJbR}rxiK53&&F+MB=(ytnH!&(f;#Xkd%1Ewb@76K&Qe5t_VUhY}C<8auM^`c{LB zo@>@K{v-DyCR`e0K2jSG^3NQFz{ok0mn-ynnkk;-D`xmT=Y*4E%!x{!fi27)lsC+V z(H`Fs{RIt)3}7petmKCLuLx@?9F%n^C|Nr7Q|P+2y}mdf{7B7-ILtJQKlstFdzq-! z;-k^0xd31(v-8Dd^GC?*)5podpHK;Q+SBz%l<19`@)y6m1vk!xl}oJr)+c0T=%HQu zhAS`<{_8UIv+ArH?aKimS8iPa0KdU{#;^-QPh+gb1p3Z_^ z9a_7n#w_)pO^?Pb-%GG&C@5$6&k9aE@5%k~La->*bRRvJRK~!0?{kg8fN^9Qu#$;) z=Az3{xkH`%PXD(!T3~$GV_vVkI!e55dNMZ>)8xKPe7f5?IWwWAV2Y3)>5XHaR_F1sXwv`I zb!Ikw1S;Z8f$oD^}A)zct%E)AfMWJR7z>=S`G#5_%HqV5C>atE^pu&H7Bf* zQXntkTv|)1W)4s1^KIka@j!^2vsE^d#XOl%(fvZtW?U<5N^AHON2><%WO={WOjgdZ z5f$b^qMO>i)UToj@Y9tv`$|Zufd8-gWN(LjePbUvo}TUWrf1*jzMBN>XnN!I=%-Pa zdo1Xpug#vSrxy&Z{u* zOTEO1Xl&>&tu61)kDPoh_>r%4+!T%ND`1>91p*c|osFpnV*qNmp zebeq08irneIG8~t&5%Gh!`>G6V86S1_bCpK90Gi9lG<)PYu$aB}$vqzSKVD4b>% zicTeUQ=u1WXERDg4t^Z3FjatcJJxo5xyOs_>1< zd%ttvN4=~QOEjd$tGnLO{dS9zuW6jnJKu&{;mo2!ti;J%&eUtuq}(nRmeq&qOV-V$ zMbvY$V=Gt1{nS^BHeBR9_2x^vlfFLP0kj0v;9ptR6 z}4X}qou*9eRnG&;xqZC^@t;&n6kze#wdOZG4H&!oRXSr_lbb1k|O zv)2FLSwKh@h@NhQ*KiE@l}Wo#@lgqt1}hro_~J7#{ypBEc=QV+Fn319s876~| zei{->AugmMt6IxE8Vom7R@26rVWwW`n3xQw!~6DE-f?wyqE7Dp8JqwbUfPsmxJ$ zVhLIBadk1?IXmR{Zd+)aCs{_K8Aaz=sWY5{)+JCy2xgoLtppcna^a_#J++TD2n3eW zrs0{$O#5z-5Rh%ei71!DMLo_;b!EIZIx|_~2y>?>W|l{U_%$&-uZ5wA0Xmf-sTei77$^M<%FOl*eHq4X3T$fn7)D2#`h3{0!L|OfdUGF? zC;Ym_cI*eAO@NJRn=k3Vg&$`|&${8+FhyL;`VslvlPWtr{?4(o7z2hL8Ps~5$lUo^ zGqs{2J8ghGQ^OgQ>|xJxnix?^EO=4H0>cxB3y$H#JB8cA1 zL3&4Xl8r6zwwj{xd?Q%^bqPtN;$lEqikVg0q7nB?WUOQ!uqJ*W-o1!P5jPoE8i*oxH0&o(Wr?^BK*uMpFoK6jO+>)QVK~(oV@7vbNr96mcK;>OKE{wfgc) z!K#2KA+>0IBLKFDN!GN#SXdnQWs44_gnRh4lNDby*}AU2+Ie(+8U+>9f$|h*byr_k zaEs5L^iT~F_j;U3h|iX8`^NBYaC9wucE=eO@S)P~;OvI9L|fD3D?Sn#N;7b2W>!be zl|voS$Br@7Z>4!!`vt5`1eR_w=-+zK<^no(*`ODHBP4IiwV0Bm{B3$-u_y`l@;nOL5lkI58_oa*}oO#{&Mpu zwG;!ZzFUGFal8nQiox9UL$8K;qw$?ltM9>Y^12z8dUO2SlZbO(ERkr$j|2{L@ZqU+ z9tVd%5kx)aU}F<=|NFbK!7GqK$nlOdlvK-vyU|X^ZuLIZ%*BX2?OV~7^!G?#(IUXU z*|=BK^~U&Qjm70j8|{-(?r8Nky}$LReC=2sJvl!4A2S|<2&=l5e^p%Tik*84Y)^~!XECZ zIsuvW$zaPyT1TWv`UggVVvl9)Pv4!7^$JVI_@I2TaO+eHpNi$gd&C(JsAyOP+0WET z;MUe(V3?V5@ZtjAAkW{I1}}LQEn@nQQAe!`dkd=;xD9?gS?`9XqYWF8i%GQ|E2%cp zN_EQBdtolLhGL?JY}I>zP-(~I^8mBuU_#}DgK+blS|f`#bMe=hwoiN+l<*L{+-I?* zTPMaUO$*kk#=RXDHYVriqhXocs3}voHzJeDw?6&C^;@zaRIsX_ zUHufGq!???xgLM0{8n=>GsgL6!8oPZ8W2}P!AmrCv_Ope8v^x-Ku2p+w(kZnq>947 zL>}Pr+w|8B8jTduuURWhiuB?=E)=d59JG5P56YJZA8ufTu$@*UgJUeU zU2sllqij4F-sHy#D~$~tR4`-)4tzbbY8>9$cb z)-(kWzZ&l-^_15m*Bx7aeI&F4$tN6nUl)|(h9&H`Jpo}Xe@uG1E#@IUh*wYx&l`8J zxcK+)lzAvFy+Uw|@=A1gx%qm0yx&JvB*gpejIX<;sCS-9u7=${S+n$%t=H%xaoZC= zJlSLF&7QRBFW#9^@~2H{kp)#ADZ!2yuVc37EK$@pPK^P=dMd2+6ciNPdE4vUvwmke z?%()|Pfup^-6Wl8uU>1pRhXZcx@coNCF(bmii7%{`61=1WiMF*VNVrKX!leQBkv1F z5}3<@473x!a#Z$`KJ@pCG~=`T&8}TbFeD!yrm)3KN)rAayqoFLKhY)4RpiO>=JF4r zzlA|2S{t)>UZ?z3RKzzVxLE{hifX`@ymJ zz|0>C3y_p{L6cG5jU^SLemQ3z0C3UU^*r zo^}_5^U}5qOpZE-4`$O$kSn|mm%E!Gg4IRYxc_Y8k^9u(o3RE3_Xf~II+jC#VRPd< zkw-5W4OTQIH;78Zw!Y=amnWO@3wj46XUecS_r9f0*3%d8_5Vd#kbD{Da?pBBCKjH~ zP(V$@6=%@e->0i_fDM+c*{lG?`4*jG%@5>_eVp(R2ubwk-fvw^3HCU()M?Rm#Wc?L zbsa_EDol8MrRLT+vgvBfuDFR2$j%KA&-L5FSonZ|#YD?A625w;E9oD4Wg@Az*{LVN zJip~O3CUN7iEIWBFz`|DB~cb`Dk>2pJ$Pm^Je2>z+1WKan+AMvF3j|C^Lj9Q$mmV| za#9MiEWZ@^UaBdYu3*~X78IBZcbQ-P9TRoUPa0t7p^N8scab^3BvKp}K}r8|?nj^4 z{+VtvAuOWqOTwSWMBJ&rJz}j}i;goQYQEFfUpSV~SBi`|+5MXG)|wh&J^6!@mf#33 zrC)p9W*sl}&i>?hSB|3v#vL3Fk%Hf`pMA9Edvdh<@Y+z3gMDjWl@Mv`8tp%Y5@u&# zUpGlN>fJ44Z`tmb476!W6a2VoKxU&(A{>rf_Ea0A7hErr7D^k_(1;Idema%;6nV2C zLK-ot#M{9RhG&@}7*1MIDx1FtWmbNZY%t}E!J*xU!SsKlXu{t-@mMZY)?M1~@|;0( zWN>P4*Ifh_FY)Dyo6$Obw7J?>9%N=YwmVhjDu%!G^+Y+2jtHM3$V}|MrzIVuBrHS5 zz10-60Xx$~HVE(>CZsS}!B4dL{NT^M7*WicU=_!?8p#YT|8R)lH;?5u!A1ziXyuB& z_H)g}TG_FbM4nfnZ$W;|;LeA=g4!|@8eTNnjGK#Y7h&VG2&?U@Or+%ulkzNU3N=Ak z4JsjfJ31$EXxPbodeyreaG()n?u}jeVcF|;y`rRDRFF!n-yP>3R++opaGG5p^uj5v z)-+-H9Uk^=yF|NYjq_H+VmCBQ(@EoF(J#yS+?9fppG>YX?Ob8OGA|8R;@3I4G4aZC z-prM~#N~y*0L#*mUjUQ%`h1v0za`Vv^Ihb%p*JpZP&>jgKB&K z1f>R@+dGj5y1w_}$!%(`s(ZQLY3ru7#UVQ&-c_w4Cz!KCgp1E;1!|^-}6&;^CpL$O6B_=)}#b z=49pAlDr(CTD-+yDDPO2W+2B@PO>e3$UI+2l*Y_ae`9Y)@M8zu zHuR`itDITfIuFa*6;f=bg;d-g+9&1fkui@e^o&%%`$hSx_tN*OEV(8JNGhB*#P-euW+@j-&F5zMSIIPfH!> zWA>&NcRII`SM0JWX5FYs+UWhm9ir6K%cM{oO36(@QG#Z~d8aImPy0Llq*rwsLGR&w zbYR_|ByPM(*iVytQN#E`hhzz(t3E#Ya&z-XIi1k%R#lK0RiJhvw3nx(o;vV@qD;%P zV6!MHYq=!S#|+<%cj5_MBd-2b<5@J&SSw~$@)6ZZoamg;O?b0f>1dBq$juHG%XJEz zrT9(FtZbMIhxGQX=C&|?>$b1o;=Qa*>8T*?+K;4q&28gJe)*GNZrihiMZOaEbYrWo z|N8yRuDEe`%%@3`>HT=-E#A=ik=+fOsWRs!ER06t%bp!9;%aXub9AR}Ch}W0!Q5yQ6bY>v>Q_x4okd9L-fZc|5IF2jo!=VaUtQG_0u1m#&#Bmin#1uhEDNzwfEf5^kT7G z_!|VHT4vzNEB*Z?1}Ri=8KL~X;H&2a|M|gam`Tn#F%Lk4m~|%3((Uq$ooW2Swr;fP z8!+8Jr5a;#4Dy>Zx4-tzu}2O&#sS=p@^qQSv+bP@H#hnVuzEgnl<2_xG6uM6jX4o) zbZb)#7KLtHpW8`%A@u4GAuRF1kIKXGho0 zl&=RZo}f>zujWGd`pA999?gdflnakc+v}&8X(cwUQ%?~S=IHVv zcrf@02d{Ts7#-XeO}oS`VRP}v%mvG@EB>sxe?8Md!Gd+Q+G;kwik2|-u1i1#-OAjN z$^3#|aIk}e;~;eC`(UQa_uS(*b9_LpKpBZT*c#em@G9e9HUrVSr>Bb>&K5A72D6SNkB0zV+H z%zh-toX5-D4rRW4H2(1tQ(CD5r+pI2M_4qd;MnSF0sY9Y?!;Q!aCQI-wKbpOCLNVUMpR7EmO9UA=r-1JX|K(eqErs~HiO;f+^1$DakW7{ z4L((mM%LPfRK4b@@dzW9s+&LaZg73;6MmA<5I0vyts<_V=uK29BrO*1(?e*IKTSAS z^w_Q>2QNXGQPaD~-@kysBj<=-{rm~dV7Ly}@x#KS!%iQ*iXOsN*!9^VW!+4w&2e)T zV#GlH+m2qwRz>+?U2|{UQ|p>drj-dk2S3sm&HX;Ie4XW#G5gWif7`NpKivy+mnY2~ zp(YcV+an4%^<)Kz{0I~nQnxJ9=w{266nV36oI68KT(kLrf@D4DXf&C*_pnJ{230qb z1A*(G4g_~$`3^EQN)eMkn?LKYhHQmB%@HYrd-eMXFw)E~MgC%zw2&E=-X|+7f7&7` zD8Jh*@fNrdXKRlRHn5L>-Fw@-EnF_k)yLnUl8APa{3a`hfP38w*J5g+ZEs0hnKI7_ zuZC&iA~!@PHw0elcpjX3b>(#6m-6=c&WYMUcYaxVV2|7Do{wKKi(F67=ih97!c0OL z74ZUJESk4GWPEwl+-=>u-O;@)sTeOga|Q@#;!UUE?!u;--p!jQBrB6a(pQVM{7yoAQHm}~qY6t|6Y(It7i zbGGWJMrg98)oWD0fP5)*)+a7hnV$4Co>~xzPk6dyecO{cT<2@h@Cr}?j!yq*z#i)8 ze)LWyAVBJT@R$i;bIC4M%TyJK@ABskYtVZAWj0&|BO`uwe1grH;h#zWgnzAm-qD_% z_Jfef-acMfQ2&g4=T>-u--n3hAf@-GEnZ_S#w|6<#g3(JaB5o>Qh39NsTnh6CKt(+ zwwYVym9242&L(7F_XuR&cQphW=TiJ7T)sEwwI*+db!&J@&9s$fAz{r%dtFvxJ`dYG zo#SzWUv(prN+)Q9-4XzTt~h~X?6~Ocl<-{#4G9{BG6MbdeU>fYzLO&_ zD8}az+^7+KQee|C3foGJ+D+zF~U1{&NM-B~mFUqGeATrOGyEIj`O1XQGH7 zMhNfkp{}HfEo{*>=g6c#(u%fAEgLFjWnNXH2j$iCZ5%66_}N)8!`7u@NWmDpN`}1!YQmbm3D5q z!QqN`Us`mdhR$$j0((jKL24I~HQ!%V->@)MDmYC(#cq~-{lbr7-ob!WqJg)bXMRh2 zFNnLhc!Un#GEX}GK|Ij)sJE*IHv1MNHeYvzTo7D%+`CsU-VyUs{8ad@{m3)Sv$f^{ zZn!?v4QH&)IB`Gq1F`!Z+31I)?^)mM@q|8!6#w8{-G4`-9!JWiot8X5m8m&%;haIW`wag_6 z9E>YpW6G%UGv_F;-hh|ILMST>%om%0gHQ2&t8IrO5P=b+ej-L$$RUKQZ3BBf1EIjo zb~Q{bGW_D|+m(Xcrx?xA(a>_*j}C5KKjrf7vZI7t*7P9gCb|QT$H|q=Va{ZN=&`uDDogQGD*gKEFH-RF`QmQsR&&Ggr+6U;-Qa;Nsk+v|^ zv6D~3%8UAsK8&xkGo4p^8XayTMqiG-sKF_kJu|YijEYNw8{{`+d~A}!K#@1^)?v%2 z2Y1fYJ_~_rW&^+h%`)QksJT*<+y{DGc5kXU|6QL_0new8un$$ZA;6f-tj%S3-;Afm zg+vW!&4QoA-hAXq^if}wKNf3#Di7)E&2D%wQnyG5YjL31^sg;uG06&E)0I} zb2gMH!9b{zi5ev9E9Ikjn%>|=aKeW}%DdLaB3|z%8B1$)BL)@vU7Slmh?NbZwUet& zwK>x=6aDa?*izywJieU0)7OM?inrD!uX$!Qlo7zq{fY$NB66JKDhG#kDO(oUeg6BZH_%M|;ang2&t zCLN2qN#oBi8g0mu;m3M~zYu3fWx3^sDDjKlTJAB9y4kAZfu`?}d7pmr0qxx`xPhEj ze!b}KBBcXw!EURB__*`#yZys%zZ1a^!K1B>M-t}`jTFW%Q@;>FRDVwBze+auKn~tV zXJqwrmeeX#ea-jHMp{l6+4&H^lx82zary#y+Fa$P-AFJ;aC_pf{pvW{l8xgbXymYq z!*WM-2JNAPXAruNANlad3IearTiA--u#i2mH>3w?!J zuKoDs)N8f@Gqe15!J8hc*6h{S5-lmROGEXCUUBGGEPM$1lrH2&{RQf@kMQcyusGFL zLUjb82T|A|XZmF=1pat>fFTpHMNo@6TWV|DQZa;mZeQG@@KlFfhL(CiDydz{oQe^= zIxMJO_e4C;yq%~sM^67=(UeS?4lMr6+7Whu()FFyXvbA^73~GGtn5-; zw}1RmIB=LArDKx)<{@d}ZJ55=XVpc0GZVibJ^v(`r{rVPB%oa=RH0*!r{s|G?-aRK zhz3w|${gu_;c(sdTTXP#HMrIN2>?r*(|k=nezPaLCl3~X82_3Ux6l3wz{ntXiZ`B# z;vt9ibuLOdjTQfNl-hw>*b!MY_rnqDe}!Gk{rI?#M%!<`6~?Gncu%^Ihn<7Px192x zyqbWxJc?`FN!O2&N=CP%dsjjOBgSvVB)E5i8MxOBhc+_XxUbBYH9R~#z(hv5<>iM-XbCxk z7TfGA-dR~(Sm_2%*y^q5`YRI+#pi4eJzD+Cm)l3jpO5GMT%Xy((4s&H*DnzVQ#0(h z%1oG2-SlUp?$-zhR2OY;P3g~{uRLO+BrbJKf52Q-xb6aifi$-czAEdVxKR)@d!;2F zRk)Q^xSCK6{8FymsZ{#>Fb+$tHD=KWb}!5r&uGl8{SvD&ZjcOzJ7}GtDtF{S znX(6VP6pzrUv9K4m>)&A?rrzA8#xRKM%LN&LPi0C{?+XkZC7$s^;6YZ`ie)+8({a( z1?H4bDeUXR%`H-&ENnYdIkTnP*U^neRCUd_g|#?N_l{ZeJZgA7=Nt2;(qqU`kX);y z9(+kBXxL($5hgGHwoZX6PAPTMn6LJpn@FXF!|*g(?cm^v4s~l0w^`ACjiDK4z{mxc zz}su##4+qKiqCo^kW8P~yX8myr_@fewNew7>v0HFMkkV~K=HWu%Y8TEJ~hVf^y-Dt zw~tHytAejIUvauk%{Pl*+ynSyW#c#GWc3T?>{edk5QWsmsB6JfRZHYfP!jN3;t?tFQXdI|9TplYEF!F&BAPy;qNSy-t-)Vzf0D4{d+fDh`1YdUd4t!n zfR^E5{oM8SdGpkc9ly4}t@Gd+5d0}mebynt1#gJsCj37wR%!0UW03ZD0YU#u(!I}#KgTaGbx-`6@T?h`Ory$8^)Qfs=9EBmF*xbxjrKcv5>=q?}~&3!|z_q#(H zZ$7enM-Ja5=++|L7Pu3CTo|VJ$-`sFrvK9W&@Bj$POpJ$ptl*Ur3q%nyv{~)jtvf;o^*j63{R4Wb43D%6-UR`Oul4knw9>^;ry3d z9Cv6dPB(8TnD{eO`ER0989!}P=HFeTq+0Z1cjCX0enuBE?ROgC1I|AfiEz|23zZgN zJBiv@q?GcfjPn9QjzA{f@k?JKFOL#z!|@@_R$QbzlaLH@U^pe8_fgMI1i69JQDVjA zSv&>TGGqTxypZ$BY9u!$>cV=bjJu)AV+z(Z&&(u96esouC6~msaW%9fU!UdpRm$^L z75wVK4Bc;{7#0@Vdw`9Wk4s;^n&|-8Kw2MRz0M(0icO zbXNb?FfVz3d;LpYo8B@YGzQSsbtdUsz@^!9Q`~4{3bIRF;v5_MpC=#v?`#48qq*Pj zU>@oawSUTqyno6Gp=@+y_ld4d74S9H&JWcRzC&fSFn zKMN?qVlIh7`(WYmwaOyB>WSK}2Rrf%fI)tTFY}%)!rEY+p)Wa6cF0Z8vYN}_6U4j2 zg2T|3TNZ!U)=^2k$^PX)JyDl%2Wa)({JV#7Ova14r=HsEyq~q3#?FVo_MPUO9sfcs z-Gf{`4FQvNLA_=HJQlFXvXP&)l;=zB zyi(CwNetc1f9I?mpm}2j2jcGiDVnoU8)D1yRv)$WGa6uKvP$RUpBk6eN@d&N$qMHC z1Kgq;3HAZ=FV}2lV%_e8S~?}`|3Wd>Co70w z(ouM8JxjjI_H4nb3S675!OQldECk?GiLd&&zXCb`NQP~vIxbOW%O31iBdiWgwcQG> z*2;Cn=SUU?+;kGoU}F}+Y=hAmhTrs6w^v+hW8$uG8!=5Z@ISRCwr1?D?Hsfsv}OfU zCizp(@+El_(=wc?al4g5m#NQ&+PL^2?a2?HdGR3UP2wPFUp6Lfbm zcXuh}4=T%Jvz*s(5H`!2S#~!gtX|dguZPI3@vuas9!`TGA`xqwK`7H>Su2!Ijj#Vy&Hn}l@R5PE4L zn&KfBU*ZPs9Edee> zGz6~i-3` zkXXB{s!v#Yt7ES%pLTc%9n>UICB0&4+{(<9s$)k9yd%2WtX8DH;o8m$PfMGHn8AI> zd%AXA(^E*Tv$F|Sb5a}sUAxU*)bZ1fv8ZH6Ts0YEd?r&Zh^dxbi`$SRCBogPZnkKW z9@$FY7pvI0rP6tc!;yO3xJxv5TRf{Z(-PudJH#wg;|a5G`&obS(6c-_P0?vtUi~UG zyLZAdVp<&K#71Rw-s_BHKz2Tx3?fbiml*pz_kS~fidosvSl`Q6-sv^2G1xdTPNPfG zWJ~5ueW7Q?G7+>0Y$b9+?1Hop^m!2-chKI5aF%88S7=&!hgG4e#?9#On9Vl!RI45= zJ7r}V6VOuB@5E_$KjrpkKvT`WIA(gIS8G`Cu=2>U9AKviUSF(k*L*eg!exk`8|uHN zTbEaWocbH^xmBv7X$q3|)*&oT^bfFrjfj$m;%QVa5J{Dj-ACZtWIo|Uqn_B+i_^Wc zD|?jwQ70z;mU|OFlW269M_u7DHb>2#l5=H2RJC30%Jg9l-@e+`hJHLks5|j<7xR}F z@M=U-MtU@I4ULC=;!0BHlbdU$1#rkD7SdYV^H zB$yE2L*x@NTk-fcaW;42i-D1wj%odf+n7hI%wDZ{z^pRpDXYp$FjjO%gJJ`CXl;tE z%4~9>&c4ZC+T|-?nv~9XL(cIX`62Y&%bqSlgsFu^4{|o*s7PI% zFQ_9MpOa^XI%Hbak2=w)z?ccyA#obYgBnQ`1w89r&Zkf9P zi7P3ly0rPJ+j--7#|^S9IUiVA)T^7!i1ZjmfUOlXAY%(toi6$+mQ-$p8v<5=OJB$f z3iNt>vGi|}IlOFOD_dG`4Z8ZtyDRAhOTXC)%JTw@ViXb;-`H|8wZ|4@X(pVJ%L^3o zYXWWaN7I!SN#Ix<4xd42SQ4<{c2JaAI*CH)MaK_Oi45HyprwdW)nnSojNpfgkkbWm zNNV99pXvo;Dz^=P6QbjZ=y23&3bBVUcPBnDXiZwD1`U=VR&|)RwQj=Ir=}734e$wj zsKopfnZXl(HNjLhA-}51F49w?iV~&gHx>LX=OJh+6PvIJepxF0DArPg8M}O+s{{h29Pm*xyI*F*D)bX=*ny z8*>`8niJ{Fr}1G!Sg{4!tm(c!n10x(v>vTbV;5GbquSKID%i`qqsd+Vy1T?QX5za% za!MHO$WitK@KB5G0x@V4i+B>Gxny$V&T43F3xlzB6q4pTx7JqVPl~AsU7j`DX{OKo zE-1H`e%da!`?3BT!0TU4z+5TxLR~WlW5qq=murj;iLpi{jKf{^dYjwA&n98AtBdB- zk2q#fG?AeB>Ys5(b^;8^RBi`LvbqLt!qYOfr4JT)G(~+w^;{v(I%^y*V&mSwM3oyHv{7kB8QZ^?sPhhHj4ep)r-P%nf{~; z=Tv3`O1__>2w5DM8mFRcpJAOU-F{#-*d#v}!Cp^u5ExwWjMpMvlI|+_$uJvk>6);}I(=)UU3_DZ}HH-DGo>R^Zzm z8>_Mj#SRhK$ywg(R{~54EncK&K6l&!3Xh15fQ(zT4T! zD5qFHPfeQ*yp8ouC%DCy2TWtcV8}@0@5|k#FJ^Tw&;nLCC(0K*&q$fh9LQjc=iVwY zWf{&!Hhz#|u2wFFBs0jVdceOinUTmO9peqM{bva0ZxAB}q^?<&$|XLid9#0XmV$k1 zJ%1J?gBl7@?sTC1;re5w@Ev*fJJtH?J7wR-7W`JojjkyqP+B?>@eT;V+rP`Le=|!vytck%WTB7iDT@fi~q(oU*ck85B>0CPsg$WRUO7U zI=Y{0rnS%~@*Z>F>{y~YQ*-~j!gzBTCL=&=izUnpR_V61kt-v?Xr^0gG-I|>SXr=7 zhxYw8P<~kP8ysuUnX{&0@ZLzp(W-q-;9rh$3{&kTv|m*$=be56L=2)*KMDM>T?#M` zIY?D@t94Jh3xKUbx5Ku*Mkzk%>Jt3RA5PYLo9=J>vv%q6O6gk6LL-A_T9e#(Qka$y zBw`uV^m)&cuh{v%R$dlJ_(5PRa#Wu5-)PYWefuO=ULGkrMAtLd9mJC>g0bHq9y35qE{y{qcTMLd9YozXq*r&?(L^t|?Rd zzxRYiMDRTWMK&ocw9Wu5bj`e7Sp^Tf!ACigKtXgdPIuLz9ESu7#)$Xtg{&wd)Y1xu zB1hw_Qo7VCXsZM=rAvXd^EKOLE7N~8lLh+sTnDTF6L~xYpv}2z-NjP1ro{edHiRhm zgy^$SSla)N#&EzX%*~KOU5!psVzb3;Q&?|thM^ka|Mt~4pnWdHh6+_sWM}C%P@_Ib zV)9>0^uwoH`xnu71dxiYVo7vdCe3#s+!P@NNUj?C|GI!#S=MBz0{?ID)J2zur&RgB z@`^SBi;6)4fk8|xF9a3R7060oQE+iQ{#e^dv-~L63nT4gwO3ei*{&IvrlER>*{kH_ zY)`Wkt-hQ928TsaO?V71^*Q0XrJ)V4)_;~`lk0N@mbNB#-rND?b8fmh!e?DtrA8Yj zk1F7nZ#`DG80;c)|2w+Fc}EbvxECWH1u^w0F@1xCGS+l}7qBib3;9Y$rTPW_RXuV>)rsC6TwD*?j#Nq!QzkoJI~i8Q2Z1A-%QMBcuP&kSG=MgPvqAv z%Yfh(U`8>}iT?neaPfXea9!l1EG}m>A))M1fifU0PawJh^;cXsKgi9fumLQ5+;5qChq?prLOYcDaS5c<{l$b`Cb*j zcHHWUORBLrtQ&FqnxH9nx8kou8=*oP&k`9h1IMY z=1*0`vWij3iG61PPp+CUp2u(d=$O$baeR^t^J8Eh?yNjzK{8UU_A4p zcW0%JRcr!JM{uZ2$vketCYc+8dbuKF%d*Te^|zj_pUUG6E1f+RJU2QUX5Z4z{$gH( zKhP|9%d)mY2@a-7lKrc)BNx3426$G68;<*q4@}3En*fT=X5`hwq8rfkd0#%Kg?k1Y zh-EEc#wJiCF?yx5Jv@eGs;_&w#BtB9#cZJ|L^y2lM|#V3qg9lTJzRJq`(27@JJ538 z{;Af?Yh9{yqP4+T8aQka652wn81&x2_{miIdOQu8R(C=BBsFuxt(LkY zDc*n+$Gw8n&#dv95BUt&qsmtPG!NfLCX7pUn=}@Mei9wz%vEb<&B9pBtz`(zC1tO; zSA9U)Pjh-a?&`)IpY$EK8Hf8G#ceUnQ;Axcd!NgLby8E{hWm3FaTkzD_^xqJ$W$)y zl3~15+&;b#>t-ZitM)RPfa~Mvcn%k*L0JNpy3#q&^iaKc9CucOvM#h28qC4})XI^3 ztE~sbA7FsfbBEO+f(E-_U~uw(i`3{I8t--mk zzATZwL4UrO7CEh>I6oXv+n_i0qgRPhad&}9zik~YTg3NCJ)oB(;i$y?{EfhSFP(-a zc8FMvi40!}{$$+6Q>|U|rkQT5{33hO+8?byDTNOlC0c|CZ@c8^ZQfcH;l}?L`{g6b z+X+^lBizj1QGFA6f@I6MiouErT>WmLQoXh}pPCS(=+;m(eKV}TSc<5&D})Hm#q~pOgc=8&L#*+W3*7+YM=iu?`f5Hh@e}Rq>ERKk@)adjqvZBCt~8n zNxp+u$1Ep^b@eV`C)I7^0dBzzvA{6wlYfkuT*>#xdy;R*O5Rq`%e zK5J>>Os7oG6+MRlgXW{zk7kXPTLhF=46&5!M1!pNYv1Txs;rnUP8v@rcOQ_Eg}M<@ zitPF78|`jCiOC&+aQHnk`IAq+zuHMeQ%I`Nj z#h2yk$L*(nbA8fh_F&IeWV%>wmLAjmR`(ktMXHm7i2ick%;??q;)UC9V)EQ~^HuEN zEIvFf_9jI|ybUcLqJzejPUq{f(^&?hv8Zbp+d$M#?qLe8dm@|gC8JUQr6B9Bwhn&F zFMm=jF#QY$z3d}(W>XPuR-=sW+pDyr_VC_A6;N=~O!Esll0NxfNW#U%xUq&YebM3Kx zjE|X^bMUc{n_?`Ndn%EQE=(rqN4hm)8mn<6`ez$^^l$!{%)D5Q%}W6iuRZP%zW11m z@IU^goDi>a-YedQo)>5bmp|=IUawzHCT7M}n&7b}Feys|kC!n@OWP)F1j3GXbZRRX&=sUh+GZ zn=mdZ9tnqeTdm`+l>Wh2KlJv!#i@J|Z_A@z%&pKkK*2C!-b$W_4>`Dwt#Wr5M2tyX z^w6a5aqj-XGQ0~@Cm@_<7zIBfYXhV{v5~-#Si^2RP!dwK7AQVlI_ZQ%P`eX?^)ynV zrBTIbdf7A5QLlu^ylQO;Jzpng_kC%?&04V#ZhbYxv<5jX;rZ)ws!h5*hS_doN6TDi#*sEr#| zUO#T3*0QIen~fdc@H3m9qKb;Os7g26N)s=1iyatqZf7B81xepr_YYG?IP5FdNxAG# zIQYK1N>oe}ZoR&p$q4ZT%Cu_F|Cm&oB(V{G7@BBNSQ#=!=;)%9$HG#Nt44<7Nu~mB zpT|@;S_<<$B8cj~-#v5o$)=M&s8i$KJXJgDArYuA;GR2ST|wf`a?D0dIfM0OaNcF6 zCbC~~9_P=I-2OJ=!RYQoezhZ|6~%2mS7~*0C(s8n$fV`Hl;LyAybSo%0E)}r6WUq} zfU4>)J0bUmKP1F;S8e)uwKx-R$X+xuMFf?$eJ`;o-R^$TU-R9ngENH)p9~a-Q~r z;;LWd`5w2LvaR$_Q01_&c7s!S$pz|b{}f(X3IFo7Ky^sl$LDPH(#b3{+$tRM@UrAS zztrosj=cWpet#&LiIR(dV2Wu&nRT=icR$szXw#(h`6$aY9XztI`EBRt<0lrs2J`tm zwUdYWG_QOcpvcO~%y8I{)b`K(fkF3v#62sfnb~7bc>{(dUYoY{^_-aQtrGm=!7cLiCb4QrOmQN&?#c58Ea9d{SZ_|E@e<9mo|HK@i&DiOcB?MIqzwHi;e&l8m!Nps@ZZ`fX#p&M+NuX}8e z>mHt}m0)Wkq}%s2XprxoM%AUE$-kRF&bnRwv3(Pkg1Feo*zv%PJU2)^-4)=8NFk?v z{24U02j;{|i|ELh88U~9uH)X}5O^KX{d`6hjO)#Vg#>CE71~tAtbXvnta|G;`MEHf zUKIniN?I7bu%!G%1g7i!q|k%8cvs z>zYtVEdW6jWxvVHZmYqUXLz5{%RzqbR%S^FuVhY#oa+C705Y?51EK8NJG7QwX2N+} z)86)pcs_52-iMo^b5&P_rqf&UnZr?DrtoFKD51F)sD|&qAyjej*jcKpHx_OG=p~6t z2@qN!h*DzslN7D;P(Iv>rbDeh$;aq&^u5qfwrixoaD+m_SW=I0+Dhp3GtRu1bl#_EQkMQsg8CQ=SCDe%NxUsAm}#*Y8Epu;U$O&9 zcDr_NwYFdF%Sm@66}X$Ehu!I>O;0YWE zKjyuPYt?@H5*GMIHRmrs{)$OB*a>GsHq>hZ2q!I_nRAQ>x5h{yjeRJIc}s&#t3Y}C zfGLa`mT&6$?_la-HwGVdE-AG4=0I|X8WA2@Uxx!gp>BP z;8~n1*z6VME7h(f-IvZ1e>Pns^EH*28emT>OZ{^@=nDyIfg)+D(Z$HctDfZt0|S4IpuHUY zZ@qEp3)3&5B<~UlYq#9H_m7`685k)U3~_&QnR}A=+jVJtW4`@&ptp{R>8=hQ4%y_2 zD<_b?rV3IU780wBv*g{3wesFzGM6Neiq@8X5ttzNwy4!-Yc~w3)KCp2vmf+aEaxBv zWCqHBBFWM>ar=W5v3~!<1(+rIn)a#GiNEwVr$-2vG}#H3&C-orG1O_@R6ed(XaPA& z@kJ)SOG|FM6(lBeIyY&2_c`wR z(zi~Xz@2?*`7&Z}q{te^_p#E(fsZ(ejQ!x8$5N^C==clHbCnYP@>i-whA|RBRuw3R z^M50i#G>fbXPNJ|zl$3{Z`G{q8umAMGZw+2gm~^NGcZ_*<_1VA?%Rdbq(rYSqeCr& zPEw^Pp!Y%?A`G7GWXPZKk397JI}hhheTw{W@O%;Z|HgJ6KHQfGIe4B{f!Ys>O zzrZ*!{iE9CJPgnJn2~?F66KSRvi#C& zdJ&wC>!Q@8?%4Yx_i>Lfej!EjX)tdqL;ZpQ&U$)kPZO(sogV$r_OEfZ4ag7F`mH`H z2@n$=egk7846EOXt0(eAZ8k>BwQ?(UC`CnACf{*R!z~w|m5ctZ7cSlM-Md@V=MMF} z;`Pr6$s{FV8LU84h1FPXT|#2A zm)Y9lEURK4-j$3Mue*TnFx5Pl--83Wo{L4&q;Zb(|>}^w8fN3OnL^#w{ z$ry@Lv*>pjniU&yjO!6e%w853HA#o?=C&(}tErn&td0Z3!VTlG-`<-X&mBzt*K6Fq zbbc!x83!vI;Exn_zN7Mqi+ctll1#Sr+gNK;73&CZI+&j z5tSYUufW!xOj-BL6dJA=7K@cw*I}W>OGB<-tKrWjBl&ovGAu|tgf+h6s`v{ynNv{2 zvs%Qg+q;t6Wxv66`rAJsCGQ%!)HE|m$B*Il9BW^&x~q|b$o0{6KcdlWQInM`dFbns z2}YaQW75yhxIvfk_1~we4vBIxRkN={0O-#h z5D!9)K;iYsL4cojTcvHXGe0%dgX?=q-xp z&tT5+)v-tTGLgQ~#0hmK>2+>>#Z&7wUem!*HFjT=fPiKvKE#005Fs$)Ue_&LmbRH z9pTn^pn-)C5@N%EEic_5UB?bMMT@wz7O+AM1&q}J>h@hIo}1_F8h;b%hlE%dwK$|$ zMVrlqxdXCH(ZMN?dLeo8uKq+>8QJAax)-LHhxhG!)Zapp!CJi) z&h1BShT}FAHh3SC&iitNxo)!0&Ly4AeMCC6o@-jfK&9R3LUa6-jf2UId2ZMt0d@>; z2~s(yi9Ud()<#C@o|nARd~1~6_gorkEc7$(db9$_=~(H6LMN-pT1}YnwR@F&ynO#Hrz|ME-4qCY&!qRW+sx?$o%$@u21+E&3QOO+MiQ_!v4pc5h1j%1DrUbXzA)3FpZKM{!Z+Mv`ChWX(J5Rpi&>r3orFofxPMZpo0KQELmN3s(k1v?YU!-7`$pu zI4Lv$7GQnK=gw#@|HYprcT!|2n!O4gv`~TeTl}s+P{Dp-k0D!Y<7MR>Dl=s0u$%lC zQZP#|TRy(saRYxi8$qL_6qKSLWf4icxn#=?*U%PY z@CR)-?lh1uc(u#nL6xAF1CZR79y{VSTr$=N5plyM^r;Q)WMvBKbTBfHp%jF@KbZN#79pPgLGc?x%Wh!}%x`@+} zc}drg6KA{76^u>GnnGk^LOBFk0i8jYbA@G%vn9np@0jaHxL=yl$_V-Sx9S6hgo=zm zhIfN1oK##IsvPOxzW1sF@uZU&`i!<@^W5eP;=6$Jc6fai}ePK`Sp)+z{zr@wF(cu@c)cHeu9~Q}OF}ODy>N3`A(A8@XFid#> z90ccmP3ZIIlAABu00Xq(8V#ks@%K%`GbEoFA9Nnti56>+4C|j#!K^Zzg;Y4WVi4?W zfBN-T!PY6b(Ql~$D8|Am6g&BirDDK%so&)bG@zn$4DmR70!E|RV;UbQXS0#R`@aUb zhb_SFsEBiuzc16*Y>HSaClcC9%$j0o;#j2StR0tHpzE>&4oBTtN8@P%qW=0y+OsERY(i)s^hN8#NvY$fTN zsRNllK6ZY_3H8ykpH*Qb;0^NwNka3dARXqPe~nqaNJ2CQ{w1(y2U{w^QkT2EMC;pk zToyuYiNmdcY|4D(^3Wv?DnB#V+!r~G7)1I2tx{UqdM{v;7l@@2q<1u2;tqs{yAJD# z4ki8IEk0|0MTZ*&#me`QHS52KN*qDr9VAi9CKw}cSO{s|Ic;P8dea=vWYlD&sMTPM z=aaSr-oy)|)JV*GJ_l(1)w{UNstHyJWUP(BcU5t1A6(5L&dNbW32IlGD*S(C0$ zPS&x8OH{ttYkC*-;q32b45N+O`-P$x|2R#&mVf62tsE)PWLh?o0Lm9?`HB9;rm*7b z8DVt`bU<7z=zjN3eU3kIgY%b37ZS6d>8#UVTBPYZSzUQ=-j5Wvc44_^8NQxu2G%-#ZaCRON3Kc?q z=?k~n`L}h#Mffe2J$>f?C_i2GqV$ucEB9~rS;bQ0)pfDVaR09=G1q8BPDHLBaOw@x zj;ewzgdo0~>b@0eDSC#)X=9c}(=0lisTUI13=`7xZB@?H246UJu1<-VVq0e4?Y@0- zUtu*QC-Q+KvE-9EWGVE&meQN?r>q^c<>?V(+D3d)Kwd6+RREyfvBI%xCt6Q?3iSSO zvF#IaUI^ZhDN2@*YCuDOX|#wvt#3S1urqL@!X{%8INQSXBD!n;1u`dF20Kg%RgK&v z&7htj<|9@r^#!f6G1?Baa%tL^bqlkKLVP9;c3=NujbS{hH)2h{Nexo}LO-jg*QWV5 zDDq2}Os~P$epJQO07*8{zQtd4ik8`e3WG7z&SBMX9<4mu_ykk<*)qO8qdz46+)I!W z!VqYzUds}#=|A;Bvb01)M4jFeB5sGrxaa!mWzJw0v2j$fM5^dYrTtZf=j(__2O@o&x_QGt+B#f7O7-5g3c6J;sv_cHA8$G7E40`d&Bdyskd(~5Li4%R%7WhN~ zx8?`gwA7bDFM^VOZ+-qY#hAFO&2&$d0FI!wMxGuUl#9JviR?gFo+Bt)YET5 z5h>4E|4|6qds5)#kTrx>!IB{^VpWn!NTyjd)-!FhQYDh>2WY<|UH&(@?+w+w(=5~E z)$4lEb?%TP+sT^IUnbz2uc#W|Tgta@BSsk#7v3FeYK!E}RzuLCn*H(ag{>4uFw|-s zJwr1_d$@w;+eMm?-l7T93f{}Ap2IB@ zdt@#ok|PDmIsxuxIWbl-9tG*S<|bMz`@Kj820M!Y(>3GR=!m)*yu(Cgd569$u>0=C zTk&QElI;g^Ds3yIY^g?%+SNk0gX$(dppiVrOY<<8Jr&+e*=|A{>A8#~_{dNtR%H4| zd>RTJ*+)u5zC=rIb#xRSBwP_dv<$U}%Rib^O#LW^-v#p@M+ST2V)&p#jzcad3vvBN zVvQ`EPZ%~HLD)`K=`f|ymtz*!$nT3#_ixnoU&Y!9!;}K72i7tCPI@tA&{At4=tD|O z1pg{$cpb$Ms1!i><;qoP55+gy8bR-Iup(pj(`e8?4p~A3QMv9&we7=wcxcnwuLecU zu{P@>RB}L+e?_NGfe4gH;RNzPC;(G7*wxOx8J0TowWWi$-2bflhjcu>(Y)f2)!&(T zK@oOFD(%-&r+%@T+W&UsYoGnsG-a?rJn*6*KvXw6e>ScrvGc{+M>h5dK^Ov{6a$+% zlOV(MK@kIn{-8cXIOwHqs1hiTM7{r>!VjdZq?16el_~RkHsm)Yer8cYNUMLnwZf=3 z?>i^Gtpy!Nocr_>9QWR6TZuREzI2T^eifuLkoA1bH@{2DZXDSXTJ(g z`_@%Hk-u8=#I{s4a^AhHDti)w8iBRA*laNoaxlC5I@RaGXH zJ4^DR(e8X=@9R*)XNwewipZDzfkXyqxIz$ml-2sMt#7#Yz0~jwy+srtj4cXS!2yy; zbAa_%J)W$_dLBK3PbbSiltFBg-y`fmDf@d9(2Ul4JOs5S#1VV{G@pxldr*-M5tn zot<@$3OVhgnWFI=j&18z{-#Uk_fUrYsq!cNrT@t3%^#hcuR^BkXa&qS&XV&P@Bx#x zdk-d4P+;CzNVwl3>>|RbL+|Et=q*+f{kCl!ohGBOH|S4*{o`SH5NycTY4G~3J!#ZH zvqi0r0;OvjB(uin)2OAksj0S=OB5%Wo&2Eoc-P0EJXBQy@N(10ug-B%YMz_N-3>Q? z3l;V+#jiz#qFBTNA;l{wV@b?T?xpYNm)-tgL}|MLmOW3*qdqN{-Ban-zJnP_JrNbg zUQ^COWX9c=luX#ORQFX6u(!-AhU#wW64qi?9zYE5@gcVxS9Z7oN*kGNGpt$H=3yUC z$bbpIaJ<(_hmZBvTIcd%-et9l$+OMnLYU23!w7^Onl7MDU+rR4Yw!kWv(n`~KgG97 zLJ9SM%><93F4;#!?XVE$IsfI-GNiaqzs7LXio>nIPY?dOhjS!d3knp!+eo3vMA9;k z>!q8R$*0G1Pecxz<>U2e5evt!n*sB#+isKO`%Rfd=^eF-cmZ`OACBnj@0V&Wg7Uver=4y8m|Y{?lKL;1 zfBAeMn8)iX(~LYy$+0efUTn6e6VW)dI81qBp<<<%=R<9`0#0Cwm*9khcBAu2O8+B` zV*y@m^Tj~4n9k2K%bg@-fU31lt?6`VV0jVh&p)+Whg#J(OCQeiCoqHZ2KzUcTDV=R zvcg`aKWUHQn*coZD+B1uOVloV_C~V_AdwS@Hj6*Hu|z}OTv@pr&6Y;|9@1#%n=iVD zSt^S7)qz#3I1HZBr4QAyvE*Q85AM+I5#yNWpr4w1;=DiVK>o`}S`HFwDkO z`OPOEs-T6$?^*!EF4im6rnp&zH)e>0y4=+KUR{g;`eZ)xQ*Ye4l%lG9dbMvrRYn}8 z{J3|aT+6pJ6Lc-s!E>t{rSNpZ;Yp3w35wKn{OVVN!uzZ9JJ&m_JY^|N%9?U254l&R zx06UKL!n|%!(gth$(=oQ+xUE;`uV=D5{Q#5ne)4Yx#~9&OYBS>tx%)f{4isM)j1q5 zFWW8RbZ-}S89S+U_1j)*4df>`>mkSYy#tEn`-PY0Y(ASJ&Vo@S-jI#OfA!me{jiVI z;0cz+?8IJf5o$#*<)>xpcU!hRJ$$W=K&*#=aauIUM=W0VkR%=IqOL(rcZpMT6FUCo zdghEOTCda9Wr2A4lEWshGaHG561)4OWlw1(I(a_5q1En19rL~iuFctQHY`nrgL*Dh z%6(6`hHL12ox^~SLBo?I^M*szcJU<->p8uk>?NaS$R2@l`2>=!Ydbe7dq#ovu&DSlq<*H>yd|64AbgblC4_(!jHW&O_!hCii-fuaY z8usIghnw$@0M^Qm#Rb;83o}tIdR;S6O09+3U6fpJ@U?>z|K;gsfN@9F?G%TDCa9fA z?efN+?VDqLgx+`_d(fc%zHIldCL`j}4vT~CM4sZ@mmCYfv8lO=lgaMG>%0Dr3p%%Q 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�n~K|OrQJwj8EX}JCdy6?U|e8o1hu?;{OcMWzYM3@o(a|h z=^dg{pg!=^;n)s`p1+B>HVp0m;yATv>3Uo7>HKI{u{S2AKV;MIg3CZk17;;Y9A58v zzhTpBEdvi3F}}{(ctwd%GiH(M{IVtKlx73pK-;nYx7ECk<15vz?G% zCY{jG$MMoBS==YV)x641TEZuz^P6Ydw^B>Z9wt(M6!`1)nopCjh_I|{Mpv6di|O9Q z(OT<4Mbg`CM*%ysQWpyN{AH0|k8(FTwe!$*;aB~FZ#T*tG*3eXINU^DsL#eMm(Qqz zWtC;*{1-0uMLuMeXiWyoPK%$yCztwksHPJ;t~R1WUD!Cdl=Q&2hs|3{9GXpDUb7~~ z`fVqM>E+LxpKE`bDAox+_z(fB!q2-A >6Ix2Vf>?&(JkBA^D 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 kVbqXG0{;X1DyEG~mUV4|_ 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 Oe)_tGM@zLGqW%q)pfIBV literal 0 HcmV?d00001 diff --git a/scripts/banner-gen/generate.mjs b/scripts/banner-gen/generate.mjs index 0b45f78..a91f99c 100644 --- a/scripts/banner-gen/generate.mjs +++ b/scripts/banner-gen/generate.mjs @@ -1028,6 +1028,27 @@ BANNERS['jpa-version-field-lost-update'] = { { n: '4', label: '409 ✓' }, ], }; +BANNERS['one-hostname-public-tracker-sso-dashboard'] = { + titlebar: 'root@dsm — stats.hoelee.com · authentik outpost', + lines: [ + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'curl -sI https://stats.hoelee.com/script.js' }, + { t: 'ok', text: '200 — the tracker stays public for every visitor' }, + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'curl -sI https://stats.hoelee.com/' }, + { t: 'dim', text: '302 → auth.hoelee.com/if/flow/auth-stats/ (SSO)' }, + { t: 'err', text: 'mode=forward_single → app paths 404 behind a "healthy" SSO chain' }, + { t: 'hl', text: 'in proxy mode the outpost IS the reverse proxy' }, + { t: 'prompt', text: '$' }, { t: 'cmd', text: 'skip_path_regex · ^/script\\.js$ ^/api/send ^/api/heartbeat$' }, + { t: 'ok', text: 'mode=proxy + internal_host → one hostname, no second subdomain ✓' }, + ], + flow: [ + { n: '1', label: 'tracker public' }, + { n: '2', label: 'dashboard gated' }, + { n: '3', label: 'one hostname' }, + { n: '4', label: 'skip paths' }, + { n: '5', label: 'verified ✓' }, + ], +}; + // ---------- read frontmatter ---------- const postPath = join(ROOT, 'src', 'content', 'posts', `${slug}.md`); diff --git a/scripts/og-gen/generate.mjs b/scripts/og-gen/generate.mjs index 46db8eb..89e1cf2 100644 --- a/scripts/og-gen/generate.mjs +++ b/scripts/og-gen/generate.mjs @@ -316,6 +316,11 @@ TERMINALS['jpa-version-field-lost-update'] = `
 @Version → UPDATE … WHERE version = 3
 → 409 Conflict, not a lost update ✓
`; +TERMINALS['one-hostname-public-tracker-sso-dashboard'] = ` +
$curl -sI https://stats.hoelee.com/script.js | head -1→ 200
+
 mode=forward_single: SSO 302 ✓ · every app path 404
+
$mode=proxy + internal_host=http://umami:3000→ dashboard 200 ✓
`; + // ---------- read frontmatter ---------- const postPath = join(ROOT, 'src', 'content', 'posts', `${slug}.md`); if (!existsSync(postPath)) { diff --git a/src/content/posts/one-hostname-public-tracker-sso-dashboard.md b/src/content/posts/one-hostname-public-tracker-sso-dashboard.md new file mode 100644 index 0000000..36c488d --- /dev/null +++ b/src/content/posts/one-hostname-public-tracker-sso-dashboard.md @@ -0,0 +1,280 @@ +--- +title: "One Hostname for a Public Tracker and an SSO-Gated Dashboard" +description: "A web-analytics tracker has to be public and its dashboard must not be. How I put both on one hostname with an authentik proxy provider and path-based skip rules." +pubDate: 2026-09-30 +category: devops +tags: ["umami", "authentik", "sso", "nginx", "docker", "privacy"] +ogImage: "/og/one-hostname-public-tracker-sso-dashboard.png" +banner: "/banners/one-hostname-public-tracker-sso-dashboard.png" +draft: false +--- + +Every analytics tool has the same awkward shape. The half that *collects* data +has to be reachable by a stranger's browser on every page load. The half that +*shows* the data must be reachable by nobody but me. + +That normally means two hostnames: a public ingest endpoint and a private +dashboard. I did not want two hostnames. I wanted one DNS record, one +certificate, one thing to remember — and a dashboard I could open from a hotel +wifi in Kuala Lumpur without publishing a login page to the internet. + +This is the shape that ended up working, and the two traps that made a +perfectly healthy-looking configuration serve 404s for half an hour. + +## The constraint list + +- **The tracker must be public.** `script.js` and the two ingest endpoints are + fetched by every visitor's browser. If they are behind auth, you collect + nothing and you will not notice for days. +- **The dashboard must not be public.** It shows every visitor's country, city, + referrer and page path. A default admin login on a public URL is a gift to + whoever finds the subdomain in a certificate-transparency log. +- **No wildcard DNS.** `*.hoelee.com` does not resolve, so every hostname is an + explicit DNS record plus a certificate. A second hostname is real work, and it + doubles the surface I have to keep patched. +- **This hostname does not go through Cloudflare.** It is a direct A record to my + router, so there is no WAF, no bot protection and no `CF-Connecting-IP` header + to lean on. Everything below has to work with plain nginx headers. + +## Attempt 1 — two hostnames + +The conventional split is what PostHog and Sentry do: `i.posthog.com` for ingest, +`app.posthog.com` for the UI. That is a real requirement when ingest is served +from a CDN at thousands of requests per second and the app is a stateful +database client. My blog gets a handful of visits a day. I was copying an +architecture that solves a problem I do not have, and paying for it with a second +DNS record, a second certificate and a second thing to break. + +Two hostnames is the *scale* answer, not the *requirement*. One hostname can +carry both, split by path. + +## Attempt 2 — nginx basic auth (this one does not work, and here is why) + +My first instinct was the cheapest possible gate: an nginx container in front of +the analytics app, with `auth_basic` on everything except the three tracker +paths. It is four lines of config and I have used it before. + +It breaks the dashboard completely, and the failure is confusing enough to be +worth writing down. + +The app's own front end talks to its own API with a bearer token: + +``` +GET /api/websites HTTP/1.1 +Authorization: Bearer +``` + +A browser sends **one** `Authorization` header per request. When the front end +adds its bearer token, that header replaces the basic-auth credentials — so the +gate reads a bearer token where it expects a base64 user:password pair, decides +the request is unauthenticated, and returns 401. The dashboard shell loads +(that request carries basic auth), and then every single API call fails. You get +a UI that renders its layout and shows nothing, which reads as "the analytics +tool is broken" rather than "my gate is fighting my app". + +Cookie-based auth does not have this problem, because the credentials live in a +`Cookie` header that the app's own tokens never touch. So: cookie auth, or no +gate. + +## Attempt 3 — an nginx allowlist gate (works, but the dashboard goes LAN-only) + +The next version dropped basic auth entirely and made the gate a pure allowlist: +`/script.js`, `/api/send` and `/api/heartbeat` pass through, everything else gets +403. That is genuinely safe — the tracker is public, the dashboard is not +reachable at all — and it is a fine permanent answer if you only ever look at +your stats from inside your own network. + +I wanted to see the dashboard from anywhere, so this became the fallback rather +than the destination. I stopped the container and kept it, which turned out to be +the right call later: rollback was one `docker start` and one config line. + +## Attempt 4 — authentik proxy provider with path-based skip rules + +I already run authentik for single sign-on across about twenty self-hosted apps. +Most of them are gated the same way: the reverse proxy forwards the request to +authentik's embedded outpost, the outpost checks for a session cookie, and an +unauthenticated visitor gets a 302 to the login flow and back. + +The proxy provider has a field built for exactly this problem: +`skip_path_regex`. One regex per line. Any path that matches is forwarded +straight to the app with **no authentication at all**; anything that does not +match is bounced to the SSO login. So the split stops being an nginx concern and +becomes an application-level policy. + +``` +mode: proxy +external_host: https://stats.hoelee.com +internal_host: http://umami:3000 +skip_path_regex: ^/script\.js$ + ^/api/send + ^/api/heartbeat$ + ^/mcp(/|$) +``` + +That is the whole policy: the tracker's asset, its ingest endpoint, its health +endpoint and its MCP endpoint are public; every other path on that hostname +requires SSO. + +The nginx vhost then points at the outpost instead of at the app: + +```nginx +location / { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://localhost:10000; # the authentik outpost +} +``` + +## Trap 1 — the provider mode that 404s the whole app behind a "working" SSO + +I built the new provider by cloning one that already worked in my instance. That +is normally the fastest and safest way to add an app, and it is exactly how I got +this wrong. + +The provider I copied used `mode: forward_single` with an empty `internal_host`. +That is correct for apps that handle their own login (a browser app, a monitoring +UI behind its own session) — the outpost only has to answer "is this visitor +allowed?", and the app is reached by some other route. But it means the outpost +has **no upstream to proxy to**. When the app you are gating has no login of its +own — a self-hosted analytics dashboard, for instance — the outpost *is* the +proxy, and with an empty `internal_host` it has nowhere to send the request. + +The symptom is nasty because the auth half looks perfect: + +``` +$ curl -sI https://stats.hoelee.com/ | head -1 +HTTP/2 302 # → auth.hoelee.com/if/flow/auth-stats/ +$ curl -s -o /dev/null -w '%{http_code}' https://stats.hoelee.com/script.js +404 # ← but the app is not there +``` + +302 to the login flow, the branded login page renders, the flow completes — and +every application path returns 404. Two things made the diagnosis fast once I +looked for them: + +1. **The `x-powered-by` header says which hop answered.** The 404 carried + `x-powered-by: authentik`, which proves the outpost produced it and the app + never saw the request. Without that header I would have been debugging the + application's routing. +2. **Compare against a provider that works.** The same anonymous request against + an app that is known good ends at the login flow with a 200. Mine ended at + 404 — same shape, different last hop. + +The fix is one field pair: `mode: proxy` with a real `internal_host`. + +``` +mode: proxy # not forward_single +internal_host: http://umami:3000 # the outpost proxies to the container +``` + +`forward_single` = "the app is somewhere else, just check the visitor". +`proxy` = "you are the reverse proxy, send the request to `internal_host`". +Pick by asking who serves the response. + +## Trap 2 — the outpost needs a minute, and it lies convincingly + +After changing a provider, the embedded outpost takes one to two minutes to pick +up the new configuration. During that window the hostname answers like this: + +``` +302 → /flows/-/default/authentication/ # a default flow, slug "-" +404 # on every app path +``` + +That is not the new configuration failing — it is the old configuration not yet +being replaced. I lost time on this twice: once concluding the wiring was broken, +once concluding the mode change had not taken effect. Now I change one thing, +wait ninety seconds, and only then judge the result. The same applies to +attaching a new provider to the outpost: the provider exists in the API +immediately, and starts answering requests a minute later. + +## What I actually verified, and from where + +Internal checks are worthless for this class of change. My instance has two +ingress layers on some hostnames (an nginx vhost and a tunnel rule straight to a +container), so a request from inside the LAN can pass while the public path +bypasses the gate entirely. Everything below was measured from the public +internet, on the real hostname. + +| Check | Result | +|---|---| +| `GET /` (anonymous) | 302 → outpost → the app's own login flow → **200** | +| `GET /login`, `/api/websites` | 302, gated | +| `GET /script.js` | **200** — the tracker still loads for visitors | +| `GET /api/heartbeat` | **200** | +| `POST /api/send` with a bogus site id | **400 from the app**, not 403 from a gate — proof the request reaches the app | +| `POST /mcp` with the API key | **200**, `text/event-stream` | +| `POST /mcp` without the key | **401** `Missing bearer API key` — the app's own auth, not the SSO gate | +| A real pageview | recorded with `country=MY region=MY-07 city=George Town`, browser, OS and referrer intact | + +That last row is the one that matters. Because this hostname does not go through +Cloudflare, the visitor's IP has to survive two proxy hops via +`X-Forwarded-For`, and the app has to be told to read that header +(`CLIENT_IP_HEADER=x-forwarded-for`) instead of the Cloudflare one. A pageview +counter that increments while every visitor is attributed to a container IP +looks like success and is useless. Recording the right city is the proof. + +## What I would do differently + +- **Keep the previous gate stopped, not deleted.** The nginx allowlist container + from attempt 3 is still on disk, stopped. Rollback is `docker start` plus one + line in the vhost — thirty seconds, versus rebuilding it from memory under + pressure. +- **Rotate the app's default credentials before the hostname is reachable, not + after.** I had a public URL and a default `admin`/`admin`-style login live at + the same time for part of an afternoon, and a new subdomain shows up in + certificate-transparency logs within hours. +- **Change one field, then wait.** Two of my three wrong conclusions in this + session came from reading a result before the system had finished applying it. +- **Test the app's own login flow too.** SSO passing does not mean the app works: + the gate can be perfect and the session cookie it sets can still be rejected + downstream. I verified the tracker path with curl and the dashboard with a real + browser, and only then called it done. + +## The trade-offs, honestly + +- **Double login.** The analytics app has no OIDC support, so SSO grants access + to the route and the app still asks for its own username and password. One + extra click, once per browser. Per-account two-factor authentication is + available inside the app, which is the part that actually protects the data. +- **The dashboard is as available as the outpost.** If authentik is down, the + dashboard is down. The tracker fails silently at the same time, which is + survivable: pages still load, the beacon just does not land. +- **I kept one break-glass path.** The app still publishes a port on the LAN, + which bypasses SSO entirely. It is not reachable from the internet (verified + from an external host), it still requires the app's own credentials, and I + would rather have it than be locked out of my own analytics by an SSO + misconfiguration. + +## The result + +One hostname, one DNS record, one certificate. No second subdomain, no extra +container — the gate is a feature of the SSO instance I was already running. The +tracker is reachable by every visitor's browser, the dashboard is reachable by +me from anywhere, and an anonymous visitor gets a login page instead of a +dashboard. + +The measurable version: three tracker paths and the MCP endpoint answer +correctly to anonymous requests, every other path on the hostname returns 302 to +SSO, and pageviews land with the visitor's real city and referrer — which is the +only reason the whole exercise was worth doing. + +If you are self-hosting analytics (or anything with a public ingest half), try +one hostname with path-based skip rules before you add a second DNS record. The +two-hostname split is an architecture for companies whose ingest traffic pays for +a CDN. Yours probably is not. + +## Want this for your business? + +If you want to know what your website is actually doing without handing your +visitors' data to an ad network — or you have an internal tool that should never +be reachable from the internet — I set up self-hosted, cookie-free analytics and +SSO gates like the one in this post: one hostname, no consent banner, no +third-party script phoning home from every page. + +**WhatsApp: [+60 12-797 2969](https://wa.me/60127972969)** · **Email: [me@hoelee.com](mailto:me@hoelee.com?subject=Self-hosted%20analytics%20and%20SSO)** · **[hoelee.com](https://hoelee.com)** + +Website design and development is my main line of work; server hardening and +self-hosted infrastructure is the other half of it. diff --git a/src/content/posts/zh/one-hostname-public-tracker-sso-dashboard.md b/src/content/posts/zh/one-hostname-public-tracker-sso-dashboard.md new file mode 100644 index 0000000..d089d20 --- /dev/null +++ b/src/content/posts/zh/one-hostname-public-tracker-sso-dashboard.md @@ -0,0 +1,170 @@ +--- +title: "公开的埋点与要 SSO 的仪表盘,怎么共用一个域名" +description: "埋点必须公开,仪表盘绝不能公开。我用 authentik 的 proxy provider 加路径放行规则,把两者放在同一个域名上——不用第二个子域,也不用第二个证书。" +pubDate: 2026-09-30 +category: devops +tags: ["umami", "authentik", "sso", "nginx", "docker", "privacy"] +ogImage: "/og/one-hostname-public-tracker-sso-dashboard.png" +banner: "/banners/one-hostname-public-tracker-sso-dashboard.png" +draft: false +--- + +几乎每个统计工具都长成一个尴尬的形状:负责**收集**数据的那一半,必须让陌生人的浏览器在每次打开页面时都能访问;负责**展示**数据的那一半,必须只有我能访问。 + +通常这意味着两个域名:一个公开的埋点入口,一个私有的仪表盘。我不想要两个域名。我只想要一条 DNS 记录、一张证书、一件要记住的事——同时能在吉隆坡某家酒店的 wifi 上打开仪表盘,而不用把一个登录页发布到公网。 + +下面就是最后跑通的形状,以及两个让「看起来完全正常」的配置连续半小时返回 404 的坑。 + +## 约束清单 + +- **埋点必须公开。** `script.js` 和两个收集端点由每个访客的浏览器抓取。如果它们被鉴权挡住,你就什么都收不到,而且好几天都不会发现。 +- **仪表盘绝不能公开。** 它显示每个访客的国家、城市、来源和页面路径。一个默认管理员登录挂在公网 URL 上,就是送给任何在证书透明度日志里翻到你子域的人。 +- **没有泛解析 DNS。** `*.hoelee.com` 不解析,所以每个域名都是一条显式 DNS 记录加一张证书。第二个域名是实打实的工作量,还让我要维护的攻击面翻倍。 +- **这个域名不走 Cloudflare。** 它是一条直指我家路由器的 A 记录,所以没有 WAF、没有 bot 防护,也没有 `CF-Connecting-IP` 头可以依赖。下面所有东西都只能靠普通 nginx 头工作。 + +## 方案一:两个域名 + +业界常见的拆法是 PostHog 和 Sentry 的做法:`i.posthog.com` 收数据,`app.posthog.com` 看数据。当收集端由 CDN 承载、每秒几千请求、而应用端是个有状态数据库客户端时,这是真需求。我的博客一天只有个位数访问。我是在抄一个解决「我没有的问题」的架构,代价是第二条 DNS 记录、第二张证书、第二个会坏的地方。 + +两个域名是**规模**的答案,不是**需求**。一个域名就能同时承载两者,按路径分开就行。 + +## 方案二:nginx basic auth(这个方案行不通,原因值得记下来) + +我第一反应是用最便宜的挡法:在统计应用前面放一个 nginx 容器,除了三个埋点路径以外全挂 `auth_basic`。四行配置,我以前用过。 + +它会把仪表盘彻底弄坏,而且坏的方式足够让人困惑,值得写下来。 + +应用自己的前端会用 bearer token 调自己的 API: + +``` +GET /api/websites HTTP/1.1 +Authorization: Bearer +``` + +浏览器每个请求只发**一个** `Authorization` 头。当前端加上它的 bearer token 时,这个头就**顶掉**了 basic auth 的凭据——于是网关读到的是一个 bearer token,却期望它是 base64 的 user:password,判定为未鉴权,返回 401。仪表盘的外壳能加载(那个请求带着 basic auth),然后每一个 API 调用都失败。你得到的是一个渲染出框架、里面什么都没有的界面,读起来像「统计工具坏了」,而不是「我的网关在跟我的应用打架」。 + +基于 cookie 的鉴权没有这个问题,因为凭据放在 `Cookie` 头里,应用自己的 token 永远不会碰它。所以:要么 cookie 鉴权,要么不要网关。 + +## 方案三:nginx 白名单网关(能用,但仪表盘变成只能内网访问) + +下一版彻底去掉 basic auth,把网关做成纯白名单:`/script.js`、`/api/send`、`/api/heartbeat` 放行,其余一律 403。这确实安全——埋点公开,仪表盘根本不可达——如果你只在自己网络里看数据,这完全可以作为最终方案。 + +但我想在任何地方都能看仪表盘,所以它变成了退路而不是终点。我把容器停掉但保留着,后来证明这个决定是对的:回滚只需要一次 `docker start` 加一行配置。 + +## 方案四:authentik proxy provider + 按路径放行 + +我本来就在用 authentik 给二十来个自托管应用做单点登录。它们大多用同一种方式挡:反向代理把请求转给 authentik 的 embedded outpost,outpost 检查会话 cookie,未登录的访客被 302 送到登录流程,登录后再送回来。 + +proxy provider 上有一个正好为这个问题准备的字段:`skip_path_regex`。一行一条正则。**任何匹配的路径都会完全不鉴权**直接转发给应用;不匹配的一律弹到 SSO 登录。于是「哪部分公开」不再是 nginx 的事,而变成了应用层的策略。 + +``` +mode: proxy +external_host: https://stats.hoelee.com +internal_host: http://umami:3000 +skip_path_regex: ^/script\.js$ + ^/api/send + ^/api/heartbeat$ + ^/mcp(/|$) +``` + +这就是全部策略:埋点脚本、收集端点、健康检查端点和 MCP 端点公开;这个域名上的其他所有路径都要过 SSO。 + +nginx 的 vhost 则从指向应用改成指向 outpost: + +```nginx +location / { + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_pass http://localhost:10000; # the authentik outpost +} +``` + +## 坑一:一个 provider 模式,让「正常的 SSO」把整个应用变成 404 + +我建新 provider 的方式是克隆一个已经能用的。通常这是加应用最快也最安全的做法,而这正是我踩坑的原因。 + +我抄的那个 provider 用的是 `mode: forward_single`,`internal_host` 是空的。对于自带登录的应用(比如一个浏览器应用、一个自己有会话的监控界面),这是对的——outpost 只需要回答「这个访客允许吗」,应用由别的路径抵达。但它意味着 outpost **没有可代理的上游**。当你挡的应用自己没有登录(比如自托管的统计仪表盘),outpost **就是**那个反向代理,而 `internal_host` 为空时它无处可送。 + +症状之所以难缠,是因为鉴权那一半看起来完美: + +``` +$ curl -sI https://stats.hoelee.com/ | head -1 +HTTP/2 302 # → auth.hoelee.com/if/flow/auth-stats/ +$ curl -s -o /dev/null -w '%{http_code}' https://stats.hoelee.com/script.js +404 # ← 但应用不在这里 +``` + +302 到登录流程、品牌登录页正常渲染、流程走完——而每一个应用路径都返回 404。一旦开始找,有两样东西让定位变得很快: + +1. **`x-powered-by` 头会告诉你哪一跳应答的。** 那个 404 带着 `x-powered-by: authentik`,证明它是 outpost 产生的,应用根本没收到请求。没有这个头,我就会去查应用的路由。 +2. **拿一个能用的 provider 对照。** 同样的匿名请求打到已知正常的应用,会停在登录流程并返回 200。我的是 404——形状一样,最后一跳不同。 + +修复只是一对字段:`mode: proxy` 加一个真实的 `internal_host`。 + +``` +mode: proxy # 不是 forward_single +internal_host: http://umami:3000 # outpost 把请求代理到这个容器 +``` + +`forward_single` = 「应用在别处,你只负责检查访客」。 +`proxy` = 「你就是反向代理,把请求送到 `internal_host`」。 +怎么选:问一句**谁来产生响应**。 + +## 坑二:outpost 需要一分钟,而它会很有说服力地骗你 + +改完 provider 之后,embedded outpost 需要一到两分钟才会拉到新配置。在这个窗口里,域名会这样应答: + +``` +302 → /flows/-/default/authentication/ # 一个默认流程,slug 是 "-" +404 # 所有应用路径 +``` + +这不是新配置失败,而是旧配置还没被替换。我在这上面浪费了两次时间:一次是判断接线坏了,一次是判断模式修改没生效。现在的做法是改一处、等九十秒、然后才判断结果。把新 provider 挂到 outpost 上也一样:provider 在 API 里立刻存在,但要一分钟后才开始应答请求。 + +## 我实际验证了什么,以及从哪里验证 + +这类改动用内网自测毫无意义。我的环境里有些域名有两层入口(一个 nginx vhost,加一条直连容器的隧道规则),所以从内网发的请求可以通过,而公网路径完全绕开网关。下面全部是从公网、用真实域名测的。 + +| 检查 | 结果 | +|---|---| +| 匿名 `GET /` | 302 → outpost → 该应用自己的登录流程 → **200** | +| `GET /login`、`/api/websites` | 302,被挡 | +| `GET /script.js` | **200**——埋点脚本对访客仍然加载 | +| `GET /api/heartbeat` | **200** | +| 用假 site id `POST /api/send` | **应用返回 400**,不是网关返回 403——证明请求真的到了应用 | +| 带 API key `POST /mcp` | **200**,`text/event-stream` | +| 不带 key `POST /mcp` | **401** `Missing bearer API key`——应用自己的鉴权,不是 SSO 网关 | +| 一次真实 pageview | 记录到 `country=MY region=MY-07 city=George Town`,浏览器、系统和来源都完整 | + +最后一行才是关键。因为这个域名不走 Cloudflare,访客 IP 必须靠 `X-Forwarded-For` 穿过两跳代理,并且要告诉应用去读这个头(`CLIENT_IP_HEADER=x-forwarded-for`)而不是读 Cloudflare 的那个。一个数字在涨、但所有访客都被归到容器 IP 上的统计,看起来像成功,其实毫无用处。**能记录到正确的城市才是证据。** + +## 我下次会怎么做 + +- **把上一个网关停掉,而不是删掉。** 方案三那个 nginx 白名单容器还在磁盘上,处于停止状态。回滚是 `docker start` 加 vhost 里改一行——三十秒,而不是在压力下凭记忆重建它。 +- **在域名可达之前轮换应用的默认凭据,而不是之后。** 我有一个下午让公网 URL 和默认的管理员登录同时存在;而新子域几个小时内就会出现在证书透明度日志里。 +- **一次只改一个字段,然后等。** 这次会话里三个错误结论,有两个来自在系统还没应用完变更时就去读结果。 +- **也要测应用自己的登录流程。** SSO 通过不代表应用能用:网关可能完全正确,而它设下的会话 cookie 在下游被拒。我用 curl 验证埋点路径、用真实浏览器验证仪表盘,然后才敢说做完了。 + +## 说清楚取舍 + +- **双重登录。** 统计应用不支持 OIDC,所以 SSO 只解决了「能不能到这个路由」,应用仍会要它自己的用户名密码。每个浏览器多一次点击。真正保护数据的是应用内可以按账号开启的两步验证。 +- **仪表盘的可用性等于 outpost 的可用性。** authentik 挂了,仪表盘就挂了;同时埋点会静默失败,这还能接受:页面照常打开,只是数据没落库。 +- **我保留了一条后门。** 应用仍在局域网里发布一个端口,完全绕开 SSO。它从公网不可达(用外部主机验证过),仍然需要应用自己的凭据,但我宁可留着它,也不想因为一次 SSO 配置失误把自己锁在自己的统计之外。 + +## 结果 + +一个域名、一条 DNS 记录、一张证书。没有第二个子域,没有额外容器——网关就是我本来就在跑的 SSO 实例的一个功能。埋点对每个访客的浏览器可达,仪表盘对我随处可达,匿名访客看到的是登录页而不是仪表盘。 + +可以量化的版本:三个埋点路径加 MCP 端点对匿名请求应答正确,域名上其余所有路径 302 到 SSO,pageview 带着访客真实城市和来源落库——这也是整件事值得做的唯一理由。 + +如果你也在自托管统计(或任何有「公开收集端」的东西),先试试用一个域名加路径放行规则,再考虑加第二条 DNS 记录。两域名的拆法是给那些收集流量足以养一个 CDN 的公司用的架构。你的多半不是。 + +## 需要为你的业务做这个吗? + +如果你想真正知道网站在发生什么,又不想把访客数据交给广告网络——或者你有一个绝不该从公网访问的内部工具——我可以帮你搭自托管、无 cookie 的统计,以及像这篇里那样的 SSO 网关:一个域名、不需要同意横幅、没有第三方脚本在每一页偷偷回连。 + +**WhatsApp:[+60 12-797 2969](https://wa.me/60127972969)** · **邮箱:[me@hoelee.com](mailto:me@hoelee.com?subject=Self-hosted%20analytics%20and%20SSO)** · **[hoelee.com](https://hoelee.com)** + +网站设计与开发是我的主业;服务器加固与自托管基础设施是它的另一半。