β4613
[Last 50 Posts][Quote]
>FUCK SOIJAK POSTERSHere we talk about the source code leak of 4chan's proprietary software Yotsuba and try to "fix" it in order to make a proper open-source version of 4chan's (sh!tty) software, for example by fixing bugs such as the colored border on GIF thumbnails and making it work on modern, traditional server setups.
<REDDIT SPACEGet the source code here:
https://files.catbox.moe/d56ws8.7z β6072[Quote]
>>6066i have already released this, made with PHP 8.4 but might work on 8.2. the login and delete things in admin.php have been reenabled as well
>>5894 β6079[Quote]
>>6072something tells me not to try downloading that to a machine i care about, and right now i have none
how does setup work with your "release"? are there scripts (bash? something else?)? (by setup, i mean directory structuring, are you using apache2 or nginx, how are you setting that up (it's been a pain in my ass so far)?, mysql setup, etc.)
are there detailed instructions (some readme)?
if not, setting this up would be impossible for 99.99999% of people
if so, why not post the instructions here instead of locking them in a zip? (rereading, i see you do have installation instructions, but not posting them here when much more has been posted is a bit strange)
β6083[Quote]
>>6079setup.php automatically creates required tables
β6085[Quote]
>>6083directory structuring?
nginx vs apache? how is the nginx/apache config set up?
what did you do with the email workflow?
what will you do about the twister captcha?
is the "release" for just local toying around, with all the captchas, timers, emails (and then pass), etc., disabled and/or bypassed? (i'm trying to get as close to a 'production' version as i can)
more general point: with things like later leaks (twister), are you going to just routinely and randomly dump zip files on catbox here (seems retarded) or are you setting up something where git can be used?
β6087[Quote]
>>6085i have changed the default config so that it works on stock servers without needing to set mod_rewrite rules
i haven't done anything related to emails and captchas, i just disabled them because i was not able to test them
twister captcha will likely be implemented, right now i'm trying to integrate the homepage files
a git repo will be created eventually
β6091[Quote]
>>6087"it works on stock servers"?
that's extremely vague
especially since with debian12, php8.4 isn't on a stable build, only testing and unstable, so your setup script can't work with at least the "stock servers" i'm using (unless your isntructions say to build PHP8.4 from source, but now you're really stretching the "release" claim thin)
apache2 vs nginx
all the different OS' and their different setup incantations
probably some crazy bastards using windows or openbsd
which OS? which version? apache, nginx, or something else?
(i'm hoping if your .zip contains something unpleasant i can prevent a few ano- "chuds" from getting rekt, if anyone can bravely post the instructions/readme.txt from the dump, then that'd do a lot for making this not seem remarkably sketchy)
β6093[Quote]
>>6091he probably means it works without having to configure custom rewrite paths on nginx or whatever you're using, you are just an autistic retard
β6094[Quote]
>>6093yes this is what i was talking about, for example the default post form URL is /board/imgboard.php instead of /board/post so you don't need to mess with mod_rewrite
β6097[Quote]
>>6087>>6094post the instructions
β6105[Quote]
>>4613 (OP)So these was the line of code that permanently ACK'd 'cuck
```
if( ENABLE_PDF
1 && $ext '.pdf' ) {
// create jpeg for the thumbnailer
$pdfjpeg = IMG_DIR . $tim . '.pdf.tmp';
@exec( "/usr/local/bin/gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=jpeg -sOutputFile=$pdfjpeg $fname" );
if( !file_exists( $pdfjpeg ) ) unlink( $fname );
$fname = $pdfjpeg;
}
```
β6106[Quote]
>>6105these were the lines* had a stroke
β6125[Quote]
Bring back /mlpol/
Will keep normies out
β6126[Quote]
hope someone releases a pack that uses the OG files mostly untouched, with rewrite etc working
would be useful for pentesting, there's already 1 exploit that was posted on xitter (not linking here, do your job desuwa)
β6134[Quote]
>>6126The ubuntu php5.6 guide lets you run it close to vanilla, only big edits you need to make are changing domains in the files & fucking with is_local_auth to bypass captcha
if you setup hosts on the actual 4chan.org domain & got twister_captcha working (or the 4chan_auser cookie raisin) maybe wouldn't even need those changes
That does use apache2 instead of nginx THOUGH so not completely 1:1, nginx files were released in new leak so maybe those could be adapted
β6136[Quote]
>>6126planning to do this soon, i'm not liking the openyotsuba changes so far
β6137[Quote]
>>6126when you say mostly untouched, would porting to PHP8.x break that?
so far i have a nice setup with an actual domain, https, remote server, their home brewed "twister" captcha nightmare, mod rewrite, etc. i'm accessing the page in pic rel with just
https://<foo>.com/b/admini just got the admin sign in page myself
i'm a lot more suspicious of that other anon because getting this to show up involved commenting out three things in a function that seemed to intend to stop me from finding this, AND i had to create a database table that wasn't in the leaked schemas list and whose name hasn't been mentioned in this thread once, which is real weird:
`user_actions` (so far):
- `ip` int(10) unsigned NOT NULL
- `board` varchar(10) DEFAULT NULL
- `action` varchar(50) DEFAULT NULL
- `time` TIMESTAMP
- PRIMARY KEY (`id`)
β6138[Quote]
>>6137user_actions was in the
>>5602 sql
β6139[Quote]
>>6137Nice. I'll be watching this thread, who knows, maybe I'll create a new chan called rUSAcan-chan allowing posting only from USa, Vanada and Russia as each country shares borders with the other 2.
β6142[Quote]
>>6137i forgot to emphasize how much of a bitch it was to figure out those three things needed to be commented out, since they seemed critical, and without them it makes the comment about what the function is supposed to do seem incorrect
in admin.php, line 1411-ish:
> commented as "password validation" but is required to get a login form, seems disjoint> chicken and egg functions here and somewhere else that require cookies to be set in order to access admin things, fail if we don't have cookies set, but cookies are only set after this step, so logically how the fuck are cookies first set?> there's a function that if passed one truthy param will allow us to login with POST parameters, but no call of this function has a truthy param, all falsy> in adminvalid:> if we aren't already authorized: error( 'You do not have permission to access this page.' );. have to comment that out> if we aren't already authorized: admin_login_fail(); causes a different error. also causes user_access table to be interacted with. have to comment that out, since a login fail before we see the login form makes no sense (and can't use POST because we need a value to be truthy that logically never is)> if ($title !== 'Ban Request' && !has_level('mod')) { die() } # again, if not already a mod, this just halts the function before we get the login form, so comment this outafter doing that, i have the login form. finding this was a fucking labryinth
β6147[Quote]
>>6126I'm waiting for the db schema to be leaked in order to try and run this raisin as intactly as possible with PHP5.6 + apache. Also desuwa if you're reading this just quit your job, there's no replacement for you
β6151[Quote]
>>6142seemed like /admin was probably phased out in favor of the mod.js / janitor.js extensions, and the new team.4chan.org stuff
there's an extra_path cookie you can set to the JS name which makes it load extension when you open the board, afaik extension makes a couple XHR requests to /admin which is probably why it's still around
didn't find where extra_path gets setup though, maybe team.4chan sets it, haven't really looked at that yet
β6158[Quote]
>ssl_certificate_key /usr/local/www/ssl/4chan.org-nopw.key
wew, leaklad has the private key without any password
β6159[Quote]
>>6139D-6 Metro 2. Theyβre all countries that can share subway tunnels
β6183[Quote]
i sincerely do not believe the other anon setup the admin page honestly (and working).
after ripping apart the `adminvalid` function, setting up the new database table, you then realize that there are two `auth_user` functions, one new and one old. the old one is commented out. the new one only uses new cookies, which come out of thin air (no logic puts them in place), except…
they come from the old login, which has a boolean parameter switch (true uses POST parameters (from the login form), false uses the new cookies, sort of (mangled)). again, there is nothing that calls the function with the truthy parameter (using login form), so you have to mangle `adminvalid` even more (i checked for POST parameters (had to rewrite csrf tracking here) to set that boolean).
now there's some json error, but i'm making great progress, and i can see in the error logs and with debugging my user and pass are pulling an admin level from the database (before hitting that weird json error and getting `Database Error (1-0)`). i got to change moot's name to my own, which is exciting.
TL:DR
uncomment old auth and (re?)write a lot of code to use login form to maybe get new cookies, a huge amount of work and the other chud is way too vague about all this. weird case, other chud did do all of this and is just being a niggerlicious faggot about it and won't say anything
β6188[Quote]
>>6187actually that was reports.4chan not team
β6190[Quote]
getting rebuildall to work finally (not really, it crashed here, but again, more "good errors" where the next steps are obvious)
json error required us to populate the ips json array in mod_users with an array of at least one ip
>>6187>grep -nr do_login<Ξ΅ (did you write this function yourself? i don't see it in the leaked code)i'd say /admin is not "old and busted", and me with my <48 hours of PHP experience was able to find out what happened in the codebase and why (they wanted to upgrade login, did so to something not in the codebase, buried it a bit; in order to use 4chan's code, we just unbury it a bit)
if it was really "old and busted", i wouldn't be looking at a successful rebuildall message using exactly that code
β6191[Quote]
>>6190did you not read
>>6151 ? their JS extension still makes use of /admin, but it's obvious from the work needed to fix it they aren't using that page anymore to login or anything
there's remnants you can fix up to get pic rel (thanks to their raisinty dev for commenting things instead of removing them), but the new leak includes the newer team.4chan / reports.4chan code anyway
>>5917 >>5932 β6195[Quote]
an actually successful (maybe) rebuildall
>>6191well, call whatever i'm doing the oldschool version
both sql schema dumps have the table `blotter_messages` missing the required sql_cache field? has nobody got this far?
desu you talk like a retarded faggot gen x or boomer so i really don't read much into what you post
>it works on "stock servers">as i said /admin is old and busted>can set all of this up but can't post his instructions.txt>probably just some hindoo using inspect element β6219[Quote]
>>6195>sql_cacheit's not a field, it's a reserved mysql keyword that tells the db whether or not to use the cache when executing this request
β6261[Quote]
>>6066Quite the opposite, I'm backporting
>>5894 's raisin to PHP 5.2 and IIS 3.0 (On NT 4.0) cuz I'm feeling particularly evil today >:)
β6263[Quote]
>>5160trvth nvke. You can literally make a 1:1 4chan clone using js framework much easier
β6273[Quote]
>>6271>>6272Surprised it didn't crash
β6323[Quote]
>>6304The subdomains are still required, no?
Oh, and out of the box, accessing catalog or imgboard still tries to redirect to 4chan.org. Admin.php doesn't.
β6359[Quote]
>>5932Oh nice, I setup 2FA the other day so I could try the mod option to embed HTML tags in posts.
I haven't properly setup the new team/report stuff yet so I can login and get a valid token, but I'm assuming they use the same mod_users table as the main site?
I've included my PHP CLI script to encrypt and store a TOTP secret in the database for 2FA, there are more in-depth instructions at the top of the file but basically:
Set the auth_secret column in the mod_users table to BLOB or BINARY (length 64)
Generate server encryption key: mkdir /www/keys && head -c 32 /dev/urandom > /www/keys/2015_enc.key
Set permissions (if needed): chown -R www-data:www-data /www/keys && chmod 700 /www/keys && chmod 600 /www/keys/2015_enc.key
Run: apt-get install php5.6-mcrypt php5.6-mysqli
Remove .txt from the attachment file name, put it anywhere on your server.
Run: php5.6 ./write_mod_secret.php username secret
If you leave the secret blank it will generate one for you to use, put this into your 2FA client, time-based (TOTP), code/digit length 6, interval 30 seconds.
You can use
https://totp.danhersam.com if you don't have a 2FA client installed.
This will only really be useful for a fresh setup, I'm guessing that the moderators (and janitors?) will get a secret/QR code via email or on first login.
β6361[Quote]
>>6304…my "notes" (not instructions) are maybe 50x longer so far and i don't think i'm even a tenth of the way there
did chud modify the files and then not say what they did? is there a .git in there so people can see?
for instance, you have to fix a lot of curly brace array access syntax as the first thing
setup.php doesn't exist in the leak, so right out the gate that's odd and the instructions are omitting a lot (i had thought these would be instructions to get it working in modern PHP from the leak files)
there's a huge amount of old mysql_… functions that need to be updated as well, and those changes are only scratching the surface
>>6323the redirecting is one of the first problems i found, still actually haven't really solved that and for now my test board just loop redirects into itself with the page that says "Updating index…" (but i still have stuff i need to do, so maybe that gets fixed). i would be very surprised to see how this works without using subdomains (i have mine set up with a web host), or the work to go through and make sure no subdomains are used would be monumental
>>6219see pic related, the exception i got seems to pretty explicitly expect "column 'sql_cache' in 'field list'", and adding a column with that name that matched the types of 'sql_cache' as it was used for other tables in the existing schemas (check `boardlist`) made it work, and there it is defined as type varchar(100). i don't know much, but it sounds like you are full of dried and aged grapes.
β6385[Quote]
https://gitgud.io/GapeNewell/OpenYotsubaIf you have problems make an issue and I'll try to fix it.
β6388[Quote]
>>6385Hey chud due to recent spam posts aren't visible to non-moderators in the first hour. Only posters who have verified their email can post immediately.
β6394[Quote]
>>6368we're two different kind of developers then
if it looks like a field/column in a table and without adding it we get errors like we're missing a field/column in a table, and we can only get past it by adding it as if it was a field/column in a table,
then it's a field/column in a table and you can ram your documentation up your ass
i hate people who cite authority and documentation when it is simpler to describe it how it is and behaves in reality
β6495[Quote]
>>5570is that poop he's drinking
β6757[Quote]
>>6756i know from the nvida GPU driver source leak, the opensource community couldn't use any of it because that would be a copywrite violation, i assume the same would apply here
β6776[Quote]
>>6738holy keyed, keep up the good work +1 upvoted
β6780[Quote]
Is /f/ okay ? Any ideas about the code in that ?
I remember they apparently kept it up during the crappy april fools since it's apparently too much of a clusterfuck to clog and unclog, no current mod has any idea how it works
β6789[Quote]
>>6780iirc it looked like /news/'s catalogue, never really went there though
β6791[Quote]
>>6789It had more features, i havent opened it in what 2-3 years but i remember you could play swf animation directly
At least the board is slow enough to where the entirety of it has been archived but im worried itll be purged once all of this is over
I wonder if 4chanx will be broken for a few weeks too
β6793[Quote]
>>6738Fine work, lad. You planning to publish your codebase at some point? I'd like to try my hand at creating an automated deployment with squashfs and VMs potentially.
β6797[Quote]
>>6738new checkpoint: b/thread/1, no php errors (or warnings), no console errors, no missing network files (except for one pesky one for mobile)
anyone know where to find buttonfade.png? (button styling for mobile device layout i think)
had to comment out a line of code or else rebuildall was not building the board's thread.json.gz (in `function updatelog_real`; `if( !$resno && $noidx ) { return; }`, maybe i fucked up since my $resno was 0?)
also had to fix a bunch of old PHP each usages, fix cors, update gzip handler to process json as well as HTML (with the gzip handler rewrite, that was simple)
next i think is posting
>>6780it's in the list of valid boards (even /news/ is), and from the way the code looks, if you were able to open it 2-3 years ago i would be shocked if it wasn't in here somewhere.
>>6793i'm feeling greedy that everyone so far was too focused on old PHP and/or no auth/captcha and/or local-only and/or etc., and that i might be close to a dream of mine (delusion of grandeur): if i can get <?>chan running just about the way 4chan ran with few changes (besides the new PHP, backend, debian 12, etc.), and if i can capture people wanting 4chan, and if i can de facto be the next runner of 4chan, i can finally cleanse it of trannies and blacked posters (maybe apartheid them into their own place like /mlp/)
i could be retarded and slow and everyone already has this running, but it's hard to tell from this thread where everyone is at
TL:DR
where would you like the codebase deployed?
(maybe i can run my own local git hosting site if things like github will nuke me for sharing leaked code)
β6803[Quote]
>>6797>and if i can capture people wanting 4chan, and if i can de facto be the next runner of 4chan, i can finally cleanse it of trannies and blacked posters (maybe apartheid them into their own place like /mlp/)desu I wouldn't trust 99% of people to run the next 4chan, better the devil you know
β6808[Quote]
>>4627>Just start again at this pointIn .NET, as Satania intended.
β6809[Quote]
>>6797Anywhere is fine for starters, I can pull a few strings to have it mirrored on some other repos for redundancy if need be.
I wouldn't say your dream of reproducing the real environment is infeasible, but for that to be less painful the first real step would be to de-hardcode references to the 4chan domains as much as possible. That has proven to be one of the most annoying parts so far.
β6810[Quote]
>>6803that was maybe one of the easiest parts, maybe top 5 easiest
> grep -rl '4cdn' ./ | xargs sed -i 's/4cdn/FOO/g'> grep -rl '4channel' ./ | xargs sed -i 's/4channel/FOO/g'> grep -rl '4chan' ./ | xargs sed -i 's/4chan/FOO/g'<congrats, you did itgetting the gzip stuff to work in a way i understand and am happy with was probably 100x more difficult, same with my autistic fixation on unburying the old admin login page and making it work
β6823[Quote]
>>6810Sure, if all you want is to replace one hardcoded domain with another, but actually making them configurable is something I haven't had the time to explore while fighting various errors (and lack of their displays) across different web servers and PHP combinations. At least the OpenYotsuba guy reduced the number of non-relative paths if anything. Speaking of which, that's something I personally want to get done at some point: making this goddamn mess actually portable. How the hell 4chan managed to baloon as a fork of the *single-file* Futaba to… well, this.. is beyond me.
β6824[Quote]
<what's up with this shit?
<why do all altchans let you do reverse greentexts?
β6827[Quote]
>>6823i'd file that under "problems that are only problems if we win already"
you're not going to have issues pointing everything at one spot unless you're getting so much traffic that that causes issues, and anything beyond 1 post a day to me is a personal victory
even then, once it becomes a problem, chances are one of the hardcoded domain subgroups is the biggest problem, and you can just fight them one at a time instead of fighting the whole hydra at once
even THEN, if i'm not retarded, i saw i could point subdomains at different IPs from the web host's DNS config, so if it's a traffic issue we have even more tools to fight that
and so it won't really be a problem until you've already got a huge amount of momentum, so it's not worth worrying about.
if the problem is that others can't configure it, then just refer them to my 3-grep solution, which can probably be made into just one grep/command, and that's very easy configuration
>>6824altchans are like altgirls and they have to be quirky because they want attention much more than they want to just be a better version of something
>shiggy<diggy>roody<poo β6832[Quote]
>>6797The problem with jannies was lack of accountability and hidden nature of it.
There should be an open board with all bans (obviously obfuscation for 'p), ban reason & which jannie was involved.
Some sort of jannie watchdog board. If there's enough evidence of abuse of jannie power, they get the boot.
β6846[Quote]
>>6832Jannies have nothing to do with "website culture" they couldn't care less if there were anti powertrip measures because they're literally designated to powertrip over muh anarchy imageboard
β6881[Quote]
>>6846Great idea in theory however it will be abused by bad actors spamming and harassing to get rid of/punish their well-deserved bans. All of these community report projects end up going to hell
β6892[Quote]
>>6881i've always wondered about the more decentralized option, but that just offsets the problem to "who will store inhuman garbage": you have "curators", people subscribe to a "curator" (jannies get paid probably breaks a lot of the cycle there). Your own personal paid janny. People pay subscriptions for all sorts of doodoo-feces, some for things like news and
(((journalist))) articles.
then the matter could be something like uploading posts to some cheap blockchain like BASE or using IPFS or some other decentralized storage thing. i think the problem that would come first from that is that if you started, say, storing posts on the EVM (insane, unreasonable, but pretend it's cheap), if people start puttin' 'p on the EVM, then ISPs and states will start just blocking the EVM, won't they? (or could that apply to BTC (even more expensive that the EVM?))
β6896[Quote]
>>5932If you have auth setup you can just go to
https://reports.whatever/login?action=tfa and it will setup 2FA for you.
QR Codes don't work because chart.googleapis.com can't create qrcodes anymore, it can be changed to another qr gen service like
https://api.qrserver.com/v1/create-qr-code/?size=250x250&data= β6907[Quote]
and the github repository!!??
β6910[Quote]
these are the things that make me schizo about people showing themselves posting, but code being hard to find (devtools?)
with mysql 8.4.5, the [board_name] table schemas that are in this thread right now will not work unless you make a serious change somewhere.
`root` is a tricky little value, and in the schemas the comments are unsure about their purpose. this is odd, because there is a comment in the codebase that explicitly says
>"root" is used for archive pruning
claude guesses it's to determine pruning eligibility
in the schemas, it's listed as a timestamp type. in the codebase, i've found 3 particularly interesting values it's being set to:
>0
>now()
>"202701010000"
mysql hasn't allowed 0 as a timestamp value for about 10 years, and i'm guessing it's being used elsewhere in the codebase to check against that potential 0 value as a falsy/nullish value in conditional expressions and statements. this means you can't just change it from 0 to 1, that would break those, so it has to stay as 0
you can't really change the type to an int unsigned, as every now() would then cause a crash unless changed to unix_timestamp()
you'd also not be able to compare against 202701010000 since that's a fucking huge number for a mysql unix timestamp and on top of that, it's too big to be an unsigned int.
so you have to do one of four things:
1. keep 0, change now() to unix_timestamp(), change "202701010000" to the string of the unix_timestamp of the equivalent date, change the db type from a timestamp to an int unsigned (this is what i'm doing)
2. hamstring the security on your db to allow a 0 for a timestamp, which mysql considered to be a bad idea 10 years ago enough to default ban doing that for everyone all the time
3. use a version of mysql that's 10 years old (probably "just werks")
4. potentially set up a bomb to blow up in the codebase logic
i haven't seen anyone bring this up and it was a large enough amount of work to solve that i'm surprised about that. what options are people taking here, if they got to here?
β6941[Quote]
>>6926it would be a good strategy to buy that domain because sometimes people put .net instead of .org.
β6991[Quote]
Can you guys please stop saying raisin? You're killing me.
β6993[Quote]
>>69414chan.net was the original domain IIRC
β7005[Quote]
>>6987you are a god. revive it before their admin team can, that would be funny
β7012[Quote]
>>6926Owner email of 4chan.net: OWNER@4chan.net.customers.whoisprivacycorp.com
whoisprivacycorp.com information:
Created2014-08-05
Updated2022-08-06
Expires2022-08-05
OwnerWhois Privacy Corp.
RegistrarInternet Domain Service BS Corp.
β7022[Quote]
>>7012>>7010The name server 151.ns1.abovedomains.com was, however was acquired by tldregistrarsolutions, which is also the director of Whois Privacy Corp, according to the offshore leaks.
Here is their website, anyone daring to talk to them:
https://www.tldregistrarsolutions.com/ β7031[Quote]
File: File 1.png π₯οΈ (50.09 KB, 775x849) 13226c9dc956c48e499d19c2c39b3cf34f12b49f2c3cc70eb4f51a585a5be1790ImgOps

>>7010>Alan AdΔ± Sahibi Δ°lgili KiΕisii am going to milk you
β7082[Quote]
>>>4613 (OP)
>I am not doing the work of 4chan devs for free
thats retarded, the site is pretty much run by the community
β7110[Quote]
>>6846It's like laissez-faire capitalism it really doesn't work without a government, it's a necessary evil that needs to be put on a short leash.
β7146[Quote]
>>4731>This. If they couldn't update it in 9 years, why should users here be the good goy that fixes it for them?To make a suitable replacement
β7157[Quote]
>>7149>>7152DON'T USE NAMECHEAP YOU STUPID NIGGER unless you want to get taken down or doxxed
I thought this was common sense
β7168[Quote]
>>5500vichan seems better, with Yotsuba I remember having like 10 tabs and my ram is maxed out after few hours, with vichan, it doesn't go beyond 10gb after three days now.
throw that trash to the garbage
β7193[Quote]
>>5500>we clean up and patch holes in OpenYotsuba and give it to Hiro>give it to Hirowhy would we give that gook waste our hard work after 900 second timers and trannyjannies and allowing niggerlovers to plague all boards?
also that other guy's garbage is OpenYotsuba, and you can tell putting a codebase with massive changes up on a git host with one commit "big upload" is going to be a disaster
he can have OpenYotsuba, so far i've heard of no progress of anyone actually doing a rewrite and there's 0% chance 4chan proper can accomplish that
i'll call my take on this OpenChan; logo will be goatse
also this trash website now makes you mine crypto for them, jesus christ
β7195[Quote]
just write your own image board software, I could do it in 3 days guaranteed and have something identical to yotsuba, this raisin is EASY, there are no good open source image boards because niggers would prefer to waste time repairing moot's dogcaca php 5 for some reason
β7224[Quote]
>>5305>All you need to moderate are the uploaded images/files.That was tried, too many false positives
β7237[Quote]
the limewire source code link is broken. Does anyone have the files the hacker uploaded on Wednesday?
β7245[Quote]
>>7195You know what, that's exactly what I'm gonna do now. The one I wrote as a grad project is showing it's faults, and it's due time I start a new attempt and learn from past mistakes.