🌴 Sync 2026-03-05 23:51:42

This commit is contained in:
github-actions[bot] committed 2026-03-05 23:51:42 +08:00
1 parent 97c049ed0a
commit 0acff03804
14253 files changed
+3893239

No files matched your search

+140
View File
@@ -0,0 +1,140 @@
# SPDX-License-Identifier: GPL-2.0-only
#
# Copyright (C) 2025 ImmortalWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=3proxy
PKG_VERSION:=0.9.5
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://codeload.github.com/3proxy/3proxy/tar.gz/$(PKG_VERSION)?
PKG_HASH:=skip
PKG_CPE_ID:=cpe:/a:3proxy:3proxy
PKG_LICENSE:=3proxy Apache-2.0 GPL-2.0-or-later LGPL-2.1-or-later
PKG_LICENSE_FILES:=copying
PKG_MAINTAINER:=Tianling Shen <cnsztl@immortalwrt.org>
PKG_BUILD_PARALLEL:=1
include $(INCLUDE_DIR)/package.mk
define Package/3proxy/Default
SECTION:=net
CATEGORY:=Network
SUBMENU:=Web Servers/Proxies
TITLE:=tiny free proxy server
URL:=https://3proxy.ru/
endef
define Package/3proxy
$(call Package/3proxy/Default)
endef
define Package/3proxy/description
3Proxy tiny free proxy server is really tiny cross-platform (Win32/Win64&Unix)
freeware proxy servers set. It includes HTTP proxy with HTTPS and FTP support,
SOCKSv4/SOCKSv4.5/SOCKSv5 proxy (socks/socks.exe), POP3 proxy, SMTP proxy,
AIM/ICQ proxy (icqpr/icqpr.exe), MSN messenger / Live messenger proxy
(msnpr/msnpr.exe), FTP proxy, caching DNS proxy, TCP and UDP portmappers.
You can use every proxy as a standalone program (socks, proxy, tcppm, udppm,
pop3p) or use combined program (3proxy). Combined proxy additionally supports
features like access control, bandwidth limiting, limiting daily/weekly/monthly
traffic amount, proxy chaining, log rotation, syslog and ODBC logging, etc.
It's created to be small, simple and yet very functional.
endef
define Package/3proxy/conffiles
/etc/3proxy/
/etc/config/3proxy
endef
define Package/3proxy/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/3proxy $(1)/usr/bin/3proxy
$(INSTALL_DIR) $(1)/etc/config
$(INSTALL_CONF) $(CURDIR)/files/3proxy.config $(1)/etc/config/3proxy
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) $(CURDIR)/files/3proxy.init $(1)/etc/init.d/3proxy
endef
# 1: library name
# 2: library path
# 3: library dependencies
# 4: library description
define 3proxyLibrary
3proxyLibs+= $(1)
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_3proxy-lib-$(1)
define Package/3proxy-lib-$(1)
$(call Package/3proxy/Default)
TITLE+= - $(1) library
DEPENDS+= 3proxy $(3)
endef
define Package/3proxy-lib-$(1)/description
3Proxy shared library - $(1).
$(4)
endef
define Package/3proxy-lib-$(1)/install
$(INSTALL_DIR) $$(1)/usr/libexec/3proxy
$(CP) $(PKG_BUILD_DIR)/bin/$(2).ld.so $$(1)/usr/libexec/3proxy/
endef
endef
$(eval $(call 3proxyLibrary,pam,pamauth,+libpam,))
$(eval $(call 3proxyLibrary,pcre,PCREPlugin,,This filtering plugin can be used to create matching and replace rules with regular expressions for client's request, client and servers header and client and server data.))
$(eval $(call 3proxyLibrary,ssl,SSLPlugin,+libopenssl,This plugin can be used to decrypt and manupulate SSL/TLS traffic.))
$(eval $(call 3proxyLibrary,strings,StringsPlugin,,Allows to change replies of HTTP proxy server.))
$(eval $(call 3proxyLibrary,traffic,TrafficPlugin,,This plugin attempts to correct 3proxy computations to approximate network or link level traffic by using either fixed coefficients by port number or attempting to predict number and sizes of network packets.))
$(eval $(call 3proxyLibrary,transparent,TransparentPlugin,,This plugin can be used to implement 3proxy transparently for client for any TCP-based protocols.))
# 1: module name
# 2: module dependencies
define 3proxyModule
3proxyMods+= $(1)
PKG_CONFIG_DEPENDS+= CONFIG_PACKAGE_3proxy-mod-$(1)
define Package/3proxy-mod-$(1)
$(call Package/3proxy/Default)
TITLE+= - $(1) standalone module
DEPENDS+= $(2)
endef
define Package/3proxy-mod-$(1)/description
3Proxy standalone module - $(1).
This module can be used as a standalone program.
endef
define Package/3proxy-mod-$(1)/install
$(INSTALL_DIR) $$(1)/usr/libexec/3proxy
$(INSTALL_BIN) $(PKG_BUILD_DIR)/bin/$(1) $$(1)/usr/libexec/3proxy/
endef
endef
$(eval $(call 3proxyModule,ftppr,))
$(eval $(call 3proxyModule,mycrypt,))
$(eval $(call 3proxyModule,pop3p,))
$(eval $(call 3proxyModule,proxy,))
$(eval $(call 3proxyModule,smtpp,))
$(eval $(call 3proxyModule,socks,))
$(eval $(call 3proxyModule,tcppm,))
$(eval $(call 3proxyModule,tlspr,))
$(eval $(call 3proxyModule,udppm,))
MAKE_FLAGS += \
PLUGINS="$(strip \
$(if $(CONFIG_PACKAGE_3proxy-lib-pam),PamAuth) \
$(if $(CONFIG_PACKAGE_3proxy-lib-pcre),PCREPlugin) \
$(if $(CONFIG_PACKAGE_3proxy-lib-ssl),SSLPlugin) \
$(if $(CONFIG_PACKAGE_3proxy-lib-strings),StringsPlugin) \
$(if $(CONFIG_PACKAGE_3proxy-lib-traffic),TrafficPlugin) \
$(if $(CONFIG_PACKAGE_3proxy-lib-transparent),TransparentPlugin))" \
-f Makefile.Linux
$(foreach lib,$(3proxyLibs),$(eval $(call BuildPackage,3proxy-lib-$(lib))))
$(foreach mod,$(3proxyMods),$(eval $(call BuildPackage,3proxy-mod-$(mod))))
$(eval $(call BuildPackage,3proxy))
+5
View File
@@ -0,0 +1,5 @@
config 3proxy 'config'
option enabled '0'
option conffile '/etc/3proxy/3proxy.cfg'
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh /etc/rc.common
START=99
USE_PROCD=1
CONF="3proxy"
PROG="/usr/bin/3proxy"
start_service() {
config_load "$CONF"
local enabled conffile
config_get_bool enabled "config" "enabled" "0"
[ "$enabled" -eq "1" ] || return 0
config_get conffile "config" "conffile" "/etc/3proxy/3proxy.cfg"
procd_open_instance
procd_set_param command "$PROG" "$conffile"
procd_set_param stdout "1"
procd_set_param stderr "1"
procd_set_param limits core="unlimited"
procd_set_param limits nofile="1000000 1000000"
procd_set_param respawn
procd_close_instance
}
service_triggers() {
procd_add_reload_trigger "$CONF"
}
@@ -0,0 +1,25 @@
From 67315da11c88d7007090c23f68e0b66e6d9b8e37 Mon Sep 17 00:00:00 2001
From: Mikhail Novosyolov <m.novosyolov@rosalinux.ru>
Date: Mon, 28 Feb 2022 14:26:57 +0300
Subject: [PATCH] Fix underlinkage of SSLPlugin
+ /usr/share/spec-helper/check_elf_files
<...>
Warning: undefined symbols in /usr/lib64/3proxy/SSLPlugin.ld.so: TLS_client_method SSL_get_error BIO_new_fp TLS_server_method SSL_write SSL_free X509_delete_ext SSL_set_fd EVP_sha1 X509_get_subject_name EVP_PKEY_free X509_set_issuer_name SSL_read X509_get_ext_by_NID SSL_new SSL_shutdown SSL_set_read_ahead PEM_write_bio_X509 SSL_accept SSL_CTX_new SSL_get_peer_certificate BIO_ctrl BIO_free OPENSSL_init_ssl SSL_ctrl ERR_error_string SSL_pending X509_free X509_set_pubkey X509_digest SSL_connect SSL_CTX_free X509_sign ERR_get_error SSL_CTX_use_PrivateKey X509_EXTENSION_free X509_dup PEM_read_bio_PrivateKey PEM_read_bio_X509 SSL_CTX_use_certificate EVP_sha256 BIO_new_file
Fixes: https://github.com/3proxy/3proxy/issues/749
---
src/plugins/SSLPlugin/Makefile.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/src/plugins/SSLPlugin/Makefile.inc
+++ b/src/plugins/SSLPlugin/Makefile.inc
@@ -10,5 +10,5 @@ my_ssl$(OBJSUFFICS): my_ssl.c
$(BUILDDIR)SSLPlugin$(DLSUFFICS): ssl_plugin$(OBJSUFFICS) my_ssl$(OBJSUFFICS)
- $(LN) $(LNOUT)../../$(BUILDDIR)SSLPlugin$(DLSUFFICS) $(LDFLAGS) $(DLFLAGS) ssl_plugin$(OBJSUFFICS) my_ssl$(OBJSUFFICS) $(LIBS)
-
\ No newline at end of file
+ $(LN) $(LNOUT)../../$(BUILDDIR)SSLPlugin$(DLSUFFICS) $(LDFLAGS) $(DLFLAGS) ssl_plugin$(OBJSUFFICS) my_ssl$(OBJSUFFICS) $(LIBS) -lcrypto -lssl
+