LINUX.ORG.RU
Форум — Admin  

3proxy не ставится

 ,


0

1

Привет. Устанавливаю 3proxy на Debian и «make -f Makefile.Linux» не может найти файл:

make -f Makefile.Linux
make[1]: вход в каталог «/home/levontay/3proxy-0.9.3/src»
gcc -g  -fPIC -O2 -fno-strict-aliasing -c -pthread -DWITHSPLICE -D_GNU_SOURCE -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_NETFILTER 3proxy.c
make[1]: gcc: Нет такого файла или каталога
make[1]: *** [Makefile.inc:51: 3proxy.o] Ошибка 127
make[1]: выход из каталога «/home/levontay/3proxy-0.9.3/src»
make: *** [Makefile.inc:7: all] Ошибка 2

Сам файл есть. Как это понимать?

Очевидно - оное запускает компилятор gcc, и уже он не находит чего-то своего, не обязательно «Makefile.Linux», наверное «3proxy.c», и его действительно нету, и поисковик, прикол шо - не выдаёт инфы с таким названием. -Чё за нафик?



Последнее исправление: Levontay (всего исправлений: 3)
Ответ на: комментарий от dataman

Как правильно копировать вывод терминала.

Если я правильно понял - вы про три апострофа.

  • поправил.
Levontay
() автор топика
Ответ на: комментарий от dataman

О! - да. Что-то заработало, но не всё:


root@Debian:/home/levontay/3proxy-0.9.3# make -f Makefile.Linux
...
gcc -g  -fPIC -O2 -fno-strict-aliasing -c -pthread -DWITHSPLICE -D_GNU_SOURCE -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_NETFILTER sockgetchar.c
gcc -g  -fPIC -O2 -fno-strict-aliasing -c -pthread -DWITHSPLICE -D_GNU_SOURCE -DGETHOSTBYNAME_R -D_THREAD_SAFE -D_REENTRANT -DNOODBC -DWITH_STD_MALLOC -DFD_SETSIZE=4096 -DWITH_POLL -DWITH_NETFILTER common.c
common.c:208:9: error: initialization of ‘int (*)(struct pollfd *, unsigned int,  int)’ from incompatible pointer type ‘int (*)(struct pollfd *, nfds_t,  int)’ {aka ‘int (*)(struct pollfd *, long unsigned int,  int)’} [-Wincompatible-pointer-types]
  208 |         poll,
      |         ^~~~
common.c:208:9: note: (near initialization for ‘so._poll’)
make[1]: *** [Makefile.inc:12: common.o] Ошибка 1
make[1]: выход из каталога «/home/levontay/3proxy-0.9.3/src»
make: *** [Makefile.inc:7: all] Ошибка 2

а это что?

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

3proxy-0.9.3

Это откуда?

На оф. сайте:

3proxy 1.0.0 Released August, 22 2026.

Может там что-то исправили.

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

Проделал, но, пол итогу:

Ошб:1 https://3proxy.org/repo/deb lts/main amd64 3proxy amd64 0.9.9.0-260822091230
  Время ожидания для соединения истекло [IP: 172.67.159.219 443]
  Файл имеет неожиданный размер (277744 != 277870). Возможно, выполняется синхронизация зеркала? [IP: 172.67.159.219 443]
  Hashes of expected file:
   - SHA512:549cd2c99fb3cb6aa23cd96edeafc45f2212c7ef3d9e9aa927d60e85b81fc1167d0ba734555074d92a8298c65a08862d80bfabd1253880a75f785be2de061174
   - SHA256:ba7ae21c37d983046c52ef9238f2e2adfb6d92071ad0759da070e53d13105164
   - SHA1:7d24e761c306a72157bb32a9a7bac506a90d6a43 [weak]
   - MD5Sum:2466e45d4fe075835a467368e81f6297 [weak]
   - Filesize:277870 [weak]
Ошибка: Не удалось получить https://3proxy.org/repo/deb/pool/lts/main/3/3proxy/amd64/3proxy-0.9.9.0.x86_64.deb  Файл имеет неожиданный размер (277744 != 277870). Возможно, выполняется синхронизация зеркала? [IP: 172.67.159.219 443]
   Hashes of expected file:
    - SHA512:549cd2c99fb3cb6aa23cd96edeafc45f2212c7ef3d9e9aa927d60e85b81fc1167d0ba734555074d92a8298c65a08862d80bfabd1253880a75f785be2de061174
    - SHA256:ba7ae21c37d983046c52ef9238f2e2adfb6d92071ad0759da070e53d13105164
    - SHA1:7d24e761c306a72157bb32a9a7bac506a90d6a43 [weak]
    - MD5Sum:2466e45d4fe075835a467368e81f6297 [weak]
    - Filesize:277870 [weak]
Ошибка: Internal Error, ordering was unable to handle the media swap

По моему - производитель не готов к релизу.

А у них на гитхабе - версия 1.0.0, - а моё настроено на 0.9.3 !!!

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

шутка это alt

Ну, как бы, я тоже не пальцем деланый: сначала поискал в оффрепках, прежде чем писать.

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

Скорее ты не готов к продакшену. Открой /etc/apt/sources.list.d/3proxy.sources, который ты создал, проделывая инструкции по ссылке, поменяй там в Suites: lts на current, вдобавок, если у тебя Debian старее 12, выполни sudo gpg --dearmor -o /usr/share/keyrings/3proxy.gpg /usr/share/keyrings/3proxy.asc и поменяй путь к подписи в Signed-by: на путь к получившемуся *.gpg. Ну, и не забудь apt update.

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

Сделал: версии изменились, но опять не получилось, - также; контрольные размеры - другие.

Учитывая - что выкачивал я пакет одной версии, связываю с другой, а по установке - третья, попробую я выкачать последнюю версию и сделать всё по новой.

Или брошу - и поставлю Squid.

Debian у меня - 13.

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

На всякий случай, если подписи пакета и метаданных устарели, можно выключить проверку (и в инструкции по ссылке сказано как). Да, так делать не надо, иначе, как тут любят говорить, система в слаку превратится. Но ты бы ее гарантированно превратил в слаку, если бы тебе удалось собрать программу из исходников (dpkg-buildpackage помог бы создать правильный пакет, но у тебя ошибка в исходнике, которую придётся временно выключить и маякнуть автору, чтобы исправил). Касательно выключения проверки подписей – поставить-то ты поставишь, но я не уверен, что заработает, потому что пакет автор программы создавал на Debian 12 (он хоть и пишет, что «Debian 12 and later», но по факту между Bookworkm и Trixie разница более двух лет – за это время Linux довольно сильно изменился. Проверь контрольные суммы того, что скачивает apt с тем, что лежит в git-репе, если не совпадают – напиши автору. Это наиболее безопасный путь. А пока автор разбирается, рекомендую использовать docker-образ.

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

Фух.., ну я и намучился… Явно что-то у разработчика с порядочностью. Я хоть и не имею большого опыта, но что я постигал до этого - было просто, - раз! - и сделал, тут-же - чуть-ли не хакерством занимаюсь…

tar для последней версии на гитхабе нет, качал zip; Делал по двум инфам, с отличиями:




root@Debian:/etc/3proxy# make -f Makefile.Linux install (надо-ли оное? - вопрос)
make: Makefile.Linux: Нет такого файла или каталога
make: *** Нет правила для сборки цели «Makefile.Linux».  Останов.

root@Debian:/home/levontay/3proxy-master#
root@Debian:/home/levontay/3proxy-master# make -f Makefile.Linux install
/usr/bin/install -m 755 -d /usr/local/3proxy
/usr/bin/install -m 755 -d /usr/local/3proxy/conf
/usr/bin/install -m 755 -d /usr/local/3proxy/logs
/usr/bin/install -m 755 -d /usr/local/3proxy/count
/usr/bin/install -m 755 -d /usr/local/3proxy/libexec
/usr/bin/install -m 755 -d /bin
/usr/bin/install -m 755 -s bin/3proxy bin/3proxy_crypt bin/3proxy_ftppr bin/3proxy_imapp bin/3proxy_pop3p bin/3proxy_proxy bin/3proxy_smtpp bin/3proxy_socks bin/3proxy_tcppm bin/3proxy_tlspr bin/3proxy_udppm /bin
install: не удалось выполнить stat для 'bin/3proxy_ftppr': Нет такого файла или каталога
install: не удалось выполнить stat для 'bin/3proxy_imapp': Нет такого файла или каталога
install: не удалось выполнить stat для 'bin/3proxy_pop3p': Нет такого файла или каталога
install: не удалось выполнить stat для 'bin/3proxy_smtpp': Нет такого файла или каталога
make: *** [Makefile.Linux:159: install-bin] Ошибка 1

root@Debian:/# whereis 3proxy
3proxy: /usr/bin/3proxy /etc/3proxy /usr/local/3proxy



root@Debian:/etc/3proxy# netstat -nlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 217.107.217.56:3128     0.0.0.0:*               LISTEN      1330958/3proxy
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      550/sshd: /usr/sbin
tcp6       0      0 :::22                   :::*                    LISTEN      550/sshd: /usr/sbin

По поверке вижу что порт 3128 прослушивается, а 8.8.8.8 что-то нету…

В одной только «Makefile.Linux install» которая выдаёт ошибки; в одной конфиг с расширением «.conf», в другой - «.cfg», не знаю - имеет-ли это значение?

После перезагрузки, по старту «3proxy /etc/3proxy/3proxy.conf» получаю ожидание чего-то, вроде - ожидание ввода текста, а на введённую абракадабру получаю типа: uncnoun command".

Устал я, не должно быть так. Должно быть проще. Я помню - настраивал его лет пять назад - так такого головняка небыло, получалось всё с первого раза (на Убунте)… И это - я ещё интерфейсы и остальное не настроил…

Levontay
() автор топика

в чем цель установки?


вот наверняка вам нужен не 3proxy, а socat, который умеет больше, делает это лучше и 100% есть в репах любого дистрибутива.

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

Ну, тогда пусть качает руками пакет по ссылке постом выше и ставит через dpkg -i, и пробует. Я попытался у себя в арче собрать, но у меня уже слишком новые версии зависимостей. Пришлось брать самый свежак из git:

$ git clone git@github.com:3proxy/3proxy.git

Далее, подготовить пакет к сборке:

$ cd 3proxy
$ mkdir build packaging
$ cd build
$ cmake -D3PROXY_USE_WOLFSSL=no -D3PROXY_USE_OPENSSL=yes -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_SYSCONFDIR=/etc ..
$ make install DESTDIR=../packaging/

Остаётся выставить необходимые права на файлы внутри ../packaging и скормить конструктору пакетов (для арча не нужно писать PKGBUILD, он уже и так есть), возможно, его просто актуализировать придётся – я его не читал. Ну, и у автора мелкая бага с тем, что cmake в ходе сборки создаёт в ../packaging пустой каталог opt/3proxy, тут немножко логику в ../CMakeLists.txt подправить не помешало бы.

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

Фух.., ну я и намучился… Явно что-то у разработчика с порядочностью

root@Debian:/etc/3proxy# make -f Makefile.Linux install

Ага, это недобросовестный разработчик тебе в штаны подбросил. Буквы в терминале не просто так напечатаны, а для того чтобы их читали и осознавали

cobold ★★★★★
()
Последнее исправление: cobold (всего исправлений: 1)
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария