Can we fucking wake up here sheeple? We need a SchemeBBS. We need to restore all of prog.db in it. This regex crap the admin does is no good right now for the job.
The VPS I started hosting for >>15-san's project is still up but he hasn't connected to it in 2 weeks.
Name:
Anonymous2015-06-23 15:59
>>169 i can put the server back on it for testing ill get on the irc
Name:
dubzbot2015-06-24 3:16
Adding all dubs to the block chain.
11 Name: Anonymous : 2015-05-26 14:45 Let's discuss BBS design for a bit here. Having plain text threads that posts get appended to is simply god-awful. Why not have each individual post get its own file? ------------------- 22 Name: Anonymous : 2015-05-26 18:43 >>20 And making a script that interacts with said API would be the rite of passage for every potential /prog/lodite? Great! I've always wanted this place to be filled with appers and web devs! ------------------- 33 Name: Anonymous : 2015-05-26 20:14 >>13 CL-BBS (/clēbs/) Do you also pronounce NNTP "neenootup"? Moron. ------------------- 44 Name: Anonymous : 2015-05-28 10:12 If you actually get dubs, someone post em so I can check em please ------------------- 55 Name: Anonymous : 2015-06-08 13:02 nice1--preddy nice ------------------- 66 Name: >>50,53 : 2015-06-08 19:40 I checked it into the Fossil repo, under schemebbs-fcgi/ (didn't want to cramp the style of the Racket-only guys).
I do not claim to be an EXPERT PROGRAMMER. Comments and derision are welcome.
>>43,65 I'd love to but I need to spin up a VPS that I can lock down (and attempt to separate from everything I have my name attached to) first. ------------------- 77 Name: Anonymous : 2015-06-15 18:44 >>76 That wasn't indefinite though. ------------------- 88 Name: Anonymous : 2015-06-16 01:29 >>86 Check my rule 88 ------------------- 99 Name: Anonymous : 2015-06-16 19:48 >>96 Also, moderation is shit. The moderator is no better than the ones he moderates, no less evil, in fact often moreso, because his vileness is amplified by the power he possesses. ------------------- 111 Name: Anonymous : 2015-06-16 22:43 implying immoral activity harms society
- child porn is "immoral" - medicine requires child porn to study child anatomy - medicine is "immoral"
- human genome contains information to produce child porn - human genome is "immoral" ------------------- 122 Name: Anonymous : 2015-06-17 15:17 >>121 The Talmud is a Jewish literary collection of teachings, laws, and interpretations based on the Old Testament Torah. ------------------- 133 Name: Anonymous : 2015-06-18 21:56 >>132 some parts of it probably will
This is unacceptable, obviously ------------------- 144 Name: Anonymous : 2015-06-19 04:12 >>143 oh shut up ------------------- 155 Name: Anonymous : 2015-06-19 10:06 >>154 p much, so what's on for the weekend? ------------------- 166 Name: Anonymous : 2015-06-21 16:07 >>164 He'll be back eventually. ------------------- d1bc99abd2334730be764110cdd0160bd53c09acdffb4cd423ac96051420564a
You have to compile the wrapper to use term output instead of html. I also had to add "m" to the lexer/parser declaration in term.h.
's <post id>' to read a post. 'r' to reload. 'l' to show the list again. 'q' to quit.
Python is shit at running everywhere and i'm not going to do any packaging but it should be easy enough to figure out what the problem is if you are really trying to use this.
from sexpdata import loads, Symbol from sexpcode import sexpcode import colorama from colorama import Fore, init as cinit from datetime import datetime from pager import page import requests import re from prompt_toolkit.shortcuts import get_input from prompt_toolkit.history import History
def req(q): r = requests.post(SBBS_URL, data=q) return r.text
def iter_from_post_str(in_str): for s in re.finditer('([^\n]+)?\n', in_str): yield s.group(0)
def post_dict(post_sexp): post = Post() for couple in post_sexp: if type(couple[0]) is Symbol: sym = couple[0].value() if sym == "id": post.id = couple[2] if sym == "date": post.date = datetime.fromtimestamp(couple[2]) if sym == "reply": val = couple[2] if type(val) is Symbol: if val.value() == "#f": post.reply = False else: post.reply = int(val) if sym == "post": post.body = sexpcode(couple[2]) post.title = unicode(post.body.split('\n')[0]) if len(post.title) > 50: post.title = post.title[:50] return post
def load(all_posts): post_txt = req("(posts> 0)") loaded = 0 for o in loads(post_txt): post_obj = post_dict(o) if post_obj.id is not False: if post_obj.id not in all_posts: all_posts[post_obj.id] = post_obj loaded += 1
if post_obj.reply is not False: all_posts[post_obj.reply].replies.append(post_obj)
def show_tree(all_posts): shown = [] for k, v in all_posts.iteritems(): if k not in shown: print_post_summary(v) if len(v.replies) > 0: for reply in v.replies: print_post_summary(reply) shown.append(reply.id) print "\n"
I added a front page (http://hz27w5o3zlhptx7v.onion/) and started on a read-only JavaScript client. My python client can make posts now but it is a mess so I am not going to show it again.
>>183 OK sure. Why is it that the torsocks 'homepage' seems to have disappeared from the Internet?
All these documents/guides I am reading keep referencing it and it goes to a dead Google code repo, which forwards to the Tor project hosted gitweb that has no docs.
The Tor wiki is in pretty bad shape, I only realized I was reading deprecated documentation after reading your post.
It's full of fucking html though. I'm not even completely clear on why I'm restoring this in the first place? I guess I could write a thing to convert the HTML and do like the most recent 500 threads or something. Doing all of it seems overkill
Name:
Anonymous2015-07-15 17:39
>>189 Be aware there's a lot of malformed html due to bbcode glitching. It's all over /prog/ and to a somewhat lesser extent /lounge/.
Might as well just set it up so that new progrider posts show up on schemebbs and vice versa
Admin-sama justifiably blocked all Tor exit nodes so my server would have to connect directly to post into progrider threads
I'd like to believe xe wouldn't doxx me
Name:
Admin2015-07-17 1:46
>>194 If you want I can just set up a hidden service address for the board and give only you the link for server-side sync purposes. I'll probably at least put up a read-only hidden service address for this in case ICANN pulls more bullshit in the future.