Git Product home page Git Product logo

conduit's Introduction

Conduit

logo

Build status build-on-push

Easy demowatching - a single click bringing you the finest in computer art!

pouet demozoo

How to use

  1. Download and install Conduit via the handy dandy installer - this will install a handler for the conduit:// URL scheme
  2. Optionally, run Conduit and use the options dialog to set the path where your demos will be downloaded - by default this will be the "Demos" folder in My Documents.
  3. Install the browser plugins for Firefox or Chrome
  4. Visit a page on Pouet or Demozoo and click the newly visible link to have the demo downloaded, unpacked and ran at your leisure.

Browser plugins

Supported

  • Platforms: Windows, OSX (with Mono), Linux (with Mono)
  • Sites: Pouet, Demozoo, CSDb
  • Unpackers: Anything that's supported by 7z
  • Runnable platforms: Windows, DOS (with DOSBox), C64 (with WinVICE), web browser (not yet autodetecting browser), PICO-8

Possible future expansions

  • Browsers: Edge
  • Runners: Amiga (with WinUAE), Atari (STeeM), other uses of WinVICE
  • Unpackers: LHA

Companion apps

conduit's People

Contributors

gargaj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

conduit's Issues

Insecure Connections

Right now, if I'm running any cns demo, it is downloaded over HTTP. This can be an issue for numerous reasons and since there's no code signing / checksum verification taking place can be escalated into remote code execution on networks where an attacker can man-in-the-middle.

Here's some suggestions:

  • Warn the user if the file is downloaded over an insecure connection. Include file size.
  • Check the demo type and executable file size. Warn if it's way off from what it should be.
  • Include checksums whenever possible
  • Get TLS on conspiracy.hu. Seriously. Please.

This can be especially bad because the attacker can provoke the download to happen via the custom URL protocol (e.g. by blocking/redirecting traffic to trigger a captive portal site to load).

EDIT: Even api.pouet.net is not running over a secure connection. This makes it almost trivial to replace the download URL.

7-Zip support

while .zip still being dominant in the scene, it seems 7z gradually emerges on the scene.org file archive.

Simply having the support of 7-Zip (software) might be nice since it also decompresses RAR.

https://files.scene.org/search/?q=.7z

support for demozoo/music/ and demozoo/graphics/

currently conduit only works for demozoo.org/productions/
would be nice if it would also work for /music/ and /graphics/, mostly for the c64 releases, where it's better to see hires images in action rather then the screenshot and the music usually has an animated screen.

Janeway demos and intros run-bar

Hi! What about coding a thing that you can run a production from Janeway/Bitworld/Kestra by just pasting the url of the production to a run-bar? Something like this https://www.neilb.net/n64wasm/ but instead of having a drag/drop window you'd just paste the production url and run it that way?

Front page thingy

  • Pull data from Pouet/Demozoo API to fill front page with recent prods
  • Search?

Runner overhaul?

Instead of specific code-based runners, have the user configure a list based on extension?
(I.e. they could add a VICE exe to .D64, or TIC80 to .TIC)

Problem: how to distinguish DOS / Windows EXEs based on extension only? (Maybe treat EXEs as an EXEption?)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.