From b41f819783c0fc007dbec582c24ef88dbea9ae98 Mon Sep 17 00:00:00 2001 From: Chris Troutner Date: Wed, 29 Dec 2021 17:46:05 -0800 Subject: [PATCH] fix(startup): Exiting if server can't stop --- bin/server.js | 10 ++ ...XCGRCRTCCHV7XSGAZPZJOAOHLPOI6IQR3H6YQ.data | Bin 0 -> 255 bytes ...7WDI6TJ4MGYIWVBA7POWSBPYKENY5IKK2I75Y.data | 4 + ...7PEA72E7UZQRJALHH7OH2FCWSWMTU7DMWVBEA.data | 4 + ...X4353TGN5J3JXS5VS6YNSAEJBOXBG26R76HBY.data | 3 + ...636DRBO552SCMSK2X2WYVCQ6BMYJN4MJTRI2Q.data | 115 +++++++++++++ ...AJNF2GF5UHUAGGHC6LLAH6VYDEKLQMD4QLILY.data | 8 + ...EUAHCO6QONU5ICBONAA5JEPBIOEIVZ5RXTIYY.data | Bin 0 -> 355 bytes ...QW2YVM4KGFORVFJAQYY55VK3WJGLZ2MS4RJNQ.data | 3 + ...RHB3G2VCYFPMVBTALE572GSMETJGBJTELFKEI.data | 3 + ...3QG6KZB3FZG6OG7EBI4SUNB5K4S4T5UVECMJA.data | 3 + ...FC2R3ZQPKOGBMHJEDDFEVS5ALYBKIZCXPTN6Y.data | Bin 0 -> 309 bytes ...OUGKFK27IE33WKGJNDW2TY3LSBNQ34R6OVOOQ.data | 27 +++ ...2FCTDFD7MF3G5OOC5CMEDUHNA5VXYZVDLFQDA.data | 3 + ...JOCHWXDRK5EXZQILBCKAPEDUJENZ5B5HJ5R3A.data | 28 +++ ...53PSVWMFFPGNAN42PVWMDLHJD6FA5EVNNZROI.data | 3 + production/data/go-ipfs/data/blocks/SHARDING | 1 + ...E5JF4A624CLH2TQDLC4QI6HEZK7FUWZQESTPI.data | 55 ++++++ ...Q6UAXUOND3ADYQYJKYXA6G7A5IMD7SMO22U2A.data | 5 + ...NRUAWMOABRSTYUFHFK3QF6KN3M67G5E3ILUCY.data | 9 + ...TB5PUMEN5BZYZHUQZWGFL4Q3HZUV26SYX2V3Q.data | Bin 0 -> 198 bytes ...55ZOEZE3TNBQG3HCNFOYC3BATAIJBOIE5FVNY.data | 3 + ...2BFAGLXEZL4UWFNWM4LFTLMXQBCERZ6CMLX3Y.data | 2 + ...IH5ZFYJCSTT7TCKJP3F7SLGNVSDVZSMACCXVA.data | Bin 0 -> 93 bytes production/data/go-ipfs/data/blocks/_README | 30 ++++ .../data/go-ipfs/data/blocks/diskUsage.cache | 1 + production/data/go-ipfs/data/config | 160 ++++++++++++++++++ .../data/go-ipfs/data/datastore/000002.ldb | Bin 0 -> 1141 bytes .../data/go-ipfs/data/datastore/000005.ldb | Bin 0 -> 1281 bytes .../data/go-ipfs/data/datastore/CURRENT | 1 + .../data/go-ipfs/data/datastore/CURRENT.bak | 1 + production/data/go-ipfs/data/datastore/LOCK | 0 production/data/go-ipfs/data/datastore/LOG | 54 ++++++ .../go-ipfs/data/datastore/MANIFEST-000011 | Bin 0 -> 375 bytes production/data/go-ipfs/data/datastore_spec | 1 + production/data/go-ipfs/data/version | 1 + production/docker/Dockerfile | 6 +- production/docker/docker-compose.yml | 30 +++- production/docker/start-production.sh | 10 +- 39 files changed, 574 insertions(+), 10 deletions(-) create mode 100644 production/data/go-ipfs/data/blocks/6Y/CIQA4T3TD3BP3C2M3GXCGRCRTCCHV7XSGAZPZJOAOHLPOI6IQR3H6YQ.data create mode 100644 production/data/go-ipfs/data/blocks/75/CIQBEM7N2AM5YRAMJY7WDI6TJ4MGYIWVBA7POWSBPYKENY5IKK2I75Y.data create mode 100644 production/data/go-ipfs/data/blocks/BE/CIQCXBHBZAHEHBHU6P7PEA72E7UZQRJALHH7OH2FCWSWMTU7DMWVBEA.data create mode 100644 production/data/go-ipfs/data/blocks/HB/CIQMDQRK7B5DSZKBYOX4353TGN5J3JXS5VS6YNSAEJBOXBG26R76HBY.data create mode 100644 production/data/go-ipfs/data/blocks/I2/CIQBZNLCBI3U2I5F7O636DRBO552SCMSK2X2WYVCQ6BMYJN4MJTRI2Q.data create mode 100644 production/data/go-ipfs/data/blocks/IL/CIQJFGRQHQ45VCQLM7AJNF2GF5UHUAGGHC6LLAH6VYDEKLQMD4QLILY.data create mode 100644 production/data/go-ipfs/data/blocks/IY/CIQB4655YD5GLBB7WWEUAHCO6QONU5ICBONAA5JEPBIOEIVZ5RXTIYY.data create mode 100644 production/data/go-ipfs/data/blocks/JN/CIQPHMHGQLLZXC32FQQW2YVM4KGFORVFJAQYY55VK3WJGLZ2MS4RJNQ.data create mode 100644 production/data/go-ipfs/data/blocks/KE/CIQD44K6LTXM6PHWK2RHB3G2VCYFPMVBTALE572GSMETJGBJTELFKEI.data create mode 100644 production/data/go-ipfs/data/blocks/MJ/CIQHQFRJK4MU2CVNFR3QG6KZB3FZG6OG7EBI4SUNB5K4S4T5UVECMJA.data create mode 100644 production/data/go-ipfs/data/blocks/N6/CIQGFYPT5OBMRC7ZMUFC2R3ZQPKOGBMHJEDDFEVS5ALYBKIZCXPTN6Y.data create mode 100644 production/data/go-ipfs/data/blocks/OO/CIQBT4N7PS5IZ5IG2ZOUGKFK27IE33WKGJNDW2TY3LSBNQ34R6OVOOQ.data create mode 100644 production/data/go-ipfs/data/blocks/QD/CIQL4QZR6XGWMPEV5Q2FCTDFD7MF3G5OOC5CMEDUHNA5VXYZVDLFQDA.data create mode 100644 production/data/go-ipfs/data/blocks/R3/CIQBED3K6YA5I3QQWLJOCHWXDRK5EXZQILBCKAPEDUJENZ5B5HJ5R3A.data create mode 100644 production/data/go-ipfs/data/blocks/RO/CIQDRD2UT66U4EATJW53PSVWMFFPGNAN42PVWMDLHJD6FA5EVNNZROI.data create mode 100644 production/data/go-ipfs/data/blocks/SHARDING create mode 100644 production/data/go-ipfs/data/blocks/TP/CIQCODPXR5G237BYM7E5JF4A624CLH2TQDLC4QI6HEZK7FUWZQESTPI.data create mode 100644 production/data/go-ipfs/data/blocks/U2/CIQHFTCY7XL57YWLVDQ6UAXUOND3ADYQYJKYXA6G7A5IMD7SMO22U2A.data create mode 100644 production/data/go-ipfs/data/blocks/UC/CIQFKVEG2CPWTPRG5KNRUAWMOABRSTYUFHFK3QF6KN3M67G5E3ILUCY.data create mode 100644 production/data/go-ipfs/data/blocks/V3/CIQAPZYJAKUKALYI4YTB5PUMEN5BZYZHUQZWGFL4Q3HZUV26SYX2V3Q.data create mode 100644 production/data/go-ipfs/data/blocks/VN/CIQPEOA2TS3RMLOBOF55ZOEZE3TNBQG3HCNFOYC3BATAIJBOIE5FVNY.data create mode 100644 production/data/go-ipfs/data/blocks/X3/CIQFTFEEHEDF6KLBT32BFAGLXEZL4UWFNWM4LFTLMXQBCERZ6CMLX3Y.data create mode 100644 production/data/go-ipfs/data/blocks/XV/CIQGAS6MQJCEC37C2IIH5ZFYJCSTT7TCKJP3F7SLGNVSDVZSMACCXVA.data create mode 100644 production/data/go-ipfs/data/blocks/_README create mode 100644 production/data/go-ipfs/data/blocks/diskUsage.cache create mode 100644 production/data/go-ipfs/data/config create mode 100644 production/data/go-ipfs/data/datastore/000002.ldb create mode 100644 production/data/go-ipfs/data/datastore/000005.ldb create mode 100644 production/data/go-ipfs/data/datastore/CURRENT create mode 100644 production/data/go-ipfs/data/datastore/CURRENT.bak create mode 100644 production/data/go-ipfs/data/datastore/LOCK create mode 100644 production/data/go-ipfs/data/datastore/LOG create mode 100644 production/data/go-ipfs/data/datastore/MANIFEST-000011 create mode 100644 production/data/go-ipfs/data/datastore_spec create mode 100644 production/data/go-ipfs/data/version diff --git a/bin/server.js b/bin/server.js index 6643c67..3abb53a 100644 --- a/bin/server.js +++ b/bin/server.js @@ -104,8 +104,18 @@ class Server { return app } catch (err) { console.error('Could not start server. Error: ', err) + + console.log( + 'Exiting after 5 seconds. Depending on process manager to restart.' + ) + await sleep(5000) + process.exit(1) } } } +function sleep (ms) { + return new Promise((resolve) => setTimeout(resolve, ms)) +} + module.exports = Server diff --git a/production/data/go-ipfs/data/blocks/6Y/CIQA4T3TD3BP3C2M3GXCGRCRTCCHV7XSGAZPZJOAOHLPOI6IQR3H6YQ.data b/production/data/go-ipfs/data/blocks/6Y/CIQA4T3TD3BP3C2M3GXCGRCRTCCHV7XSGAZPZJOAOHLPOI6IQR3H6YQ.data new file mode 100644 index 0000000000000000000000000000000000000000..a81b13417df57ef8ecf60ba1a5e84daae1a307b5 GIT binary patch literal 255 zcmWgA<5Ch*Q0M*L@4NPoMf%Ar(;L3+P@Ny#a81uq&eCZ8v}tEJHTMd!CMM;VmPpLu z6*2&+pES$B#`0Ddclv>8)7|tlsu+%0?AhAzZylSf9*?}j7JVW1#VWr`UT&2r;MVkvnp;q5j$MdKR4V;h_5&`xwI&=q*6C8za+I-Vk##W69*#z D4FO{- literal 0 HcmV?d00001 diff --git a/production/data/go-ipfs/data/blocks/75/CIQBEM7N2AM5YRAMJY7WDI6TJ4MGYIWVBA7POWSBPYKENY5IKK2I75Y.data b/production/data/go-ipfs/data/blocks/75/CIQBEM7N2AM5YRAMJY7WDI6TJ4MGYIWVBA7POWSBPYKENY5IKK2I75Y.data new file mode 100644 index 0000000..749e87b --- /dev/null +++ b/production/data/go-ipfs/data/blocks/75/CIQBEM7N2AM5YRAMJY7WDI6TJ4MGYIWVBA7POWSBPYKENY5IKK2I75Y.data @@ -0,0 +1,4 @@ +W +" ľb +7M#Ľű˝ż!w{Š ’VŻŤb˘‡‚Ě%źbgj.QmQGiYLVAdSHJQKYFRTJZMG4BXBHqKperaZtyKGmCRLmsFœ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/BE/CIQCXBHBZAHEHBHU6P7PEA72E7UZQRJALHH7OH2FCWSWMTU7DMWVBEA.data b/production/data/go-ipfs/data/blocks/BE/CIQCXBHBZAHEHBHU6P7PEA72E7UZQRJALHH7OH2FCWSWMTU7DMWVBEA.data new file mode 100644 index 0000000..7ce1d8a --- /dev/null +++ b/production/data/go-ipfs/data/blocks/BE/CIQCXBHBZAHEHBHU6P7PEA72E7UZQRJALHH7OH2FCWSWMTU7DMWVBEA.data @@ -0,0 +1,4 @@ +. +" ' ÷M­ü8gÉԗ€ö¸%ŸS€Ö.A92Ż––Ě )˝aboutœ / +" jöÔn˛Ňá×UŇ_0BÂ%äFçĄéÓŘěreadmeÎ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/HB/CIQMDQRK7B5DSZKBYOX4353TGN5J3JXS5VS6YNSAEJBOXBG26R76HBY.data b/production/data/go-ipfs/data/blocks/HB/CIQMDQRK7B5DSZKBYOX4353TGN5J3JXS5VS6YNSAEJBOXBG26R76HBY.data new file mode 100644 index 0000000..ea70391 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/HB/CIQMDQRK7B5DSZKBYOX4353TGN5J3JXS5VS6YNSAEJBOXBG26R76HBY.data @@ -0,0 +1,3 @@ +V +" ó°ć‚×›‹z,!mbŹâŒWFĽH!ŒwľVě“/:dšś.QmejvEPop4D7YUadeGqYWmZxHhLc4JBUCzJJHWMzdcMe2y + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/I2/CIQBZNLCBI3U2I5F7O636DRBO552SCMSK2X2WYVCQ6BMYJN4MJTRI2Q.data b/production/data/go-ipfs/data/blocks/I2/CIQBZNLCBI3U2I5F7O636DRBO552SCMSK2X2WYVCQ6BMYJN4MJTRI2Q.data new file mode 100644 index 0000000..186648d --- /dev/null +++ b/production/data/go-ipfs/data/blocks/I2/CIQBZNLCBI3U2I5F7O636DRBO552SCMSK2X2WYVCQ6BMYJN4MJTRI2Q.data @@ -0,0 +1,115 @@ + +™ ‘ # 0.1 - Quick Start + +This is a set of short examples with minimal explanation. It is meant as +a "quick start". + + +Add a file to ipfs: + + echo "hello world" >hello + ipfs add hello + + +View it: + + ipfs cat + + +Try a directory: + + mkdir foo + mkdir foo/bar + echo "baz" > foo/baz + echo "baz" > foo/bar/baz + ipfs add -r foo + + +View things: + + ipfs ls + ipfs ls /bar + ipfs cat /baz + ipfs cat /bar/baz + ipfs cat /bar + ipfs ls /baz + + +References: + + ipfs refs + ipfs refs -r + ipfs refs --help + + +Get: + + ipfs get -o foo2 + diff foo foo2 + + +Objects: + + ipfs object get + ipfs object get /foo2 + ipfs object --help + + +Pin + GC: + + ipfs pin add + ipfs repo gc + ipfs ls + ipfs pin rm + ipfs repo gc + + +Daemon: + + ipfs daemon (in another terminal) + ipfs id + + +Network: + + (must be online) + ipfs swarm peers + ipfs id + ipfs cat + + +Mount: + + (warning: fuse is finicky!) + ipfs mount + cd /ipfs/ + ls + + +Tool: + + ipfs version + ipfs update + ipfs commands + ipfs config --help + open http://localhost:5001/webui + + +Browse: + + WebUI: + + http://localhost:5001/webui + + video: + + http://localhost:8080/ipfs/QmVc6zuAneKJzicnJpfrqCH9gSy6bz54JhcypfJYhGUFQu/play#/ipfs/QmTKZgRNwDNZwHtJSjCp6r5FYefzpULfy37JvMt9DwvXse + + images: + + http://localhost:8080/ipfs/QmZpc3HvfjEXvLWGQPWbHk3AjD5j8NEN4gmFN8Jmrd5g83/cs + + markdown renderer app: + + http://localhost:8080/ipfs/QmX7M9CiYXjVeFnkfVGf3y5ixTZ2ACeSGyL1vBJY1HvQPp/mdown +‘ \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/IL/CIQJFGRQHQ45VCQLM7AJNF2GF5UHUAGGHC6LLAH6VYDEKLQMD4QLILY.data b/production/data/go-ipfs/data/blocks/IL/CIQJFGRQHQ45VCQLM7AJNF2GF5UHUAGGHC6LLAH6VYDEKLQMD4QLILY.data new file mode 100644 index 0000000..62d1c29 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/IL/CIQJFGRQHQ45VCQLM7AJNF2GF5UHUAGGHC6LLAH6VYDEKLQMD4QLILY.data @@ -0,0 +1,8 @@ + +Ĺ˝Come hang out in our IRC chat room if you have any questions. + +Contact the ipfs dev team: +- Bugs: https://github.com/ipfs/go-ipfs/issues +- Help: irc.freenode.org/#ipfs +- Email: dev@ipfs.io +˝ \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/IY/CIQB4655YD5GLBB7WWEUAHCO6QONU5ICBONAA5JEPBIOEIVZ5RXTIYY.data b/production/data/go-ipfs/data/blocks/IY/CIQB4655YD5GLBB7WWEUAHCO6QONU5ICBONAA5JEPBIOEIVZ5RXTIYY.data new file mode 100644 index 0000000000000000000000000000000000000000..4c72ab6a2b82b92d18bad80c0bec2acb42f92f88 GIT binary patch literal 355 zcmWgA<5Ch*Q0M*L@4NPoMf%Ar(;L3+P@Ny#a81uq&eCZ8v}tEJHTMd!CMM;VmPpLu z6*2&+pES$B#`0Ddclv>8)7|tlsu+%0?AhAzZylSf9*?}j7JVW1szJl6xk-kQjnRKF2N&Y0#YrrHHpjIS9$60 zz5DqT%d1y%P6}JUI%!dR(;3x0N$Db4LfnO=naSC@#U+VFU{C0SbP4fiePg_mC$Q<# zL%HiRp_k$foDQinK9Lo2d%p1Hq+3m^c^#8;yzo literal 0 HcmV?d00001 diff --git a/production/data/go-ipfs/data/blocks/JN/CIQPHMHGQLLZXC32FQQW2YVM4KGFORVFJAQYY55VK3WJGLZ2MS4RJNQ.data b/production/data/go-ipfs/data/blocks/JN/CIQPHMHGQLLZXC32FQQW2YVM4KGFORVFJAQYY55VK3WJGLZ2MS4RJNQ.data new file mode 100644 index 0000000..2708836 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/JN/CIQPHMHGQLLZXC32FQQW2YVM4KGFORVFJAQYY55VK3WJGLZ2MS4RJNQ.data @@ -0,0 +1,3 @@ + + +ipfs \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/KE/CIQD44K6LTXM6PHWK2RHB3G2VCYFPMVBTALE572GSMETJGBJTELFKEI.data b/production/data/go-ipfs/data/blocks/KE/CIQD44K6LTXM6PHWK2RHB3G2VCYFPMVBTALE572GSMETJGBJTELFKEI.data new file mode 100644 index 0000000..f741cda --- /dev/null +++ b/production/data/go-ipfs/data/blocks/KE/CIQD44K6LTXM6PHWK2RHB3G2VCYFPMVBTALE572GSMETJGBJTELFKEI.data @@ -0,0 +1,3 @@ +W +" jöÔn˛Ňá×UŇ_0BÂ%äFçĄéÓŘě.QmPZ9gcCEpqKTo6aq61g2nXGUhM4iCL3ewB6LDXZCtioEBÎ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/MJ/CIQHQFRJK4MU2CVNFR3QG6KZB3FZG6OG7EBI4SUNB5K4S4T5UVECMJA.data b/production/data/go-ipfs/data/blocks/MJ/CIQHQFRJK4MU2CVNFR3QG6KZB3FZG6OG7EBI4SUNB5K4S4T5UVECMJA.data new file mode 100644 index 0000000..7d8ed98 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/MJ/CIQHQFRJK4MU2CVNFR3QG6KZB3FZG6OG7EBI4SUNB5K4S4T5UVECMJA.data @@ -0,0 +1,3 @@ +W +" ' ÷M­ü8gÉԗ€ö¸%ŸS€Ö.A92Ż––Ě )˝.QmQy6xmJhrcC5QLboAcGFcAE1tC8CrwDVkrHdEYJkLscrQœ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/N6/CIQGFYPT5OBMRC7ZMUFC2R3ZQPKOGBMHJEDDFEVS5ALYBKIZCXPTN6Y.data b/production/data/go-ipfs/data/blocks/N6/CIQGFYPT5OBMRC7ZMUFC2R3ZQPKOGBMHJEDDFEVS5ALYBKIZCXPTN6Y.data new file mode 100644 index 0000000000000000000000000000000000000000..e8711cac898ddba584755e45f83b79a2dc03f915 GIT binary patch literal 309 zcmWgA<5Ch*Q0M*L@4NPoMf%Ar(;L3+P@Ny#a81uq&eCZ8v}tEJHTMd!CMM;VmPpLu z6*2&+pES$B#`0Ddclv>8)7|tlsu+%0?AhAzZylSf9*?}j7JVW1ky^?cM*!tB;i`tvcsP0Kh7s(RhE-cMV&ekn1Nh|_8OCO|5h(GHa zH6mQ^kNR{!4tdQIDg)cAPcq7DCl$w~5n<{aRL&zMYLGt7Nnq56# z*{;PpYpl9{!S~%MqbTdFid#>_4%hV04Yv~FD^5)=Ey^sZ)XmE;NiCL`%E`sV!3Y3h C?{_-@ literal 0 HcmV?d00001 diff --git a/production/data/go-ipfs/data/blocks/OO/CIQBT4N7PS5IZ5IG2ZOUGKFK27IE33WKGJNDW2TY3LSBNQ34R6OVOOQ.data b/production/data/go-ipfs/data/blocks/OO/CIQBT4N7PS5IZ5IG2ZOUGKFK27IE33WKGJNDW2TY3LSBNQ34R6OVOOQ.data new file mode 100644 index 0000000..7703482 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/OO/CIQBT4N7PS5IZ5IG2ZOUGKFK27IE33WKGJNDW2TY3LSBNQ34R6OVOOQ.data @@ -0,0 +1,27 @@ + +’ Š IPFS Alpha Security Notes + +We try hard to ensure our system is safe and robust, but all software +has bugs, especially new software. This distribution is meant to be an +alpha preview, don't use it for anything mission critical. + +Please note the following: + +- This is alpha software and has not been audited. It is our goal + to conduct a proper security audit once we close in on a 1.0 release. + +- ipfs is a networked program, and may have serious undiscovered + vulnerabilities. It is written in Go, and we do not execute any + user provided data. But please point any problems out to us in a + github issue, or email security@ipfs.io privately. + +- security@ipfs.io GPG key: + - 4B9665FB 92636D17 7C7A86D3 50AAE8A9 59B13AF3 + - https://pgp.mit.edu/pks/lookup?op=get&search=0x50AAE8A959B13AF3 + +- ipfs uses encryption for all communication, but it's NOT PROVEN SECURE + YET! It may be totally broken. For now, the code is included to make + sure we benchmark our operations with encryption in mind. In the future, + there will be an "unsafe" mode for high performance intranet apps. + If this is a blocking feature for you, please contact us. +Š \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/QD/CIQL4QZR6XGWMPEV5Q2FCTDFD7MF3G5OOC5CMEDUHNA5VXYZVDLFQDA.data b/production/data/go-ipfs/data/blocks/QD/CIQL4QZR6XGWMPEV5Q2FCTDFD7MF3G5OOC5CMEDUHNA5VXYZVDLFQDA.data new file mode 100644 index 0000000..9a3a8ab --- /dev/null +++ b/production/data/go-ipfs/data/blocks/QD/CIQL4QZR6XGWMPEV5Q2FCTDFD7MF3G5OOC5CMEDUHNA5VXYZVDLFQDA.data @@ -0,0 +1,3 @@ +. +" ' ÷M­ü8gÉԗ€ö¸%ŸS€Ö.A92Ż––Ě )˝aboutœ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/R3/CIQBED3K6YA5I3QQWLJOCHWXDRK5EXZQILBCKAPEDUJENZ5B5HJ5R3A.data b/production/data/go-ipfs/data/blocks/R3/CIQBED3K6YA5I3QQWLJOCHWXDRK5EXZQILBCKAPEDUJENZ5B5HJ5R3A.data new file mode 100644 index 0000000..389e111 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/R3/CIQBED3K6YA5I3QQWLJOCHWXDRK5EXZQILBCKAPEDUJENZ5B5HJ5R3A.data @@ -0,0 +1,28 @@ + +ËĂHello and Welcome to IPFS! + +██╗██████╗ ███████╗███████╗ +██║██╔══██╗██╔════╝██╔════╝ +██║██████╔╝█████╗ ███████╗ +██║██╔═══╝ ██╔══╝ ╚════██║ +██║██║ ██║ ███████║ +╚═╝╚═╝ ╚═╝ ╚══════╝ + +If you're seeing this, you have successfully installed +IPFS and are now interfacing with the ipfs merkledag! + + ------------------------------------------------------- +| Warning: | +| This is alpha software. Use at your own discretion! | +| Much is missing or lacking polish. There are bugs. | +| Not yet secure. Read the security notes for more. | + ------------------------------------------------------- + +Check out some of the other files in this directory: + + ./about + ./help + ./quick-start <-- usage examples + ./readme <-- this file + ./security-notes +Ă \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/RO/CIQDRD2UT66U4EATJW53PSVWMFFPGNAN42PVWMDLHJD6FA5EVNNZROI.data b/production/data/go-ipfs/data/blocks/RO/CIQDRD2UT66U4EATJW53PSVWMFFPGNAN42PVWMDLHJD6FA5EVNNZROI.data new file mode 100644 index 0000000..6908884 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/RO/CIQDRD2UT66U4EATJW53PSVWMFFPGNAN42PVWMDLHJD6FA5EVNNZROI.data @@ -0,0 +1,3 @@ +W +" UT†ĐŸiž&ę›ĚpO)Ę­ŔžSvĎ|Ý&Đş .QmU5k7ter3RdjZXu3sHghsga1UQtrztnQxmTL22nPnsu3g + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/SHARDING b/production/data/go-ipfs/data/blocks/SHARDING new file mode 100644 index 0000000..a153331 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/SHARDING @@ -0,0 +1 @@ +/repo/flatfs/shard/v1/next-to-last/2 diff --git a/production/data/go-ipfs/data/blocks/TP/CIQCODPXR5G237BYM7E5JF4A624CLH2TQDLC4QI6HEZK7FUWZQESTPI.data b/production/data/go-ipfs/data/blocks/TP/CIQCODPXR5G237BYM7E5JF4A624CLH2TQDLC4QI6HEZK7FUWZQESTPI.data new file mode 100644 index 0000000..e2abc07 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/TP/CIQCODPXR5G237BYM7E5JF4A624CLH2TQDLC4QI6HEZK7FUWZQESTPI.data @@ -0,0 +1,55 @@ + +™ ‘ + IPFS -- Inter-Planetary File system + +IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas +from Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bit- +torrent swarm, exchanging git objects. IPFS provides an interface as simple +as the HTTP web, but with permanence built-in. You can also mount the world +at /ipfs. + +IPFS is a protocol: +- defines a content-addressed file system +- coordinates content delivery +- combines Kademlia + BitTorrent + Git + +IPFS is a filesystem: +- has directories and files +- mountable filesystem (via FUSE) + +IPFS is a web: +- can be used to view documents like the web +- files accessible via HTTP at `http://ipfs.io/` +- browsers or extensions can learn to use `ipfs://` directly +- hash-addressed content guarantees the authenticity + +IPFS is modular: +- connection layer over any network protocol +- routing layer +- uses a routing layer DHT (kademlia/coral) +- uses a path-based naming service +- uses BitTorrent-inspired block exchange + +IPFS uses crypto: +- cryptographic-hash content addressing +- block-level deduplication +- file integrity + versioning +- filesystem-level encryption + signing support + +IPFS is p2p: +- worldwide peer-to-peer file transfers +- completely decentralized architecture +- **no** central point of failure + +IPFS is a CDN: +- add a file to the filesystem locally, and it's now available to the world +- caching-friendly (content-hash naming) +- BitTorrent-based bandwidth distribution + +IPFS has a name service: +- IPNS, an SFS inspired name system +- global namespace based on PKI +- serves to build trust chains +- compatible with other NSes +- can map DNS, .onion, .bit, etc to IPNS +‘ \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/U2/CIQHFTCY7XL57YWLVDQ6UAXUOND3ADYQYJKYXA6G7A5IMD7SMO22U2A.data b/production/data/go-ipfs/data/blocks/U2/CIQHFTCY7XL57YWLVDQ6UAXUOND3ADYQYJKYXA6G7A5IMD7SMO22U2A.data new file mode 100644 index 0000000..6852283 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/U2/CIQHFTCY7XL57YWLVDQ6UAXUOND3ADYQYJKYXA6G7A5IMD7SMO22U2A.data @@ -0,0 +1,5 @@ +. +" ' ÷M­ü8gÉԗ€ö¸%ŸS€Ö.A92Ż––Ě )˝aboutœ - +" UT†ĐŸiž&ę›ĚpO)Ę­ŔžSvĎ|Ý&Đş helpÂ/ +" jöÔn˛Ňá×UŇ_0BÂ%äFçĄéÓŘěreadmeÎ + \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/UC/CIQFKVEG2CPWTPRG5KNRUAWMOABRSTYUFHFK3QF6KN3M67G5E3ILUCY.data b/production/data/go-ipfs/data/blocks/UC/CIQFKVEG2CPWTPRG5KNRUAWMOABRSTYUFHFK3QF6KN3M67G5E3ILUCY.data new file mode 100644 index 0000000..d357459 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/UC/CIQFKVEG2CPWTPRG5KNRUAWMOABRSTYUFHFK3QF6KN3M67G5E3ILUCY.data @@ -0,0 +1,9 @@ + +żˇSome helpful resources for finding your way around ipfs: + +- quick-start: a quick show of various ipfs features. +- ipfs commands: a list of all commands +- ipfs --help: every command describes itself +- https://github.com/ipfs/go-ipfs -- the src repository +- #ipfs on irc.freenode.org -- the community IRC channel +ˇ \ No newline at end of file diff --git a/production/data/go-ipfs/data/blocks/V3/CIQAPZYJAKUKALYI4YTB5PUMEN5BZYZHUQZWGFL4Q3HZUV26SYX2V3Q.data b/production/data/go-ipfs/data/blocks/V3/CIQAPZYJAKUKALYI4YTB5PUMEN5BZYZHUQZWGFL4Q3HZUV26SYX2V3Q.data new file mode 100644 index 0000000000000000000000000000000000000000..cecf3053b9efeef085d1c48f9d49ab3cc5c6009f GIT binary patch literal 198 zcmWgA<5Ch*Q0M*L@4NPoMf%Ar(;L3+P@Ny#a81uq&eCZ8v}tEJHTMd!CMM;VmPpLu z6*2&+pES$B#`0Ddclv>8)7|tlsu+%0?AhAzZylSf9*?}j7JVW18)7|tlsu+%0?AhAzZylSf9*?}j7JVVTz}!gZvZOS> xB(^s>Z~g3NGZ3l~c>Lm$&Z$Ba;4(@2REj9g3{i~#3s9u)up literal 0 HcmV?d00001 diff --git a/production/data/go-ipfs/data/blocks/_README b/production/data/go-ipfs/data/blocks/_README new file mode 100644 index 0000000..572e7e4 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/_README @@ -0,0 +1,30 @@ +This is a repository of IPLD objects. Each IPLD object is in a single file, +named .data. Where is the +"base32" encoding of the CID (as specified in +https://github.com/multiformats/multibase) without the 'B' prefix. +All the object files are placed in a tree of directories, based on a +function of the CID. This is a form of sharding similar to +the objects directory in git repositories. Previously, we used +prefixes, we now use the next-to-last two characters. + + func NextToLast(base32cid string) { + nextToLastLen := 2 + offset := len(base32cid) - nextToLastLen - 1 + return str[offset : offset+nextToLastLen] + } + +For example, an object with a base58 CIDv1 of + + zb2rhYSxw4ZjuzgCnWSt19Q94ERaeFhu9uSqRgjSdx9bsgM6f + +has a base32 CIDv1 of + + BAFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA + +and will be placed at + + SC/AFKREIA22FLID5AJ2KU7URG47MDLROZIH6YF2KALU2PWEFPVI37YLKRSCA.data + +with 'SC' being the last-to-next two characters and the 'B' at the +beginning of the CIDv1 string is the multibase prefix that is not +stored in the filename. diff --git a/production/data/go-ipfs/data/blocks/diskUsage.cache b/production/data/go-ipfs/data/blocks/diskUsage.cache new file mode 100644 index 0000000..b2e68c5 --- /dev/null +++ b/production/data/go-ipfs/data/blocks/diskUsage.cache @@ -0,0 +1 @@ +{"diskUsage":107729,"accuracy":"initial-exact"} diff --git a/production/data/go-ipfs/data/config b/production/data/go-ipfs/data/config new file mode 100644 index 0000000..fc6c0a6 --- /dev/null +++ b/production/data/go-ipfs/data/config @@ -0,0 +1,160 @@ +{ + "API": { + "HTTPHeaders": {} + }, + "Addresses": { + "API": "/ip4/0.0.0.0/tcp/5001", + "Announce": [], + "AppendAnnounce": [], + "Gateway": "/ip4/0.0.0.0/tcp/8080", + "NoAnnounce": [], + "Swarm": [ + "/ip4/0.0.0.0/tcp/4001", + "/ip6/::/tcp/4001", + "/ip4/0.0.0.0/udp/4001/quic", + "/ip6/::/udp/4001/quic" + ] + }, + "AutoNAT": {}, + "Bootstrap": [ + "/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt", + "/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", + "/ip4/104.131.131.82/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ", + "/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN", + "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa", + "/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb" + ], + "DNS": { + "Resolvers": {} + }, + "Datastore": { + "BloomFilterSize": 0, + "GCPeriod": "1h", + "HashOnRead": false, + "Spec": { + "mounts": [ + { + "child": { + "path": "blocks", + "shardFunc": "/repo/flatfs/shard/v1/next-to-last/2", + "sync": true, + "type": "flatfs" + }, + "mountpoint": "/blocks", + "prefix": "flatfs.datastore", + "type": "measure" + }, + { + "child": { + "compression": "none", + "path": "datastore", + "type": "levelds" + }, + "mountpoint": "/", + "prefix": "leveldb.datastore", + "type": "measure" + } + ], + "type": "mount" + }, + "StorageGCWatermark": 90, + "StorageMax": "10GB" + }, + "Discovery": { + "MDNS": { + "Enabled": true, + "Interval": 10 + } + }, + "Experimental": { + "AcceleratedDHTClient": false, + "FilestoreEnabled": false, + "GraphsyncEnabled": false, + "Libp2pStreamMounting": false, + "P2pHttpProxy": false, + "StrategicProviding": false, + "UrlstoreEnabled": false + }, + "Gateway": { + "APICommands": [], + "HTTPHeaders": { + "Access-Control-Allow-Headers": [ + "X-Requested-With", + "Range", + "User-Agent" + ], + "Access-Control-Allow-Methods": [ + "GET" + ], + "Access-Control-Allow-Origin": [ + "*" + ] + }, + "NoDNSLink": false, + "NoFetch": false, + "PathPrefixes": [], + "PublicGateways": null, + "RootRedirect": "", + "Writable": false + }, + "Identity": { + "PeerID": "12D3KooWQso9eT41jKfmMTVtCWZFBB5SNbvtk7MpPdxS7UoJs9cg", + "PrivKey": "CAESQDUd9ut08eYVCBFG8JBbbo0VEcXv19MkdVhl1sVvYU7L38BK4c8H4VB/C1KFUncWSXWHwqWnnw72o8aYdbqJVJU=" + }, + "Internal": {}, + "Ipns": { + "RecordLifetime": "", + "RepublishPeriod": "", + "ResolveCacheSize": 128 + }, + "Migration": { + "DownloadSources": [], + "Keep": "" + }, + "Mounts": { + "FuseAllowOther": false, + "IPFS": "/ipfs", + "IPNS": "/ipns" + }, + "Peering": { + "Peers": null + }, + "Pinning": { + "RemoteServices": {} + }, + "Plugins": { + "Plugins": null + }, + "Provider": { + "Strategy": "" + }, + "Pubsub": { + "DisableSigning": false, + "Router": "" + }, + "Reprovider": { + "Interval": "12h", + "Strategy": "all" + }, + "Routing": { + "Type": "dht" + }, + "Swarm": { + "AddrFilters": null, + "ConnMgr": { + "GracePeriod": "20s", + "HighWater": 900, + "LowWater": 600, + "Type": "basic" + }, + "DisableBandwidthMetrics": false, + "DisableNatPortMap": false, + "RelayClient": {}, + "RelayService": {}, + "Transports": { + "Multiplexers": {}, + "Network": {}, + "Security": {} + } + } +} \ No newline at end of file diff --git a/production/data/go-ipfs/data/datastore/000002.ldb b/production/data/go-ipfs/data/datastore/000002.ldb new file mode 100644 index 0000000000000000000000000000000000000000..9e361dbd1dc64d5ad001d4bded5e39e170df048b GIT binary patch literal 1141 zcmZRmV$d(h%q!N<%u7kF&`-`x34*XnT{9h1Q_YPXb#udA1I)v{0-Y-SEuE?oQvyAG za?_m*y*x4kO)|Yr&D|{wBFptleM9_m{jxH0{c=64{Hk)Y{9L?%{B)xz_n=%qqrfWP zET?RL7f;iuTwg{m1~6dL0oko@Xq;wdk!F@;Y;KusVgzKHrKF^prx+UsV(+fI~`>FzR27vW#XR2P^wZ9@JMOrn|zbxl-&H3R0cL- z#^RF1l2rYa%%YM?MsA293_|RT91tcWlb%vhepzNpYLRZ4p?+a$YH6yzp_z$+g^`7c zv6+dbrICfPiJ_5x5+fr-hme9g@ArP+wSO$qPhOec@NI|c{NRRbdX93IM(d|dJHx5D zSJpwv)X2=((A3D(P(Ls?u+pp|*DIqa+1WJECn?`C+1)MK(bcfT*}}P~+$Ai#$Rouy z(kt7iIJqd0kqKsr5P#M;#w&ROn=U<+yDk%YDc->8kSgO7Ss}OQ3twKo@kY*G$;8sw z#Ms!(h*Ue6VRnRuv|X5=xlirYY$>KQ1Cq*(?wmbbdN(+^CW?xvqn#c<4G&(?;2>)2fNc;pqf=mP`G%)rRlz|zRj zl2l7rVU|dK++VY+=PTQ_SZ9q@*Dv_KJ7pAQomFw`iP+(q{<+~+K#v%in;RLJ8(NTR z2OG=|nXO4&=Dx~HfA8JTr&wOSl5oeFf+9Fns_>>2219_Z|C;^7e(5a}HlVB!|$=HwmhZ{p(` zZ0hR~=^bno;1TI>W)x)N=k5{~;q4mc<>tvK%m4;lI{KLfdByq+DjbYL3il6qJv`6; zFrc10s5Piu%(Jxp(9-4e`MxbaHluV`XUJ5cXG~lsKn-cd`hmHjem*|M0glejRfc6g z6@g*d5ru_55vDDYEPAx1=%}Y*Y$N-v>nUYyj89~7HIWUDGl?AB`j9$-} z!13bf80;A6=o#$l5@6yO9N`pY;$r3;>SFHX=jG`g8WQ0gftWwuZr>GpyKvSn2 zi-O1~a|73W7oXA)Z{5)1u#(*5@bE;Vh;-K=Pg4u8Omp*c{ZhXWw@m+#piIATUqgSF zbYnmFpp3|nY~!e`pj@n(VhDo}J0l;2$q1srgwivw v2XM}TPYX9Na55V({)YgD#hh@ti3|PMS8#G{3W34DPUYTsY(QDH zR9R6i z0EZ$eFvxORT$uaX+%}qDcU7(PZHCVv&9h-mrJl%S^1j%*B9JuFeE;QDsQE%1I^-R#A90Z{~OrT z-7(KF?HpO~Ug8o1R)AfJlVDE}*}f$35@Z1)=pvkny`-tiBX_=&(}9u7I$NlcN>5s} Rre>zc_S!w96fy03{TG$|Y}Wt) literal 0 HcmV?d00001 diff --git a/production/data/go-ipfs/data/datastore_spec b/production/data/go-ipfs/data/datastore_spec new file mode 100644 index 0000000..7bf9626 --- /dev/null +++ b/production/data/go-ipfs/data/datastore_spec @@ -0,0 +1 @@ +{"mounts":[{"mountpoint":"/blocks","path":"blocks","shardFunc":"/repo/flatfs/shard/v1/next-to-last/2","type":"flatfs"},{"mountpoint":"/","path":"datastore","type":"levelds"}],"type":"mount"} \ No newline at end of file diff --git a/production/data/go-ipfs/data/version b/production/data/go-ipfs/data/version new file mode 100644 index 0000000..b4de394 --- /dev/null +++ b/production/data/go-ipfs/data/version @@ -0,0 +1 @@ +11 diff --git a/production/docker/Dockerfile b/production/docker/Dockerfile index c54678c..1a7a9ed 100644 --- a/production/docker/Dockerfile +++ b/production/docker/Dockerfile @@ -33,8 +33,8 @@ WORKDIR /home/safeuser #RUN runuser -l safeuser -c "npm config set prefix '~/.npm-global'" # Update to the latest version of npm. -# Working with npm@7.21.1 -RUN npm install -g npm@7.23.0 +#RUN npm install -g npm@7.23.0 +RUN npm install -g npm # npm mirror to prevent direct dependency on npm. RUN npm set registry http://94.130.170.209:4873/ @@ -66,7 +66,7 @@ RUN npm run docs VOLUME /home/safeuser/keys # Expose the port the API will be served on. -EXPOSE 5001 +EXPOSE 5010 # Start the application. COPY start-production.sh start-production.sh diff --git a/production/docker/docker-compose.yml b/production/docker/docker-compose.yml index 7de7007..6fb9bea 100644 --- a/production/docker/docker-compose.yml +++ b/production/docker/docker-compose.yml @@ -1,6 +1,6 @@ # Start the service with the command 'docker-compose up -d' -version: '2' +version: '3.9' services: mongo-ipfs-service: @@ -13,6 +13,29 @@ services: command: mongod --logpath=/dev/null # -- quiet restart: always + ipfs: + image: ipfs/go-ipfs:latest + container_name: ipfs + environment: + MY_ENV_VAR: 'placeholder' + ports: + - 4001:4001 + - 5001:5001 + - 8080:8080 + volumes: + - ../data/go-ipfs/data:/data/ipfs + - ../data/go-ipfs/export:/export + # https://docs.docker.com/compose/compose-file/compose-file-v3/#command + # https://github.com/ipfs/go-ipfs/blob/91c52657166bcf86f2476926e4fe56694dc26562/Dockerfile#L115 + command: + [ + 'daemon', + '--migrate=true', + '--agent-version-suffix=docker', + '--enable-pubsub-experiment' + ] + restart: always + ipfs-service: build: . container_name: ipfs-service @@ -24,10 +47,9 @@ services: mem_limit: 500mb links: - mongo-ipfs-service + - ipfs ports: - - '5001:5001' # : - - '5268:5268' # IPFS TCP - - '5269:5269' # IPFS WS + - '5010:5010' # : volumes: - ../data/ipfsdata:/home/safeuser/ipfs-service-provider/.ipfsdata restart: always diff --git a/production/docker/start-production.sh b/production/docker/start-production.sh index 9a77c2e..92810a6 100755 --- a/production/docker/start-production.sh +++ b/production/docker/start-production.sh @@ -26,12 +26,16 @@ export DEBUG_LEVEL=1 export DBURL=mongodb://172.17.0.1:5555/ipfs-service-prod # Configure IPFS ports -export IPFS_TCP_PORT=5268 -export IPFS_WS_PORT=5269 +#export IPFS_TCP_PORT=5268 +#export IPFS_WS_PORT=5269 # Configure REST API port -export PORT=5001 +export PORT=5010 +# Production settings using external go-ipfs node. export SVC_ENV=production +export IPFS_HOST=172.17.0.1 +export IPFS_API_PORT=5001 + npm start