Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vindarel/cl-torrents-web

self-contained, dynamic web app to search for torrents on popular trackers.
https://github.com/vindarel/cl-torrents-web

common-lisp weblocks

Last synced: 5 days ago
JSON representation

self-contained, dynamic web app to search for torrents on popular trackers.

Awesome Lists containing this project

README

        

* Torrents-reblocks

Search for torrents.

This is an interactive Weblocks interface. It's working \o/

http://40ants.com/weblocks/quickstart.html

** Usage

#+BEGIN_SRC lisp
(ql:quickload "torrents-reblocks")
(torrents-reblocks:start)
#+END_SRC

or download a self-contained executable (download the latest artifact
[[https://gitlab.com/vindarel/cl-torrents-web/-/jobs][from here]]), run it: =./torrents-web=.

or clone the project and build it yourself (see below).

Then visit =http://localhost:4000/torrents=:

#+html:

#+html:

** Installation

Dependencies to clone in local-projects (see =make install=):

: https://github.com/vindarel/cl-torrents

: https://github.com/40ants/weblocks

: https://github.com/40ants/weblocks-ui

This project and its dependencies are also available in the [[https://ultralisp.org/][Ultralisp]] distribution.

To build an executable:

: make build

Debian dependencies are =libreadline-dev=, =libssl-dev=, =libssl1.0.2=.

Run it:

: ./torrents-web
#+BEGIN_SRC text
[16:35:53] weblocks/server server.lisp (start) -
Starting weblocks WEBLOCKS/SERVER::PORT: 40000
WEBLOCKS/SERVER::SERVER-TYPE: :HUNCHENTOOT DEBUG: T
#+END_SRC

And access it on http://localhost:4000/torrents (with the =torrents= suffix).

** Deployment on one's private server

There is nothing special to deploy the app to one's VPS. Just run the
excecutable and access the app from your browser. For options and
troubleshooting see https://lisp-journey.gitlab.io/web-dev/#shipping

** Development notes

- after compiling a function and a page refresh, we keep the state of
the app. Only a =reset= looses it. That's nice.

** Troubleshooting

#+BEGIN_SRC text
Don't know how to REQUIRE sb-cltl2.
#+END_SRC

Set =SBCL_HOME= to the output of =(sb-int:sbcl-homedir-pathname)=.

** LICENCE

WTF public licence.