From 448e270e6bcc4bb0f7b75fedcc7317db1f9c8425 Mon Sep 17 00:00:00 2001 From: fiatjaf Date: Thu, 14 Nov 2024 13:13:32 -0300 Subject: [PATCH] favicon based on RELAY_ICON and a default. --- main.go | 12 ++++++++++++ static/icon.png | Bin 0 -> 13251 bytes 2 files changed, 12 insertions(+) create mode 100644 static/icon.png diff --git a/main.go b/main.go index 8731184..fd254ab 100644 --- a/main.go +++ b/main.go @@ -2,6 +2,7 @@ package main import ( "context" + "embed" "encoding/json" "net/http" "net/url" @@ -41,6 +42,9 @@ var ( relay = khatru.NewRelay() ) +//go:embed static/* +var static embed.FS + func main() { err := envconfig.Process("", &s) if err != nil { @@ -104,6 +108,14 @@ func main() { relay.Router().HandleFunc("/remove-from-whitelist", removeFromWhitelistHandler) relay.Router().HandleFunc("/reports", reportsViewerHandler) relay.Router().HandleFunc("/browse", joubleHandler) + relay.Router().Handle("/static/", http.FileServer(http.FS(static))) + relay.Router().HandleFunc("/favicon.ico", func(w http.ResponseWriter, r *http.Request) { + if s.RelayIcon != "" { + http.Redirect(w, r, s.RelayIcon, 302) + } else { + http.Redirect(w, r, "/static/icon.png", 302) + } + }) relay.Router().HandleFunc("/", inviteTreeHandler) log.Info().Msg("running on http://0.0.0.0:" + s.Port) diff --git a/static/icon.png b/static/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..a843721456f68a93c70bc8a98751ac974b2cd16d GIT binary patch literal 13251 zcmeHtcT`i$_iqvi9YlIldT*h3>C&t8ng9Wj79c=CNtMZ{nt60$&jn7E|8n3%knB%7FoyckSgTpDN}T=Z{^E|3x{`%VG< z@4Bn28|$d6v!VQaT-`m9AQ0wZSh|vSy9!H(qisjYPrP-u?`g&IZ*9<&L@?4L=V z%HOv;f*LU0qoLPodpR@H zZ(ULdPq!0)tqWhUQh^F^bzM3mY<(-Wdn3c!l#c@4GWM&BVeloX6}Fo%#DrS?mJgeukpx~R`0RPnPMxH3kkmttmHk%%?J-RFa7#5 z)wPP3R#9_L2G_<8b0}I5NDU&KynVc{U*F1V+wPYirHco2IyuJO%nEH~pfB(2<0XP{ z@o_?mV7yQl9R^ZV#-I?+9!NBs6VlDyTZv=yZ7T8>5(hrAJD zXyzQ^;VkFEp?r-*5hD)(cp=dUHjJ02x4%3_iQ_k}JdnP~7Uf|3ErRw?;;;hzNZrQ| z$tEcxDFPGL#JC5Fb6g`~Q}lCjl{eM6{wD-*rNnU)jYi3fiUtJ*i3CZA`1rYripj~z ziNeH1#l?jI31R5b<6JA{k#U-eM|exAS0ad8$!dLq35QGcLSvHxiDV#NJbG?X|l+Lw3nadvl+|DBX_ zk`|XlAQ8ey87XODNof}+VOeQ88DWGB(pgLr=`15A3HuwAj<-J=;q8pPfC9ip+yNX3 zNeMA$7g;%BISCgDVM!@TF<~b;Cl_H!8JM)Qi;S!^(na!b5JrCPfL9_s|E|>qlnVeQ zg>-?r$T_5Fn zC~vpl1s8Y|C)z|VG{DNzj&87@Nsc>4gSALUkn~L#Xq`S z+ua{%KlpdnA0z4p()W+6KQ2Ape-9-#w%>z79^w3l3I2#cq|0wT0jxiYoNpq$-H^cS z@u$1~E8qQpa0M3`n2Q9^OTuDeuFk@e;xe+r2p1=y6D3?>;xeuXDOb5aX#ES_-^Udl zgz!VEx&b@_TmkO+`wqp%_q(I`|5KNso5+h^00;wG5EhgC-w6}_(_qnyIpbdzD~kRf zoGAVl_}e4{)cYe3n7n|wQ1q|K@K4SFegA)c{_KnYpG~l_{kM^S#P5IU`Y&Doh=G43 z{9o_-FJ1qLfqx|YU+?;VMi)6yu_KKv%mjUxqmc=Z148b?c1l>%a%XsijNLMQE6J9`0^6QpnRMwqljuZYXbJX8x9nv;&q67Mx`C|&EWfd{pq%|2jWfla8m6K z<^e^J)B;%ap9*R5*|mJJMxe*4d{~+-ov%rBH2CaYRwPYgaUI|G?I777U?gfAm!U0g zHZvo7qanaSR)&AoFhW$7(hnaxg>ScQJ7%bv{AzXg+rD(z*>S-Q6K7M9mZ;!3 zVfC~eGw>w{?P(REW^Zy3Ecp1^oK%2a@I1$}latu+Z@mzkA+TDG%gtTV_~ZV8pb)B? zJJi~euf)CfRfW1b{Ol?=-lS{zSFPSQ)QvF86)geX6{;j}9NC-}m_#fY1et!`stD)1 zb-%kWZ$o1|WmVhP3<}O9;|h-|lVllaA2`EkRWI z!VLEibWk=I-aOd*?a7Yv7p!ucWo0K`j-*Woyckg~em?66nx zSkAMzs(kuu3aQlYp3u#q%OP7RQzXe{JxAZ#laXSyE)zo1m zNu`h2qr?;xKF=i%C70z@7X{=SWN}I>Z_mT|Jsi8sKHfI|g*$Q>m(Gy>QSAAJBg2Xt zC3=sSjYNgPKN~zcPyKjVW4>B0Fad)!===t=ux_vBtgPkm{gm!3TB{c0NP~q1zK?9h zQC2B?v`c4KJLu&yv)!}g|DN--81X|o!;A*QcB()G5NUE9d<=H9ZGKddA|>-pN3x)( z-&_`q#!@Fr><+#~Rjuhekw)Ta7pU}e7~-aoEL+w^eLnP#x7T!*d?xQ8ts6-cjeOa& z4ll)JTV{M;pIIyn`}QL81=tZ^q(|^FsS1Nq$LUpgQ=y8No`PN=D=zTs-Y4_7l;pLR zwkhokS2oKqHg9#R#ZKRLyK(^5al3-GPV{|xeXWCf?K4MZ&VuS4RPD8)&qt|WCcj{9 zAzi$yua(Y;^9&XSluzePO8Kz=bV4C)QGR07YjwZBwJ*j6+iYV^mptlS?0RUEVRdrXpRS{RpP+YQhxhrlKw9%v5yRo|1Fk@wXdO@TT6G7bjePFt zsbaD#o13>Ew}zgZWKW}rdbd-De1)fpwvv;sL?vJXg!7-}FZN|9i+wDoL(isB1e-g7 ziQ3O=ya_7~iOuvM^hgnUcM?YvTJ;;x3#h5GM0v-p-cF^=lO5rb7Cu$zX`%wSajhun zMRy%5S511}-jBU$|Joaei2&I~CeQu+3et+aXDT!~+o9DeVO)S~Ey_zHxo84Q8cNBx zPkmoDg4kbX^Zj#)(N$UzE=V5;IWFlnrgNz1T)wrlw<$n=T@#RgF97GgHX82T6i42* zS@EbuV5|4prN=56Y&I4js`HEx9SQnQ3Xvl_6B=M5b>7I7{e6Rl!na8JPdSc>rfr;l ziJp9y?tQAHd6{S_hL{(bcL#?FTX8)z0vrrOgCe@W#+z2nJn+5!6?H-P9UP^Cfm>F+a9_J@klokV4fR zCP1Rn?P3qUjm-*&)Fs^da`kQEO<%vU2$a1xf)IwM7VqSGwS}~@X@V=z;K+w67M{)S zR=-{fu}6K9NvkM(5>um>6Z~B(mF)P^K6dm?Gbk7`I5}<5bc^L#p_11Fw|&Sr0*7?V zhxTui)9mTS@o>kwa2xH#`m z0Vqdw%32vIy0|^JdAlV_l7aT_t2*e400=r5Epm&4NbLdFmIheptY!Jb-Zvqa$WJ;9 zwlpZ3d@V=57vNWHhAY+gL*I=J``)@sd8k=t&W&Hk2tR9%e2w&EZC4VDc04m>k>4|x78CPgA%0VrL|Sl z>WT?4l&u_vB+@LxZrds1LV~xyL_en~Abk9_uQ{@Vmcl;gcJR`+;U^x+D+gLdH!5PR zK+#2LBQW(T{;kUK>M`5MA1>c2R${!&K;rORF27>k8ZRrPO^Ot}7!TAUpRXA6 zdC4a~Bm*|(g$oJEGe((|(qL%vcP2$WC~|5y)yZXxr!d0ySDN?GZdX|rg12`3?N8>4 zcNNbk4WIDdyp6JH~R>?U##w0?vPit8`h_`C>spTLGf**1A;qy<0tb!Wv`DXa_UaAm^ zW+n;G@U%V(#0_^4ays-J_Zlfp3uvlqf)}_&w!lThMn&%4anZKDM|2wAxoPYk-L0>3 zcIak;WzO3DGZwW4NZ2;5!0R2)>fH3}7BS=>dZs)ps-8h(S&UpOO}{o5&_79E1$M#; z<0Mp^2ZHnF`m9VI(r%yKacHi2=No$yiuwHW7iRPP*v(ZN{e%zO1jp6Le(^36V77F5BYM@Sm5awT7DU zZbepNeL%}dn|Me!?Ghw*+hcw8U4`>V=ID}TfM@v&s+I36SN8TXtK)|Ig=cd{5qS-U z!bSA<8hZpYjJY;`_}zi;Rt7D;bryJyUe9foemj3k*j$R=N8R|KrkB6vtS$$$R5{&m z?*EBk3CyZa6{7)mIp!f+ht&L}j>{61{%WdTEgO+Pt-6bUggJaIQV{;`RruJ%-k5GR zmJeH9&T_yO(^(++D-#y%z|nezt>In39iyiO8#GF1j9~8&&tBvMK=Utkq4cm0qoOzC zt|Kiy?B8;i@6u8>Kv;cy*3>g)7?dTsl{&?JG{G)cK4BG3I?cvwXP0!JQ?m2!O@KLxS~}c9rQ|bW+90dZw{&idqB_G} z2FaM446E(0}ad8Tfz$I5bZZQJkK(om8^58?*{`TbRw$F+ z3x8pG!e!xoGWdK?;c@^oWo~iXV>QQP^Ml8+0kOSSZ>pM#qQb?$6x_K9dr*yD4K0mz zD}+fictKl0cK1vu;8`Ci@f+?NLJYzowA7y28^dqd<3`^W5ez-oE;q%1Nn(YjY$c|I9_-M#OZL&4-G3rd3rppg(GwlRDAMrAg0oo(lq-leyVSI0cImO; z^}1c0ZrMN)jH=6WrfSt%(CF8-^M~Plzh>x9dA28aJgoGULUK)wxITe3~|9p|G*SF!0$?gnI1x z2%NAMim|#r77MK~(U zKgmh+W^54%N9+QW;(~%cS|BlFX&6s>oQ4()NXTPm`A~H6(VPkw=GorIkeD zmItGGju%(1Ho8|vbLLcXDvNn(mlstksF#C3XSTm4-P)~8+HHo~%a*BMw-&-ybyAFnD|-Ef4~VI2kQ<56t)(M^Ywyl z6=?#FrH`_Nn_mV6xt`??b9gB!p7@`XkkGy<#EnKuJl`e8`<3q~Pa632#+bNGsi9;I zO06xka|u~n+rej15WZZ)2SU)+QWtu(&hbr!Wt2S8C%7eKOhVNmkfvT+f}gS(b9ek( zE2)(*Nl~p%(flcAI7DHz{d$s5Dv{nIICgkV zA?|<)Gpaya7bo1n=_Y)hXevAh@dya1E_j-oc~HO2ZQ=mt}g z(??vqnhkw)8OR1ZA0AQfyv7uf!Q|q*`2PJ%cDhe9y{qk45!QZa=iWIqD5G! z`q-^(@VoX`ST5n&Mv_OvVxnj8^-D;@J|7daOi{dQX}?z=Az}!(9hxLnvJ|&udP%!A z$9S+P(HS5{exUefvepXp`i%}qYiPFMbl9vi@3uynsa=1|EC#0-i6Wx#xwAcTy)G9g zym0su-eLsZDK%B`P;N4bgbkuOE0V_RIh4XL% zFI=VA3J2CjbbZ)n<~#Ph#N#@E<3cj`YlX*Js9cT263p@T)4GKBcC5id;9rNisJhy~ zlM#!axexS$Y&Q#30&)QheUr7i!*JpzAh`y1z;m6$A(IwuN9Cp~oP|W1G_%^Zijn5K z@boDbnSB7Py&-gbp* zvv7c{qHX2tOIY&|pESGDtMyP@*x`Gjna!;aYk{5zTlNXGyIGQn1G}Zz=V)cHX!`(7 z7dusCY&Z%3c{t=L?p0*YF0y*Zos|q6k&<$6p$n!QRNcl5Ns25?I4wdhLhXjJ)~yE zjX8sPBZIIkKcY>FAz{p0oZ>+eaZs3=J~$i;Y+I=^usdjWJvcEG!q&Az&zP))-nPPe z-VYieTfk+0KU2GZ%3`Cc7X)0Ae|lEKgtf5g+!UcQ&Byz_FHHGTEqTm;9O9h-VbD2EPU-mdW9pUfbEjRj z7SnB#7_VubxZs=oV~UK@`mhAEt)~8V)NK|aW;0hga zGG2OtCw-mmz|Mu-f^9E1bOs_*c|N(Rpd>rsx{c9_g4~U)6ON*bwlX6moJ_8ogkFoI zprwPtrec`i^aZu*3r2I2+Nt@i@w$W-ku6b@jiWHxPBz1Q($Gdu%P$rp{8)#XOQ!<< z&`q0-K|A&oW%llMOB-VRqSs^_c15*Wz6R5g8$y|5c~UUM6ulZsvJ zELxQ>vcRmfO*K2JlS}aoa`Lqmr7amob|7zEz?h7|YSh`@a0 zTvxe~%e@?qh^xYV8OZ9(#6m0#uu7k1H%|qLVw;6U&8x^3O~n|is*)s-50GlXGkvv-HcF)G3zWM zJow6*M1I{3;t1|fgu-6XzaY3m#6`rZ-p!-^ieWNp&6Z~O<0-etpuw&BoyL4>I+gF7 z@f=%M-}4?DQO0~EF&1!k1gV%1-81QsDU7)ajKoioT7%YiNTvQO!yJLzn_UYkhabj)$|nN14|I*#Dn^4_UWElvxt0LjbpVbyE- z@PmYnlSr96vcWQGNQyR3GY|sZmO5eNUGH2_c}DgqE0;g1z~1xnUWj|RFiQc_Zkhsh z$=ae>K92^g>+vCWusl0rKfcTK{A_*vGke)eC2Znu)FN>s9m_4tKG-Y9!nh4Yy40FT zUf*{{V1JDn_C{r85BWX(*zZ}r>vMGzD>N4NU^0Dp(h%#>c8^GdrK448nfbhGc=yB> z=WYVBT(zBv7#g^8zUdfy7?6;COQE|?pE9QHT0@Zx?HK#PLgH3+#JVGXnACw3Iy{jD zj5WY5owcOx%+QOLi-!?L!J1-+QMK>bktU6|>q`0L4oiSA4wXlw~kN!)MQn-aYVEy6mhT)j8I3{^rVN-%@+LWX zt-e;S@IY0Efj<6uQ)vv!YVUNv2xZ7#J)Q}MEUt1DZyqfZ^PvlHqYUlR^UjaM2%6~a z&8o&GHwcIa=&Xek1&aB+#y;Nk&nabb3>r--(bTBl zThB%c4{f~bU)i%nsL?s`+pD~g@sEWEu*iqZrYkea%rUNbwj~~Vg2!;TvD@L0A6W^^ z<#m;5KP*%R2}->ZtdSRy?@PpTJp}ee+y7It60;uiC#iKG8%tDj2g)h^o$+gj^3l%q zP;*e2xoP4l{ud)tPxtiB0yW?X)mJ!r&BaRQE1yNC1Ly3}k;L`gGhf2mFPn*%NdpJa zji1SLo@vjtrs3_$4i5cbUfs1&gd346?kS>=-clajatue9CFPnhJrSQFR7qT=&rKV2 zxS`t32wB>-e*1WJ+IMHP?ePR=V6agxxFB~$r12m|<=JwsH*~3DboiWWp0um( z6^JR475pwDIH;0x@G) z-@Mjp?Gxl*zS*nKM5QT?xO>8p_3ri}ncasbJS+dEIG_A8>eQg7Szgl|hZ{j+eNQ{C zzawr0O?N%}_ED*thS%+5sYpTE2aW~S>}Xv&s4ino;&nN>$I)@;Ze}3{(_vVHY>Sz&U1{4nF9YnSqmvfu+rDsdq>G_>T zL&WeC=4M=4y53}W%y#O$xSM1V?jQ1$yjP7$gtUnEKvq6<+e=n=8`s2LUBjAsZ`zTM zMu-$?JvfxRt))9f$v(L>>1KH8Gkh-(CpZoV@4b{0_(^SLEtRtNfG2U@h)>bUgvhO6 z-kZN8K#IItNJJ_=t76oSkC_G+0?&JPz20l1K&o&@+l=RqF?JaQ5J~ukPKY#GZe&U= zUR-40DK4hY0;IF|vhW#Ch}I{wn#WIb;*^U~#IbAzhXjwX9z9iKwx3{Wi(wHVPfQif~QgvW*O`xtNo*t_o zGpY}T|59r(yqR6!%4U`AP@Zqk7*WPS!?W0?zU;8wOIQkSk zt!;Ud{d7@^r;ZPJJjCn{9jx@qKDZ?$^FCi<*>piS%tsY-O!B>#x;u20+cWmxXN?lO@2j&zyKee< z!OU;kR+u>vzVw*=b=-XZ&%p%8{ivY~{qmDjuFf+4&mC zo0|v2xFzzzpEaGDrpDU_L<(e{uC1=TW51$a2NIf*jj3t5QR3_E?#1glxg!omz+zNP zOo|jE(~!QN?`SF-JLlE)LVnl)!aR6|YC(sq%k2r5KH7K3bn?g@lfHx33H^}0l*Vhk z^dLYw83e*JyLcBMrZ%%9sK4M>FSYTCM_WYapzBoG6}uTchBrqdBF|j*%N|p0iV~@F z(~&>qt*vTE=O%WRMnO?NA;N?fpi$86?RX(wE4rY82Sx!xJfc9<(oRCOLRn3rB?}CP zcR(G&=`xu#$V!#!#@d%w?@$R3rcTc3Q+&jIqFD9^hXxNIU(7zE?2-98)z2)oIBq~; zaQb^O#`hK6`T;I?hVc=N3>pP0eSwYj?gGgTzQX-om9~}UUC@f_2Z?V`0B#Q6f$x5!c)d zK`-@~qjI{OiF5165cD0B$ubbIGcY@UK+50o!Fty{PS4U&l|k$*Vm7T$*_1Wj*J&92 z&NX(19bQlffytACq`yc%x868`A{OGWLzam>pFD96b1&BsYO{TKY$=G%$K7f*vXB$u zom@^Q({nabWjOR#*$Rhn*Ytj7$jG=yIj-I)giVvYKLnKd1b2YsRHX8esl!G%PLN%G5tzRNvm2^oO!Gp03# zn&SLdthV&s@y?$0#WxjD4?u*&t`@tZ4~yim8b=G4EU~=UR6HZXlXaJwK(ri2=eUpc z&9MI*HBQ3v?Oow*!Ub+6_he-T7sKv{|MXoIN_@nNg9sCucIvQnnis(9Hy|BNLya0W Hc+~#_ZZ?@= literal 0 HcmV?d00001