From cb79b7b14a7eaf0af596503e95574b21c7c90d41 Mon Sep 17 00:00:00 2001 From: Kouji Matsui Date: Fri, 21 Jan 2022 13:25:35 +0900 Subject: [PATCH] Initial commit --- .gitignore | 3 ++ LICENSE | 21 ++++++++ README.md | 35 ++++++++++++++ build.sh | 18 +++++++ i686/resource.h | 1 + images/README.md | 6 +++ images/oexplore-128.png | Bin 0 -> 9154 bytes images/oexplore.ico | Bin 0 -> 15406 bytes images/oexplore.png | Bin 0 -> 40332 bytes images/u1F30E-americasglobe.svg | 82 ++++++++++++++++++++++++++++++++ images/u1F4AB-dizzy.svg | 36 ++++++++++++++ oexplore.c | 60 +++++++++++++++++++++++ oexplore.rc | 26 ++++++++++ x86_64/resource.h | 1 + 14 files changed, 289 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 README.md create mode 100644 build.sh create mode 100644 i686/resource.h create mode 100644 images/README.md create mode 100644 images/oexplore-128.png create mode 100644 images/oexplore.ico create mode 100644 images/oexplore.png create mode 100644 images/u1F30E-americasglobe.svg create mode 100644 images/u1F4AB-dizzy.svg create mode 100644 oexplore.c create mode 100644 oexplore.rc create mode 100644 x86_64/resource.h diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a0d4086 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +*/*.o +*/*.exe +.vscode/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..aff6ce5 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) Kouji Matsui (@kozy_kekyo, @kekyo2) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d6d139c --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# Outernet Explorer + +A funny old-style web browser stub, comes from Internet Explorer was genocided on Windows. + +![Outernet Explorer icon](images/oexplore-128.png) + +Download from: https://github.com/kekyo/OuternetExplorer/releases/download/1.0.0/oexplore.zip + +## What's this? + +A stub implementation for Internet Explorer ActiveX component (called `MSHTML`, `ShDocVw` and like). +It's simplest replacer for `iexplore.exe`. + +## Usage + +* Double-click `oexplore.exe` on the Explorer. +* Invokes from command-line: + +``` +C:\>oexplore.exe +``` + +### Options + +Outenet Explorer could receive only target url like: + +``` +C:\>oexplore.exe https://google.com/ +``` + +Unfortunately, the url will inspect inside of Internet Explorer component, and maybe shows up both IE **AND** Edge2... + +## License + +MIT diff --git a/build.sh b/build.sh new file mode 100644 index 0000000..f4be858 --- /dev/null +++ b/build.sh @@ -0,0 +1,18 @@ +#!/bin/sh + +# For MSYS2 mingw32/64 + +pacman -S --needed --noconfirm mingw-w64-i686-toolchain +#pacman -S --needed --noconfirm mingw-w64-i686-toolchain mingw-w64-x86_64-toolchain + +# rm -rf i686/*.o i686/*.exe +mkdir i686 + +# rm -rf x86_64/*.o x86_64/*.exe +mkdir x86_64 + +windres oexplore.rc --target=pe-i386 -Ii686/ i686/oexplore.o +/mingw32/bin/i686-w64-mingw32-gcc -Os -mwindows -static-libgcc -nostdlib -s -o i686/oexplore.exe oexplore.c i686/oexplore.o -lkernel32 -luser32 -lole32 -loleaut32 -luuid -lshell32 + +# windres oexplore.rc --target=pe-x86-64 -Ix86_64/ x86_64/oexplore.o +# /mingw64/bin/x86_64-w64-mingw32-gcc -Os -mwindows -static-libgcc -nostdlib -s -o x86_64/oexplore.exe oexplore.c x86_64/oexplore.o -lkernel32 -luser32 -lole32 -loleaut32 -luuid -lshell32 diff --git a/i686/resource.h b/i686/resource.h new file mode 100644 index 0000000..f32144e --- /dev/null +++ b/i686/resource.h @@ -0,0 +1 @@ +#define PRODUCTNAME "Outernet Explorer [i686]" diff --git a/images/README.md b/images/README.md new file mode 100644 index 0000000..d4f93b2 --- /dev/null +++ b/images/README.md @@ -0,0 +1,6 @@ +Outernet Explorer icon is imported from FireFox's emoji. + +* https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/nature/u1F30E-americasglobe.svg +* https://github.com/mozilla/fxemoji/blob/gh-pages/svgs/people/u1F4AB-dizzy.svg + +It's CC BY 4.0 license, please following details: https://github.com/mozilla/fxemoji/blob/gh-pages/LICENSE.md diff --git a/images/oexplore-128.png b/images/oexplore-128.png new file mode 100644 index 0000000000000000000000000000000000000000..c02c8cea875d00270bc11fc9bde003f6a85033a4 GIT binary patch literal 9154 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 M07*qoM6N<$f=6nk$N&HU literal 0 HcmV?d00001 diff --git a/images/oexplore.ico b/images/oexplore.ico new file mode 100644 index 0000000000000000000000000000000000000000..47603a10eda2cebc7f89c45dffe69f4911e95e0b GIT binary patch literal 15406 zcmeHOd2|%Tx*xau^!Qu|OIRf+$Q}~1&wwTn7C}@HP(-+FVG~6Zw~KnXD2V#R>wc6g zSqKCI0Rm(t3t1yRAfigpvYn%lbP=C{l1>*PS0c}i+JDr$2q4?bys)w_p7R} zzO_c9xj}Q2=I*;SsQomHZ`No+H5!edpW}W&2aRSE+5!Tc&+pf0N;_*b1Mm*IpogO! zRhxfQG_(VmBPNqc`y$ErLO~nNUPFU2!ZIw{kaUsb=kpTVt&O3 zw4|2)NwpC^wfcG1saYq{Uv&9~HocKX?9D@8U#TzmkKEi@EX*G!T1`>3p|UiTjM}Lf z6LC3LK82=ao|e9`E^jxT(?^L*cJz|4bKgl@yNZ{~!$tXhGKWt>|Cg0}e8W`w3{B2F zLkIK1gjw5r2pKs;?RyUl77yn8i&qRyeGlgO)2PHw&%5`(Y77@j54ha`}$H?f)Dps@SiCS5u!JDk?`)%86uo73l+aizhAT)wJv@6 z8^?=-DIsgXq|5n{ovxb433x}Gmefrdt32ORlDdgDJd^3F>Z{n=uv=JJ$##97o+#n>>Ku*K4i*MN!?dY-`@4bxAyrx77)u4&#Qv zK4-DM2D*n)6xpV}hK#%j8ToWe^U*(*?g-7G{lWX`$zA2^I+7{kRmi5Z%;Ta_M;3hy zt$oDz_7%NN#TDylrR6uTbeGp$YXHr|nEzkgaGZ|JCupeVKO)VIVd#^9}9 zR9@$i?i|ziw5sp}`#JLr%#T*U+N_?IoO~1Jeyt0JS{mt2ooS;_;;4+v$~e8zpJ{Ym zcib|+m$r;JJLV*lL`&bm>Svui-xrqH+0d^LTiZWoX0pQe%N4Xx6Dti+*5 zFPkP(Qr1A5TE@xO^OAeof6#|W7(|m!{IJTXtl6R(nkv($V%;6UdG4ZNyrieR&AGZg zEM1_|k`)A_oXn2#31+8PoMH8Cn>m;66@hR1nKSHTRYr%)Ewj0x54|#M% zKZgY42&yOu1m8PsF!!2mvU2EI^>>@DBmSw-H|dI++LgT`?U{svPhHkzZgveZpYZ!7 z`2qHoyLx-%d$tWXXAV&BJ$Vm0Yi(K+eeDn4=rgU^*@qwq> zg=cp5vg;29*tmvWC%(4FPh7w6KDKAQj9W(sa);8RTe^Ou&^KzYdZW+nu-l1k){O@@ z(wUMF`-H8&%AD`W9;A|Su5;(3g03i{)WLoj%O|;O5Sf z4Z2}}KigHz|GK^R*$f4NwuiTLmA=RI7isqs_^n0yzv{!J_u+Fi&A&-os2;0)&Gzk6 z+q&DQZtJG-804&7e$MqC*zhLEwt7QEi*(g}R_*RXvy*$IEA#KvIqG-#`Xh|heNR2U zt(*P3;vmUq$j%)q`9N8@L%s5v`!}2JRr}8nF}|tYv0gcO{!F`7xytyk&)QGl5TTXF zpP#?_)}s|mtTKj6Saa}4GoQnKF68^MTYSY|%EH=%;TY_U8)W+IGaoa@#LD!GAy?#Y zx3!+St%qnX2%(0Iw-Q}o|N&@VwOpoy*`gVxA&zz&)r-)mNDZiI~6+8TysJN@Wi z`}VKA-V*H_vnq0l+(m&^WaPTo)vvQ~U$x1ZQ(2>*)M6?6Mx>@O~^re!Y8(=;~? zi}U%2Wvw?HpQR0?^G=>G#aNf@>?Pzt9`KlX{o&IJ99O|Ngb|4y-||G8X|f*zTPVYY zzVl{S?A=oW<9yC}!@y%Z0{{JuJ$*#B@xoCyruP@PUFs9-bJ9Q7XS}Cx%Wcz2={Bsv zY1rbgsr`{@HS{;MkBd2UA$3yr26`~bpK|j8C@a@rqO({Pe_^`2vIhxGaSESPn79ka14uUZUKcM^qnx!a}ODuF1_p+^Av#iGYazn+~hcLhIpVbHFy|eeelYy~5 z7rCrSz4v&2{?G%%VmqvdKOf0F)Dk^U&t_H8?cl@NpuGWw{pEMrU!HHKzMkIytL@L3 z0gjU(M5~#D^8XPh0ogYHc(2TR3;FWQUD=Bb674@8Rf)v@_ z<`1{yMKWn_p+jN)$QT|?hVYs2)t8Vl0`W!^lWs9;#O-uZWDLHS@-;WFCb|(iW*{)e zpnQdRklwk^6hGX#&p1v|19|uv-qTG>rkmOUtHoDY*8|TGV165ZrV*G=0^@nqmr-9s zTO+Qm@B#Un+v;$C;+u+RN>|ieNdcZyZt_5u3!Z8L@1KE8pV=ZPw}*ba>F(fk`Z73^ zqC?WC>q3+17LH*oUZ;kku7@c`hd^+nJiaYojB_Q@T3x433jNd3c-LCkg9MeBrHkGm}KBd>Hf25@r zp-mW{x76F7um0VFwaEg{R{^Wl!#XvxUev6nR`tnh=$z2B)?;?+G4l1q>|beB#jzGK zFUFV_RANm`hsB*0o5WM#FVU=nEfTauHQe&^s2n25?Pj>LJ^q_~bZyBF;u;v9|Fj1eyJCA(=vA!5O<^It`DL;3w>tGY_E?h^?=M=-X zZ1l=ooYQzdr-*hHuBRU{2Lj|T%fXr3ySHuc0{hz3dxdMwb(ms@JFp?HjC`g%2CCEz zM*C@Z-0t_R%U0*6d6Y?Pd#=gbPrnaE|n1698VnymRC+_r> zdyW;Fg6>i98+8*P^M6&IJNJsG`%`64IP+Ld=Z2WqCuaUk-|GJ^<uVjK=qrqbUg8+&LtA~NGC8TM@X`Lh!mn+J zQ}el;0-OWFzP`91xkpouR`Rjor+UEasqLcSA!#o-WQ<6!JufgYIPM3y=$YU$A(Gx9o+qXEAG!gljptz3p zkqMoZ95?3e6_%aqcU!wYRW_ZX(l1LnY1Y+z740oyRzI^M4~5*Aq(5**ssZQPn(()ie;nV{iiueR8>5`($H3PBtfh>< z{sA@rv}6BX!+E)Lr6IPGykSJo{G+mO6W|8 zC)3g5Al@s;H#a{g=WPs)nE&^b`S-b~jrURQ->^2xPqsrgrr&RkN$%D7@K)bO89Uc6 zru61mRkOW_v5MKbLr{i_KLE2gd~Ipx{PftwE`+)Nc}zm52Nn5mXp8>RipXCzdduHE zp480_8L0L-Soex^lY0or<%`JuH5*%7Fst8zZ%H^4NcnmG$4v(YHR&(pz3`q_`+>i4 zv?$pAXi`_Nb^zy8{;{Wzt)?hYIA0zr@cG7-DZQmUEa$z>=|ip?f74i8?FU{5ti5Ev zHNE4oSNZ-oDzy-P5X+>J93S)p+Q$n6PoD&=K1w| z?`tO4Wo&J!S*~u$9O%MZe+)OzDb8e6g*J)e}h6w2lwLI@~jhw*?sfRYj1HTfN<*{JitTKk{tvMfGRxliUne|x&?CZA6PshCC zJc>C~vD;+qb1SGb{Nc=!inn`XeK;nr?6r^6nxB=po^eDccBSRWrN6nSFC8vwyZ(|e znRO|YAJ8o3xulvNgFpN)b^Ju;Bj9(D^Vfr2-FI?Q4?0sC27e)(^@DIleNNqthb1g* z-y^;t&$(PrBf1Ix@On8{P8`27Yj<+4`6%qg$G3HDi|^r4?x^v)Uq7(9i}>npKLL7B z48#83nLS8Zb9wHXYVd=vLky3xym#7T?)3l6 zdmaP-N1+L?s|*45gH+<*MaHMD7uL`{;Qf5}SZGvSry$sr$FCPBpQnEy!B?`|+`q+g z^_5+IlCIZNYS^$o+~?wXEs20yyfZS5Yik{*M7 zIeBY$`gs39I$0VfPD<*k=sv~`zf0VAV6b3w#{3yS>^^ZmVkYxobL8R71mqKZ^3aKH zxLj`etSaYe=2tlW6X5a?{N}&u&KXz-kN;KhHjcG>`_ol}jv7#SPWjvj&YMZL#CXWi zkKr$#E(sA48Lu=bK)!#3%&_&>^Y{5OUD zN}QFH&I7@o6Zrozc-OI>@jh1r<2s}ci@$p^&Zykn5{Bl_=mz{JXDagGzafWT0eKXK z*rF2K;`cdcA9IL8ko(3N7V*0UmA^DRQItiacTJ%;QU}n5vT)e?VIu5&f&W9pu|G9G z@in(wU|S=WBJi0aZo_?bT753ThWF1ewTR}p>WtTIrV;-G{ayk8>eShi;PZxpfJ*_f9UH)F z(A``*UW4Cw>AXI)Zua)>Cjw%93^+rzX2{0>9{5KwyN`wSFzaC8+ylIID2_Y_YA5!3 z)JIs?!Pa|op@qgW@5$exnn8a<&TIh2F*Y-M$Sm;jGuSUHxM1%utu6?d`BQ1&=&;y3 z`?a4(WGb!H$QN@?2H5V4sip_{3=0?V*J#M8!K@<|9;3Vd%rhXZAo}a^Uo-F@oq_)a Dk^d6{ literal 0 HcmV?d00001 diff --git a/images/oexplore.png b/images/oexplore.png new file mode 100644 index 0000000000000000000000000000000000000000..0238437996b5a920d6c213aed6089d1ed8367a48 GIT binary patch literal 40332 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 + + + + + + + + + + diff --git a/images/u1F4AB-dizzy.svg b/images/u1F4AB-dizzy.svg new file mode 100644 index 0000000..f76d12c --- /dev/null +++ b/images/u1F4AB-dizzy.svg @@ -0,0 +1,36 @@ + + + + + + + diff --git a/oexplore.c b/oexplore.c new file mode 100644 index 0000000..212e60a --- /dev/null +++ b/oexplore.c @@ -0,0 +1,60 @@ +#include +#include +#include + +int start() +{ + CoInitialize(NULL); + IWebBrowser2* pWebBrowser2 = NULL; + HRESULT hr = CoCreateInstance( + &CLSID_InternetExplorer, + NULL, + CLSCTX_LOCAL_SERVER, + &IID_IWebBrowser2, + (void**)&pWebBrowser2); + if (SUCCEEDED(hr)) + { + hr = pWebBrowser2->lpVtbl->put_Visible( + pWebBrowser2, VARIANT_TRUE); + if (SUCCEEDED(hr)) + { + LPCWSTR commandLine = GetCommandLineW(); + int args = 0; + LPWSTR* argv = CommandLineToArgvW(commandLine, &args); + BSTR url = SysAllocString( + args >= 2 ? argv[1] : L"http://www.bing.com/"); + LocalFree(argv); + + hr = pWebBrowser2->lpVtbl->Navigate( + pWebBrowser2, url, NULL, NULL, NULL, NULL); + if (FAILED(hr)) + { + MessageBoxW( + NULL, + L"Couldn't navigate.", + L"Outernet Explorer", + MB_OK | MB_ICONEXCLAMATION); + } + SysFreeString(url); + } + else + { + MessageBoxW( + NULL, + L"Couldn't show Internet Explorer component.", + L"Outernet Explorer", + MB_OK | MB_ICONEXCLAMATION); + } + pWebBrowser2->lpVtbl->Release(pWebBrowser2); + } + else + { + MessageBoxW( + NULL, + L"Couldn't instantiate Internet Explorer component.", + L"Outernet Explorer", + MB_OK | MB_ICONEXCLAMATION); + } + CoUninitialize(); + ExitProcess(hr); +} diff --git a/oexplore.rc b/oexplore.rc new file mode 100644 index 0000000..8d6e948 --- /dev/null +++ b/oexplore.rc @@ -0,0 +1,26 @@ +#include "winver.h" +#include "resource.h" +#define IDI_OEICON 100 +VS_VERSION_INFO VERSIONINFO + FILEVERSION 11, 0, 19041, 1202 + PRODUCTVERSION 11, 0, 19041, 1202 +{ + BLOCK "StringFileInfo" + { + BLOCK "040904b0" + { + VALUE "CompanyName", "Kouji Matsui" + VALUE "FileDescription", "https://github.com/kekyo/OuternetExplorer" + VALUE "FileVersion", "11.0.19041.1202" + VALUE "LegalCopyright", "Copyright (c) 2022 Kouji Matsui (@kozy_kekyo, @kekyo2)" + VALUE "OriginalFilename", "oexplore.exe" + VALUE "ProductName", PRODUCTNAME + VALUE "ProductVersion", "11.0.19041.1202" + } + } + BLOCK "VarFileInfo" + { + VALUE "Translation", 0x409, 1200 + } +} +IDI_OEICON ICON "images/oexplore.ico" diff --git a/x86_64/resource.h b/x86_64/resource.h new file mode 100644 index 0000000..5fc6831 --- /dev/null +++ b/x86_64/resource.h @@ -0,0 +1 @@ +#define PRODUCTNAME "Outernet Explorer [x86_64]"