Skip to content

Instantly share code, notes, and snippets.

@Logioniz
Logioniz / client.pl
Last active May 16, 2018 15:42
UPD server/client example (block/nonblock)
#!/usr/bin/perl
use Mojo::Base -strict;
use Socket ':all';
socket(my $client, AF_INET, SOCK_DGRAM, IPPROTO_UDP) || die "socket: $!";
bind($client, pack_sockaddr_in(7777, inet_aton('192.168.88.114')));
send($client, "hi, vasya", 0, pack_sockaddr_in(12345, inet_aton('192.168.88.114')));
@Logioniz
Logioniz / 1.pl
Last active August 30, 2018 15:20
Simple socks5 implementation using perl Mojo
#!/usr/bin/perl
use Mojo::Base -strict;
use Mojo::IOLoop;
use Devel::Peek;
use Data::Dumper;
my $DEBUG = 1;
my $users = {
@Logioniz
Logioniz / README
Last active August 30, 2018 19:31
rucaptcha аналог (решение гугл рекапчи с помощью работников/людей)
3 компоненты:
1. простенький api service, который чем-то похож на апи rucaptcha для приёма recaptcha. Нужно передать рекапча ключ и урл.
2. простенький socks5 прокси, который умеент подменять запросы, когда это нужно (чтобы домен (url) совпадал с доменом разгадываемой капчей)
3. браузер работника должен быть настроен на проксирование через наш socks5 прокси
Первым делом нужно запустить прокси и апи серверы.
Потом нужно дождаться, когда подключится работник (тот, кто капчу разгадывает), при этом работник должен настроить в браузере прокси socks5 с разыменование домена.
Потом сделать запрос на добавление капчи:
curl -XPOST --data-urlencode "googlekey=<публичный ключ рекапчи>" --data-urlencode "pageurl=<страница на которой разгадываем>" "http://127.0.0.1:3000/in.php"