LINUX.ORG.RU
ФорумTalks

Открыли поделку, может кому пригодится

 , ,


3

2

Открыли с товарищами поделку под WTFPL. Хрень представляет из себя socks5 proxy, но не простой, а с шахматами и поэтессами с ipv6. Входящие соединения слушаются на множестве ipv4 портов, каждому порту соответствует свой исходящий ipv6 адрес, причём исходящие ipv6 адреса меняются на новые (уникальные) каждые N секунд (задаётся в конфиге). Адреса хранятся в mongodb и раздаются основному демону (tcp_proxy) другим демоном (ipv6assignd), который выступает своеобразным dhcp сервером.

Написано на C (-std=gnu99) с использованием libuv.

В разработке участвовал я, pascal и ещё один товарищ, который на ЛОРе не представлен.

Дополнительно в тред призывается Twissel.

Берите пользуйтесь, do what the fuck you want to.

☆☆☆☆☆

Ответ на: комментарий от iz_tabakerki

Изначально планировалось там хранить ещё всякую аналитику, но до этого не дошло, да и адреса планировалось хранить по-другому. Кароче, так сложилось. Так-то да, для текущих целей хватило бы простого файла.

DELIRIUM ☆☆☆☆☆
() автор топика

что-то я припоминаю обсуждение чего-то подобного в джобсах

стало не нужным и потому заопенсорсил? :)

Harald ★★★★★
()
Ответ на: комментарий от entefeed

Ужос-ужос. Ну перепиши на простой файл и пользуйся. Там поправить 10 строчек.

DELIRIUM ☆☆☆☆☆
() автор топика

Наверное удобная штука для ботоводства, спамерства и прочего подобного нехорошего. Боюсь такими темпами некоторые особо вумные одмины начнут специально отключать IPv6 на серверах, для защиты от спама (как сейчас некоторые блокируют китайские и индийские IP).

MrClon ★★★★★
()

Чё, так и не взлетело?!

Обидно!

Спасибо за каст :-)

Twissel ★★★★★
()

а вот это в s5.c как-то на WTFPL не похоже совсем :)

/* Copyright StrongLoop, Inc. All rights reserved.
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to
 * deal in the Software without restriction, including without limitation the
 * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
 * sell copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
 * IN THE SOFTWARE.
 */

Harald ★★★★★
()
Ответ на: комментарий от Harald

Да, там надо кой-чего подчистить в этом плане (я на выходных этим займусь). Некоторые куски надёрганы из примеров для libuv, там другая лицензия. Плюс небольшая часть (socks5 авторизация) была основана на коде 3proxy, который мыло.ру под BSD открыли.

DELIRIUM ☆☆☆☆☆
() автор топика
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от Serg_HIS

А на много просрали?

Порядочно =)

DELIRIUM ☆☆☆☆☆
() автор топика

Берите пользуйтесь, do what the fuck you want to

Это писулька не имеющая юридической силы, так что, увы, взять и пользоваться не получится. Есть же нормальные OSI approved лицензии.

bitbucket.org

code uses gnu99 C extensions

хранятся в mongodb

Кошмар. Ещё, поди, Linux-only.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от slovazap

Да, причём заточено под линуксовую фишку передачи открытого дескриптора другому процессу.

DELIRIUM ☆☆☆☆☆
() автор топика
Ответ на: комментарий от slovazap

Да, действительно. Перепутал. Но оно не POSIX, но присутствует почти везде. Anyway, gnu99 там только из-за того, что без него как-то криво препроцессятся libuv'шные хедеры, наш код - вполне себе c99.

DELIRIUM ☆☆☆☆☆
() автор топика
Ответ на: комментарий от h31

Выше уже писали:

удобная штука для ботоводства, спамерства и прочего подобного нехорошего

Я хз, на самом деле. Это был коммерческий заказ, как я выше писал. Юзкейзы заказчик описывать отказался, но подробно описал, что ему нужно. В итоге заказ отменился, но часть функционала уже была написана. Вот мы и открыли то, что есть. Вдруг кому-нибудь понадобится.

DELIRIUM ☆☆☆☆☆
() автор топика
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от mystery

Я не работал ни с Couch, ни с Redis. Я выше писал, предполагалось хранить в базе херову тонну аналитики, а монга для этого подходит хорошо. До аналитики мы не добрались (это должно было стать следующей фазой разработки отдельным заказом), а монга осталась как рудимент. В текущем состоянии её правильно было бы заменить на просто текстовый файл, либо на BDB.

PS: но польза от этого есть: в процессе разработк в монгу был отправлен милипиздрический патч для mongo-c-driver и его приняли =)

DELIRIUM ☆☆☆☆☆
() автор топика
Последнее исправление: DELIRIUM (всего исправлений: 1)
Ответ на: комментарий от reprimand
[  4%] Building C object ipv6assignd/src/CMakeFiles/ipv6get.dir/test-client/main.c.o
In file included from /usr/include/uv.h:62:0,
                 from /home/del/work/ip4_2_ip6_proxy/ipv6assignd/src/test-client/main.c:6:
/usr/include/uv-unix.h:135:9: error: unknown type name ‘pthread_rwlock_t’
 typedef pthread_rwlock_t uv_rwlock_t;
         ^
/usr/include/uv-unix.h:152:9: error: unknown type name ‘pthread_barrier_t’
 typedef pthread_barrier_t uv_barrier_t;
DELIRIUM ☆☆☆☆☆
() автор топика
Ответ на: комментарий от DELIRIUM

у меня иногда были похожие ситуации, последний раз - с time.h. Ну и там тоже можно было «просто» решить проблему выбрав std=gnu99

но мне хотелось оставить c99 и я задефайнил _BSD_SOURCE
с тех пор мои волосы мягкие и шелковистые :)

reprimand ★★★★★
()
Ответ на: комментарий от h31

Сокс сервис для всяких там сеошников, например. Гугл и прочие товарищи вероятно не так активно банят IPv6, да и получить кучу подсетей на один сервер через туннели и так далее довольно реально.

o-
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.