IB software written in C

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

Other urls found in this thread:

github.com/ololoepepe/ololord
github.com/cesanta/mongoose
phpcompiler.org/
mewc.to/cgi-bin/mewbbs/
twitter.com/SFWRedditVideos

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

Bump for Trump

Thank you good sir, but careful you don't trigger the SJs

meh

also the source looks like a rat's nest

How many imageboards do you know are written in C/C++? Someone should fork it and clean it up

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

Nah. Whom I have triggered, I have triggered.

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.

Except most languages are crap, but C is solid and easy to tinker with.

that's a bad sign: you want active developers on something as stupid as a dynamic website written in a language without memory management.

Considering your inability to develop in it, by suggesting that others clean it up, maybe you should try not having opinions on it.

Why? It's full of bad ideas, the code is a wreck, it's unsafe, there are magic numbers everywhere for buffer handling, etc..

are you suggesting that C89 is not the best language ever written and objectively the best tool for all tasks?

he was suggesting that he fisted your mother while you spouted epic /g/ maymays.

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

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

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.

I hope you realize the real security bits of most websites, the server software itself, is written in C/C++

Churn on a webserver is low. Websites themselves tend to go through frequent redesigns. Again, C is a bad fit for high churn.

Yeah, but I don't see anything wrong for sites that don't go through high redesign like imageboard

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

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?

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...

github.com/ololoepepe/ololord

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

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.

Ouch, tough break bro, did you manage to get everything working on schedule?

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.

Go back to Holla Forums with your pet retard.

Anyone here know Chinese?

...

...

...

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

Go back to >>>sjw.

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.

Just use
github.com/cesanta/mongoose
with tinyib.

No.

you're the swj
now go.
>>>Holla Forums

tinyib is too basic, so basic it like futallaby but with a few extra features

That's kind of the point fam, to be lightweight

How can I setup a proper database for TinyIB and Mongoose? Do I just configure TinyIB to use SQLite?

What a mess. Never use it.

...

phpcompiler.org/

mewc.to/cgi-bin/mewbbs/

would be nice if there was more context and not some vague shady ftp p-age with no thumbnails

Maybe look up the domain or parent directory.... Or is it you can't read source code?