9b
9bed45ee
9bed45ee7c3241eea3ba74921a2b822c73f1447e5962314205d91a78cc99622e
nostr:npub146y59dkatpwkx0ncs9u34vhmm60dedmdla0s8zy8yw22pqfj4huq36dp2y

249 bytes

data:text/html,

it seems base64 encoding in data uri is not necessary

this is just 257 bytes

data:text/html;nos.lol,

moving all the params from url to code, we can make it to 326 bytes

data:text/html;base64,PHNjcmlwdD5zPW5ldyBXZWJTb2NrZXQoIndzczovL25vcy5sb2wiKSxzLm9ub3Blbj0oKT0+e3Muc2VuZCgnWyJSRVEiLCJxIix7ImlkcyI6WyI4MjA0ZTkyYWRlMTgxYTI0YWIwMjA2MTQ0ZmU1YzBiZjU1MWUxOTQyODEwZjk4YmJiNmMwZjI5NDYyODY5OWZkIl19XScpfSxzLm9ubWVzc2FnZT1lPT57ZG9jdW1lbnQud3JpdGUoSlNPTi5wYXJzZShlLmRhdGEpWzJdLmNvbnRlbnQpfTwvc2NyaXB0Pgo=

this is the code needed to load html page from nostr,

can we make it smaller?

```html

```

we dont need to decodeURIComponents, lets just do is smaller

367 bytes

data:text/html;nos.lol;8204e92ade181a24ab0206144fe5c0bf551e1942810f98bbb6c0f294628699fd;base64,PHNjcmlwdD5tPWxvY2F0aW9uLmhyZWYubWF0Y2goLyhbXjtdKykvZykscz1uZXcgV2ViU29ja2V0KCJ3c3M6Ly8iK21bMV0pLHMub25vcGVuPSgpPT57cy5zZW5kKCdbIlJFUSIsInEiLHsiaWRzIjpbIicrbVsyXSsnIl19XScpfSxzLm9ubWVzc2FnZT1lPT57ZG9jdW1lbnQud3JpdGUoSlNPTi5wYXJzZShlLmRhdGEpWzJdLmNvbnRlbnQpfTwvc2NyaXB0Pgo=

using event id instead of pubkey and #d

415 bytes

data:text/html;nos.lol;8204e92ade181a24ab0206144fe5c0bf551e1942810f98bbb6c0f294628699fd;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCxtPXdpbmRvdy5tfHxsb2NhdGlvbi5ocmVmLm1hdGNoKC8oW147XSspL2cpLHM9bmV3IFdlYlNvY2tldCgid3NzOi8vIitkKG1bMV0pKSxzLm9ub3Blbj0oKT0+e3Muc2VuZCgnWyJSRVEiLCJxIix7ImlkcyI6WyInK2QobVsyXSkrJyJdfV0nKX0scy5vbm1lc3NhZ2U9ZT0+e2RvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KX08L3NjcmlwdD4K

534 bytes

data:text/html;nos.lol;da1d252491143c9d257166331d931311959c0bab2b39d8de8a5868a56b38a6eb;https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCxtPXdpbmRvdy5tfHxsb2NhdGlvbi5ocmVmLm1hdGNoKC8oW147XSspL2cpLHM9bmV3IFdlYlNvY2tldCgid3NzOi8vIitkKG1bMV0pKSxzLm9ub3Blbj0oKT0+e3Muc2VuZCgnWyJSRVEiLCJxIix7ImF1dGhvcnMiOlsiJytkKG1bMl0pKyciXSwiI2QiOlsiJytkKG1bM10pKyciXX1dJyl9LHMub25tZXNzYWdlPWU9Pntkb2N1bWVudC53cml0ZShKU09OLnBhcnNlKGUuZGF0YSlbMl0uY29udGVudCl9PC9zY3JpcHQ+Cg==

547 bytes

data:text/html;relay.nostr.band;0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCx3PXdpbmRvdyxtPXcubXx8bG9jYXRpb24uaHJlZi5tYXRjaCgvKFteO10rKS9nKSxzPW5ldyBXZWJTb2NrZXQoIndzczovLyIrZChtWzFdKSkscy5vbm9wZW49KCk9PntzLnNlbmQoJ1siUkVRIiwicSIseyJhdXRob3JzIjpbIicrZChtWzJdKSsnIl0sIiNkIjpbIicrZChtWzNdKSsnIl19XScpfSxzLm9ubWVzc2FnZT1lPT57ZG9jdW1lbnQud3JpdGUoSlNPTi5wYXJzZShlLmRhdGEpWzJdLmNvbnRlbnQpfTwvc2NyaXB0Pgo=

Replying to 9bed45ee...

is this the shortest possible code to load note?

https://npub1cjyu9wezc6flcjl673zvcd8my37zzv5e26p6kevjyfe9yuxczc6sll7r7x.hostr.cc/d/fileloader.html#d522e2eb7d22c1163bfd1b30dd6d2e2b3590f7f19c1e9da8ddd9ee0f5082f7b4/sync/inline

currently link length is 715 bytes after this:

s="data:text/html;relay.nostr.band;0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,"$(minify init.min.html | base64 -w 0); echo ${#s}; echo $s

with little hacks, its now 599 bytes

data:text/html;relay.nostr.band;0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCx3PXdpbmRvdyxtPXcubXx8bG9jYXRpb24uaHJlZi5tYXRjaCgvKFteO10rKS9nKSxzPW5ldyBXZWJTb2NrZXQoIndzczovLyIrZChtWzFdKSkscy5vbm9wZW49KCk9PntzLnNlbmQoJ1siUkVRIiwicSIseyJhdXRob3JzIjpbIicrZChtWzJdKSsnIl0sIiNkIjpbIicrZChtWzNdKSsnIl19XScpfSxzLm9ubWVzc2FnZT1lPT57ZG9jdW1lbnQud3JpdGUoSlNPTi5wYXJzZShlLmRhdGEpWzJdLmNvbnRlbnQpLGRpc3BhdGNoRXZlbnQobmV3IEN1c3RvbUV2ZW50KCJsb2FkIikpfTwvc2NyaXB0Pgo=

data:text/html;relay.nostr.band;0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCx3PXdpbmRvdyxtPWxvY2F0aW9uLmhyZWYubWF0Y2goLyhbXjtdKykvZykscz1uZXcgV2ViU29ja2V0KHcucnx8IndzczovLyIrZChtWzFdKSkscy5vbm9wZW49KCk9PntzLnNlbmQoJ1siUkVRIiwicSIseyJhdXRob3JzIjpbIicrKHcua3x8ZChtWzJdKSkrJyJdLCIjZCI6WyInKyh3LmZ8fGQobVszXSkpKyciXX1dJyl9LHMub25tZXNzYWdlPWFzeW5jIGU9Pntmb3Iocy5jbG9zZSgpLGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KTshdy5sb2FkZWQ7KWF3YWl0IG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsMTApKSk7ZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiKSl9PC9zY3JpcHQ+Cg==

(715 bytes)

data:text/html;r=relay.nostr.band;k=0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;f=https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD5kPWRlY29kZVVSSUNvbXBvbmVudCx3PXdpbmRvdyx3LnJ8fChtPVsuLi5sb2NhdGlvbi5ocmVmLm1hdGNoQWxsKC8oW3JrZl0pPShbXjtdKykvZyldLHI9IndzczovLyIrZChtWzBdWzJdKSxrPWQobVsxXVsyXSksZj1kKG1bMl1bMl0pKSxzPW5ldyBXZWJTb2NrZXQocikscy5vbm9wZW49KCk9PntzLnNlbmQoJ1siUkVRIiwgInEiLCB7ImF1dGhvcnMiOiBbIicraysnIl0sICIjZCI6IFsiJytmKyciXX1dJyl9LHMub25tZXNzYWdlPWFzeW5jIGU9Pntmb3Iocy5jbG9zZSgpLGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KTshdy5sb2FkZWQ7KWF3YWl0IG5ldyBQcm9taXNlKChlPT5zZXRUaW1lb3V0KGUsMTApKSk7ZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiKSl9PC9zY3JpcHQ+Cg==

data:text/html;r=nos.lol;p=https%3A%2F%2Fcorsproxy.org;i=https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg;k=c489c2bb22c693fc4bfaf444cc34fb247c2132995683ab659222725270d81635;f=archive-image.html;base64,PHNjcmlwdD4KKCgpID0+IHsKICBpZih0eXBlb2YgciA9PSAidW5kZWZpbmVkIiB8fCB0eXBlb2YgayA9PSAidW5kZWZpbmVkIiB8fCB0eXBlb2YgZiA9PSAidW5kZWZpbmVkIil7CiAgICByID0gIndzczovLyIgKyBkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZi5tYXRjaCgvZGF0YTpcUys/O3I9KFteO10rKVxTKjtiYXNlNjQsLylbMV0pCiAgICBrID0gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhyZWYubWF0Y2goL2RhdGE6XFMrPztrPShbXjtdKylcUyo7YmFzZTY0LC8pWzFdKQogICAgZiA9IGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87Zj0oW147XSspXFMqO2Jhc2U2NCwvKVsxXSkKICB9CiAgCiAgZG9jdW1lbnQud3JpdGUoIjxwPmNvbm5lY3RpbmcgdG8gIiArIHIgKyAiPC9wPiIpCiAgY29uc3QgcyA9IG5ldyBXZWJTb2NrZXQocikKCiAgcy5vbm9wZW4gPSAoKSA9PiB7CiAgICBzLnNlbmQoJ1siUkVRIiwgInEiLCB7ImF1dGhvcnMiOiBbIicgKyBrICsgJyJdLCAiI2QiOiBbIicgKyBmICsgJyJdfV0nKQogIH0KCiAgcy5vbm1lc3NhZ2UgPSBhc3luYyAoZSkgPT4gewogICAgcy5jbG9zZSgpCiAgICBkb2N1bWVudC53cml0ZShKU09OLnBhcnNlKGUuZGF0YSlbMl0uY29udGVudCkKCiAgICB3aGlsZSghd2luZG93LmxvYWRlZCl7CiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKGMgPT4gc2V0VGltZW91dChjLCAxMCkpCiAgICB9CgogICAgZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoImxvYWQiKSkKICB9Cn0pKCkKPC9zY3JpcHQ+Cg==

data:text/html;r=relay.nostr.band;k=78404c7805baab8d40a89a76bcfa051d3603555deef99c19b1eb38a6a397a71e;f=https%3A%2F%2Fimagewnine.net%2Fimages%2F2023%2F11%2F03%2FStasya-telephone-1-009.jpg.html;base64,PHNjcmlwdD4KKCgpID0+IHsKICBjb25zdCByID0gIndzczovLyIgKyBkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZi5tYXRjaCgvZGF0YTpcUys/O3I9KFteO10rKVxTKjtiYXNlNjQsLylbMV0pCiAgY29uc3QgayA9IGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87az0oW147XSspXFMqO2Jhc2U2NCwvKVsxXSkKICBjb25zdCBmID0gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhyZWYubWF0Y2goL2RhdGE6XFMrPztmPShbXjtdKylcUyo7YmFzZTY0LC8pWzFdKQoKICBkb2N1bWVudC53cml0ZSgiPHA+Y29ubmVjdGluZyB0byAiICsgciArICI8L3A+IikKICBjb25zdCBzID0gbmV3IFdlYlNvY2tldChyKQoKICBzLm9ub3BlbiA9ICgpID0+IHsKICAgIHMuc2VuZCgnWyJSRVEiLCAicSIsIHsiYXV0aG9ycyI6IFsiJyArIGsgKyAnIl0sICIjZCI6IFsiJyArIGYgKyAnIl19XScpCiAgfQoKICBzLm9ubWVzc2FnZSA9IGFzeW5jIChlKSA9PiB7CiAgICBzLmNsb3NlKCkKICAgIGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KQoKICAgIHdoaWxlKCF3aW5kb3cubG9hZGVkKXsKICAgICAgYXdhaXQgbmV3IFByb21pc2UoYyA9PiBzZXRUaW1lb3V0KGMsIDEwKSkKICAgIH0KCiAgICBkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9hZCIpKQogIH0KfSkoKQo8L3NjcmlwdD4K

data:text/html;r=relay.nostr.band;k=0d190bed89c4d95dc0267fa09ed61e1b6633eafb692a754ac5bb02d4820ed0c5;f=https%3A%2F%2Fimagewnine.net%2Fimages%2F2022%2F07%2F10%2FLily-Rose-08-037.jpg.html;base64,PHNjcmlwdD4KKCgpID0+IHsKICBjb25zdCByID0gIndzczovLyIgKyBkZWNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZi5tYXRjaCgvZGF0YTpcUys/O3I9KFteO10rKVxTKjtiYXNlNjQsLylbMV0pCiAgY29uc3QgayA9IGRlY29kZVVSSUNvbXBvbmVudChsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87az0oW147XSspXFMqO2Jhc2U2NCwvKVsxXSkKICBjb25zdCBmID0gZGVjb2RlVVJJQ29tcG9uZW50KGxvY2F0aW9uLmhyZWYubWF0Y2goL2RhdGE6XFMrPztmPShbXjtdKylcUyo7YmFzZTY0LC8pWzFdKQoKICBkb2N1bWVudC53cml0ZSgiPHA+Y29ubmVjdGluZyB0byAiICsgciArICI8L3A+IikKICBjb25zdCBzID0gbmV3IFdlYlNvY2tldChyKQoKICBzLm9ub3BlbiA9ICgpID0+IHsKICAgIHMuc2VuZCgnWyJSRVEiLCAicSIsIHsiYXV0aG9ycyI6IFsiJyArIGsgKyAnIl0sICIjZCI6IFsiJyArIGYgKyAnIl19XScpCiAgfQoKICBzLm9ubWVzc2FnZSA9IGFzeW5jIChlKSA9PiB7CiAgICBzLmNsb3NlKCkKICAgIGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KQoKICAgIHdoaWxlKCF3aW5kb3cubG9hZGVkKXsKICAgICAgYXdhaXQgbmV3IFByb21pc2UoYyA9PiBzZXRUaW1lb3V0KGMsIDEwKSkKICAgIH0KCiAgICBkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9hZCIpKQogIH0KfSkoKQo8L3NjcmlwdD4K

#webarchive

data:text/html;r=nos.lol;k=da1d252491143c9d257166331d931311959c0bab2b39d8de8a5868a56b38a6eb;f=.html;base64,PHNjcmlwdD4KKCgpID0+IHsKICBjb25zdCByID0gIndzczovLyIgKyBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87cj0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQogIGNvbnN0IGsgPSBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87az0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQogIGNvbnN0IGYgPSBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87Zj0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQoKICBkb2N1bWVudC53cml0ZSgiPHA+Y29ubmVjdGluZyB0byAiICsgciArICI8L3A+IikKICBjb25zdCBzID0gbmV3IFdlYlNvY2tldChyKQoKICBzLm9ub3BlbiA9ICgpID0+IHsKICAgIHMuc2VuZCgnWyJSRVEiLCAicSIsIHsiYXV0aG9ycyI6IFsiJyArIGsgKyAnIl0sICIjZCI6IFsiJyArIGYgKyAnIl19XScpCiAgfQoKICBzLm9ubWVzc2FnZSA9IGFzeW5jIChlKSA9PiB7CiAgICBzLmNsb3NlKCkKICAgIGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KQoKICAgIHdoaWxlKCF3aW5kb3cubG9hZGVkKXsKICAgICAgYXdhaXQgbmV3IFByb21pc2UoYyA9PiBzZXRUaW1lb3V0KGMsIDEwKSkKICAgIH0KCiAgICBkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9hZCIpKQogIH0KfSkoKQo8L3NjcmlwdD4K

minimal data link structure to load #hostr web page is like this:

data:text/html;r=;k=;f=;base64,PHNjcmlwdD4KKCgpID0+IHsKICBjb25zdCByID0gIndzczovLyIgKyBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87cj0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQogIGNvbnN0IGsgPSBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87az0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQogIGNvbnN0IGYgPSBsb2NhdGlvbi5ocmVmLm1hdGNoKC9kYXRhOlxTKz87Zj0oW147XSspXFMqO2Jhc2U2NCwvKVsxXQoKICBkb2N1bWVudC53cml0ZSgiPHA+Y29ubmVjdGluZyB0byAiICsgciArICI8L3A+IikKICBjb25zdCBzID0gbmV3IFdlYlNvY2tldChyKQoKICBzLm9ub3BlbiA9ICgpID0+IHsKICAgIHMuc2VuZCgnWyJSRVEiLCAicSIsIHsiYXV0aG9ycyI6IFsiJyArIGsgKyAnIl0sICIjZCI6IFsiJyArIGYgKyAnIl19XScpCiAgfQoKICBzLm9ubWVzc2FnZSA9IGFzeW5jIChlKSA9PiB7CiAgICBzLmNsb3NlKCkKICAgIGRvY3VtZW50LndyaXRlKEpTT04ucGFyc2UoZS5kYXRhKVsyXS5jb250ZW50KQoKICAgIHdoaWxlKCF3aW5kb3cubG9hZGVkKXsKICAgICAgYXdhaXQgbmV3IFByb21pc2UoYyA9PiBzZXRUaW1lb3V0KGMsIDEwKSkKICAgIH0KCiAgICBkaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgibG9hZCIpKQogIH0KfSkoKQo8L3NjcmlwdD4K

upload web page with hostr

im using this function

function hostrup(){

cp $1 $HOME/tmp/index.html

hostr deploy -r -d "$1" -p $HOME/tmp/

}

hostrup somefile.html

with this kind of data link you can host any #html #js #app very much decentralized permissionless way.

what this url consists of:

r =

k =

f =

( p = )

base64 source of bootstrap code to load #hostr content

nostr:note18jt76rsn0h3jsmudndljfckxmwvxnwev4t7yzvzs0dtezdnvl77szh29kc