Blazechan

Hello everyone. I've been working on this project for a while and I'd really like some feedback.

The project is hosted at github.com/mission712/blazechan for now. I'll move the project to GitGud soon.

Right now what I'm looking for is ways to improve the current chan format. After preparing the page templates I'll integrate it into a page builder and start preparing the database.

I expect to complete the project by October.

What are your thoughts about this?
pls no shitposting

Other urls found in this thread:

en.wikipedia.org/wiki/Don't_repeat_yourself
hanako-imageboard.rhcloud.com/en
github.com/Vladimir37/Hanako
github.com/Floens/uchan
lynxhub.com/
gitgud.io/groups/InfinityNow
16chan.nl
lynxhub.com/.media/ad98c56a09723f46a99a73a7eaba5967-imagepng
lynxhub.com/.media/ad98c56a09723f46a99a73a7eaba5967.png
w4ch.org/b
sprunge.us/DOAI
twitter.com/SFWRedditGifs

...

you should literally fucking end your life

...

looks like shit

try again

How can I improve the style?

Remove this Web 2.0 "text in a 10% width centered column" bullshit.

I concur with this user

Are you the board owner of /wx/? Because that layout almost looks like the failed abortion of a layout they recently applied to that board.

I'm down for making new chan software and all, but holy shit stop trying to reinvent the wheel.

You will be a hundred times better off cloning the layout of 4chan or Holla Forums and then spending 99% of your development time on the backend.

We don't want Web 3.0 garbage or "brilliant" new ideas for the layout to fit on iToys. The chan format has stood the test of time for decades because it is simple, clean, clear, and scales on fucking everything.

I've looked through your repository and I can think of some other reasons to dislike it.
- uploading your SQL login information, with a password that looks personal enough to use on other accounts
- using PHP
- meaningless filler commit messages like "code improvements"
- misuse of SQL by making a query for all bans on a board and then looping through the results in PHP to find a single entry
- copy/pasted blocks of code ( en.wikipedia.org/wiki/Don't_repeat_yourself )
- there's a file with "// hi" at the start and "// bye" at the end

I agree here. I fucking hate the layout. The board is literally 10x slower than what it was before hand due to that shit I swear. My tab almost crashes everytime I try and view the replies. I just wanna beat my dick off.

Have any of you faggots messed around with Hanako?
hanako-imageboard.rhcloud.com/en
github.com/Vladimir37/Hanako
I stumbled across it last year and haven't seen it implemented or actually discussed anywhere yet.

5/10 OP you tried

I'm also interested to see if you can deliever.

kill yourself

all me

You can go to site options and switch back to Yotsuba B.

Not OP but I fucked around with the css for Infinity Next/16ch recently. I'd like something like that.

Is that ARC I spy?

Good eye, user.

Here is your golden star you special fucking snowflake.

Pick one

if you run the code on PHP7, the performance looks good. user, if you aren't using a PHP framework, it looks like you're doing pretty good.

Your logger class is pointless. Just write to stderr and configure the webserver to handle it. Or better yet, don't silently swallow fucking database exceptions in the first place.

PHP 7 while being much faster then other PHP versions is still fucking slow as shit.

...

This seems safe
shell_exec("file --mime-type -b ".$files[i]["tmp_name"])

I personally don't mind it; I think for shit like that I value the lesser eye travel distance. If post boxes are too long I often find myself getting lost in the content.
This isn't some hipster web design thing, you can see it in '80 characters per line' stuff on terminals.

Hello fellow goys. OP here.


I can fix those. I started development on 4/19, and I plan to not rush this. Also the mysql info is for a test server on a chroot in an Android tablet only accepting from 192.168.2.* range. I don't use the password in no other databases.

Yeah, I experimented with an improved chan style format. I'll revert it if public opinion is negative though.


PHP7 fixes performance problems, which is recommended for Blazechan. I'm also not using any frameworks that slow the site down to a crawl.

PHP7 and no frameworks.

Read above.

Ugh, you're right. I over sighted a possible | pipe. I'll need to do something else.

Pro tip: Don't use shell exec
It only takes one small fuck up on your behalf or on anything else that is protecting it before your entire server may be damaged

Few other problems
PHP7 is still slow as shit even compared to python and that's saying something
also If you're trying to make it fast, why the fuck do you select all bans in SQL then iterate though them in PHP checking for the ban?

And into the trash you go~

You're right.

What can I use to find out the file type? I heard that some mime types can be forged.

Have another sage and die a painful death.

here's your (You)

All good things come in threes~

And here's another sage how's that my friend?

You are actually wasting time sageing this thread. It must suck having this much autism, I feel sorry for you.

What is that? You'd like another one? Here you go~

How does that feel, my dear OP? I disrespect your shitty attempt at a project, I disrespect your thread, I disrespect you.
How does it feel to receive this amount of disrespect?

...

It feels like someone escaped the mental asylum to shitpost in this thread.

You won't be another moot, you won't be another hotwheels, hell, chances are, you won't even receive the amount of acknowledgement the smallest of chan devs do.

Your work will never be used by any person besides you, nobody will praise you for it, nobody will care in the slightest whether you continue or stop.

It will die quietly, just like you will die quietly one day and nobody does want to be your friend.

No. Asm/C/C++ or bust.

You try making an imageboard with ASM then I'll admit defeat. I know how to PHP so I use it. There's already a python imageboard by Floens. I'm not forcing anyone to use my imageboard.

btw i removed the centered threads and returned it to original style.

This user is right:
You're just wasting your time. Either make something new and cool or support already existing software.

kek

Meh. Maybe you're right, but this is more like a programming challenge.

My aim is to reach 100 requests/second.

OP, don't listen the the butthurt shitposters, they couldn't do any better. Anyway nice software, been playing around with it for a bit

It's alright user. Though if I thank you I'll just be bomberded by shitposters again. The engine is barely finished and I need to implement boards, threads and posting. If you ever wanna help just send in a PR.

I really like a girl but she is tech-illiterate. Should I still pursue her? It's obvious she also likes me.

Just a question, will you continue this project or abandon it? Because i'd really like to see this finished. Also will you include an install.php?

>>>/adv/

I've decided to continue despite what shitposters keep on babble. I will include an install.php, however don't expect it anytime soon.

Could you make a board where you post updates about it?

I wish chan devs would work together instead of making dozens of half finished boards full of security holes

github.com/Floens/uchan
github.com/Vladimir37/Hanako
lynxhub.com/
gitgud.io/groups/InfinityNow

I wish people would just contribute to Infinity Never

Dividing boards too much will just make less people see it. Maybe if it gets enough attention to grant its own board i will.

I'm currently working on something to redirect all files that are missing via nginx.

Jesus christ mate, calm down. OP is just showing something he whipped up.

c-c-calm down, y-y-y-you're g-g-giving me t-the feels a-user-sama

All jokes aside I don't give a shit about becoming the next profigy kid of the chans. I just want to make software that can help people.

I'm logging off for now. When I wake up I'll do more. So far I've made some pseudo code that nginx redirects to when it can't find the file. It's engine/read.php that will be included in the next commit (5 minutes-ish)

to be fair, I tried hosting his software on my site but it won't let me post or visit threads, setup was also nonexistant.
what the fuck kind of shit is this, OP?

I'm sure someone has written a PHP library.. skid away

Cause 90% are autistic
I'm not OP but If I see a decent chan I would instead of coding my own. To be fair mine is designed to not break after a single post

Nothing more true has ever been said.
I think anyone who expects their projects or attempts to blow up will find themselves sad.

I think the only reason you should be making one is a learning exercise.

Did you miss the part where I said this was in the very early stages and didn't have posting/threads?

My reason is exactly that: practice.

I did, I'm a retard.
will host your software once you get everything set up though.
keep us updated.

Well it's 3 am here so i gotta go to sleep. And I need to get up at 6 am. Fuuuuuuuuucckk

that sucks, sleep well for what time you have.

Good work cheering him up bro.

Took you a mighty amount of time to respond to me, so I guess I hit a nerve, didn't I?

You'll never be e-famous.
This waste of lifetime will never amount to anything.
You'll never, ever be e-famous.

Nice job encouraging him. Now that's just cruel, guys.

And...?

There are people who actually wanna see my shitty code. I don't care about autists spewing their shitty memes all over the place. You are free to not post on this thread if you really hate my software this much.

You can fix those, but they're a bad way to start. You shouldn't have done those things in the first place.

The first point means you don't know how to keep things out of git.
The second point means it won't be blazing fast.
The third point means you don't know what commit messages are for.
The fourth point means you don't know enough about SQL to realize lookups in PHP are wrong.
The fifth point means that you don't know how to write good code in general.

If you do know all of those things, and just didn't bother with them for some reason, it's even worse.

Hello goys, OP here. I'm currently working on a cache system that will build pages/threads to RAM and invalidate when a new post was made.

Holla Forums is dead.

bumping thread with progress. Templating the index pages

I've been looking for an alternative chan software to run on my little ARM server since TinyIB a shit

Will this support SQLite?

Can you please fix this part of your code? It's almost offensive.
function check_bans($board, $ip, $mcd, $logger, $pdo) { // $mcd = memcached if (!($banlist = $mcd->get("ip_banlist".($board ? "_".$board : "")))) { if ($mcd->getResultCode() == Memcached::RES_NOTFOUND) { $stmt = $pdo->prepare("SELECT * FROM `banlist` WHERE `board` = ?"); $stmt->execute(array($board || "")); $list = $stmt->fetchAll(PDO::FETCH_ASSOC); $mcd->set("ip_banlist".($board ? "_".$board : ""), $list, 3600); if (!array_search($ip, array_map(function($row) { return $row['ip']; }), $list)) { return false; } else { // banned users can wait a little longer for ban-page foreach ($list as $row) { if ($row['ip'] == $ip) { return $row; } } } } else { $logger->log_error("BANLIST", sprintf("Unknown memcached error %d", $mcd->getResultCode())); } } else { if (!array_search($ip, array_map(function($row) { return $row['ip']; }), $banlist)) { return false; } else { // banned users can wait a little longer for ban-page foreach ($banlist as $row) { if ($row['ip'] == $ip) { return $row; } } } }
If you want to end up with good software you need to make it good at every step along the way, not write something crappy and try to repair it later.

I'm gonna fix it real soon. Gonna sleep now.

Does SQLite support MySQL syntax?
If so I can make it a config option.
Also will try to move to Postgre tomorrow. I'm off work on Monday.

SQLite supports SQL syntax. MySQL supports SQL syntax. SQLite is not a superset of MySQL.

The queries you have so far (i.e. only the one just posted) are portable to SQLite.

Sweet. There will be an option in engine/config.php like this;
"database" => "postgre",
But i'm real sleepy. I'll implement it tomorrow.

(BTW the site mostly uses APC now so I'll need to update it based on that. I'm fucking sick and tired of Memcached's quirks.)

5 seconds in mspaint

Just PR my shit up. I'll accept it in 8 hours.

someone else can do that, I ain't touching github with a 10 foot pole

Noice man, I look foreword to it

Postgresql and SQLite compat... Check.
Shitty code replaced with ... Check.
Now working on templating posts and pages.

He probably was trying to decide how far autistic he had to go for you to understand it. Let me take a shot.

m gonna punish u punisher put u in my sex chamber u dig make u my little nigro bitch u dig

Stay mad you can't code for shit, you beta fuck. This blazechan shit is crap, yes, but better than anything you could come up with. That's why you're so angry.

So, while I finish cumming all over your mother's mouth, please, do write some rambling back.

See you at breakfast, son.

Daily reminder that github.com/Floens/uchan exists and not written by a poo in loo

see

You'd have been better off writing a dynamic imageboard in golang, where you'd actually be able to have features that none of the other far more "developed" (read: pile of dog shit) PHP imageboards provide.
This code is going to help anyone, there's already hundreds of different versions of PHP imageboards that use static file caching.
Or at least you could've started off by writing static files to mongodb, redis, or anything else but disk, but apparently you somehow fucked that up too.

It does not write to disk. the Holla Forums index is a showcase to show how it looks before it is templated. I'll remove it after i finish templating.

Also I have no idea where to start with Golang. I chose PHP because I am used to it.

Suit yourself man, NIHing shit is fun but you're not going to help anyone.
There's hundreds of projects out there you could've contributed to, but fixing the big issues with them obviously isn't fun, nor will fixing the big issues that you'll shit out with your NIH project.
Don't delude yourself thinking you're going to "help" anyone, if you wanted to help you could've fixed up an already active project.

The problem is that the active projects are;

Worst out of those is helping Josh if you know PHP. Most developed. Needs some big un-fun problems solved as well as a lot of small, fun features. I don't see how helping an AGPL project is bad at all.
Otherwise learn golang, literal indian H-1B churn shits it out at Google.

...

Best out of those, rather.

I've looked at that codebase, it requires a lot of cleanup because Floens forked it babby's first flask project.
Otherwise it's alright, but emphasizes plugins and might be a pain in the ass to extend for everything you've come to expect.

What would require cleanup? Looks good to me, much better than what the PHP pajeets have been shitting out.

The code quality was simply lacking when I looked at it for a Flask project or Python in general, hence babby's first Flask app, it's not Floens fault it's what he forked it from.
I'm sure he's been cleaning it up a lot and adding nice features, so if you have the time to help him it'd be nice I guess.
But again, it's a simple imageboard and the maintainer doesn't plan to make Tor a first class citizen, and further hands off captcha to google.
People should expect this shit from a modern imageboard where anonymity is emphasized. Otherwise you might as well use a far more developed alternative that does more. There's hundreds.

Why do you think it was forked

Alrighty, templating the threads and indexes complete. Now working on implementing the cache builder.

I'm tired. Committing 33% done cache builder. Will finish it tomorrow. Cheers Holla Forums

Some advice for OP.

Design the theme/skin after everything else is done.

The important part is having the backend work as good as possible, after getting that done you can work on the skin to your hearts content.

So just stick Yotsuba B or Tomorrow on it until it's fully functional.

Josh's absolute refusal to understand that point or compromise his "vision" for how Infinity Never looked was the earliest warning sign of what was to come. Pigfeed ended spending more time fighting with people pointing out the flaws then he did fixing the massive structural issues that resulted in the failed migrations.

When you have a test site set up you can make a board specifically for testing new themes, but until then it's best to not change anything about the look.

Because having some shiny, "cool-looking" Web 3.0 frontend is often a sign that the person making an imageboard software has no clue what they're doing and trying to cover that up with stylish graphics that add nothing of value.

Also, make a big FAQ page on whatever git host you use. Whenever you answer a question, copy-paste the question & answer to that page. Then whenever someone asks you something you've already answered you can just link them there.

Much faster & more through then just trying to answer the question every time it's asked.

Got it. I'm done with theming etc. for now anyway and working on a cache builder to serve threads.

Oh my god is this retard still working on his shitty IB that no-one will use?
Why haven't you killed yourself yet?

Because I don't care what anyone spergs about?
I don't care if I won't bring a revolution to chans.
I want to make software that works.
Therefore I don't give a fuck about your sageposting. We have seen a lot of it just above.

wewlad

Lets just make this a general about Chan software
What do you think is the best/most polished chan software? I honestly vote TinyIB because its a very modern yet minimalist/simple chan software that doesn't try to do everything

Supposedly Vichan (Formerly Tinyboard) isn't being developed anymore because the " the old cruft has accumulated beyond repair."

I heard a lot of shitty things abut Lynxchan too but its hard to tell wither it was directed at the shills shitposting about their shitty dead chans we should move to like dead end-chan

InfinityNext was fucking horrible when Josh deployed it here but supposedly its working better now maybe? Josh being a pissy gay furry lolcow or not its still code that costs a thousand fucking dollars so it has to be worth at least a percentage of what it costs right?

I ask you the same.

I know the developer of vichan thinks vichan has some severe problems, but he works on Infinity now and he's fixing it up a bit. I don't know if he still works on vichan.

Lynxchan is alright for normal users, but almost everything related to moderation has problems, because StephenLynx didn't bother looking at that part of existing software before designing his own. These are some of the problems:
- Most post moderation tools are squashed into a single box at the bottom of the page, with a lot of fields that don't apply to all actions but aren't clear about it
- When a reported post is deleted, the report stays until it's manually dismissed
- When a post gets multiple reports, all reports except the first one are silently discarded
- The report queue doesn't show the reported posts, only the reports with links to the posts that don't work any more if the post they're for was deleted, or make you think the thread was reported instead of the now-deleted post because the anchor doesn't exist
- The logs are not divided by board, but they are divided by day, so searching for something is almost impossible without a script
- Board owners and volunteers can see IP hashes, but they can't see posting history (although the functionality is implemented for global staff). This makes moderation a lot harder, but it doesn't do that much to help the user's privacy because the information is still accessible and could be scraped.
There are some other things. I've talked with StephenLynx about all of them, but he doesn't care enough. Still, the rest of the website works well, so I'd consider using it. It's pretty easy to set up.

Infinity Next's performance was horrible because of several problems. One of them was related to Laravel's handling of databases, and is fixed, and one of them was Hotwheels' captcha, which is now also fixed. It's working well on 16chan.nl . I personally really like it, but I can see the modernity scaring people off.

Seems like you should try the moderation tools of uchan

I can't find many. I created an account and a board, but I can't find anything that applies to moderating posts. The things that I did find look decent enough.

There's the report screen, moderator rights control and mod log for now. Most things are hidden for non admins. You can access the moderator rights screen, where you can add other moderators to your board and set what rights they have. The mod log shows what actions the moderators did. The reports don't have any issue that you mentioned about Lynxchan. Reports are linked to posts and as such get removed when the post gets removed. Reports holds a counter for how many reports it got.

Hello Josh

Lol I bet you were that one sperglord who kept complaining about the theme. Get a life, nerd.

Don't do this. Use a ArrayAccess wrapper around it and you wouldn't have to change half the code.

delete it

stephenlyynx went full retard with his latest update of lynxchan:

the images no longer have file extensions, so its -imagejpeg instead of .jpg.

Why would anyone do this? Doesn't it kind of fuck it up for people wanting to save as the original filename?

Don't forget that files are stored base64-encoded in mongodb.

What the actual fuck

Blazechan is not dead. I'm just working on a deadline for a web project right now. Will commit a working cache builder either today or tomorrow. Any help in the form of guidance, issue opening and PRs are gladly accepted.

You're doing a good job m8 ignore the faggots

I bet when gridfs bites you in the ass for threads you'll pretend no one gave you any advice either.

Why lynxchan is shit:

The new update has media links like this:
lynxhub.com/.media/ad98c56a09723f46a99a73a7eaba5967-imagepng
instead of
lynxhub.com/.media/ad98c56a09723f46a99a73a7eaba5967.png

this means when you save an image it doesn't have a file extension. If you try to repost it later it rejects it. Try it. (1) YOU CANNOT SAVE A FILE AND POST IT BACK.

file extensions are standard and understood by all operating systems. Nothing understands this weird mimetype thing (2) FILE MANAGERS DONT KNOW WHAT TYPE OF FILE IT IS.

You can usually wget -rk to archive a chan or a thread. Not anymore. The now URL scheme breaks that. (3) YOU BROKE ARCHIVING.

lynxkike the double nigger proposed a workaround: find the small link at the top with the original . That doesn't solve the problem. Yes you can completely retrain yourself after 5 years of chan browsing habits to get a file extension but that is fucking bullshit and user-hostile. NOT AN ARGUMENT.

lynxman refuses to listen to what his users wants and is using his chan to push his terrible ideas of how internet/chan/files should be (but they aren't).

OPINIONS INTENSIFY

nice crosspost tbh

1990s:

...

rip

Sorry to keep you waiting, been very busy IRL. I'll be able the work on it after June the 9th.

Rip

looks like 420chan 2.0

o shit, left trip on

Just another dead imageboard engine that will never be anything. Meanwhile we have a pretty much fully featured infinity next left to rot because

...

How long before this gets shilled against just like lynxchan and every other non-Infinity Never Ever alternative image board engine that wasn't duct taped together by a pill popping cripple?

...

...

Pick one, shill.

...

Why are you even on Holla Forums, retard?

looks nice, share?

Speaking of infinity never ever, what are you doing about this site actually going closed source and down for long periods of time? Just gonna sit there and take it like the whiny, impotent bitch you are, yeah?

...

Good job confirming you are a retard, champ.

Nice argument, sport.

Hi, bumping this thread because you forgot to answer :-)

w4ch.org/b

lol

I am not that user, dumbass.

Make it bare bones and then make a javascript so most of the features can be run client side

You are confusing me for the typical stallmeme follower.

pic related (it was patrick laughing but yogapig shat over the posting again)

I dunno what to do next. Apparently the read.php goes into an "infinite" (ba dumm tss) loop when given a nonexistent url. I'm gonna have to build a test database.
Speaking of which, I can't get postgresql to work with PHP. PDO keeps saying driver not found but both extensions are uncommented on php.ini and php-fpm throws no errors on startup. I set up the test database with the command thingy that does some shit to /var/lib/postgre/data. Thoughts?

Oh hey http 500 returned again, long time no see friend

What is read.php even for? It looks like a wrapper around arbitrary pages that doesn't change them at all.

And it looks like you can use it to access files outside the web root, which is a very bad thing. Think along the lines of this request, which Cloudflare blocks me from posting directly:
sprunge.us/DOAI

So you're ok with the site storing a unique client-side ID and silently adding it to all the posts you make

Are you talking about the thing with the deletion passwords that's actually going on right now? Because if so, that's completely irrelevant. It was there long before the public repository stopped getting commits and you can find out about it by reasoning about the way deletion passwords work, purely from a user perspective.

What browser is that, Op?

Probably qutebrowser.

It's very relevant now that the warrant canary is dead

The warrant canary is still on the site you moron

That particular thing really isn't. You don't need to see the website source code to tell if it's there and it can be exploited while staying completely out of the website source code.

Where's the gpg-signed monthly message for June or May to assert it's still valid?

Yeah, that information definitely should be seen as reliable.

You're a moron who doesn't know what they're talking about.
Passwords can be hashed and salted so that you can't do that easily.

bump4interest

that looks pretty nice user

too bad jewsh doesn't have such good taste

...