WakaChan architecture (104)

1 Name: SWG 2005-07-05 22:08 ID:ZEKwK+8z [Del]

Waka chan structure

I started working on a script that would let people “seed” a image board much like the way people seed a (Bit)Torrent. People would navigate to the board, and the server would of course share out the texts of the message board and the thumbnails. But when a user would click on a thumbnail to view the full image, instead of having the central server share it out, the server would navigate the user to a “seeder” who was sharing the full image. I was thinking that this would cut down majorly on the amount of bandwidth the central server uses.

But someone told me that WakaChan already does this. This is what I’m confused at. Because as I browse around on WakaChan, yeah, I notice that different sections are hosted by different domains, but each one is only hosted by one at the most. WakaChan doesn’t have the ability to be seeded by multiple home users? I saw the Winny thing, but that’s not HTTP based and looks more like a P2P app similar to EMule (Napster copy-cats).

So like… I’m a little confused, what did this guy mean when he said that people “seed” this network like the way people seed BitTorrents?

2 Name: dmpk2k!hinhT6kz2E 2005-07-05 22:45 ID:RGRl9pb9 [Del]

It doesn't exist. Maybe the person you spoke to was referring to "DistWakaba", an idea that was floated back in October when the original IIchan died. A spec already exists, if you want it.

The problem is that it's a hard problem. First off, if you just use one board and farm out src/ requests, you still have one point of failure, and people are less likely to donate space just for a src.

The moment you have multiple boards with the same images though, you end up with hairy problems. For example, how do you keep post numbers synchronized? What happens if one host drops off and reappears later? How do you keep threads synchronized? How do you keep this responsive? What happens if there's a race condition and you lose? How do you keep one broken or hacked board from bringing down the rest? How do you plan to allow the balancing algorithm to scale? Issues of calling perl instead of static html and server load. Other issues related to security. Etc.

It can be done. As I said, there's a spec that lays out how to do it. But you're going to be working on it a looong time. I'd love it if you did though. I'd even help.

3 Name: SWG 2005-07-05 23:28 ID:ZEKwK+8z [Del]

Actually, I have been working on it for a while now. And to answer a few questions..

“For example, how do you keep post numbers synchronized?”

I was thinking a main board, like <Whatever>Chan, would host the board.  The board would basically handle the posts.  So it would be central-server based to an extent, but “seeders” would be the ones serving full images.  When a user would post an image, the board would upload the image to the seeders.

“What happens if one host drops off and reappears later?”

Seeders would sign in to the <Whatever>Chan.  They would goto the Chan and say, this is my IP address, I’m an serving images <here>, to upload a file to me, posit it to <this> php file, and whatnot.  The server would assume the seeder is online, and when navigating a user to the full image hosted by a seeder, the user will be given a JavaScript programmed with a list of seeders who have the same file.  If the image fails to load on one seeder, the JavaScript will navigate to one of the other seeder.

The rest of your questions seem to assume that all the seeders are the ones hosting the board entirely. With the plan and beta I made, <Whatever>Chan would be a centralized server hosting text for threads (and maybe thumbnails) only. The seeders would host the full images.

Seeders would sign in and say their IP address and the public location of there PHPkernel.php file. When a user made a post on <Whatver>Chan with a pic attached, the <Whatever> server would save the thread (maybe make a thumbnail to serv), and then post the attached image to…

PHPkernel.php?Cmd=upload (to manually do it you would have to goto PHPkernel.php?Cmd=showupform)

…for every seeder. Every seeder would make public what they are sharing by PHPkernel.php?Cmd=JavaScriptDirListing

Well, that probably sounds confusing. But if you look at the beta version I made, you will probably understand. Basically, PHPkernel.php is the main object used for sharing. I made a .html file to interact with it you can see it here:

http://70.187.193.222:178/imgchan.htm

The .html file is not like a <Whatever>Chan because you can’t talk on it. It’s just used to interact with one or multiple PHPkernel.php files at once. You will see it work as every thumbnail source goes through it, and when trying to upload it redirects you to it (with the Cmd= showupform as I mentioned above), and to initialize it downloads a list of what every seeder is sharing (like the Cmd= JavaScriptDirListing as I was talking about above).

…it might be a little to confusing by words, but if you navigate to the link above maybe you will understand what I mean a little better.

4 Name: dmpk2k!hinhT6kz2E 2005-07-06 00:12 ID:0L8s7KNG [Del]

No, I know what you're driving at. All the more power to you.

Keep us updated.

5 Name: !WAHa.06x36 2005-07-06 08:49 ID:aSh11BL2 [Del]

Interesting. But how do you deal with issues like:

  • People grabbing a seed and uploading their own images there and using the bandwidth for themselves? A referrer check would help there I guess.
  • People running a fake seed that contains nothing but goatse.
  • Latency issues? If a seed goes down, the connection there will most likely take a long time before it timeouts, making it hard to know when to try a new one.

6 Name: Furi!EuK0M02kkg 2005-07-07 04:58 ID:Heaven [Del]

Ooh... just looking at the site, I see two very interesting features there. First of all, I simply love the distributed idea. Certainly there are issues to be solved, and while the security and robustness should NOT be tacked on later, some functionality upfront is a good focus, IMHO. I don't quite yet know how you'll "call" the seeders to keep things up-to-date, but I think the idea is solid, and could be great fun.

Second is categorisation. As the proprieter of meidokon, I'm of course very interested in any such topic. I've literally only just loaded the front page, and am excited about what I hope to soon see...

7 Name: SWG 2005-07-07 05:17 ID:ZEKwK+8z [Del]

People grabbing a seed and uploading their own images there and using the bandwidth for themselves?

Indeed, a refer check might help.  Also, if a person was seeding to <whatever>Chan, building the .php to only accept incoming files from the IP or host-mask from <whatever>Chan might also do the trick.

People running a fake seed that contains nothing but goatse.

You mean “ghosts”? Well, the way I was thinking this was gonna work was to have a .php on the seeder, and a .php on the <whatever>Chan that acts as an extension to the <whatever>Chan (Wakaba/Futallaby) board.  When a seeder tells the <whatever>Chan’s .php that they are going to seed, they will tell their IP address, and the location of their .php file used to seed.  This will need to be done anyways as the <whatever>Chan will obviously need to know the IP address of the seeders to rout users to the seeder.  Anyways, the seeder’s .php would return a file-list of all files they are sharing upon request.  I guess to take care of what you asked, the <whatever>Chans’s .php could check the file list.  It would test random files on the file list.  PHP supports the code like:

$s =implode(“”, file(“http://filezilla.sourceforge.net/misc/ip.php”));

This means you can get the file contents of another website and domain, (the above example will return your external IP address into a string $s. I guess I could make the <whatever>Chan’s .php test this using the above code, only replacing the above URL with a seeders shared file.

Latency issues? If a seed goes down, the connection there will most likely take a long time before it timeouts, making it hard to know when to try a new one.

Hm… that’s a hard one to deal with.  Before I talked about sending a JavaScript to a user who is being redirected to a seeder, and having the JavaScript redirect the user to another seeder if that first target seeder times out or doesn’t have the file.  I guess, to deal with this issue, I could make the JavaScript do the following in response to a seeder timing out:

- Open a new window
- Redirect the user to another seeder (not the new window)
- Have the newly opened window redirect to <whatever>Chan’s .php with a parameter like: whatever.php?Cmd=ReportSeedFail&SeedIP=555.555.555.555
- Have the whatever.php on the <whatever>Chan’s side send a java script in return that will try to close the newly opened window after registering that a seeder has timed out.
- Now that the <whatever>Chan has been giving a report that a seeder has timed out, it can test for it self, verify the seeder is lagging, and…. I dunno do something, like maybe not redirect as many users to that seeder, or even ignore the seeder completely.

Though your question really is hard to deal with because FireFox users probably won’t open a new window (that’s a built in function of FireFox). Though if it was a hidden frame, that would be doable. Dunno… I’ll have to think about that, like where I would put the frame, I would have to plan in advance on where the frame would go, and how exactly it would even be given to the user machine.

8 Name: SWG 2005-07-07 05:23 ID:ZEKwK+8z [Del]

Furi, thanks, that really means allot to me. Just keep commin to my page about once a week or so, I usually try to post news at least once every other day, and I try to do work on this project every night. I think within two weeks time I should be done with the seeder-side .php that will manage shared files. Dunno about the <whatever>Chan's .php that will manage the seeders though. I have had ideas, and I have been taking notes on what it will need to do, but I have not yet made a beta version of one yet.

Thanks for your support, it really means allot to me.

9 Name: Furi!EuK0M02kkg 2005-07-07 05:55 ID:Heaven [Del]

No problem. Seems we both have fun projects being developed. :)

I'm not 100% sure I understand all of what you're getting at, but my rough idea was this. The main server has a list of files that have been uploaded, and this can only be updated by posting/uploading them at the main server. Thumbnails are also generated and stored on the main server so they can't be corrupted (that's not to say that the seeder actually storing the real image can't put replace everything with goatse, but it's a start).

FYI, "goatse" as it's called, is a nasty piece of work that has become a sort of net-cult icon. It's an image (which was part of a series) of a guy doing nasty things to his anus. Looking at it is like watching a train wreck in slow-motion. (ie. You can't look, but you just can't look away). Anyway...

A client (don't know how, but I think PHP would be the easiest way, IMO) would connect to the main server (aka. tracker) and register its identity and a list of images that it's holding. Only those that were uploaded to the main server could be used, of course.

A request to the main server for an image simply picks one of the registered seeders and redirects the request to that IP address. It's far too much load to check which seeders are online for every request for an image, so perhaps have the server check which seeders are online every... 5 mins?

Biggest issue I see with this:
My idea requires the seeders to be running PHP, and by extension, Apache. That's not a trivial amount of work for most users, and it's a non-trivial security risk as well, if you don't know what you're doing.

10 Name: !WAHa.06x36 2005-07-07 07:58 ID:aSh11BL2 [Del]

>>7

I could set up a clone of the script that accepts uploads from an image board, and whenever the image board connects back, I return those images. However, if any other IP address connects, I return goatse, or a browser crasher.

I guess this is a pretty hard problem to solve. You might have to trust the seeds in the end, which I am not sure is a good idea on something like this, where script kiddies abound. You might need some sort of approval system for seeds...

(Also, don't put space or tabs at the start of comment lines, it makes the script put in <pre> tags that mess up your text.)

11 Name: SWG 2005-07-07 20:31 ID:ZEKwK+8z [Del]

>>10

Actully that problem is a little easy to solve....
Mabey I can have a support page on <whatever>Chan that will be made for reports on such stuff. If people report a seeder is returning a file that does not either...

a) Look like the thumb-nail (a dead give-away)
b) Sound like it's the image being talked about on the board-thread

...then someone can make query on the support board. It can be automated, accepting the thread ID and Seeder ID/IP and whatnot. Then, once submitted, this message can be either forwarded to the admin, or a script that will auto-ban people for doing such things. Yeh, people might try to abuse this, claming that a seeder is seeding false files for the wrong thumbnails, but if they do so the admin can double check and ban people who try to do this just to be an ass. Obviously most <whatver>Chans seem to have more than one admin/mod, and their IPs are all different. So maybe they can do a final check before banning a seeder's IP when it's needed.

12 Name: Furi!EuK0M02kkg 2005-07-08 00:38 ID:Heaven [Del]

Ah, fair enough. Yeah, multiple trusted admins isn't a bad way to go. And of course, a trusted admin can always have the final word and ban/delete stuff without further approval/checking.

13 Name: Furi!EuK0M02kkg 2005-07-08 06:57 ID:Heaven [Del]

I'm actually thinking of some over-the-top cryptographic methods to ensure that the image data can't be tampered with, but it's probably a bit much for our purposes here.

...

Hmm, on further thought, I don't think it's possible without some cryptography, which would be nasty (and as I've said, inappropriate for our situation). If you're vaguely interested by cryptography then read on.

In short, the only way you can ensure someone is sending you good data without directly trusting them is to have a hash of the data that you know is true. But if you hash the whole image, it means you have to download the entire image before you can check it. Which of course defeats the entire point of the exercise (you've just wasted bandwidth on what may or may not be goatse).

Of course, we need not get all of it at once. It would place some load on the server, but it'd be very small. The server could send a series of hashes of sequential chunks of the file. That way we could request chunks of the real file from the seeder and verify small blocks at a time. Not really efficient, but not unworkable. The moment a block is received from the seeder that doesn't hash as the server says it should, we just assume the file is corrupt.

I figure you could do this easily and efficiently enough, but I don't know how you'd implement it. As far as I know, Javascript can't be used to open connection streams and get chunks of data across the network. The space saving is cool, though. Assuming you hash 4kilobyte blocks, you could use 128bit MD5 and get a space saving of 32x. A 2meg file would need only 64KiB of upload from the main server to verify it. You can also balance hash size against chunk size to fit whatever is convenient for your situation.

But I'm losing myself here. This is quite impractical...

14 Name: !WAHa.06x36 2005-07-08 07:07 ID:aSh11BL2 [Del]

It's impractical, but an interesting theoretical exercise.

Doing constant-sized blocks is not really necessary here. The header is more likely to be different for an image file anyway. You could just keep checksums for a range of power-of-two sizes. The first 256 bytes, the first 512 bytes, the first 1024 bytes, the first 2kbytes, and so on. Would take up negligable space for files of any size.

Javascript can receive data just fine though, using XMLHttpRequest. Combined with the data: protocol, you could probably make Javascript that downloads the image and checksums it, and then creates an <img> tag with a data: URL containing the image data. This would, however, be slow, and it would also not work on IE (IE doesn't allow null bytes in Javascript strings).

15 Name: Furi!EuK0M02kkg 2005-07-08 08:12 ID:Heaven [Del]

Not that's a useful idea! Yes, even very large files can be effectively hashed in chunks like that. Lemme see... a one gig file will only need 13 hashes in such a manner, which is positively inconsequential for server load.

Blah. I guess it really comes down to "do we give a damn about IE, then?" :)
Seems Javascript has had some changes since I last looked...

16 Name: stupidfuckingcookery 2005-07-10 02:15 ID:Heaven [Del]

nevermind me

17 Name: stupidcookiesyes 2005-07-10 02:16 ID:Heaven [Del]

i am just unbreaking the frontpage's table

18 Name: SWG 2005-07-12 04:36 ID:ZEKwK+8z [Del]

Well I FINALLY got a beta version out, and released graphical explanations of what I was talking about.

About half way down through http://seeder-chan.sourceforge.net/Welcome/SeedSetup2.htm I start talking about the HTML (that holds JavaScripts) that I made. It doesn’t do anything significant though. The REAL major thing put in use is the PHPkernel.php

I also released documentation about how it works here:
http://seeder-chan.sourceforge.net/Welcome/Docs_PHPKernel.htm

I made a beta of this and released it, you can DL it here:
http://seeder-chan.sourceforge.net/SeedChan.zip

So far all I have out is the thing that lets people share files out, and the ImgChan.htm that acts something like <whatever>Chan emulator in place of the real thin, but it doesn’t have the ability for people to post text. People can post images, but cannot chat. I have an example of ImgChan.htm working with my PHPkernel.php up at:
http://70.187.193.222:178/ImgChan.htm

To make a working version of what I have on your computer, all you need is to download the zip file above, and then follow the instructions file inside it.

As for what we discussed above, I haven’t really got to those yet. I haven’t even built the php that will sit on <whatever>Chan’s server. Give me some more time.

19 Name: !WAHa.06x36 2005-07-12 06:30 ID:Heaven [Del]

Two things bother me. First, would you please say "imageboard" instead of "<whatever>Chan"? It's horribly awkward, and the tradition of naming imageboard something-chan is only western thing. The vast majority of image boards aren't named like that. The "chan" comes from "2channel" anyway, which has nothing to do with images.

Second, and this is just a pet peeve of mine, the words "hentai" and "ecchi". It's really only westerners who use these words to refer to porn. There's really no need to mangle the japanese language like that. We laugh at the japanese for their engrish, but it works the other way too. Using them as categorizations for how explicit porn is extra silly.

20 Name: Anonymous 2005-07-13 17:32 ID:8yORwg6Q [Del]

Am i the only one getting very many 404 errors on the test board?

21 Name: Furi!EuK0M02kkg 2005-07-15 00:12 ID:Heaven [Del]

>>19
/me apologises for using a category on meidokon called "not ecchi or hentai"

(excuse me while I ignore the fact that we're talking about usage to gauge explicitness)
Well, I don't know about you, but I feel such a term is at least better than "worksafe".

<tirade>
If you're looking at my stuff, none of it is worksafe! Why are you wasting time at work looking at this drivel?!

22 Name: Anonymous 2005-07-15 05:46 ID:Heaven [Del]

> "not ecchi or hentai"
> "worksafe"

"not pornographic"? No need to mince words.

23 Name: SWG 2005-07-15 09:11 ID:ZEKwK+8z [Del]

>>20
Sorry, my comp hasn’t always been on. And then I lost DMZ access for a while on my router. But I'm back up now

>>19
O_o arn't we being a little picky? hentai means porn and ecchi means perverted. Regardless of weather that means the same in jap or not, that's what we westerners understand. Trying to change that all of a sudden will just confuse people more.

24 Name: Anonymous 2005-07-15 09:50 ID:Heaven [Del]

> Trying to change that all of a sudden will just confuse people more.

I don't see what's wrong with that. Being confused is the first sign of coming to a better understanding by realizing prior misunderstanding.

25 Name: Anonymous 2005-07-15 09:51 ID:Heaven [Del]

> Regardless of weather

PS: It's "whether", not "weather" - in regard to the contextual right meaning in ami

26 Name: !WAHa.06x36 2005-07-15 18:40 ID:9qwKtYcJ [Del]

>>23

As I said, it's just a pet peeve of mine. There's no need to have the words mean anything else - I just avoid using them alltogether. A lot of japanese people browse Wakachan, and it's only common courtesy to not mangle their language in ways that make them giggle. (Japanese people do giggle at westerners saying "hentai" just as much as we giggle at their Engrish.)

27 Name: Sling!XD/uSlingU 2005-07-15 19:41 ID:4vLwkyze [Del]

They giggle because it means "pervert".
Let them know who they are, I'd say! They are in denial! :D

28 Name: Anonymous 2005-07-16 01:12 ID:Heaven [Del]

> hentai means porn

I think it's closer to "perverted psychopath" than "porn".

LET'S DANCING!

29 Name: Furi!EuK0M02kkg 2005-07-20 01:40 ID:Heaven [Del]

>>22
But what I'm trying to cover here (at least on my own board) is stuff that could be what we think of as "ecchi" (eg. a girl seductively flipping her skirt up, or touching her body in a non-explicit and suggestive manner) and stuff that's "hentai" (more explicit nudity, little artistic redeeming merit, etc.).

I definitely don't think pornographic/non-pornographic is applicable here. Heck, by my own values, I don't really want "pornography" on my board (eg. girl using fingers to expose her genitals, sexual intercourse, stuff the Japanese usually need to mosaic-censor). It just doesn't do anything for me.

>>26
So what do the Japanese say?

30 Name: 2005-07-20 02:17 ID:Heaven [Del]

> So what do the Japanese say?

It depends, really. Porn movies are called AV (Adult Videos), "pink" is often applied to words to hint that they have to do with erotica ("pink doujin") but mostly, they seem to apply the prefix "ero" to stuff ("eroge" (for "erotic game"), "erodoujin","eroneta", "ero AA" etc.)

31 Name: !WAHa.06x36 2005-07-20 08:36 ID:zav30nKL [Del]

Futhermore, what we'd call hentai manga is usually tagged as "成人コミック" on the filesharing networks - literally, "adult comic" (and actually "comic" as a loan word, not "manga"). There's also "18禁", "Over 18 only". Both of these are more formal, obviously.

Also, lots of people translate "ero" as "erotic", and while that is technically where it originates, it doesn't really have the right connotations. The meaning is pretty much exactly the same as the word "porn". "Porn game", "porn doujin", etc.

32 Name: Anonymous 2005-07-20 11:33 ID:Heaven [Del]

"erotic" would be a good substitute for the way you're using "ecchi", though.

33 Name: Furi!EuK0M02kkg 2005-07-21 06:21 ID:Heaven [Del]

>>32
Hmm, definitely worth considering a change to.

34 Name: !WAHa.06x36 2005-07-21 07:32 ID:a2+XQ/cp [Del]

http://4-ch.net/nihongo/kareha.pl/1121923289/ - People who say "hentai" are perverts!

35 Name: !WAHa.06x36 2005-07-21 08:24 ID:a2+XQ/cp [Del]

I got curious and Googled a bit for further discussion on this topic, and found this (on site that is apparently now dead, so only the Google cache exists):

http://216.239.59.104/search?q=cache:D1D5bvkAPLUJ:www.animetoshokan.org/bbs/index.php%3Fshowtopic%3D292%26view%3Dgetlastpost&hl=en

The part I found most interesting were the quotes that person had gathered and translated. I'll cut-and-paste them here to preserve them. Many thanks to Akadai Shirou for doing this work:

What Japanese think about this

These are quotes straight from the Japanese, translated, pulled from numerous sources.

どうやら、日本語の「変態」の意味のPervertやKinkyという意味は少なくて、単にHなアニメとかをいうみたいです。
It seems they rarely mean the Japanese meaning of 変態, Pervert or Kinky, but rather they are using it just to mean any H anime

---

外国人に「HENTAI」と言う言葉を広めた奴を捜しています!!!懸賞金$1,000,000−
I'm looking for the guy that spread the word 'HENTAI' among the foreigners!!! $1,000,000 reward

---

海外のオタク系が日本製のアダルトアニメやゲームを表す言葉。
Definition: Word used by foreign fanboys to mean Japanese adult animation and games

---

ちなみにエロゲーはHENTAI GAMEとか書いてあった。・・・・・・・・・・・・・・・・・・・・・・・・・なんかやなカンジ。
By the way, [in U.S. video game magazines] they call [Japanese] adult games HENTAI GAME...................... that sounds awful

---

HENTAIとは成年コミックや18禁美少女ゲーム、アダルトアニメをさす
HENTAI is used [by foreigners] to indicate adult comics, games, and animation

---

外国の HENTAI サイトをうろうろと見て歩いていたら・・・なんだか気分が悪くなってしまった(苦笑)。
 なんて言うか・・・独特の雰囲気があるよね。

 ちなみに HENTAI というのは、日本の漫画、アニメ、ゲームなどのえっちなメディアを指すらしい。
 日本人の俺としては、やっぱり抵抗があるなぁ(笑)。

 他人が描いたCGや市販ゲームのCGを無断で転載して、ギャラリーで御座い・・・というサイトが実に多い。
 うーん、この辺は基本的な考え方が違うのかな。
 節操の無い連中だ・・・という印象を強く感じるね(笑)。

I went looking around at those foreign HENTAI sites... and kinda I just got sick.
What can I say...they have a 'unique' atmosphere.

'HENTAI' is what they use to indicate Japanese manga, animation, games, etc. when they have etchi content.
Speaking as a Japanese person, I have to say that's pretty disturbing.(laugh)

There's a ton of sites that just copy other people's illustrations and rip images out of games, then display them in a gallery.
I guess their entire way of thinking is different from ours?
I get a strong impression of a total lack of civility and morals. (laugh)

---

H(えっち)
 「性交」を意味する若者用語。
 実は「HENTAI(変態)」の頭文字から来ている。

 海外の濃いOTAKUたちの間ではHではなくECCHIと表記される。
 それに対して事情通のOTAKUが「ECCHIはHENTAIのイニシャルなんだから、Hと書くのが正しい!」と啓蒙運動を行っている。
 その様な日本人も知らないような知識を、どこから得たのか非常に謎である。
 てゆーか、正しかろうと間違ってようと、あんまそんな日本語を世界に広めないで欲しい。

H (etchi)
Word used by young people to mean sexual intercourse.
It actually comes from the first letter in the word HENTAI(変態).

Among the hard-core foreign OTAKU, they write it 'ECCHI' instead of 'H'.
Acting against this are a group of other OTAKU familiar with the etymology of the word who go around saying "ECCHI is just the initial for HENTAI, so you're supposed to write it H!" in an attempt to enlighten everyone.
How they learned that sort of trivia that not even Japanese people know is a complete mystery.
More importantly than that, regardless of whether they're getting it right or not, I'd rather they didn't go spreading the usage of that sort of Japanese

---

お名前:天狼星
<・#65310;BAKAとかHENTAIとかOTAKUって言葉を教え
てるのは誰ですか? 知人じゃないことを祈ります(苦笑) いや・・ HENTAIは
すでに日本語じゃなくなってるか? 日本製の萌え系エロ絵なんかをさす言葉だし;

Name: Tenrousei
[...]Who taught these people to say BAKA and HENTAI and OTAKU and such?
I'm praying it wasn't anybody I know. (pained smile) Actually, it seems like HENTAI
isn't even Japanese anymore, you know? The use it to mean Japanese drawn cute erotic illustrations and all

---

さて、このポルノアニメというジャンルには、animeよりももっとこの世界で一般的になってしまっているらしい驚くべき名称がつけられている。 HENTAI、というのだ・・! 「エッチ」という語がそもそもなぜ使われるようになったのか、常識だと思っていたら案外知らない人もいるらしいので、余計なことかもしれないが言っておけば、この「変態HENTAI」の頭文字なのである。初期に日本の「エッチアニメ」を取り入れた人が妙に律儀だったらしく、略語をちゃんとオリジナルに展開して使用した模様である。売り文句には「JAPANESE KAWAII HENTAI」とあったりする。可愛い変態、である。やれやれ。

Now, this genre of porno animation is known to the world not by the word ANIME but by the surprising name 'HENTAI.' The source of the word 'etchi,' -- while I thought most people knew it, apparently some don't, so I'll go ahead and say it here -- is the first letter in the word 変態 (HENTAI). Early on, when Japan's etchi anime was first taken in by foreigners, they apparently were trying to be weirdly faithful linguistically and restored the abbreviation to its original form before using it. You can see the phrase 'JAPANESE KAWAII HENTAI' used in advertising phrases. Cute perversion! Man...

36 Name: Anonymous 2005-07-21 08:27 ID:Heaven [Del]

> I'm looking for the guy that spread the word 'HENTAI' among the foreigners!!! $1,000,000 reward

LOL

37 Post deleted by user.

38 Name: TheGuyThatSpreadTheWordHentai 2005-07-22 14:51 ID:ZEKwK+8z [Del]

:o

TheGuyThatSpreadTheWordHentai runs and hides

39 Name: SWG 2005-09-10 09:26 ID:ZEKwK+8z [Del]

Hey all. Well, it’s been along time since anyone has continued this thread. Hm… As for my project, it’s been going along. For anyone who doesn’t remember, I’m the guy trying to make an ImageBoard Add-on script that will allow ImageBoards to be seeded much like how torrents are seeded with BitTorrent. In my lasts posts (here) I had the seeder-side scripts built, and now, FINALLY I have a stable build of the ImageBoard-side script. At this moment (time I am posting this message), I have not yet released the script yet though, but I do have it built and working! Sorry it took so long, it’s just that it was a major pain in the ass because I had to write that entire system to keep track of information in so many different places, AND THEN I had to actually take the time to figure out how to the Futaba script worked inside-out. The reason being because obviously when someone uploads a file to you ImageBoard, you want the ImageBoard-Tracker (the add-on script which I made) to auto-keep track of the file and make it available for ImageBoard-seeders. (NOTE: Incase you didn’t know the script I am making is an add-on/support-script, it is NOT an ImageBoard system by itself.) So I had to look in the code of Futaba and find out where to insert certain lines. In the end, it wasn’t so bad, you only need to insert lines where:

• Files get uploaded
• File links are shown to users
• Files get deleted (even though I couldn’t find it)
• Insert include statement on load of the ImageBoard script (The lines I’m referring to inserting is simply calls to functions that exist in the script I am making. So yeah, one would need to use include(MyScript) or require(MyScript)

So uhh… yeah, one question I do have for anyone out there, is where does a file/post get deleted in Futaba scripts (due to old age or whatever)? I couldn’t find it.

A second question I have is about Wakaba. You see, I want my add-on script to be able to work with Futaba and Wakaba (and anything else really), but whenever I go to the Wakaba site, I am directed to http://wakaba.c3.cx/releases/ and all the files in the zips I see there are non-php files…. Am I missing something? I was under the impression Wakaba was programmed in PHP, was I wrong?

Well, anyways, I continued the project and kept going. But the ImageBoard-side script I made can’t really install itself (in terms of integrating with the ImageBoard that already exists on server), because I thought it would be too time-consuming on my part to make PHP code to scan another ImageBoard script, and do the inserting of lines automatically. To make such code would require to know the ins and outs of many different ImageBoard scripts and have the code ready for handling any situation that comes by it. sigh So in the end I write a really long 2 page file about how to insert 4 lines of code into a Futaba script o_o;

Well, enough. I know I’m boring you all with this, so I’ll show you what I got!

I have a website now that explain how the system works. It doesn’t explain everything, but it’s a start. You can see the website here:

http://seeder-chan.sourceforge.net/

And the web site really is good, I have an FAQ guide there, and soon I’m gonna be done with the walkthroughs.

Also, though I don’t have the ImageBoard-side script released yet, I DO HAVE AN EXAMLE RUNNING! Now I have to warn you it doesn’t LOOK like much, but you need to remember I am programming an ImageBoard-Support system, not a GUI upgrade. Anyways, see the running example here:

http://70.187.193.222:178/ExampleChan/futaba.htm

AND READ THE BOX ON THE TOP OF THAT PAGE, it explains a little bit on how the script is integrated. As of right now, I’m not letting people upload to that board because I want to use it as an example to help admins with the installation of the ImageBoard-side script. But if you click on a link you will see how it forwards you to another location which may be off the domain the board is on. And if you click the same image a few times (like more then 5 times or so within 10 seconds), you will notice that it WILL be hosting the full images from the main domain. This is a good example of flow control, and how the script makes sure that not too many users of the board are routed to one seeder. Read the main page (on the website near the bottom) to learn more about flow control.

Anyways, I just waned to l you all know I’m still alive. And yeah, I would really appreciate anyone would could answer those questions for me;
1) Where do files/posts get deleted in Futaba script?
2) Where is the Wakaba PHPs?

I also have a question to dmpk2k, you said something about “DistWakaba” on post #2. Where is the spec on this? I tried to Google it, but the only result I got oddly enough was this very thread on this very board o_o;

40 Name: Anonymous 2005-09-10 10:19 ID:3dX4CrgK [Del]

Wakaba and Kareha are written in Perl, not PHP.

41 Name: anon!21anon4H3U 2005-09-10 23:02 ID:Heaven [Del]

>>40 He's working with the hacked futuba code from thatdog over at 1chan, it seems.

42 Name: SWG 2005-09-11 02:56 ID:ZEKwK+8z [Del]

>>41

And I'm not just working with that one script.  I want to make an add-on/support script that works with all ImageBoard scripts.  I also have a running example of the add-on script working with the English MySQL version here:

http://66.252.18.113:178/ExampleChan2/imgboard.htm

I also intend to make this work with Wakaba, I just didn’t recognize what language it was programmed in. Thanks btw >>40

43 Name: dmpk2k!hinhT6kz2E 2005-09-11 07:33 ID:rrKfiveY [Del]

> Where is the spec on this?

The only people who have ever seen it are me, WAHa, and perhaps Lain. I probably have one of the versions collecting dust somewhere on my drive.

BTW, if you're planning on modifying Wakaba, you might want to wait until the release of the next version. It has rudimentary support for a system somewhat similar to yours, so modifying it to run your semi-P2P system will be a lot easier.

44 Name: Anonymous 2005-09-11 14:18 ID:pk8bPIPu [Del]

>>43
What, the next version isn't vaporware?

45 Name: dmpk2k!hinhT6kz2E 2005-09-11 20:00 ID:nw1tsdfe [Del]

Hardly. Most of the proposed new code has been running in /os/, /mai/, and now /miz/ for several weeks now.

There's been a testing board for a bit over two months: http://wakaba.c3.cx/sup/kareha.pl/1119971465/

46 Name: Anonymous 2005-09-22 02:41 ID:IdbYZE04 [Del]

http://coralcdn.org/ would allow to serve each image file only once a day, it caches things automagically, just rewrite the image url a bit.

47 Name: dmpk2k!hinhT6kz2E 2005-09-22 05:43 ID:Heaven [Del]

What I don't understand is how or why they do that. Pure research?

Bandwidth doesn't grow on trees, yet they'll let a site use up to 250GB a day.

48 Name: !WAHa.06x36 2005-09-22 06:04 ID:aSh11BL2 [Del]

>>46

Back when iichan was running on just the one server, we briefly considered using the Coral cache to save on bandwidth. But around that time, they were proudly announcing that they had just transfered one terabyte of data in total. iichan was pushing two terabytes a month, so we figured they weren't quite up to the task.

I'm sure they've grown since, but it would be nice to know what they can handle.

49 Name: Anonymous 2005-09-27 20:49 ID:RL/FWO5v [Del]

>>50 is DQN

50 Name: DQN 2005-09-27 20:57 ID:Heaven [Del]

>>49 How did you know?!?

51 Name: SWG 2005-09-28 02:58 ID:ZEKwK+8z [Del]

Ok time for an update ~

As I was working on the ImageBoard-Tracker system I started posting in 4Chan /dis/ section to see if 4Chan was interested in my idea seeing as they have died in the past and seem like they are going to die again... Moot blew me off but as people responded, someone gave me a good idea. An idea that would let this system make it easier to support WakaChan and in addition still support 4Chan.

Someone told me to make a FireFox extension. As I looked into this I realized that FireFox extensions could alter the HTML of files given to a user. It sparked in my head that this could take care of an issue with WakaChan using this support system. The issue I noticed a long time ago was that WakaChan is divided into many separate domains - domains that I assume are owned by different people. This became an issue as the ImageBoard-Tracker I was building was designed to sit on a central server where the ImageBoard was being hosted, this obviously can’t happen easily as WakaChan is not central-servers based for all sections. Another side issue that I noticed was that getting each person who is hosting their section of WakaChan to edit their script could become troublesome.

Thus the idea of the FireFox extension was like an explosion in my mind because rather than troubling all admins, the extension could just detect a certain ImageBoard, and route the user to the correct ImageBoard-Tracker when need be. This also takes care of another MAJOR issue, which is testing. One can load the extension, and if it totally fucks up, then the extension can just be unloaded, thus there is no need to do things to the server which would affect everyone.

So, now all my plans on the architecture have changed... kinda, right now I don’t really know (1) how should this project be continued, and (2) should I even bother...

But, just for kicks, I did some "rewiring" and made an ImageBoard-Tracker that is external to WakaChan, and built a quick program to watch WakaChan and update the tracker when need be. I wanted to set it up to host and track all of WakaChan, but I began to realize just how much space that would require... something which isn’t a big deal to me, but became one when I was setting up dummy seeders (hosted by my university, which has no idea what I’m doing with my space --- and I would like to keep it that way)

Anyways, I have the FireFox extension build at http://seeder-chan.sourceforge.net/pubdownloads/4ChanGUIAddon.xpi After you load it up, try going to the "Cosplay" (@ http://imageboards.4-ch.net/cosplay/ ) section, and the "supernatural" (@ http://mnc.rokcorp.net/ib/ghost/index.htm ) section. Upon clicking thumbnails you should be redirected to the tracker that should redirect you to one of two seeders I set it. One setup on my SourceForge space, the other at my university.

52 Name: Anonymous 2005-09-28 03:03 ID:Heaven [Del]

> an explosion in my mind

Σ (´◕ o ◕`)

53 Name: Anonymous 2005-09-28 04:09 ID:Heaven [Del]

I expect it's been mentioned before that not everyone uses, wishes to use or can use Firefox. This can't hurt, though.

54 Name: Anonymous 2005-09-29 02:09 ID:IIHAYgmL [Del]

>>53
Hey, it's an interesting idea. Give it a chance and we'll see what happens.

Name: Link:
Leave these fields empty (spam trap):
More options...
Verification: