pouët.net

4QRxyz Tool to encode entire web pages into a URL

category: general [glöplog]
 
Hello, new here.

I'm releasing a new tool which allows the embedding of a webpage within a URL (anything that can be displayed in a browser can be encoded) called 4QR.xyz

I was originally making it to embed some small art generation progs within a QR, but realized it could be used for anything that could fit within a URL. So am releasing it openly...

Not that nothing is stored on a server, all information to make the web page is in the URL itself.

About
http://about.4QR.xyz

The encoder
http://encode.4QR.xyz

Reference
http://reference.4QR.xyz

Gallery (will add more later)
http://gallery.4QR.xyz

Place to post your demos (or this thread)
https://reddit.com/r/4QRxyz

Git for issues
https://github.com/artBoffin/4QR.xyz/issues

Twitter for news
https://twitter.com/4QRxyz/

Here are some examples:

"almost a circle"

https://4QR.xyz/c/?eJwtUl2P2jAQ_CtppIoYQpKjd6c7HPMAqtR7aFW1ggI5LhjHSZwaJzgm4TO_vQ70xd6dXY1mZ9f_1O-nShVD1yWP2DkcT-7jj9eXQb8_8kt15HS0yaPjucBRxEQyNDy4xTJhYujBK8GiwqVxrlmk0uGD532GKWVJqm7x1XfvBH7LYGwSkvNcog3H5O_IV0zpEubbvFQGNgiThFPfvcP-f2YWITMyR757z7UiIlmhRiHqlFS9CUVlhbllzkz7i-d5AM4u2-YcVijKyX5LhXISqr5y2obj41tkvXei9w6wKarayiTXDAel0UELw8pJpygtvk2XlaNnmqO6-KO_5UXuJBZRPrteyC7meS6toDt4egbwur6NY8LTL0qU5dmeXdspgLFuCQ_IgwdfW-F53QAeeugBnEOBAluhoJu6L3aJSGOPUd0N7AlK9Rujjw_SZBuqDf6J502GJbHG9sRWmvi5K-wY85KCjPC8pG3Dasz3EqU9Bdcy2eCF7TlPwFxNbk6bGloAra2B12tjgUu8F0SxXBgn6sSM811zllTtpTC-47lToJrpIWuHCUFlBqmzPv1uF4jMsMLS0Mp6pm32VlmZYt0XyGbZ9ZzXV7iwzF7cM-cqnW0bOL2dQOfmATOYMBLUmc7mi2Ww-gjXWbE7XZoOqJlKrdApC86UlQRsBUCIspwJq8gLCwBI282GQB_Rfee-257R6B-JPOjU


"artBoffin theme"


https://4qr.xyz/c/?eJwtkEFvgkAQhe_9FXSTwq4LooiIsmCQaNKkF0tSb01W3a0kypp1lNra_96ldg4zb768N4dhj563CXn38_rlv6xGxcjzMgYV7EXGNcyUlFVtwU4cBPPvmJ02ujpCduHaaqzUkud6A5WqsXTBLcm3FnDWtSUufI-RVBq3Rkh7bpk6r8-LRdfUKn-bywNYiHJQa-zM87ZMX-Z6vjRjFv_tRZ47hKItB-4klAKLRJSQkqYl6Kr-6EqtDsWO60JtBUZUUkQQ-XlIatFY-XlbKey02Qlvtd_wS7LmJxGFrkPXoDhuMMIYgx32xhGZGtXB8A5PwXBIbhiyLCQky_pk0uqBQcYa98cBmQJjwQTIHQ3uIDbgZoxjGzrg4zgMY7sNBoQQ25xEZnaPe37FJGH-_xd_ASt3cMg


"webbed tongues"


https://4QR.xyz/c/?eJx9Ul1P2zAU_SvBD5VNE2fZOiGaOEiTkJgET7C9VDw4yW3tkV5n8U1DYfz3JQvVKA88-X6cc-6Xs5MoMkTNMo7LhZaP-6f4y9fr87soyjOyVEPeQ1FAFZDDTQc-i6do5svWNpSvOyzJOgxqLp7XruU73QaoGAtJ3Wgycl27IXp--s9pNVZuy4WYn6UURelE0SMcPoQvUhjheq54oZIZXLCirNYb8-uh3mLzu_W06x-f2JJpsK7bM7H69OdI4rSQNeCGzH06duimaq3rsOKLd9VSnKvPuXKzmctVcqHnLGDLJHejJQdzeMKAvfR2wPeyI4KBWoJXq0ncKIQ-uG0ASnO7RzLgrf9xgHEUqZE7Z0tQ_hgjN0A_x4TnYvVmHceTfEB6nVHch_-7kk3nDTcifM8bfP0wJox0CFipwy05iOfhnC9h5cpuC0hjicsaRvPb_nvFWc-EtIjQXt3dXCs8rMJh7fQbnUkmzeLXz5KZJLCVGuh5Fpsk_wt4tdnq


"annoy-a-tron"


https://4QR.xyz/c/?eJxNjc0KgkAURl_FhEDBGftblDlu2xRB5APc9JYTNjfGa6XZu2e1afEtvsOBEw-EKJivURhmM5CPpg3ni-l-JkQSs-YSEzCGGgGCLZk4_LH4pnMkB2qmawmNc9c5F8odj0ZD1yGD1pJVrlEGbvoETHZp5En1Q04rtBvMNXSdkRdqV3_oY3lPqHNN0Tj4NqLJKziqSiWVzVRfk-luLTOLwLg9nDHj_nuVHxx9tzeSN8ACR6U

"not again"


https://4qr.xyz/c/?eJw1zb0OwiAYheFbQRJHShs7WAO4uTcOulL4bEloaehHsF69P43jeYfniB1jA-J84tzUuniuL35pDtcjY0qgQw9qCkh0r90k-BaEe0Q9AsnO4iBpVZZ7SgZw_YD_tUQj6ZddPm7OuVhDwtRBYcLIYezActvmOje3_m7as04YZq9XWVHys7sQLURJS0q09yE_kveLiQCTEny7V28ouj6t



The encoder supports some library wrappers, such as p5.js:

function setup() {
}
function draw() {
ellipse(50, 50, 80, 80);
}

becomes

https://4QR.xyz/p5/.0/?eJxLK81LLsnMz1MoTi0pLdDQVKiuTYMJpRQlloNEuBQUUnNyMguKUzVMDXQUQNgCjDWtawHZZBQA


...and for fun, and to show any webpage can be encoded:
The encoder encoded by the encoder which could itself encode another encoder

https://4qr.xyz/c/?eJzNWW1z27gR_q5fgTDToTS2SSk-Z2y9MOPYbuJWlztbybSZpuOBSEiCBREMAEpWOvrvXbyQomQ5seO7TvUhBgHs7rMv2F0g3Rfnv519_Pz7BZqoGYtq3RcHB-gzkftITahEMU8Igr9S5RlN9tEwV4gqtOBiKtHBAey3ZPCX4AQ-FVWMRL9cXQd3y2-IpJqB6IZ2uobg15WxoJlCUsQ9b6JUJtthGCfprQxixvNkxLAgQcxnIb7FdyGjQxnefs2JWIaHwaug5T6CGU2DW-lF3dAyfC734KvQYMNW0NyceYoknFEZjDkfMyvkVoYxoyRVhoGlezbeDE-5hhkcmeFNQmCX2oWzGzq3FBOjPI0V5SliHCf1BvqPATEG2IHDKYk6zejfybLun15-w4Pl6Yd_vjtfipOT85Tm6q-n49dD9fkfn_oHx7PRt_nN1anf6NzjYtj7uWBywoUiKRH-PvLnLfi3gKClr4B0VVvQNOGLgKeaCvUMtk5tjXWGp2Sg-dQZT8efBCtwz7FAgoCvpAKyqvyqZP0R0FQSYGDp9M8XRPJcxMRvo_WsWXFSYMGNyuWVGa2cwk50QO5InCtSLzUD1hkHgRpnSUtHqFwIaIJe9FCas1KX4ieVAF287jDqg3D06brfhpAZRt2hCCMP7RWYYASbROR17pHvGXrYDkwgFoMxM2wMlxBIuhhNBBn1fM2uCglY-tGOyW6Iox2yEh7nM23tMVEXjOjh2-VlUvfA4MZfXgPsDh54__HXPigF2DYZaJM8yOSrAPJ4QuIpSbaNpH82t1yJQdWqjU0Bqx2eW1Uiy_I4TRJgIevVsKLpmU59vYeVVOROXaZZrrWcY5aTzjomcUK53E0s3y4_4Bmp-3CUBRbL4vSMuEB1IxnomvuIkXSsJjC2zAL73YHlLirHe3tVy5gIM7v_Rf_9kOkkYSRWJOnTYclcb6-oUPyGguBpZ9uEtUJUlRMEs_fGq8rSqujsBELc-dZfnY11SGuZtjzRp36oOK7rPYHLZ3Xrg_0tBRRvIx9CiaZjf42tUfH8Btv1RyBIxnBM6uGXvXAM6ejAb1TmQjN3szHXM3N-YxM2hnjRZ7RI167ahfrkVI2yVxFuOawQYZJsWekhdm80Pxuhn64vz4AVTyGA6sZQ1jaF1iuXj1QuUsNvV5hfiT6QQcBW4zyh8-8Fua2Afc_JWUwoI3Bm6TwYUSHVGXxvRJheEWTG58Qsbe-sor290jW27r90MsDwdlRJ0vqMtZEBvV9OLmiiJm30-pfmem5C6HiitiZjLgQ4o0_mhLVRayN3lxqbSj8wXuOi7jsM_Y8g2d9MX16RkNHVtbfbwIOfNPDgf2Dgwf-VgQe7DLwuVvdNrJuAPk2n9y0M1Yampma6uvbF8_bMrj3vi4cUFmB0mLwZMpxOv3jRhfFWYuQA6VSXN-8HqOEU50zJLcRG9H2cH2m6hBL9B0D9FbghBex0DwPZ5NF4Hc1uvBuARZ5uVD4by4krikC0VSSt4NIdm9srq4URdm74qcq_TmM7ea5K0bZZvLdpVVt3xrXukCdL14NPWi4mhCnDLgFD89xyG5y3TIrWXf6Q5ypw27zoVH_a-9KCDCVVRHvIUuo2zI4ykKGI7izsrWpIGF_oaxaBCUbjqdNP37EUT4NumDlKfUjhFoBRCo1DzzQe9sh6iCa9SiOCBF_Inveq6YEIBqPjpr4NFPQ7IP2W6RiQ7bUwhgFYVNq8awQhtcxAsvHJkN95qGMkg6NQJ3qnm2yo13BmjWayG1aYVMR9j7VpRDRfq6NrjvSEaUxAtq6HHeTCwmEhiQZwtq73degdMBzURoFh23UwJgIMTQr3hS_hWHkRerPLZ89CrPFGH3jZBIChn4Aq5fFDqLLoMo1ZDqHihKKFwFkGsVWoX2k8Go_07Q_VyY5CuBkbpX4_gnsmmsMFNDh-gkrZ0SPs_EyQOAy-WpAZBos4nK1WcPgUoPhPB6om4dsPFqgCOMQAPT4aPAGlmvwpYZssLKzzBVVKv908GlCyeAjQelSFIvPhjELWskhs2rMpzWZCD_HUZEZArYuUV0C8cMvrA_F2aXMoXAqKNLrkOcJxTDKdmqGIEjGTiI-bold textgQxdzGhNTSSFjfDe3hy8ZGWNWVmZXmL3o_cX1RWCuxeXhmojvqK27wJhhCTnZdRLa4lItGagz4qk6kPQbabeOm3_Rtu-GQPADdtpO5UX7URQOgGsNHivHUVX64p-AXgAu7hMFfUIl3LWWbTRkPJ52XOsJTWZ21yl6Tvc1AxfQ9ICRkWofZXdPUrnSc_4hdi-69uer0UGlIubpdQCRpnSYwkCd8dy0DOYpQncm5y69v8spzJj3V_d-aE-UrvThLZ5jO-tFNd3RyfgmE_wWWkPo5lqtw8PD5slxp1ii6ZxKOmT6saNVzkoS54KqpW5Wm-Tk1euT4YlXrP5Nvufmya1ed7dWD_UqlxwwAtZ9RQBiFYdWpIHeGAOWd1zDngQeaqPi4C0Wi0Bfg0ouC5BP6h5oqC_C3lpNf0tN37ye6tcsI6TEZz89CZaMrSXNQ6obF38h8_rgAiPDdYcaRuURNeUbL7aVuKqw9ir5FiPz3q3POmYwnhHdGNZwitlS0RjO_kbK2QZ4P9106Wy8S6Z9Ng7DONjmUbg5bIaF-8IWcMZMWVi1AhZaw4rWuduFZLjW3YTnRZo8JThD22RDJ23-l-C_mAx2Lg
added on the 2017-05-05 03:27:23 by artBoffin artBoffin
hmm, ok... cute project.
added on the 2017-05-05 04:01:06 by psenough psenough
Yeah Dwitter is awesome,
One of the library wrappers I included is for Dwitter:
http://reference.4qr.xyz/#dw
Here is an example of this Dwitter code encoded for 4QR

https://4qr.xyz/dw/?eJwVjMsKwjAQAL9G2DxMYxsrS8w_CB68CbXGdqO0kCzo59uchoFhRvOlJ8_3YP1rzUABPZ3b2HlSoRUldA2gOeyBFTWIYodC_8wjTrRcBp5B6BRIntQVSDrFG1nU4kNLvNVxKLJsPuQRsLf66Kwu0qFOOinT17RwXt8RxB_F-CeR

I guess the big difference is that Dwitter specifies a few set things such as canvas size, whereas 4QR can encode any arbitrary code that a browser can display.
added on the 2017-05-05 22:07:05 by artBoffin artBoffin
This is relevant to my interests! I remember reading about some similar generator but it seems to have fallen off the web. Just how much data do you think can be crammed in there and still be able to fit in a QR-code?

About the ToS, what is considered defamatory and sexually obscene? :) If I were to display the text "Hitler was a herpes-infested asshole!" would that be breach of terms? Might be a real use case btw...
added on the 2017-05-08 09:35:45 by El Topo El Topo
Well, my host has a URI limit of about 8100 chars, but that is set by the server and arbitrary.
If this becomes useful to people I could look for a better / non-shared server.

Here is some interesting URI length discussion

As far as a QR code, it has a max size of 4,296 alphanumeric chars.
...but if you are OK with storing your link in a shortener like bit.ly goo.gl or tinyurl, then the limit is the URI length limit as you can just put the short link in the QR and it would forward...

Quote:
If I were to display the text "Hitler was a herpes-infested asshole!" would that be breach of terms?


Ha!, no disagreement, but since anyone could possible encode anything, I need some protection there... (and I believe you can't defame a dead person).
added on the 2017-05-08 11:15:05 by artBoffin artBoffin
Ah, thanks for the in dept info.

Quote:

Quote:
If I were to display the text "Hitler was a herpes-infested asshole!" would that be breach of terms?


Ha!, no disagreement, but since anyone could possible encode anything, I need some protection there... (and I believe you can't defame a dead person).


Bummer ;) Oh well, I guess I have to aim for something less explicit then, or set up my own service. I saw that the license at Github don't have the content part.
added on the 2017-05-08 12:26:36 by El Topo El Topo

login