loop ... until
endpoints

protocol router preview

site state domain
demo demo of all s4-units https://{site}.{host}
enviski https://www.enviski.com
plain https://{host}/{site}.html
qqq main entry site, backdoor https://{site}.{host}
repolero https://{site}.{host}
www dummy entry page https://{site}.{host}

architecture

architecture: .backup/qqq/tmp.untiloop.mdg.png
structure: .backup/qqq/out.untiloop.png

4url

s4url tests preview

"assets:/auto-scripts/autocomplete.min.css"
"https://assets.untiloop.website/auto-scripts/autocomplete.min.css"
"assets:/theme-bare/water-css/water-hack.css"
"https://assets.untiloop.website/theme-bare/water-css/water-hack.css"
"assets:/auto-scripts/highliht-js/default.min.css"
"https://assets.untiloop.website/auto-scripts/highliht-js/default.min.css"
"assets:/auto-scripts/highliht-js/atom-one-light.min.css"
"https://assets.untiloop.website/auto-scripts/highliht-js/atom-one-light.min.css"
"assets:/auto-scripts/highliht-js/atom-one-dark.min.css"
"https://assets.untiloop.website/auto-scripts/highliht-js/atom-one-dark.min.css"
"theme://repolero.css"
"https://assets.untiloop.website/theme-bare//repolero.css"
"assets:/auto-scripts/autocomplete.min.js"
"https://assets.untiloop.website/auto-scripts/autocomplete.min.js"
"assets:/auto-scripts/redis/socket.io.min.js"
"https://assets.untiloop.website/auto-scripts/redis/socket.io.min.js"
"assets:/auto-scripts/hash-router.min.js"
"https://assets.untiloop.website/auto-scripts/hash-router.min.js"
"assets:/auto-scripts/store2.min.js"
"https://assets.untiloop.website/auto-scripts/store2.min.js"
"assets:/auto-scripts/aja.min.js"
"https://assets.untiloop.website/auto-scripts/aja.min.js"
"assets:/auto-scripts/highliht-js/highlight.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/highlight.min.js"
"assets:/auto-scripts/highliht-js/crystal.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/crystal.min.js"
"assets:/auto-scripts/highliht-js/lua.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/lua.min.js"
"assets:/auto-scripts/highliht-js/javascript.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/javascript.min.js"
"assets:/auto-scripts/highliht-js/go.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/go.min.js"
"assets:/auto-scripts/highliht-js/json.min.js"
"https://assets.untiloop.website/auto-scripts/highliht-js/json.min.js"
"assets:/auto-scripts/code-viewer.min.js"
"https://assets.untiloop.website/auto-scripts/code-viewer.min.js"
"assets:/auto-scripts/keymage.min.js"
"https://assets.untiloop.website/auto-scripts/keymage.min.js"
"assets:/auto-scripts/crel.js"
"https://assets.untiloop.website/auto-scripts/crel.js"
"assets:/auto-scripts/stomp.umd.min.js"
"https://assets.untiloop.website/auto-scripts/stomp.umd.min.js"

protocolRouter

"s4:/?(env:loc)" => "https://assets.untiloop.website/s4/?(env:loc)"
pattern: http://assets.untiloop.loc/s4/
s4:/?(env:loc)/some-file.test => "https://assets.untiloop.website/s4/?(env:loc)/some-file.txt"
"s4:/?(env:linode)" => "https://assets.untiloop.website/s4/?(env:linode)"
pattern: https://assets.untiloop.website/s4/
s4:/?(env:linode)/some-file.test => "https://assets.untiloop.website/s4/?(env:linode)/some-file.txt"
"mq:/" => "wss://mq-ws.untiloop.website/"
pattern: wss://mq-ws.untiloop.website/
mq://some-file.test => "wss://mq-ws.untiloop.website//some-file.txt"
"crud:/" => "https://crud.untiloop.website/"
pattern: https://crud.untiloop.website/
crud://some-file.test => "https://crud.untiloop.website//some-file.txt"
"crud:/?(env:loc)" => "https://crud.untiloop.website/?(env:loc)"
pattern: http://crud.untiloop.loc/
crud:/?(env:loc)/some-file.test => "https://crud.untiloop.website/?(env:loc)/some-file.txt"
"portal:/?(env:loc)" => "https://portal.untiloop.website/portal/?(env:loc)"
pattern: http://portal.untiloop.loc/portal/
portal:/?(env:loc)/some-file.test => "https://portal.untiloop.website/portal/?(env:loc)/some-file.txt"
"portal:/?(env:linode)" => "https://portal.untiloop.website/portal/?(env:linode)"
pattern: https://portal.untiloop.website/portal/
portal:/?(env:linode)/some-file.test => "https://portal.untiloop.website/portal/?(env:linode)/some-file.txt"
"webhook:/?(env:loc)" => "https://webhook.untiloop.website/?(env:loc)"
pattern: http://webhook.untiloop.loc/
webhook:/?(env:loc)/some-file.test => "https://webhook.untiloop.website/?(env:loc)/some-file.txt"
"webhook:/?(env:linode)" => "https://webhook.untiloop.website/?(env:linode)"
pattern: https://webhook.untiloop.website/
webhook:/?(env:linode)/some-file.test => "https://webhook.untiloop.website/?(env:linode)/some-file.txt"
"assets:/?(env:loc)" => "https://assets.untiloop.website/?(env:loc)"
pattern: http://assets.untiloop.loc/
assets:/?(env:loc)/some-file.test => "https://assets.untiloop.website/?(env:loc)/some-file.txt"
"assets:/?(env:linode)" => "https://assets.untiloop.website/?(env:linode)"
pattern: https://assets.untiloop.website/
assets:/?(env:linode)/some-file.test => "https://assets.untiloop.website/?(env:linode)/some-file.txt"
"theme-bare:/?(env:loc)" => "https://assets.untiloop.website/theme-bare/?(env:loc)"
pattern: http://assets.untiloop.loc/theme-bare/
theme-bare:/?(env:loc)/some-file.test => "https://assets.untiloop.website/theme-bare/?(env:loc)/some-file.txt"
"theme-bare:/?(env:linode)" => "https://assets.untiloop.website/theme-bare/?(env:linode)"
pattern: https://assets.untiloop.website/theme-bare/
theme-bare:/?(env:linode)/some-file.test => "https://assets.untiloop.website/theme-bare/?(env:linode)/some-file.txt"
"theme-minimal:/" => "https:///assets.untiloop.website/theme-minimal/"
pattern: http://0.0.0.0:8080/assets/theme-minimal/
theme-minimal://some-file.test => "https:///assets.untiloop.website/theme-minimal//some-file.txt"
"theme-minimal:/?(env:linode)" => "https:///assets.untiloop.website/theme-minimal/?(env:linode)"
pattern: https:///assets.untiloop.website/theme-minimal/
theme-minimal:/?(env:linode)/some-file.test => "https:///assets.untiloop.website/theme-minimal/?(env:linode)/some-file.txt"
"theme-dracula:/" => "https:///assets.untiloop.website/theme-dracula/"
pattern: http://0.0.0.0:8080/assets/theme-dracula/
theme-dracula://some-file.test => "https:///assets.untiloop.website/theme-dracula//some-file.txt"
"theme-dracula:/?(env:linode)" => "https:///assets.untiloop.website/theme-dracula/?(env:linode)"
pattern: https:///assets.untiloop.website/theme-dracula/
theme-dracula:/?(env:linode)/some-file.test => "https:///assets.untiloop.website/theme-dracula/?(env:linode)/some-file.txt"
"theme-one:/" => "https://assets.untiloop.website/theme-one/"
pattern: http://0.0.0.0:8080/assets/theme-one/
theme-one://some-file.test => "https://assets.untiloop.website/theme-one//some-file.txt"
"theme-one:/?(env:linode)" => "https://assets.untiloop.website/theme-one/?(env:linode)"
pattern: https://assets.untiloop.website/theme-one/
theme-one:/?(env:linode)/some-file.test => "https://assets.untiloop.website/theme-one/?(env:linode)/some-file.txt"
"repo:/?(env:loc)" => "https://repo.untiloop.website?(env:loc)"
pattern: http://repo.untiloop.loc
repo:/?(env:loc)/some-file.test => "https://repo.untiloop.website?(env:loc)/some-file.txt"
"repo:/?(env:linode)" => "https://repo.untiloop.website?(env:linode)"
pattern: https://repo.untiloop.website
repo:/?(env:linode)/some-file.test => "https://repo.untiloop.website?(env:linode)/some-file.txt"
"data:/?(env:loc)" => "https://repo.untiloop.website/?(env:loc)"
pattern: http://repo.untiloop.loc/{name}
data:/?(env:loc)/some-file.test => "https://repo.untiloop.website/?(env:loc)/some-file.txt"
"data:/?(env:linode)" => "https://repo.untiloop.website/?(env:linode)"
pattern: https://repo.untiloop.website/{name}
data:/?(env:linode)/some-file.test => "https://repo.untiloop.website/?(env:linode)/some-file.txt"
"sqlite:/?(env:loc)" => "https://db.untiloop.website?(env:loc)"
pattern: https://db.untiloop.website
sqlite:/?(env:loc)/some-file.test => "https://db.untiloop.website?(env:loc)/some-file.txt"
"sqlite:/?(env:linode)" => "https://db.untiloop.website?(env:linode)"
pattern: https://db.untiloop.website
sqlite:/?(env:linode)/some-file.test => "https://db.untiloop.website?(env:linode)/some-file.txt"
"state:/?(env:loc)" => "https://state.untiloop.website?(env:loc)"
pattern: https://state.untiloop.website
state:/?(env:loc)/some-file.test => "https://state.untiloop.website?(env:loc)/some-file.txt"
"state:/?(env:linode)" => "https://state.untiloop.website?(env:linode)"
pattern: https://state.untiloop.website
state:/?(env:linode)/some-file.test => "https://state.untiloop.website?(env:linode)/some-file.txt"