3proxy/scripts
Vladimir Dubrovin 2cbdc6e845 Add an OpenWrt package
3proxy is not in the OpenWrt feed, and the static binaries built here install
nowhere in particular: they carry no service definition, no configuration and
no way to survive a sysupgrade.

Add the package as it would be submitted to openwrt/packages - a Makefile, a
procd init script and a UCI schema. Built in the 24.10 SDK for mipsel_24kc
against the distribution's libraries, so the result is a 220kB package
depending on libopenssl and libpcre2 rather than a static binary, with TLS and
PCRE support actually present.

3proxy.cfg is order dependent, which is the whole difficulty of generating it
from UCI, where sections are unordered:

  - access rules are named sections referenced by a service through an ordered
    list, so the reference order decides precedence, and the list is flushed
    before each service so rules do not leak into the next one
  - parent proxies extend the allow rule they follow, so they hang off the
    access rule rather than the service
  - the TLS switches apply to every service below them, so the generator
    tracks what is in effect and emits a directive only when a service needs a
    different state, rather than letting certificate spoofing leak into a
    service that did not ask for it
  - bandwidth, connection and counter limits are global and match on their own
    ACL pattern, so they are a separate ordered list

Nothing is enabled by default: the global switch is off, no service ships
enabled, and a service section that omits the option does not start either, so
installing the package opens no ports.

Values that would make 3proxy reject the whole configuration at boot are
checked while writing it - unknown access actions, limiter types, pcre types
and actions - and reported instead of being passed through.
2026-08-23 15:40:26 +03:00
..
init.d Fixed: maxchild dropped to 100 on config reload if not explicitly set, system-specific tuning hints added to doc 2026-08-01 10:22:03 +03:00
openwrt Add an OpenWrt package 2026-08-23 15:40:26 +03:00
rc.d Unify installation environment 2026-05-29 20:29:25 +03:00
rh Update version files for 1.0.0 2026-08-22 12:13:00 +00:00
3proxy.cfg.chroot do not create pid file in default configuration 2021-10-01 15:56:56 +03:00
3proxy.cfg.in Fix installation 2026-05-29 21:11:32 +03:00
3proxy.cfg.inchroot Unify installation environment 2026-05-29 20:29:25 +03:00
3proxy.service.in Fixed: maxchild dropped to 100 on config reload if not explicitly set, system-specific tuning hints added to doc 2026-08-01 10:22:03 +03:00
add3proxyuser.sh.in Unify installation environment 2026-05-29 20:29:25 +03:00
org.3proxy.3proxy.plist.in Fix installation 2026-05-29 21:11:32 +03:00
postinstall.sh Fix installation 2026-05-29 21:11:32 +03:00