Files
ioccc/2005/mynx
Landon Curt Noll 09750f8899 release winning entries of IOCCC28 under the year 2024
Congratulations to:

* 2024/anders - Prize in sound coding - layered music generator
* 2024/burton - Prize in pentagrammatology - wordle hard mode solver
* 2024/cable1 - Prize in bot talk - LLM inference engine
* 2024/cable2 - Prize in murky waters - salmon recipe
* 2024/carlini - Prize in perfect timing - Intel 4004 emulation
* 2024/codemeow - Prize in tray planting - bonsai generator
* 2024/endoh1 - Prize in patient pointillism - slow ray tracer in CPP
* 2024/endoh2 - Prize in solid body physics - rotating rigid body simulation
* 2024/ferguson1 - Prize in diabolical logistics - Oregon trail pact with the devil
* 2024/ferguson2 - Prize in yil-tas - Navajo code talker translator
* 2024/howe - Nice accent eh-ward - mini vi
* 2024/kramer - Prize in linguistic arithmetic - natural language numerical calculator
* 2024/kurdyukov1 - Prize in phased periodicity - phase of the Moon
* 2024/kurdyukov2 - Prize in art restoration - JPEG artifact removal
* 2024/kurdyukov3 - Prize in virtual quietus - gaming VM and doom
* 2024/kurdyukov4 - Prize in embiggening - encode without literals
* 2024/maffiodo - Prize in creative interpretation - Jav\*script interpreter
* 2024/mills - Prize in ℤ₃ - Infocom v3 story interpreter
* 2024/stedolan - Best one liner - icon from MD5
* 2024/straadt - Prize in imitative rebooting - OpenRISC CPU and Linux
* 2024/tmarrec - Prize in cyclonic coding - 3D tornado simulation
* 2024/tompng - Prize in quasi bijection - vortex encryptor decryptor
* 2024/weaver - Sur prize - rickroll

Ran `make update` to perform the above.
 	new file:   2024/burton/.entry.json
2025-08-02 14:43:07 -07:00
..
2020-12-30 16:57:03 -08:00
2023-07-06 21:49:38 -07:00
2024-08-29 12:33:46 -07:00

To build:

    make

The author provided us with an unobfuscated version. There is also a version that scans (ONLY scans) the string https as a starting point in case anyone wishes to add support or come up with a pipeline to make it work with https, as many websites no longer work with http. See Alternate code below.

Bugs and (Mis)features:

The current status of this entry is:

STATUS: INABIAF - please DO NOT fix

For more detailed information see 2005/mynx in bugs.html.

To use:

    ./mynx http://<domain>

You can specify a port by appending to the domain :port. See notes below on the issue of https.

Try:

    ./mynx http://www.textfiles.com

    ./mynx manual.html

Alternate code:

The author's provided unobfuscated code, mynx.alt.c can be compiled and evaluated if you wish to not try and decipher the original entry.

The other version, mynx.alt2.c is a starting point for anyone who wishes to come up with a version (or pipeline) that works with https.

Obviously this will not work with https so easily as it only scans for http in the URL (if not specified it tries to open it as a local file). But even though it scans for https one would need to do more work as it would have to set up a secure connection before http commands could be sent. Fortunately or unfortunately many more websites use https so this entry will not work as well as it used to. If one were to now (2024) try and connect to https://ioccc.org with this entry they'll just get a 301 error.

This alternate code is a starting point that scans for https too (note you have to specify the port in this case) but that is all it does. It will not work with https websites as it stands as it does not set up a secure connection. But should anyone wish to either come up with a pipeline (or some other command line) that allows it to work with https or to update the code to support https they may. Otherwise you must just appreciate the entry for what it once was.

Alternate build:

    make alt

Alternate use:

Use mynx.alt as you would mynx.

For the version that also scans for https you'll have to specify a port at the end of the URL like:

    ./mynx.alt2 https://www.ioccc.org:443

but again unless you have a clever workaround or hack to the problem, this sadly won't work.

Judges' remarks:

This little mynx will give any Fiery Fox a run for its money. A nice complement to last years winning 2004/hibachi. The judges double dare any eager Obfuscationalists to submit the missing pieces to get a functioning LAMP stack.

Author's remarks:

I was rather impressed by last year's mini webserver. So much so that it inspired me to try my hand at writing the client side complement.

A typical build command would be:

    cc -o mynx mynx.c

While some others like to be a little different:

    cc -o mynx mynx.c -lnsl -lsocket

I even managed to figure out a basic configure script, given last year's example, which is kinda of useful when you consider how many OSes put all the network functions in a variety of places. So a simpler build command sequence would be:

    cd source ; ./configure ; make

After which, the rest of the documentation can be read by saying:

    ./mynx ../manual.html