# This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # pichi # pichi/pkg-descr # pichi/files # pichi/files/pichi.in # pichi/Makefile # pichi/distinfo # pichi/pkg-plist # echo c - pichi mkdir -p pichi > /dev/null 2>&1 echo x - pichi/pkg-descr sed 's/^X//' >pichi/pkg-descr << '967302b7b488c52f1be7f5c10716b105' XPichi is an application layer proxy, which can be fully controlled via RESTful APIs. It supports HTTP/SOCKS5/Shadowsocks. X XThe core feature of pichi is the dynamic, flexible route controlling. X XWWW: https://github.com/pichi-router/pichi 967302b7b488c52f1be7f5c10716b105 echo c - pichi/files mkdir -p pichi/files > /dev/null 2>&1 echo x - pichi/files/pichi.in sed 's/^X//' >pichi/files/pichi.in << 'f2129c6d9b7cb118d3e6e876119c1371' X#!/bin/sh X X# PROVIDE: pichi X# REQUIRE: DAEMON X# KEYWORD: shutdown X Xget_pid() X{ X ps -o "pid=" -p "$(cat ${pid_file} 2>/dev/null)" 2>/dev/null X} X Xpichi_start() X{ X pid="$(get_pid)" X if [ -n "${pid}" ]; then X echo "${name} is running with pid ${pid}" X exit 1 X fi X if [ -z "${pichi_port}" ]; then X echo "pichi_port is not set" X exit 1 X fi X "${command}" -u nobody --group daemon -d -g "${pichi_mmdb}" -p "${pichi_port}" -l "${pichi_bind}" --json "${pichi_conf}" X if ! get_pid >/dev/null 2>&1; then X echo "Failed to start ${name}" X exit 1 X fi X} X Xpichi_stop() X{ X pid=$(get_pid) X if [ -n "${pid}" ]; then X kill ${pid} X fi X} X Xpichi_restart() X{ X pichi_stop X pichi_start X} X Xpichi_reload() X{ X pid=$(get_pid) X if [ -n "${pid}" ]; then X kill -HUP ${pid} X fi X} X Xpichi_status() X{ X pid=$(get_pid) X if [ -n "${pid}" ]; then X echo "${name} is running with PID ${pid}" X else X echo "${name} is not running" X fi X} X X# Main X. /etc/rc.subr X Xload_rc_config "${name}" X Xname="pichi" Xrcvar="${name}_enable" Xprefix="%%PREFIX%%" Xcommand="${prefix}/bin/${name}" Xstart_cmd="${name}_start" Xstop_cmd="${name}_stop" Xrestart_cmd="${name}_restart" Xstatus_cmd="${name}_status" Xextra_commands="reload" Xreload_cmd="${name}_reload" Xpid_file="${prefix}/var/run/${name}.pid" X X: ${pichi_enable:="NO"} X: ${pichi_bind:="::1"} X: ${pichi_port:="1024"} X: ${pichi_conf:="${prefix}/etc/${name}/pichi.json"} X: ${pichi_mmdb:="${prefix}/etc/${name}/geo.mmdb"} X Xrun_rc_command "$1" f2129c6d9b7cb118d3e6e876119c1371 echo x - pichi/Makefile sed 's/^X//' >pichi/Makefile << '143359d8ea144c194b83e357ebc535d6' XPORTNAME= pichi XDISTVERSION= 1.2.0 XPORTREVISION= 0 XCATEGORIES= net X XMAINTAINER= pichi@elude.in XCOMMENT= An Application Layer Proxy controlled via RESTful APIs X XLICENSE= BSD3CLAUSE XLICENSE_FILE= ${WRKSRC}/LICENSE X XUSE_RC_SUBR= pichi XPLIST_SUB= VERSION=1.2.0 X XUSE_GITHUB= yes XGH_ACCOUNT= pichi-router XINSTALL_TARGET= test install/strip X XUSES= cmake XCMAKE_BUILD_TYPE= MinSizeRel XCMAKE_ARGS= -DCMAKE_CXX_FLAGS=NDEBUG -DVERSION=1.2.0 XCMAKE_ON= BUILD_SERVER BUILD_TEST XCMAKE_OFF= INSTALL_HEADERS X XBUILD_DEPENDS= rapidjson>=1.1.0:devel/rapidjson X XOPTIONS_DEFINE= TLS STATIC XOPTIONS_DEFAULT= TLS XOPTIONS_SUB= yes X XTLS_DESC= Enable TLS support(requiring OpenSSL) XTLS_CMAKE_BOOL= ENABLE_TLS X XSTATIC_DESC= Build/Install static library XSTATIC_CMAKE_BOOL= STATIC_LINK XSTATIC_BUILD_DEPENDS= boost-libs>=1.67.0:devel/boost-libs \ X mbedtls>=2.7.0:security/mbedtls \ X libsodium>=1.0.12:security/libsodium \ X libmaxminddb>=1.3.0:net/libmaxminddb XSTATIC_LIB_DEPENDS_OFF= libboost_context.so:devel/boost-libs \ X libboost_filesystem.so:devel/boost-libs \ X libboost_program_options.so:devel/boost-libs \ X libboost_system.so:devel/boost-libs \ X libmaxminddb.so:net/libmaxminddb \ X libmbedtls.so:security/mbedtls \ X libmbedx509.so:security/mbedtls \ X libmbedcrypto.so:security/mbedtls \ X libsodium.so:security/libsodium X X.include X X.if ${PORT_OPTIONS:MTLS} XUSES+= ssl XSTATIC_BUILD_DEPENDS+= openssl:security/openssl XSTATIC_LIB_DEPENDS_OFF+= libssl.so:security/openssl libcrypto.so:security/openssl X.endif X Xpost-install: X ${MKDIR} ${STAGEDIR}${ETCDIR} X ${INSTALL_DATA} ${WRKSRC}/test/geo.mmdb ${STAGEDIR}${ETCDIR}/geo.mmdb X ${INSTALL_DATA} ${WRKSRC}/server/pichi.json.default ${STAGEDIR}${ETCDIR}/pichi.json.default X ${MKDIR} ${STAGEDIR}${PREFIX}/include X ${INSTALL_DATA} ${WRKSRC}/include/pichi.h ${STAGEDIR}${PREFIX}/include/pichi.h X X.include 143359d8ea144c194b83e357ebc535d6 echo x - pichi/distinfo sed 's/^X//' >pichi/distinfo << '3d5b4ae67bd31e54aa4df24d25e003fd' XTIMESTAMP = 1554899633 XSHA256 (pichi-router-pichi-1.2.0_GH0.tar.gz) = 8965077371f2dbf49a63659d686470c191c2c21c47a32f44b3b8bb2d72968043 XSIZE (pichi-router-pichi-1.2.0_GH0.tar.gz) = 1841049 3d5b4ae67bd31e54aa4df24d25e003fd echo x - pichi/pkg-plist sed 's/^X//' >pichi/pkg-plist << '1375be0043c7ff10f46728eebf1fef96' Xbin/pichi Xinclude/pichi.h Xetc/pichi/pichi.json.default Xetc/pichi/geo.mmdb X%%NO_STATIC%%lib/libpichi.so.%%VERSION%% X%%NO_STATIC%%lib/libpichi.so X%%STATIC%%lib/libpichi.a 1375be0043c7ff10f46728eebf1fef96 exit