prog


How can I run my own instance of this

1 2019-01-21 01:37

Say I want to make a text board using this script How would I go about making more boards in customizing the index to my liking

2 2019-01-22 21:33

A request to /someboard/ will have nginx try to read the cache in /data/html/someboard/index and if doesn't exist, the backend will generate it from scheme code in /data/sexp/someboard/index

So if you want to have board1 and board2 in your textboard, you need to (manually) create those directories

/data/sexp/board1/
/data/html/board1/
/data/sexp/board2/
/data/html/board2/

There's no automated index of boards but that's trivial to implement. Neither is there an automated procedure to generate those directories. I had a very short time ahead of me to finish the program and really halted the development as soon as I had something working. (I'm living a weird life right now, with very few opportunities to use an internet connection at all)

The relevant parts of nginx.conf would be:

    upstream http_backend {
        keepalive 20;
        server 127.0.0.1:8080;
    }
    server {
        listen 80;
        server_name  textboard.org www.textboard.org;

        location / {
            root   $prefix/data/html;
            default_type text/html;
            index  index;
            try_files $uri $uri/index @schemebbs;

        location @schemebbs {
            proxy_pass http://http_backend;
        }
3 2019-01-23 11:30

>>2
Thanks for the auto overflow.

4 2019-01-23 12:01

>>3
You're welcome, sorry for the delay.

5 2019-01-23 16:49

Thanks for the tip man I will be working on this as soon as I get back home in April also advertising your board allowed here

6 2019-01-25 21:53

>>5
Really nginx does a lot of the job, it serves html pages directly without asking Scheme for instance. A lot of the routing too. That's how things get reasonably optimized.

I did a lot of research for a fast Scheme web server, Guile was the fastest by far but still a bit behind what could be done.

Chez Scheme is disappointing there. There's a nice chinese project with bindings for libuv but it's awfully unstable: https://github.com/guenchi/Igropyr

7 2019-01-26 17:55

>>6
Did you run a benchmark? What did you find?

8 2019-01-28 14:41

Is it possible to get a self assigned as SSL certificate working with this board Well you can run it using a Web server so I think it's possible Of course she had don't want to use a self assigned you want to find a valid one

9 2019-01-28 14:44

What are those 2 boxes on the bottom there that say do not edit Is there a possibility to remove those

10 2019-01-28 21:09

>>9
Those are in a fieldset hidden by css:

<FIELDSET class="comment"><LEGEND>do not edit these</LEGEND>
<P><INPUT type="text" name="name" class="name" size="11"><BR>
<TEXTAREA name="message" class="message" rows="1" cols="11"></TEXTAREA></P></FIELDSET>
fieldset.comment {
  display: none;
}

If you see them in your viewer it doesn't respect that rule. The input is "name" and the textarea is "message", but their actual function is something the board owner might elucidate.

11 2019-01-30 08:39 *

>>7
I did run extensive benchmarks for every web servers in Scheme, old and news. I was planning to publish them but I don't have them right now.
>>10
It's a simple honeypot for spambots, better than captchas and other annoyances and good enough for a small textboard. I don't know how you can remove them with emacs, CSS rules do that for web browsers.

12 2019-01-30 17:54

>>9-11
grep and other tools could do it on the webpage so you can probably hide these honeypot fields with emacs. I'd be interested in a solution.

13


VIP:

do not edit these