github.com/coyove/chann#chann-anonymous-imageboard I found this while looking for shit to run n my single board ARM computer, what it seems to be is the following; -Dedicated web server -Dedicated database server -chan software itself All in one, all in C/C++ I compiled and ran it but everything is in Chinese, I tried opening the config file and setting the language from "zh-CN" to "en-US" but I was met with a blank screen, it turns out it retrieves text and formatting rules from a bunch of template files and there's only templates for Chinese so I need to make English ones
Trying to upload shit and/or post crashes the Chan and server stack with a seg fault, probably because I compiled this in Cygwin and Cygwin doesn't have permissions to create folders on Windows 10 by default so it can't store images/text anywhere will have to setup my shit later when I has the chances -Default page layout is very minimalist yet more web2.0 than other IBs, I think it looks like complete fucking garbage though
Just figured I would share with you all since this seems like kind of an obscure but neat little project I came across and an IB written in a low-level language sounds like a cool idea
Also there was a demo site setup but it looks like it doesn't exist anymore sadly, but according to the github page, this was the test bench hardware; Conoha, running on CentOS 7 x64 with 1g of RAM. And just that was able to handle the following according to Webbench Demo site's front page 77,000 pages/minDemo site's 10th page 74,000 pages/min
Seems pretty damn impressive if you ask me
Andrew Lewis
Bump for Trump
Jackson Myers
Thank you good sir, but careful you don't trigger the SJs
Leo Anderson
meh
also the source looks like a rat's nest
Thomas Rivera
How many imageboards do you know are written in C/C++? Someone should fork it and clean it up
Adam Nelson
It compiles to a little over 2 MBs, that's not bad actually when you consider it comes with its own server and db
I'm not sure how useful it would be for running on multiple machines like an actual server rack
Jayden Foster
Nah. Whom I have triggered, I have triggered.
Dominic Price
none, and *written in X* isn't something you should generally care about for anything more learning material. there are better and far more maintainable ways to go FAST on a problem like a web applicaion.
Camden James
Except most languages are crap, but C is solid and easy to tinker with.
Luis Watson
that's a bad sign: you want active developers on something as stupid as a dynamic website written in a language without memory management.
Jose Smith
Considering your inability to develop in it, by suggesting that others clean it up, maybe you should try not having opinions on it.
Sebastian Mitchell
Why? It's full of bad ideas, the code is a wreck, it's unsafe, there are magic numbers everywhere for buffer handling, etc..
Julian Murphy
are you suggesting that C89 is not the best language ever written and objectively the best tool for all tasks?
Jackson Gray
he was suggesting that he fisted your mother while you spouted epic /g/ maymays.
Jaxson Baker
Well I have it running on my ARM PC now The entire stack was crashing at first everytime I made a post, I realized I actually had to create the needed directories and files myself, which is just the /dump/ directory for dumping text and /db/database.db which should be self explanatory
Its fast, and it actually doesn't look too bad in all honesty, I still can;t upload images without the stack seg faulting again though so I assume I need to create the image directories manually as well
Overall neat idea but too shady for me to want to deploy it in the real world
It was last updated 4 months ago if its any consolation
Gabriel Flores
Looking through it, it even supports captcha and allows users to delete their own posts, some elements of the page are even decorated with fluid animation like drop down menus
I gotto hand it to the chinks, this isn't too shabby given what it is
Ian Gutierrez
I'd never write a website in C as it's a bad fit. Sites have a extremely high rate of churn and need a security barrier between users, neither of which C is good at dealing with efficiently.
Leo Wilson
I hope you realize the real security bits of most websites, the server software itself, is written in C/C++
Angel Thompson
Churn on a webserver is low. Websites themselves tend to go through frequent redesigns. Again, C is a bad fit for high churn.
Isaiah Cruz
Yeah, but I don't see anything wrong for sites that don't go through high redesign like imageboard
Christopher Ward
Got images to work finally, made a wild guess and figured I needed to create a /images/ directory in the stack root and I was right
I gotto say I'm having too much fun playing around with this
Eli Anderson
You've seen the quality of programmer that writes an imageboard and the amount of maintenance those running them are willing to do. Still think C is a good fit? In order to be at least as fast as the traditional web languages the C code would have to handle multiple users in the same process, now what happens if someone finds a crash bug and pokes it once a second or so? And how long would it take someone like kikewheels to debug and fix that?
Lincoln Myers
That's the beauty of C, its small, the entire stack is a little over 2 MBs compiled and this included the server and database libraries so I imagine it wont be hard at all to debug problems like if some faggot found a way to crash the server, fixing the problem might be something else all together however...
In theory a dedicated chan server stack would be more secure than a conventional chan software since its less likely you'll run into security holes through a misconfigured database or web server
Aaron Sanders
You really have no idea, user. Since you mention database, here's an example nightmare.
Let's say we're using sqlite as the database. In a web language like python that runs in the same process as the site's code so let's do similar in C for similar speed. Now you ask Josh to add kikewheel's emojii for his language to the post form and Josh somehow manages to create a bug that writes to a bad address in the process. This address happens to be relative to the db table last used (leftover pointer on stack) and usually causes no harm due to sqlite's page layout. Since the memory is mapped, valgrind will not catch this bug, either. Also, since it's mapped, this bug is writing to the file. Several months later, someone changes the db schema for some other feature and this remaps the table pages during the migration. Suddenly that old bug hits table structure rather than empty space which effectively destroys the whole database as it is now totally unreadable by sqlite's tools (they suck, by the way). Kikewheels reverts the schema change and restores from backups which he surely has since he is a responsible and diligent admin. These are in the form of a text export as per best practices with databases when not using filesystem snapshots. When re-importing the data, the table / page layout differs from what it was back when it was working since it's being built from scratch and the site promptly corrupts the database again even though the modification was removed.
The site's totally down, nothing you can see differs from when it was last working, no tools will detect this bug automatically, and the clock's ticking: debug that.
This kind of delicate coding and difficult maintenance is why people avoid C for websites. It's a poor fit. Btw, the above is a bug from personal experience although it wasn't a website.
Jace Martin
Ouch, tough break bro, did you manage to get everything working on schedule?
Isaac Phillips
There wasn't really a schedule as it was more like "shit's on fire, stop it being fire", but I got it fixed within 24 hours (of not sleeping). There were a lot of suspected causes I was told that were false leads, it'd have gone faster had I just ignored everyone.
Easton Ross
Go back to Holla Forums with your pet retard.
Leo Gonzalez
Anyone here know Chinese?
Levi Taylor
...
Michael Clark
...
Asher Murphy
...
Samuel Foster
You can see the page partially translated in google Translate in my screenshot here;
I would totally be down for this if it was secure, I just don't know how secure this could possibly be, it doesn't sound like it would be too hard to send a buffer overflow to the server and fuck everything up
Ian Diaz
Go back to >>>sjw.
Charles Edwards
If you're writing a website in C++, you'd better be using separate, incompatible types for input vs checked/endogenous values. And everything else you can think of.