From a61c2068b3c5f55905500250c5db7ad92e5756a2 Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Sun, 10 Jan 2016 20:23:55 +0100 Subject: [PATCH] Updated Feature list of v1.4.0 --- README.md | 21 ++++++++++++--------- screenshot.png | Bin 14919 -> 15074 bytes 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index afb5af198..056e3871e 100644 --- a/README.md +++ b/README.md @@ -7,23 +7,26 @@ Firefox addon that provides transparent access to IPFS resources via local HTTP2 (If you are using Chrome or Chromium, check [ipfs-chrome-extension](https://github.com/dylanPowers/ipfs-chrome-extension) instead) -![screenshot v1.2.0](screenshot.png) +![screenshot of v1.4.0](screenshot.png) ### Features -- Clicking on the addon icon toggles redirection +- Clicking on the addon icon displays menu with useful operations + - Toggle redirection to custom gateway (ON by default) + - Open WebUI (eg. go-ipfs daemon running at the custom gateway) + - Additionally, on pages loaded from IPFS: + - Pin IPFS Resource (via go-ipfs API) + - Copy canonical IPFS address + - Copy shareable URL to resource at a default public gateway (first one on public gateway list) - Requests to `https?:///(ipfs|ipns)/$RESOURCE` are replaced with `http://127.0.0.1:8080/(ipfs|ipns)/$RESOURCE` -- Custom gateway host and port can be changed at +- Custom Gateway's host and ports can be changed at `about:addons` → Extensions → IPFS Gateway Redirect → Preferences - List of public gateways can be customized too, default is `ipfs.io` with second being the legacy `gateway.ipfs.io` -- Requests made via custom protocols are routed to the active gateway (public or custom): - - `(ipfs|ipns):/*$RESOURCE` - - `fs:/*(ipfs|ipns)/$RESOURCE` -- Context menu under right click on a page from custom gateway: - - Copy canonical IPFS address - - Copy shareable URL to resource at a default public gateway (first one on public gateway list) +- Requests made via popular custom protocols are routed to the active gateway (public or custom): + - `[web+](ipfs|ipns):/*$RESOURCE` + - `[web+]fs:/*(ipfs|ipns)/$RESOURCE` ### How to install diff --git a/screenshot.png b/screenshot.png index 8a051a1498aa9ce1bdb525c27c9eb5f8f3bb53a2..8c8af95c739ee0cc8702fd127b5008ac60d13d96 100644 GIT binary patch literal 15074 zcmZv@1yox>wj;n_Jb+f^F6Ywx|}3Z<@oEv=Nn8Xd0kf|By6I8Uu2~3ndC@FC`ccb zG-dYo_9$g7q9P+_XJ=p2F$qa3lTp#GudhEnJzZa4S65eecXw02eK$Ed$-~3b+S*D? zMrG^lqot)qN=egw^+Z9(^mNs|aQS4x%iGb>!NX%g$HG-sRu&r@`)Ou@fL)40!u0o4 z*#25`%i5lnwwE-&iI=w4`h4x?K;pyGlNs3E$H-flp0?@yQ87EOZhjr4s!c{GQM0`F z^z?B3_(Vp{q@`n4bMn{J%861n*+g5*HrQozspsk8{OR##dvE{u-Jj3mpAwUj)4rx3 zKRo$(`BeJquCA@DBKCAm!-XV3DTBNF+XF_5A{6Y#w`&EwdOke7>W??GLqkKTk&~-` zo+M%?I#1?x1bMmnJ}g%Fnx_orY~4TIBM77Be(#qCguDFOUhm)BYmYLS-rl#RsFzuZ^Fb8Bxnx=ixWh zu5TI)l$`G=42_Hx;oy?9KtvtXvC6;rWv2aAH+yRQ0O!n{8rri*P2 zv~_L1cJBSsHMWY$DUGfjlr`}rdCj}t9x=19~%LE2dNnec2Sv$2aPXp z@CeKLmdylsCXZyfiQ{FKQK$^Tk1)SIvl(hFkS(Zgy5g!wR*8gAC7m z_|)uYPYA%U6f;12aIyExc-Kl}9SL(N3tY zzQL*U^jptj>CgiD3)Jq?D4)?^1+zc(yi0u|;%7%&^L2Sx080!wW4E>9e8& zCE^lC+A71t{C{0+mE}Y;bG+|F^tu}PM$KO(HOMC~+*b7$Wp(KYVPUWX*%-R6%i)fj z=fBk|s=@8&-Mz7Xx%>k4haK~=iiK^3Ggaf;#Z~!rHhG2my#pU>W;{mLwtq@&AR)a$ zQjnI=^jbd2bX20+ryi_M1Wi7=K&dmI1t%A4U6ZRrt{|qo;v^ zGmoI8)apI+cTP8zP~cax)K$Ug6YuBZIjZFR3W>N06jq4?0oJ8-llR zaO1|+YSuZP-KQ&NlRti8r@oJ?SFeBjJ@^N7Vk;&kM_R3v$loo;&#>peAnQ)H@--`2 zbf$+Z!Wh7W1OQA3DkzwdpgY+_K^n$D4|bq~;FEp8AJ!uRG?GBDIX+;2uIQ`>%l0@| zCxVYwnH=uS9L~_3;gZj8INzFeHg3F=eAG;*%-|tm_(TMVn%{#&9qQv0EPen8sBSHD zK0$EdGQkMEE|)lYdo)OzZ9-_ToDD~D|0Ui0_Q?sor!;9BlEB4)#f<*d-k|C>)=WU{ zow{G{%4#6COia?w+MX0m|Hb@F^iFDTbkf3T1vS>}Z_B4cQoIZ6xG_H+WcX0+y|c^) zSgsUJ=KD#)){owyh2QugK!neLiK|hSTFB*y|0@k# z2GHf=?CjtWZ=#zE=6?*LSj3m-?da}P1`;VPM(D{7F!emO(W>ICpWl1Gw7U>1YOk4@ zy~W>4OR)WRgPpZ)J?6KNqEGWg$XQ86s-H{G6>6lTM(YsWX9BIRLd!{j@$$`cX8nl2 zi0U=pQCETDz|+%pC3sNb!TmK9Uqi)-W>f`fV7Qr-Mks~T^9REO7576~mee`ICH z0Q#RJdpX{CnlLr9gf4P({pxTG8sz5E)O}HHZqpR&;2p8G!7cixMW7Y-A+{#BdNpta zP}qkxlQXtAkBOEO^*fO8%Px9N4jx)cG+P7|d|52Bd>rnqbBL1fQTOsHUC>4WXDvZ4 zJF5@>IE>|1$zW>1j9skHmv1(m!>uS>|9VJmWh6(`xOfboO4H>L` zBIqCSqYDju#zgN!K{?UR)}4G{t|0es{1Fl$a#@2Jr?iI~f6ci7@0?;HOcd(0^rkCk zrzxvnFPMM*Zk1(5{qWZVwsMxtFNyq}B$V@Eqhxvc+@^kFFlvT}8 z>&BYzt~hr2J44H{6|{^oWmobh*9GRFaR0y@hz7Wa&qtVJcDuOJZJsy!+#62I$`=yC z{MOac?E+ja4(}H0xj3F@hGquJEq!&mEbCF(2Y~F<{G!aXgsRcU?hxiio~l?7V$vJ{ zu;(KM#o6DR9!{#Ij3*(3s6HyFbwPpeA%1q=7%O{Mw2!<%NZp*0!smwRGLsUj4bZiY zx3i2sw&Jt6FbVxhbQcbF5QH(`U&&AC(Y;x^MYuV;l<%$LSBRpRz1ugj_3 zAJl>A<#c0+k;9xQ^F!kPjS>3>a9`bU{ zo`yiock<9vVY%j0N!5J0|F#mdC9S3h^CDrD=j@PATRN;x7rwG7##+&EZM+a}b~s7R zpMeiQQSVCTCyl}(p*X|=t60yl;zCH9_4S^GP>G|r-=J#SZ7WKfE917cml`yXhfh4N zmmS@K8k;X&Q~kyN7>9J6$ar3kObvE+@kYrR7#r-zuvFPkLIjvUk7^`K?RD^uQKEq_w69Fwt*`$9mTrWDemEZLX}pHK?F?3w02LZo8C zDQ&491N3bfHhOdWxph0kz$#x}F5jqmo~z&6ISJOkhSRgi$fUz&#gyd`1-#YJ()~@w zdPuNARxqDh=pR6~Bew8LgoA^w&xeN{)8;+-v7*Y|_g#b1xtAG|HrF+0H$|_gn&^%x zt*4Qax-2H*t}Yz{7NQX^ms>Bplc}#ElLw+a5Yk8Ain_?!E)MCJlKK&hhUyKCMb_@zQHq%NxSqkfbf7d=sL z8_LaGo@(!q!Y@}XNM`cn6MvZ93FU2oahZWhi`r<^Y_GL$-Dv14H z*bjXr(m@}nG85Xz&m|4Nmj^!}p4Ccx+qCJ&C z#~nECSqswf=RC?hk?a$0mUw$+oX6zPxi^XlDj-{>1ouae&j+o<;jYm;c0hpR7J6o7EeHJ#@a z0nm|H#1|BNled9?knqHaZI+(>SY~QnZ_z!?`O%Xm1F>?eZ*Oyo_^Tm8NT98S%8bSl zBH)eLOg=yujVbUO6PbyuSTZAP-#%U})$Ii1>CgeVdxA`(!;m<+R)u$q8D` z7W0;8w<;R_>v7p?#u_=1SC;c$Cf~5|zg{tk3AY@fq>F`?fb2Jo+T13|ZAJ_1~o->CR-5g!wedtu6`h= z=IpEp{VlN}Y22-iqsi%%a02OK#sceEJ?J8)?(@mGxY^V7UF1h#p;nWOeTn({l5Z$3 zB3dW!Fp2pzH6s!)_`?JN-7XqjnWB80ayOqH&%gt+hgv!Mm-vz8J-xUNPYxJ=bQkOC zt}*i>`-O%#f;30!t1l3jN}2pLMfr(`O8xI@zgh3MN4@obxF`khrC$oZN;9`QWAPsO zL|n})JZ)-i)2CTV_{o4KiN8U~G|I7>p&iDsgm)9E39|-|!1sioK$*TgHA*5{!KaX3ZoLT?XBt36chct_*ovGp&31W& zk{@@WVghu4rb2GECNV80y-D;Y@Mc`Rs00wRgId#&XXCj(bjJTtIVHBMJeTx+C>q0u zir9F{chZMSo_(~=VM?#3FikxHJW&Lw3Lh{re>h_-bxEsZ9-}H?NFx(@E>R9iGrW3> zqFb9$p1#&6&Y%8yqW$+@0I;sh_Sh+YZ>_^~!@KH_*xzi|v)0p)+(65l2~E{bhL?FH zcd6n@JBnbeJAmjxO1FV+x>x#yO%m0j~+J# z9gBfPfcpkN*3TTgjW{nL==OSc{{AQLFA1)ZLcA_{FyWTNF=!V^=a(lU9%LR=xK@H$ zxgJ(8sj615(31KMs~#`;s46r&wyQ%Gec&jb|U6<*XJXSkP+3f$;Ln z7ED%;rwsQFSZMCwxQ|g+D9K8OUnGSABhj`l0QD$+27m&ZN?D-CM}Al{V%+h8wo!y% zSjO&GE%ZDJWI)sM_3Nk5z*i-GamLe3a<_n!;31WrsAaHC9qA-PmW=InG*n!|FWW_- z+7BYqsmF*9h1sJpkXcj-&?1l2$=5rIMHfUFv4`+ZdmYRalz9x07&{^iX|CF*JUwpi zxU_Z*HN3r?)0dA(fA#>Q< zOCTG&_hRlJ%bC2)#hbI1#_<3=qLt+$-_^nS#`+5Jy|X)+m7Wqx?r<~G^ipKf`%MYE zQ9>~Lrw&FH6z#Y#PT7tWt(Kx$h0b<=v%ytFD}EBYQHU4Ey-SCYh)c^?6$5EZ+9aTd z==2th@~oELZL7p=z|Tm4&qx<=(Jj$NPX#RhY;sPLketty*bI*66kBl#mQ zsUA7yW8xdi=Zd`qw41kcozhbJhP7aAFQhK@nDB;D3odfN7vKJ2oN8%(e^$Ql=1vsF zM7Y(`8X+SHrzmiKi86w_Ng6PvSLUbVXrhlWnnjV~u%he|R^v?O zPd)J9vwi_}pj2z3fN+v(Fm=7tDIdv%9* zLx1bfXXqf2P<(hLTe8%Zg`lbyfTURJnJ>_;U$21yLf%IJ5)Zj`9y}}NU+^mBuU)jL zJ)M*lsb4any)tdz3p2Oz%)fz|gKbNjwTj2eqw7{%wO=9$?*la40~urbdK=lttJjb~ z-7@jel72MSbn8HW$}Ryuk`;pl_1Y0b@8uo-7V_fv*v$OOlhljFp&i|UV(ugt4#BM> zV1CiS_0S(-#2~7^v*Lye>6yaQsr0sNvxNeb{>m%j;&UKw7(ViFd2)JwaC~K7d9p7s zjKg@8n7ZM?`NVlpwB`*P1kz&x=lt2M;HLHiIwOlo#ayVoxQ??CI-@Me-)+0#Jrf#Z zQ|@H;6&4Z+9lO{_(2x=6&?13{!!rbo9l%TOBe$$9=J!hvk4T2Qr^^GE?xm!4W%7y4 zla)JxxrM}TtEdF+{-XFs?x_YG(-ua8iSlOG-iZ^^r@!4Kv|H5cb9jv>Pymc%LJ-mZ zDk97PC-lit5qr`h=1dIDSv6&I4Yn-7+HZm4gpewtsM+ZX(cso-aC|jw#fE_plf&|( zk)Ps#&TAcU4df~z*lo%w^`XJvYwc(?;X$aOt(F1v_BIiS!po`YHegt0z0w{qSd#7E z1w)9{M)|Ea;F@ArF2K{*@-FUe5UPEm209lJ`tkX##X;pws0D||aLz(K=`S3bFj7B-9_oc36%)$^ux z?I{_%tg%Cj$?aG?r}Hy>F-x_xagb>)WNsTOkX2XfcK#be=cD+Jml8-Cxq(KF5NDcx za|Qx3lA%3&YKJJXio3r2Eu`4JCEQ@2c}UVr;8!1wjrG?ub5+C8gGy3JsyHLIgved7 zA|r%_8}Oz0jH_%BR9)AgF=tnwy}8r&rl!5(GJ9Pc6CV2OHV}D}vRlTkBxH@%%58FP z0)x~NH)r({r6`NH5tUe33+TN(VHrVXIgS!CX>DT=#5fFGxm#6tQZvDvwu%5NyMPF5 zm5Cgq>%;}46~N3T48Ck9eSk(g(`M))W&$+P`SIPeml(H_Qba<>6*nYayMW^1wA1nu zs}5s=wr4F!UXm*xud{;~T*ut!He;UkS?kO7X0tGcWyb+*rwKIsW z@!^Hw8eN=zJRVdssPb+49?Y7pJmK%8-*Mo`s*B4wHySJKOHgA^EAiS~pSsUj8)lBDs^Jxr}6yKAvPYe zVcYBzBj*|%P0d%@8wfSA=}7^|I8`XK5s;3oZ7fa`*7wr}4TOULM~gCBp+vF#{(TO{ zX-tM1I;k}1D>xd-uZsU~9JAZVJctzuICd+P+q1C8Jd4T2mIp6)fb590+B$kFQ`U(PT=cF=0

ck4jtWh{D>5G9Ww|IO$BpgxKl`J7ns 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

aj8K`*rMfWCaT~p27JVp^JN;g? zkGERF%sZ?V28gKKP|04%oT3B*o

x_R)Yqbbf5m-qXH;#Q`Vou$9z3y^d@;tTP@kz*2`s@7(^@PxuNta!= zaMU5!afFL`Wu(O71Xd|^MyGneljWm{R1JP8J3Z93|a%VmQj8G{tNy*Qc7e5e|-$A+iu3aR>0c9M)Arc=6^=C zKD}{T5ghB^SR|7XY|NA`;u;yym74k1szh?MPqqcJM~6+7lk)H5sysUs)#S3?ZA(l4 z`U!@rUFU?#iUG%v6dcL3c2MJVMYPf8y^z?A^@cdN$gfKY#UK>@#QO|3{2fI27JDg{ zrI@AKYdmC<9KB+!2$N6R8~Y&5Qd+|{ImI|^G,czkX-0TN(MHzb=<;BH*mq)iSZ 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�X-#kbtd23}igS7y6VK6ae?bI!C0|KmonwAq- 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 rup@Q>iFORIG5~Nc6bKw64D%0t?