[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]

/4get/ - wew

8chan steals halfchan's gets

Catalog

8chan Bitcoin address: 1NpQaXqmCBji6gfX8UgaQEmEstvVY7U32C
The next generation of Infinity is here (discussion) (contribute)
Name
Email
Subject
Comment *
File
* = required field[▶ Show post options & limits]
Confused? See the FAQ.
Embed
(replaces files and can be used instead)
Options
dicesidesmodifier
Password (For file and post deletion.)

Allowed file types:jpg, jpeg, gif, png, webm, mp4, swf, pdf
Max filesize is 8 MB.
Max image dimensions are 10000 x 10000.
You may upload 5 per post.


File: 1424500523427.jpg (153.17 KB, 850x478, 425:239, 1377199878766.jpg)

c24e25 No.94

Discuss and post scripts here!

149d37 No.104

/tech/ seems unexcited by the idea, I doubt we can count on their help. However, there is this:

http://kek.2fh.co/scriptlist/

No scripts for actually attaining the GET, but there is one that estimates the time until the next one. No idea how it'll hold up under /b/-level strain though.

302ae4 No.105

I won't be able to help, but what are the scripts meant to be for?

c24e25 No.107

>>105
A script for GETing and a script to monitor /b/'s latest post number, post rate and an ETA on the 600mil GET

149d37 No.108

>>105
By taking into consideration post rates and other factors, it's possible to accurately predict when a GET will happen and steal it that way.

f563be No.118

>>104
I suppose we could try /prog/, though they are only 1/4th of /tech/ all we need is one scripter to do the job. If you do appeal to them atleast try to change the OP to something more charismatic and befitting of them, perhaps the problem with the appeals so far has been that they are all copied and pasted generic ones without mentioning vital details or why anyone should care.

e5f032 No.126

we could probably brute force it with enough users or proxies. pre cook some captchas at the right moment, and have em all post at the same time at the critical moment

6aa05d No.131

/tech/ here, try forking these

https://greasyfork.org/en/scripts/search?q=4chan+get

Make it a cripple get, and you will have my approval.

ed7d13 No.185

>>131
Is python feasible for scripting this?

I had a python script I wrote that would get an 8chan board's last post number and I used it to get some gets, but I think hotwheel disallowed the python user agent, and I was too lazy to ever fix it.

It was in my opinion rather slow, but that was way back when 8chan page loading was pretty slow.

I think it could've been way faster if I used threading and if 8chan's pages would've loaded faster back then.


>>126
Yeah, you could either load up a bunch of random captchas and as fast as you can solve them is as fast as it would post

OR

there are websites out there that offer a service with an API to auto-solve captchas for your software.

The way the captcha solving is done is that random ass people on their website are paid 1/10th of a penny to solve each one


The only problem with that is, if your image is all the same it might discard your post, so if you used something like python's PIL library you could generate the image real quick by changing a single random pixel in the image for each post to a slightly different color and then it wouldn't be detected as identical.

6aa05d No.209

>>185
anything's possible, you could create a bot in perl if you wanted, but I dunno about hooking in with the new google captcha. I haven't spammed in quite some time. you're better off just using a userscript, like the ones I linked to, as well as just queueing captchas that way. though there is a time limit after which those solved captchas aren't valid.

73c643 No.277

/sp/ scripter here. Contrary to popular belief scripts used for GETs are a myth. It is impossible to monitor a highly contested GET, especially as one as big as /b/, from offsite. Between whether or not you could get an accurate response from the server (server load will be busy as it gets closer), getting the response back instantly (you would want an insanely fast connection), running the script code to post, and returning the post to the server. Even if all that happened in less than a second 100 other posts will have happened. The only "scripted" gets have been from administrators placing code on the server.

Yesterday I created a nice 8ch get watcher in 30 minutes >>>/sp/105859. Creating a get watcher for cuckchan would be considerably harder though because they don't keep track of Post per Hour/Day in their API. All I could do is get the latest post number and keep track of it and make my own calculations over the day on how soon it will be.

e1d71b No.281

>>277
well there always a solution.

heres my trick if we are over 100 autist:

lets say the get is 99.
we get 5 person that tries to post att 99
5 at 98
5 at 97


maybe it could work, we should test

1d450e No.293

>>104
get watcher userscript does not seem to work for me. anyone else?

e7afbe No.296

It's useless to use the API to try and monitor the post count, since it's not immediately updated – it seems the response is cached for a while. Try running this and you'll see what I mean:
#!/usr/bin/env python2

import requests
import time

last_post = 0


if __name__ == '__main__':
while True:
posts = []
for page in requests.get('https://a.4cdn.org/b/catalog.json').json():
for thread in page['threads']:
posts.append(thread['no'])
if 'last_replies' in thread:
for reply in thread['last_replies']:
posts.append(reply['no'])

new_max = max(posts)
if new_max > last_post:
print '%d (%d new posts)' % (new_max, new_max - last_post)
last_post = new_max
else:
print '%d (no new posts)' % new_max
A possibility may be to do it the old-fashioned way by scraping page 1 HTML, which should update on every new post. The problem with this method though is that it can't track new posts in threads past page 1 (eg. threads past the bump limit and sage). It might still be worth a shot though.

1d450e No.298

>>296
luckily /b/ moves so fast saging boards wont last very long without being bumped off

e7afbe No.301

close enough
#!/usr/bin/env python2

import re
import requests

last_post = 0


if __name__ == '__main__':
while True:
resp = requests.get('https://boards.4chan.org/b/')
posts = re.findall('id="p(\d+?)"', resp.text)

new_max = max([int(x) for x in posts])
if new_max > last_post:
print '%d (%d new posts)' % (new_max, new_max - last_post)
last_post = new_max
else:
print '%d (no new posts)' % new_max

1d450e No.302

File: 1424534405451.png (12.39 KB, 173x828, 173:828, Screenshot - 02212015 - 07….png)


e7afbe No.303

>>302
try >>301, it should show changes more frequently

ed7d13 No.306

>>296
That's exactly how my 8chan script worked in this post.

>>185


It scraped page 1 of the board and found the latest thread, from there it opened that thread and scraped the post number from the last post, since 8chan's first page at the time took a while to update with latest posts.

I don't know why, but it worked even though there were stickies. You'd have to check to make sure stickies didn't fuck it up, and find a way around it if they did.

>>277
The best option would be for your script to be actively watching the board for a while and averaging the post speed for the best possible guess

1d450e No.307

>>303
599631721 (599631721 new posts)
599631721 (no new posts)
599631726 (5 new posts)
599631722 (no new posts)
599631719 (no new posts)
599631726 (no new posts)
599631722 (no new posts)
599631722 (no new posts)
599631729 (3 new posts)
599631729 (no new posts)
599631721 (no new posts)
599631726 (no new posts)
599631721 (no new posts)
599631721 (no new posts)
599631729 (no new posts)
599631722 (no new posts)
599631729 (no new posts)
599631729 (no new posts)
599631722 (no new posts)
599631729 (no new posts)
599631722 (no new posts)
599631729 (no new posts)
599631729 (no new posts)
599631729 (no new posts)
599631740 (11 new posts)
599631729 (no new posts)
599631740 (no new posts)
599631740 (no new posts)
599631722 (no new posts)
599631729 (no new posts)
599631729 (no new posts)
599631726 (no new posts)
599631729 (no new posts)
599631740 (no new posts)
599631729 (no new posts)
599631740 (no new posts)
^Z
[1]+ Stopped


this will be good enough to keep a rough idea of when we're getting close i guess

73c643 No.311

>>296
The API on 4chan is updated instantly… If it is cached for you add a time to your request. Or what do you mean by immediately? It certainly updates at least every second.

e7afbe No.313

>>311
It doesn't update the instant new posts are made. It updates them in batches of 3-10, between which nothing new happens, so presumably updates are delayed for some unknown amount of time.

73c643 No.314

>>313
Are you sure? I'm refreshing https://a.4cdn.org/b/1.json and can see both posts and new threads appear with a timestamp the same second I refresh.

1d450e No.334

File: 1424541875720.png (13.48 KB, 465x220, 93:44, Screenshot - 02212015 - 10….png)


e7afbe No.336

>>334
run it again, 4chan must've returned no posts

1d450e No.399

File: 1424557106144.png (94.43 KB, 576x510, 96:85, Screenshot - 02212015 - 02….png)


4df4bd No.409

File: 1424558819772.jpg (21.55 KB, 500x536, 125:134, 1421874329120.jpg)

>>399
KANE?

1d450e No.410


3d5fd1 No.536

Someone from /tech/ here. Here's my thoughts:

One way you could try to do it is with a distributed attack.
Also I think it should be done in-browser with js (or a language that compiles to js) so users can monitor captcha fuckery and act accordingly.

A bunch of users would be running a script that uses 4chan's JSON api to query the first page of /b/ every second or so and finds the largest post number on that page. The queries are synchonized by a central server all the users are connected to via websockets, so that they are sequential. That way with 10 users querying at one second intervals, you could sample the post number every tenth of a second and get a more accurate post rate.

The server then does some math with the latest sample and the post rate and extrapolates the time at which the get will occur, and just before that time it sends a message to all the users connected to it to make their posts. At least one of the users should get the get if there are enough users connected.

>>313
My guess is this has to do with cloudfare. With many different users we'd be querying different cloudfare servers so that might mitigate the issue.

Also fuck you /sp/ for stealing gets on every board I like.

1d450e No.537

>>536
this seems like itd take to long to set up and distribute before the 6mill get unless something like this already exists.

1ab00a No.559

>>537
Something to work on before next get

bca6a8 No.616

HERE IS WHAT WE NEED TO SCRIPT

The script must be more ADVANCED than others. Here's how:
>It must regularly test the waters, say once every five minutes, and average the time between post submission and post appearance on reload
>It must use that time to estimate the best time to hit submit on the true GET
>It must be running on several different browsers or VMs, which will all submit at the same time

anything else?

668395 No.626

>>559
like 666666666?

1d450e No.637

>>616
I'd say it'd have to fuck your mum, but someone's already done that ;^)

9771da No.642

>>409
Dr. Mobius, I'm GDI

055884 No.687

>>616
Is anyone even remotely capable of creating this device? Also, can we agree that the unholy machine will never be used on fullchan?

9efd3e No.688

>>687
No. Clearly the poster doesn't understand code either.

ed7d13 No.694

File: 1424627416629.gif (984.56 KB, 500x547, 500:547, P45zuJz.gif)

>>536
If it were distributed like you say, wouldn't it be much more complicated because you'd need to take into account each user's ping, 4chan's ping on their end and also the amount of time it's going to take to upload the image attached to their post based on it's size?

As well as maybe time the post building code and add that to the predicted delay.

The more variables you take into account the more accurate your prediction becomes and would start taking fewer people running the script to get the get until maybe your prediction is so accurate that it would only take one user.

In that case the get would be fought over between people running the script, so better to keep it a secret via server side predictions

3d5fd1 No.805

>>694
It would be more complicated, but I think it's a better alternative to just one user spamming the server with requests.

According to 4chan's api rules:
1. Do not make more than one request per second.
I don't know if that's actually enforced, but it would be safe to assume it is.

Even if the sample times aren't synchronized, I think the data would still be usable. The server would just have to sort out the samples by time and maybe do some averaging. I dunno.

I don't think posting delay is that much of an issue. You could have the server just not tell everybody to post at the same time. Instead, it tells one person to post every 10th of a second or something, spreading the posts over a range of time to account for possible error in the get time calculation.

(I'm pulling a lot of this out of my ass, but I'd really like to see the GET equivalent of a DDoS)

1d450e No.1265

>>616
>>694
If someone actually creates this beast of a GET machine I will print these two posts out and eat them.

a6eb1a No.1501

Can we get a posts per hour graph, each X value annotated with post ranges? If we have that, we can continue the function in order to get a good estimate on what hour the GET will land.

ed7d13 No.2451

What kind of captcha does halfchan use? Someone pls post pictures of the kind of captcha you see there maybe.

f80f72 No.2527

File: 1424822034035.jpg (92.63 KB, 798x600, 133:100, 1424715043181.jpg)

Are we nearing the promised time when someone gives me a directory dumper Desu ka~

Provide me one that works on both half and fullchan and I shall wreak havoc upon them Desu~

d6637f No.6721

>>185

>and I was too lazy to ever fix it.

I made a script to bypass Amazon ban of bots. Post code and maybe I will help you, preferably on Github.


d6637f No.6725

>>805

we could make a p2p network to share the info. Too bad I suck at networking.

Imagine 50 persons post at the same time and one of them winrar. Would be amazing.


b9f5df No.8600

>>185

> but I think hotwheel disallowed the python user agent

can confirm, urllib2 is 403

fix is simple, though


UA = { 'User-Agent' : 'Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Firefox/38.0' }
req = urllib2.Request('http://8ch.net/4get/', None, UA)
html = urllib2.urlopen(req).read()
print html


2a90ac No.9578

>>301

i fixed it :3


#!/usr/bin/env python2

import re
import requests

last_post = 0
new_max = 0


if __name__ == '__main__':
while True:
resp = requests.get('http://boards.4chan.org/b/')
posts = re.findall('id="p(\d+?)"', resp.text)

new_max = max([ new_max, max([int(x) for x in posts]) ])
if new_max > last_post:
print '%d (%d new posts)' % (new_max, new_max - last_post)
last_post = new_max
else:
print '%d (no new posts)' % new_max


2a90ac No.9580

>>9578

arg can be supplied now :v


#!/usr/bin/env python2
import re
import requests

from sys import argv
board='b'
if(len(argv)>1): board=str(argv[1])


last_post = 0
new_max = 0
if __name__ == '__main__':
print 'Monitoring posts on: /%s/' % (board)
while True:
resp = requests.get('http://boards.4chan.org/'+board+'/')
posts = re.findall('id="p(\d+?)"', resp.text)

new_max = max([ new_max, max([int(x) for x in posts]) ])
if new_max > last_post:
print '%d (%d new posts)' % (new_max, new_max - last_post)
last_post = new_max
#uncomment the next two lines if you want to be spammed with "no new posts"
#else:
#print '%d (no new posts)' % new_max


ab1d9c No.9594

Do you guys have any scripts for here? You know? Fullchan


94972f No.9677

>>9594

nope


fe7b40 No.9799

>>9677

What about halfchan? What are your preferred scripts for there?


cede21 No.9847

>>9799

definitely nope

only script we got working is the one that watches the latest post number by hotwheels




[Return][Go to top][Catalog][Post a Reply]
Delete Post [ ]
[]
[ home / board list / faq / random / create / bans / search / manage / irc ] [ ]