first commit
Some checks failed
Vulhub Format Check and Lint / format-check (push) Has been cancelled
Vulhub Format Check and Lint / markdown-check (push) Has been cancelled
Vulhub Docker Image CI / longtime-images-test (push) Has been cancelled
Vulhub Docker Image CI / images-test (push) Has been cancelled

This commit is contained in:
2025-09-06 16:08:15 +08:00
commit 63285f61aa
2624 changed files with 88491 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
FROM vulhub/java:7u21-jdk
ENV ACTIVEMQ_VERSION 5.11.1
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
RUN set -x && \
curl -s -S https://archive.apache.org/dist/activemq/$ACTIVEMQ_VERSION/$ACTIVEMQ-bin.tar.gz | tar xvz -C /opt && \
ln -s /opt/$ACTIVEMQ $ACTIVEMQ_HOME
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_UI
CMD ["/bin/sh", "-c", "bin/activemq console"]

View File

@@ -0,0 +1,11 @@
FROM vulhub/activemq:5.11.1
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update \
&& apt-get install -y cron rsyslog --no-install-recommends \
&& rm -r /var/lib/apt/lists/*
COPY entrypoint.sh /usr/local/bin/
CMD ["/bin/sh", "/usr/local/bin/entrypoint.sh"]

View File

@@ -0,0 +1,7 @@
#!/bin/sh
cron -L15
rsyslogd
/bin/sh -c "/opt/activemq/bin/activemq console"

View File

@@ -0,0 +1,16 @@
FROM vulhub/java:7u21-jdk
ENV ACTIVEMQ_VERSION 5.13.2
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_AMQP=5672 ACTIVEMQ_STOMP=61613 ACTIVEMQ_MQTT=1883 ACTIVEMQ_WS=61614 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
RUN set -x && \
curl -s -S https://archive.apache.org/dist/activemq/$ACTIVEMQ_VERSION/$ACTIVEMQ-bin.tar.gz | tar xvz -C /opt && \
ln -s /opt/$ACTIVEMQ $ACTIVEMQ_HOME
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_AMQP $ACTIVEMQ_STOMP $ACTIVEMQ_MQTT $ACTIVEMQ_WS $ACTIVEMQ_UI
CMD ["/bin/sh", "-c", "bin/activemq console"]

View File

@@ -0,0 +1,21 @@
FROM openjdk:11.0.16-jre
ENV ACTIVEMQ_VERSION 5.16.5
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_AMQP=5672 ACTIVEMQ_STOMP=61613 ACTIVEMQ_MQTT=1883 ACTIVEMQ_WS=61614 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
RUN set -x \
&& mkdir -p $ACTIVEMQ_HOME \
&& curl -s -S https://archive.apache.org/dist/activemq/$ACTIVEMQ_VERSION/$ACTIVEMQ-bin.tar.gz | \
tar xvz --strip-components=1 -C "$ACTIVEMQ_HOME"
RUN set -ex \
&& sed -i 's/127\.0\.0\.1/0.0.0.0/' "${ACTIVEMQ_HOME}/conf/jetty.xml" \
&& echo 'ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005"' >> "$ACTIVEMQ_HOME/bin/env"
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_AMQP $ACTIVEMQ_STOMP $ACTIVEMQ_MQTT $ACTIVEMQ_WS $ACTIVEMQ_UI
CMD ["/opt/activemq/bin/activemq", "console"]

View File

@@ -0,0 +1,21 @@
FROM openjdk:11.0.16-jre
ENV ACTIVEMQ_VERSION 5.17.3
ENV ACTIVEMQ apache-activemq-$ACTIVEMQ_VERSION
ENV ACTIVEMQ_TCP=61616 ACTIVEMQ_AMQP=5672 ACTIVEMQ_STOMP=61613 ACTIVEMQ_MQTT=1883 ACTIVEMQ_WS=61614 ACTIVEMQ_UI=8161
ENV ACTIVEMQ_HOME /opt/activemq
RUN set -x \
&& mkdir -p $ACTIVEMQ_HOME \
&& curl -s -S https://archive.apache.org/dist/activemq/$ACTIVEMQ_VERSION/$ACTIVEMQ-bin.tar.gz | \
tar xvz --strip-components=1 -C "$ACTIVEMQ_HOME"
RUN set -ex \
&& sed -i 's/127\.0\.0\.1/0.0.0.0/' "${ACTIVEMQ_HOME}/conf/jetty.xml" \
&& echo 'ACTIVEMQ_DEBUG_OPTS="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:5005"' >> "$ACTIVEMQ_HOME/bin/env"
WORKDIR $ACTIVEMQ_HOME
EXPOSE $ACTIVEMQ_TCP $ACTIVEMQ_AMQP $ACTIVEMQ_STOMP $ACTIVEMQ_MQTT $ACTIVEMQ_WS $ACTIVEMQ_UI
CMD ["/opt/activemq/bin/activemq", "console"]

View File

@@ -0,0 +1,8 @@
FROM php:7.2.15-apache
LABEL maintainer="phithon <root@leavesongs.com>"
ADD https://github.com/vrana/adminer/releases/download/v4.6.2/adminer-4.6.2.php /var/www/html/index.php
RUN set -ex \
&& chown www-data:www-data -R /var/www/html \
&& docker-php-ext-install -j$(nproc) pdo_mysql mysqli

View File

@@ -0,0 +1,8 @@
FROM php:7.4.33-apache
LABEL maintainer="phithon <root@leavesongs.com>"
ADD https://github.com/vrana/adminer/releases/download/v4.7.8/adminer-4.7.8.php /var/www/html/index.php
RUN set -ex \
&& chown www-data:www-data -R /var/www/html \
&& docker-php-ext-install -j$(nproc) pdo_mysql mysqli

View File

@@ -0,0 +1,6 @@
FROM apache/airflow:1.10.10
LABEL maintainer="fnmsd <fnmsd007@qq.com>"
RUN set -ex \
&& pip install --user flask-bcrypt

View File

@@ -0,0 +1,6 @@
FROM apache/airflow:1.10.14
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& pip install flask-bcrypt

View File

@@ -0,0 +1,18 @@
FROM eclipse-temurin:8u412-b08-jre-jammy
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends unzip wait-for-it \
&& mkdir -p /opt/aj-report \
&& wget -O /tmp/aj-report-1.4.0.zip https://gitee.com/anji-plus/report/releases/download/V1.4.0/aj-report-1.4.0.zip \
&& unzip /tmp/aj-report-1.4.0.zip -d /opt/aj-report \
&& rm -rf /tmp/aj-report-1.4.0.zip
WORKDIR /opt/aj-report/aj-report-1.4.0.RELEASE
COPY bootstrap.yml /opt/aj-report/aj-report-1.4.0.RELEASE/conf/bootstrap.yml
COPY docker-entrypoint.sh /docker-entrypoint.sh
ENTRYPOINT [ "bash", "/docker-entrypoint.sh" ]
CMD [ "java", "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005", "-Xbootclasspath/a:lib/*.jar", "-Dspring.config.location=conf/bootstrap.yml", "-jar", "lib/aj-report-1.4.0.RELEASE.jar" ]

View File

@@ -0,0 +1,101 @@
server:
port: 9095
servlet:
encoding:
charset: UTF-8
force: true
enabled: true
spring:
profiles:
active: dev
application:
name: aj-report
servlet:
multipart:
max-file-size: 10MB #上传图片大小限制为10MB
jackson:
date-format: yyyy-MM-dd HH:mm:ss
messages:
basename: i18n/messages
datasource:
url: jdbc:mysql://${MYSQL_HOST}:${MYSQL_PORT}/${MYSQL_DB}?characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&useSSL=false
username: ${MYSQL_USERNAME}
password: ${MYSQL_PASSWORD}
type: com.zaxxer.hikari.HikariDataSource
hikari:
connection-timeout: 300000 # 连接超时时间 - 默认值30秒。
validation-timeout: 5000 # 连接被测试活动的最长时间 - 默认值5秒。
idle-timeout: 60000 # 连接池中允许闲置的最长时间 - 默认值10分钟
max-lifetime: 1800000 # 一个连接生命时长(毫秒),超时而没被使用则被释放 - 默认值30分钟
maximum-pool-size: 10 #连接池中允许的最大连接数,包括闲置和使用中的连接 - 默认值10
minimum-idle: 5 # 连接池中允许的最小空闲连接数 - 默认值10。
#如果要使用redis请参考report-core目录下的README.md文件中写的进行调整
# redis:
# host: 127.0.0.1
# port: 6379
# password: root
# database: 1
flyway:
enabled: true #是否开启flyway默认true.
baseline-on-migrate: true
#数据库连接配置
url: ${spring.datasource.url}
user: ${spring.datasource.username}
password: ${spring.datasource.password}
placeholder-replacement: false
init-sqls:
- CREATE DATABASE IF NOT EXISTS `aj_report` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
gaea:
subscribes:
oss: #文件存储 都配置的情况下优先级minio->amazonS3->nfs
enabled: true
##允许上传的文件后缀
file-type-while-list: .png|.jpg|.gif|.icon|.pdf|.xlsx|.xls|.csv|.mp4|.avi|.jpeg|.aaa|.svg
# 用于文件上传成功后生成文件的下载公网完整URLhttp://serverip:9095/file/download注意填写IP必须填写后端服务所在的机器IP
downloadPath: http://10.108.26.197:9095/file/download
nfs:
#上传对应本地全路径,注意目录不会自动创建,注意 Win是 \ 且有盘符linux是 / 无盘符,注意目录权限问题
path: /app/disk/upload/
#若要使用minio文件存储请启用以下配置
#minio:
# url: http://127.0.0.1
# port: 9000
# access-key: minioreport
# secret-key: minioreport
# bucket-name: aj-report
#若要使用amazonS3文件存储请启用以下配置
#amazonS3:
# url: http://127.0.0.1
# access-key: access-key
# secret-key: secret-key
# bucket-name: AJ-Report
#若minio和amazonS3都没有使用服务器高可用的nfs共享盘
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #开启sql打印
call-setters-on-nulls: true
mapperLocations:
- classpath*:/mapper/**/*.xml
- classpath*:/modeler-mybatis-mappings/**/*.xml
management:
endpoints:
web:
base-path: /
logging:
config: classpath:logback.xml
# 本应用自定义参数
customer:
# 跳过token验证和权限验证的url清单
skip-authenticate-urls: /gaeaDict/all, /login, /static, /file/download/, /index.html, /favicon.ico, /reportShare/detailByCode, /v2/api-docs
file:
#导入导出临时文件夹 默认.代表当前目录,拼接/tmp_zip/目录
tmpPath: .
user:
##新增用户默认密码
default:
password: 123456

View File

@@ -0,0 +1,8 @@
#!/bin/bash
set -ex
echo "Waiting for database to start..."
wait-for-it -t 0 "${MYSQL_HOST:-127.0.0.1}:${MYSQL_PORT:-3306}" -- echo "Daabase is up"
exec "$@"

View File

@@ -0,0 +1,21 @@
FROM maven:3.9.9-eclipse-temurin-8 AS builder
LABEL maintainer="ReaJason <reajason1225@gmail.com>"
COPY ./ /usr/src
RUN set -ex \
&& cd /usr/src \
&& mvn clean package -DskipTests
FROM openjdk:8u342-jre
LABEL maintainer="ReaJason <reajason1225@gmail.com>"
WORKDIR /app
COPY --from=builder /usr/src/target/*.jar /app/cxf.jar
EXPOSE 8080
CMD java $JAVA_OPTS -jar /app/cxf.jar

View File

@@ -0,0 +1,71 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.reajason</groupId>
<artifactId>CVE-2024-28752</artifactId>
<version>1.0</version>
<properties>
<cxf-version>3.2.14</cxf-version>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf-version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-databinding-aegis</artifactId>
<version>${cxf-version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http-jetty</artifactId>
<version>${cxf-version}</version>
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.6.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>cxf</finalName>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>ServerStarter</Main-Class>
</manifestEntries>
</transformer>
<transformer
implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/cxf/bus-extensions.txt</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,41 @@
/**
* @author ReaJason
* @since 2025/5/10
*/
public class Model {
private String text;
private int count;
private boolean you;
public int getCount() {
return count;
}
public void setCount(int count) {
this.count = count;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public boolean isYou() {
return you;
}
public void setYou(boolean you) {
this.you = you;
}
@Override
public String toString() {
return "Model{" + "count=" + count +
", text='" + text + '\'' +
", you=" + you +
'}';
}
}

View File

@@ -0,0 +1,13 @@
import org.apache.cxf.jaxws.JaxWsServerFactoryBean;
public class ServerStarter {
public static void main(String[] args) {
JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
factory.setServiceClass(Test.class);
factory.setAddress("http://0.0.0.0:8080/test");
factory.setServiceBean(new TestImpl());
factory.create();
System.out.println("Webservice: http://localhost:8080/test");
System.out.println("Webservice WSDL: http://localhost:8080/test?wsdl");
}
}

View File

@@ -0,0 +1,6 @@
import javax.jws.WebService;
@WebService(name = "Test", targetNamespace = "http://service.namespace/")
public interface Test {
String test(Model model);
}

View File

@@ -0,0 +1,7 @@
public class TestImpl implements Test {
@Override
public String test(Model model) {
return model.toString();
}
}

View File

@@ -0,0 +1,15 @@
FROM openjdk:8-jre
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends python3 libfindbin-libs-perl
RUN set -ex \
&& mkdir -p /opt/druid \
&& wget -qO- https://archive.apache.org/dist/druid/0.20.0/apache-druid-0.20.0-bin.tar.gz | tar xz --strip-components 1 -C /opt/druid
EXPOSE 8888
WORKDIR /opt/druid
CMD [ "/opt/druid/bin/start-nano-quickstart" ]

View File

@@ -0,0 +1,19 @@
FROM vulhub/java:8u172-jdk
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& echo "deb http://archive.debian.org/debian stretch main contrib non-free" > /etc/apt/sources.list \
&& apt-get update \
&& apt-get install -y --no-install-recommends python3 libfindbin-libs-perl
RUN set -ex \
&& mkdir -p /opt/druid \
&& wget -qO- https://archive.apache.org/dist/druid/25.0.0/apache-druid-25.0.0-bin.tar.gz | tar xz --strip-components 1 -C /opt/druid \
&& cd /opt/druid \
# fix typo <https://github.com/apache/druid/pull/13657>
&& sed -i 's|mm_task_java_opts_property|mm_task_java_opts_prop|' bin/start-druid-main.py
EXPOSE 8888
WORKDIR /opt/druid
CMD [ "/opt/druid/bin/start-druid", "-c", "conf/druid/single-server/nano-quickstart" ]

View File

@@ -0,0 +1,17 @@
FROM maven:3-jdk-8 AS builder
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& wget -qO- https://github.com/apereo/cas-overlay-template/archive/4.1.tar.gz | tar xz --strip-components 1 -C /usr/src \
&& cd /usr/src \
&& sed -E -i 's#<cas\.version>4\.1\.[0-9]+</cas\.version>#<cas.version>4.1.5</cas.version>#' pom.xml \
&& mvn clean package
FROM tomcat:8.5-jdk8
COPY --from=builder /usr/src/target/cas.war /usr/local/tomcat/webapps/cas.war
COPY --from=builder /usr/src/etc/ /etc/cas/
RUN set -ex \
&& sed -i 's/securerandom\.source=file:\/dev\/random/securerandom.source=file:\/dev\/.\/urandom/g' $JAVA_HOME/jre/lib/security/java.security

View File

@@ -0,0 +1,3 @@
FROM apache/apisix-dashboard:2.9.0
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM apache/apisix:1.5-centos
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM apache/apisix:2.11.0-centos
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM apache/apisix:2.9-centos
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,25 @@
FROM buildpack-deps:stretch-curl
RUN set -ex \
&& apt-get update \
&& apt-get install --no-install-recommends -y make gcc libc6-dev \
&& mkdir -p /usr/src/appweb \
&& cd /usr/src/appweb \
&& wget -qO- https://github.com/vulhub/appweb7/archive/v7.0.1.tar.gz | tar zx --strip-components=1 \
&& make && make install \
&& cd / \
&& apt-get purge -y --auto-remove gcc make \
&& rm -rf /usr/src/* /var/lib/apt/lists/*
RUN { \
echo 'Documents "/var/www/appweb"'; \
echo "Listen 8080"; \
echo "<if SSL_MODULE>"; \
echo " ListenSecure 8443"; \
echo "</if>"; \
} | tee /etc/appweb/install.conf \
&& sed -i 's|ErrorLog "error.log"|ErrorLog "/dev/stdout"|g' /etc/appweb/appweb.conf
WORKDIR /etc/appweb
CMD ["appweb"]

View File

@@ -0,0 +1,15 @@
FROM debian:jessie
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y wget aria2 \
&& apt-get install -y --no-install-recommends cron \
&& mkdir -p /usr/aria2/data/
COPY aria2.conf /usr/aria2/aria2.conf
CMD set -ex \
&& cron \
&& aria2c --conf-path=/usr/aria2/aria2.conf

View File

@@ -0,0 +1,11 @@
dir=/usr/aria2/data
disable-ipv6=true
enable-rpc=true
max-download-limit=0
max-upload-limit=0
rpc-allow-origin-all=true
rpc-listen-all=true
rpc-listen-port=6800
rpc-secure=false
seed-ratio=0
seed-time=0

View File

@@ -0,0 +1,26 @@
FROM centos:6
LABEL maintainer="phithon <root@leavesongs.com>"
COPY ./repo.list /etc/yum.repos.d/CentOS-Base.repo
RUN set -ex \
&& yum -y install wget cronie gcc-c++ tcl \
&& mkdir -p /usr/src/redis \
&& wget -qO- http://download.redis.io/releases/redis-2.8.24.tar.gz | tar xz -C /usr/src/redis --strip-components=1 \
&& cd /usr/src/redis \
&& make MALLOC=libc \
&& make install \
&& make clean \
&& cd / \
&& rm -rf /usr/src/redis \
&& yum -y remove gcc-c++ tcl
COPY docker-entrypoint.sh /
RUN set -ex \
&& chmod +x /docker-entrypoint.sh
EXPOSE 6379
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["redis-server"]

View File

@@ -0,0 +1,12 @@
#!/bin/sh
set -e
# first arg is `-f` or `--some-option`
# or first arg is `something.conf`
if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then
set -- redis-server "$@"
fi
service crond start
exec "$@"

View File

@@ -0,0 +1,5 @@
[base]
name=CentOS-$releasever - Basevault
baseurl=http://vault.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

View File

@@ -0,0 +1,32 @@
FROM debian:jessie
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get install -y wget \
build-essential \
bison \
autoconf \
&& mkdir /tmp/bash \
&& wget -qO- https://ftp.gnu.org/gnu/bash/bash-4.3.tar.gz \
| tar zx -C /tmp/bash --strip-components=1 \
&& cd /tmp/bash \
&& ./configure --prefix=/usr/local/bash-4.3.0 \
&& make \
&& make install \
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
&& apt-mark auto '.*' > /dev/null \
&& apt-mark manual $savedAptMark \
&& ldd /usr/local/bash-4.3.0/bin/* \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& rm -rf /var/lib/apt/lists/* /tmp/bash
ENV PATH /usr/local/bash-4.3.0/bin:${PATH}

View File

@@ -0,0 +1,22 @@
FROM vulhub/bash:4.3.0
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update \
&& apt-get install --no-install-recommends -y apache2 \
&& a2enmod cgi \
&& a2enmod cgid
RUN set -ex \
&& { \
echo; \
echo "<Directory \"/var/www/html\">"; \
echo ' AddHandler cgi-script .cgi'; \
echo ' AllowOverride None'; \
echo ' Options Indexes FollowSymLinks ExecCGI'; \
echo ' Require all granted'; \
echo '</Directory>'; \
echo; \
} >> /etc/apache2/apache2.conf
CMD ["apache2ctl", "-DFOREGROUND"]

View File

@@ -0,0 +1,15 @@
FROM debian:stretch
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends bind9 dnsutils \
&& rm -rf /var/lib/apt/lists/*
COPY named.conf.options /etc/bind/named.conf.options
EXPOSE 53
EXPOSE 53/udp
CMD /usr/sbin/named -4 -c /etc/bind/named.conf -u bind -f

View File

@@ -0,0 +1,9 @@
options {
directory "/var/cache/bind";
dnssec-validation auto;
auth-nxdomain no; # conform to RFC1035
listen-on-v6 port 53 { any; };
listen-on port 53 { any; };
};

View File

@@ -0,0 +1,18 @@
FROM php:7.4-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends rrdtool snmp wget ca-certificates libsnmp-dev default-mysql-client \
wait-for-it libjpeg62-turbo-dev libpng-dev libfreetype6-dev libgmp-dev libldap2-dev
RUN set -ex \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install pdo_mysql snmp gmp ldap sockets gd
RUN set -ex \
&& wget -qO- https://files.cacti.net/cacti/linux/cacti-1.2.22.tar.gz | tar zx -C /var/www/html --strip-components 1
COPY config.php /var/www/html/include/config.php
COPY cacti.ini /usr/local/etc/php/conf.d/cacti.ini

View File

@@ -0,0 +1,4 @@
display_errors=off
memory_limit=512M
date.timezone=UTC
max_execution_time=120

View File

@@ -0,0 +1,79 @@
<?php
/*
+-------------------------------------------------------------------------+
| Copyright (C) 2004-2020 The Cacti Group |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
+-------------------------------------------------------------------------+
| Cacti: The Complete RRDtool-based Graphing Solution |
+-------------------------------------------------------------------------+
| This code is designed, written, and maintained by the Cacti Group. See |
| about.php and/or the AUTHORS file for specific developer information. |
+-------------------------------------------------------------------------+
| http://www.cacti.net/ |
+-------------------------------------------------------------------------+
*/
/*
* Make sure these values reflect your actual database/host/user/password
*/
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'db';
$database_username = 'root';
$database_password = 'root';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
$database_persist = false;
/*
* The poller_id of this system. set to `1` for the main cacti web server.
* Otherwise, you this value should be the poller_id for the remote poller.
*/
$poller_id = 1;
/*
* Set the $url_path to point to the default URL of your cacti install.
* For example if your cacti install as at `https://serverip/cacti/` this
* would be set to `/cacti/`.
*/
$url_path = '/';
/*
* Default session name - session name must contain alpha characters
*/
$cacti_session_name = 'Cacti';
/*
* Default Cookie domain - The cookie domain to be used for Cacti
*/
//$cacti_cookie_domain = 'cacti.net';
/*
* Save sessions to a database for load balancing
*/
$cacti_db_session = false;
/*
* Disable log rotation settings for packagers
*/
$disable_log_rotation = false;

View File

@@ -0,0 +1,21 @@
FROM php:7.4-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends rrdtool snmp wget ca-certificates libsnmp-dev default-mysql-client \
wait-for-it libjpeg62-turbo-dev libpng-dev libfreetype6-dev libgmp-dev libldap2-dev libicu-dev
RUN set -ex \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install pdo_mysql snmp gmp ldap sockets gd pcntl intl
RUN set -ex \
&& wget -qO- https://files.cacti.net/cacti/linux/cacti-1.2.24.tar.gz | tar zx -C /var/www/html --strip-components 1
COPY config.php /var/www/html/include/config.php
COPY cacti.ini /usr/local/etc/php/conf.d/cacti.ini
RUN set -ex \
&& chown www-data:www-data -R /var/www/html

View File

@@ -0,0 +1,4 @@
display_errors=off
memory_limit=512M
date.timezone=UTC
max_execution_time=120

View File

@@ -0,0 +1,79 @@
<?php
/*
+-------------------------------------------------------------------------+
| Copyright (C) 2004-2020 The Cacti Group |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
+-------------------------------------------------------------------------+
| Cacti: The Complete RRDtool-based Graphing Solution |
+-------------------------------------------------------------------------+
| This code is designed, written, and maintained by the Cacti Group. See |
| about.php and/or the AUTHORS file for specific developer information. |
+-------------------------------------------------------------------------+
| http://www.cacti.net/ |
+-------------------------------------------------------------------------+
*/
/*
* Make sure these values reflect your actual database/host/user/password
*/
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'db';
$database_username = 'root';
$database_password = 'root';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
$database_persist = false;
/*
* The poller_id of this system. set to `1` for the main cacti web server.
* Otherwise, you this value should be the poller_id for the remote poller.
*/
$poller_id = 1;
/*
* Set the $url_path to point to the default URL of your cacti install.
* For example if your cacti install as at `https://serverip/cacti/` this
* would be set to `/cacti/`.
*/
$url_path = '/';
/*
* Default session name - session name must contain alpha characters
*/
$cacti_session_name = 'Cacti';
/*
* Default Cookie domain - The cookie domain to be used for Cacti
*/
//$cacti_cookie_domain = 'cacti.net';
/*
* Save sessions to a database for load balancing
*/
$cacti_db_session = false;
/*
* Disable log rotation settings for packagers
*/
$disable_log_rotation = false;

View File

@@ -0,0 +1,22 @@
FROM php:7.4-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends rrdtool snmp wget ca-certificates libsnmp-dev default-mysql-client \
wait-for-it libjpeg62-turbo-dev libpng-dev libfreetype6-dev libgmp-dev libldap2-dev libicu-dev cron
RUN set -ex \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install pdo_mysql snmp gmp ldap sockets gd pcntl intl
RUN set -ex \
&& wget -qO- https://files.cacti.net/cacti/linux/cacti-1.2.28.tar.gz | tar zx -C /var/www/html --strip-components 1
COPY config.php /var/www/html/include/config.php
COPY cacti.ini /usr/local/etc/php/conf.d/cacti.ini
RUN set -ex \
&& chown www-data:www-data -R /var/www/html \
&& echo "* * * * * www-data php /var/www/html/poller.php &>/tmp/cron.log" >> /etc/crontab

View File

@@ -0,0 +1,4 @@
display_errors=off
memory_limit=512M
date.timezone=UTC
max_execution_time=120

View File

@@ -0,0 +1,138 @@
<?php
/*
+-------------------------------------------------------------------------+
| Copyright (C) 2004-2020 The Cacti Group |
| |
| This program is free software; you can redistribute it and/or |
| modify it under the terms of the GNU General Public License |
| as published by the Free Software Foundation; either version 2 |
| of the License, or (at your option) any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
+-------------------------------------------------------------------------+
| Cacti: The Complete RRDtool-based Graphing Solution |
+-------------------------------------------------------------------------+
| This code is designed, written, and maintained by the Cacti Group. See |
| about.php and/or the AUTHORS file for specific developer information. |
+-------------------------------------------------------------------------+
| http://www.cacti.net/ |
+-------------------------------------------------------------------------+
*/
/*
* Make sure these values reflect your actual database/host/user/password
*/
$database_type = 'mysql';
$database_default = 'cacti';
$database_hostname = 'db';
$database_username = 'root';
$database_password = 'root';
$database_port = '3306';
$database_retries = 5;
$database_ssl = false;
$database_ssl_key = '';
$database_ssl_cert = '';
$database_ssl_ca = '';
$database_persist = false;
/*
* The poller_id of this system. set to `1` for the main cacti web server.
* Otherwise, you this value should be the poller_id for the remote poller.
*/
$poller_id = 1;
/*
* Set the $url_path to point to the default URL of your cacti install.
* For example if your cacti install as at `https://serverip/cacti/` this
* would be set to `/cacti/`.
*/
$url_path = '/';
/*
* Default session name - session name must contain alpha characters
*/
$cacti_session_name = 'Cacti';
/*
* Default Cookie domain - The cookie domain to be used for Cacti
*/
//$cacti_cookie_domain = 'cacti.net';
/*
* Save sessions to a database for load balancing
*/
$cacti_db_session = false;
/*
* Disable log rotation settings for packagers
*/
$disable_log_rotation = false;
/**
* Allow the use of Proxy IPs when searching for client
* IP to be used
*
* This can be set to one of the following:
* - false: to use only REMOTE_ADDR
* - true: to use all allowed headers (not advised)
* - array of one or more the following:
* 'X-Forwarded-For',
* 'X-Client-IP',
* 'X-Real-IP',
* 'X-ProxyUser-Ip',
* 'CF-Connecting-IP',
* 'True-Client-IP',
* 'HTTP_X_FORWARDED',
* 'HTTP_X_FORWARDED_FOR',
* 'HTTP_X_CLUSTER_CLIENT_IP',
* 'HTTP_FORWARDED_FOR',
* 'HTTP_FORWARDED',
* 'HTTP_CLIENT_IP',
*
* NOTE: The following will always be checked:
* 'REMOTE_ADDR',
*/
$proxy_headers = null;
/*
* Set this to define the default i18n handler if not set
* in the database. For valid values, see CACTI_LANGUAGE_HANDLER
* constants but only use the value not the constant name
* here because we have not included global_constants.php
* yet
*/
$i18n_handler = null;
/*
* Set this to define ignore everything else and force a
* specific language. Should be in the format of a string
* such as 'es-ES'
*/
$i18n_force_language = null;
/**
* Define the location to log general i18n function calls
* to for debugging purposes. Note that if you use /tmp
* some systemd systems will remap that folder to special
* locations under /tmp/systemd<uniqueid>/tmp
*/
$i18n_log = null;
/**
* Define the location to log translation i18n function calls
* to for debugging purposes. Note that if you use /tmp
* some systemd systems will remap that folder to special
* locations under /tmp/systemd<uniqueid>/tmp
*/
$i18n_text_log = null;

View File

@@ -0,0 +1,3 @@
FROM celery:3.1.23
LABEL maintainer="fnmsd <fnmsd007@qq.com>"

View File

@@ -0,0 +1,18 @@
FROM php:7.2-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends unzip libfreetype6-dev libjpeg62-turbo-dev libpng-dev libzip-dev \
&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \
&& docker-php-ext-install -j$(nproc) gd mysqli zip \
&& echo "output_buffering=4096\ndisplay_errors=Off\nerror_reporting=0" >> /usr/local/etc/php/conf.d/cmsms.ini \
&& curl -L -o /tmp/cmsms-2.2.9.1-install.zip http://s3.amazonaws.com/cmsms/downloads/14316/cmsms-2.2.9.1-install.zip \
&& unzip -d /var/www/html /tmp/cmsms-2.2.9.1-install.zip \
&& mv /var/www/html/cmsms-2.2.9.1-install.php /var/www/html/install.php \
&& chown www-data:www-data -R /var/www/html \
&& a2enmod rewrite \
&& rm -rf /tmp/cmsms-2.2.9.1-install.zip
EXPOSE 80

View File

@@ -0,0 +1,13 @@
FROM buildpack-deps:stretch-curl
LABEL maintainer="phithon <root@leavesongs.com>"
COPY ./build/install/ /tmp/
RUN set -ex \
&& apt-get update && apt-get install --no-install-recommends -y procps \
&& bash /tmp/install-cf11.sh \
&& rm -r /var/lib/apt/lists/* /tmp/*
EXPOSE 8500
WORKDIR /opt/coldfusion11
CMD ["bash", "-c", "/opt/coldfusion11/cfusion/bin/coldfusion start && tail -f /opt/coldfusion11/cfusion/logs/coldfusion-out.log"]

View File

@@ -0,0 +1,17 @@
#!/bin/sh
#
# Script based on https://forums.adobe.com/message/4727551
cd /tmp
if [ ! -f "ColdFusion_11_WWEJ_linux64.bin" ]; then
wget https://file.vulhub.org/download/coldfusion/ColdFusion_11_WWEJ_linux64.bin
chmod 755 ColdFusion_11_WWEJ_linux64.bin
fi
useradd -c "user for colfusion" -M -G www-data coldfusion
/tmp/ColdFusion_11_WWEJ_linux64.bin -f installer.profile
if [ -f "ColdFusion_11_WWEJ_linux64.bin" ]; then
rm ColdFusion_11_WWEJ_linux64.bin
fi

View File

@@ -0,0 +1,41 @@
INSTALLER_UI=SILENT
SILENT_LICENSE_MODE=trial
SILENT_INSTALLER_TYPE=standalone
SILENT_INSTALL_ODBC=false
SILENT_INSTALL_SAMPLES=false
SILENT_INSTALL_JNBRIDGE=false
SILENT_INSTALL_ADMIN=true
SILENT_INSTALL_SOLR=false
SILENT_INSTALL_PDFG=false
SILENT_INSTALL_FOLDER=/opt/coldfusion11
#Enable one of Prod(secure/prod)/dev profile. Thse 3 are mutually exclusive and only one of them can be ture and others are false.
SILENT_ENABLE_PROD_SECURE_PROFILE=false
SILENT_ENABLE_PROD_DEFAULT_PROFILE=true
SILENT_ENABLE_DEV_PROFILE=false
SILENT_ADMIN_IP=
SILENT_ADMIN_USERNAME=admin
SILENT_ADMIN_PASSWORD=vulhub
SILENT_ENABLE_RDS=false
# Runtime user, typically nobody.
SILENT_RUNTIME_USER=coldfusion
SILENT_JETTY_USERNAME=admin
SILENT_JETTY_PASSWORD=vulhub
SILENT_CONTEXT_ROOT=
SILENT_AUTO_ENABLE_UPDATES=true
#Enable/Disable the servlets depending on if they are not used by your application or not.
#Applicable only if production OR Production+Secure profile is enabled. For Dev profile all these are enabled by default.
ENABLE_RDS=false
ENABLE_WSRP=false
ENABLE_JSDEBUG=false
ENABLE_CFR=false
ENABLE_CFSWF=true
ENABLE_CFFORMS=true

View File

@@ -0,0 +1,71 @@
#!/bin/bash
if [ $# -lt 2 ]; then
echo "This script can be used to toggle admin security on and off in a ColdFusion 10 server instance."
echo ""
echo "Usage: $0 <cf_home> <admin_security>"
echo "where <cf_home> points to the root of a CF server instance, eg. /opt/coldfusion10/cfusion"
echo " <admin_security> specifies the desired admin security state. Specify 'false' to turn it off, and 'true' for on. "
echo ""
exit
fi
CF_HOME=$1
ADMIN_SECURITY=$2
XSL_FILE=/tmp/neo-security-config-$$.xsl
if [ ! -d "$CF_HOME" ]; then
echo "$CF_HOME doesn't seem to exist. Terminating."
exit 1
fi
if [ "$ADMIN_SECURITY" != "false" ] && [ "$ADMIN_SECURITY" != "true" ]; then
echo "Invalid value for <admin_security>: $ADMIN_SECURITY. Please specify either 'true' or 'false'. "
exit 1
fi
if [ ! -e $CF_HOME/lib/neo-security.xml.original ]; then
echo "Backing up original neo-security.xml to $CF_HOME/lib/neo-security.xml.original .."
cp $CF_HOME/lib/neo-security.xml $CF_HOME/lib/neo-security.xml.original
if [ $? != 0 ]; then
echo "cp failed with exit code $?. Terminating."
exit 1
fi
else
echo "$CF_HOME/lib/neo-security.xml.original already exists."
fi
echo "Writing XSL to $XSL_FILE .."
cat > $XSL_FILE <<'EOXSL'
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" indent="yes" />
<xsl:param name="adminSecurityEnabled" />
<xsl:template match="/wddxPacket/data/struct[@type='coldfusion.server.ConfigMap']/var[@name='admin.security.enabled']/boolean/@value">
<xsl:attribute name="value">
<xsl:value-of select="$adminSecurityEnabled" />
</xsl:attribute>
</xsl:template>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
EOXSL
if [ $? != 0 ]; then
echo "Failed to write XSL template to $XSL_FILE. Terminating."
exit 1
fi
echo "Modifying neo-security.xml .."
xsltproc --stringparam adminSecurityEnabled $ADMIN_SECURITY $XSL_FILE $CF_HOME/lib/neo-security.xml.original > $CF_HOME/lib/neo-security.xml
if [ $? != 0 ]; then
echo "xsltproc failed with exit code $?. Terminating."
exit 1
fi
echo "Removing $XSL_FILE .."
rm $XSL_FILE
if [ $? != 0 ]; then
echo "rm failed with exit code $?. You may need to clean up manually."
exit 1
fi

View File

@@ -0,0 +1,6 @@
FROM adobecoldfusion/coldfusion2018:2018.0.15
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& sed -i 's/5005/*:5005/g' /opt/coldfusion/cfusion/bin/jvm.config

View File

@@ -0,0 +1,14 @@
FROM ubuntu:14.04
LABEL maintainer="phithon <root@leavesongs.com>"
COPY install/ /opt/
RUN set -ex \
&& apt-get update && apt-get install wget libstdc++5 -y \
&& bash /opt/installer.sh \
&& rm -r /var/lib/apt/lists/*
EXPOSE 8500
WORKDIR /opt/coldfusion8
CMD ["bash", "-c", "/opt/coldfusion8/bin/coldfusion start && tail -f /opt/coldfusion8/logs/cfserver.log"]

View File

@@ -0,0 +1,11 @@
INSTALLER_UI=silent
SAVE_DEBUG_OUTPUT=true
SILENT_LICENSE_MODE=developer
SILENT_INSTALL_FOLDER=/opt/coldfusion8
SILENT_WEB_SERVER_SELECTION=internal
SILENT_RUNTIME_USER=root
SILENT_ADMIN_PASSWORD=admin
SILENT_CONFIGURE_SYSTEM_INIT=false
SILENT_INSTALLER_TYPE=standalone
SILENT_UPDATER=false
SILENT_ENABLE_RDS=false

View File

@@ -0,0 +1,15 @@
#!/bin/bash
set -ex
cd /opt/
if [ ! -f "coldfusion-801-lin64.bin" ]; then
wget -O coldfusion-801-lin64.bin https://file.vulhub.org/download/coldfusion/coldfusion-801-lin64.bin
chmod 755 coldfusion-801-lin64.bin
fi
./coldfusion-801-lin64.bin -f installer.properties
if [ -f "coldfusion-801-lin64.bin" ]; then
rm coldfusion-801-lin64.bin
fi

View File

@@ -0,0 +1,11 @@
FROM cptactionhank/atlassian-confluence:6.10.2
LABEL maintainer="phithon <root@leavesongs.com>"
USER root
RUN set -ex \
&& mkdir /home/confluence \
&& chown daemon:daemon -R /home/confluence
USER daemon:daemon

View File

@@ -0,0 +1,11 @@
FROM cptactionhank/atlassian-confluence:6.11.2
LABEL maintainer="phithon <root@leavesongs.com>"
USER root
RUN set -ex \
&& mkdir /home/confluence \
&& chown daemon:daemon -R /home/confluence
USER daemon:daemon

View File

@@ -0,0 +1,3 @@
FROM atlassian/confluence-server:7.13.6
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM atlassian/confluence-server:7.4.10
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM atlassian/confluence-server:8.5.1
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,3 @@
FROM atlassian/confluence-server:8.5.3
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,75 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
FROM debian:jessie
LABEL maintainer="phithon <root@leavesongs.com>"
# Install instructions from https://cwiki.apache.org/confluence/display/COUCHDB/Debian
RUN groupadd -r couchdb && useradd -d /var/lib/couchdb -g couchdb couchdb
RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
erlang-nox \
libicu52 \
libmozjs185-1.0 \
libnspr4 \
libnspr4-0d \
&& rm -rf /var/lib/apt/lists/*
# grab gosu for easy step-down from root and tini for signal handling
RUN curl -o /usr/local/bin/gosu -fSL "https://github.com/tianon/gosu/releases/download/1.7/gosu-$(dpkg --print-architecture)" \
&& chmod +x /usr/local/bin/gosu \
&& curl -o /usr/local/bin/tini -fSL "https://github.com/krallin/tini/releases/download/v0.14.0/tini" \
&& chmod +x /usr/local/bin/tini
# download dependencies, compile and install couchdb,
# set correct permissions, expose couchdb to the outside and disable logging to disk
RUN buildDeps=' \
gcc \
g++ \
erlang-dev \
libcurl4-openssl-dev \
libicu-dev \
libmozjs185-dev \
libnspr4-dev \
make \
' \
&& apt-get update && apt-get install -y --no-install-recommends $buildDeps \
&& curl -fSL https://archive.apache.org/dist/couchdb/source/1.6.0/apache-couchdb-1.6.0.tar.gz -o couchdb.tar.gz \
&& mkdir -p /usr/src/couchdb \
&& tar -xzf couchdb.tar.gz -C /usr/src/couchdb --strip-components=1 \
&& cd /usr/src/couchdb \
&& ./configure --with-js-lib=/usr/lib --with-js-include=/usr/include/mozjs \
&& make && make install \
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /var/lib/apt/lists/* /usr/src/couchdb /couchdb.tar.gz* \
&& chown -R couchdb:couchdb \
/usr/local/lib/couchdb /usr/local/etc/couchdb \
/usr/local/var/lib/couchdb /usr/local/var/log/couchdb /usr/local/var/run/couchdb \
&& chmod -R g+rw \
/usr/local/lib/couchdb /usr/local/etc/couchdb \
/usr/local/var/lib/couchdb /usr/local/var/log/couchdb /usr/local/var/run/couchdb \
&& mkdir -p /var/lib/couchdb \
&& sed -e 's/^bind_address = .*$/bind_address = 0.0.0.0/' -i /usr/local/etc/couchdb/default.ini \
&& sed -e 's!/usr/local/var/log/couchdb/couch.log$!/dev/null!' -i /usr/local/etc/couchdb/default.ini
COPY ./docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh
EXPOSE 5984
WORKDIR /var/lib/couchdb
ENTRYPOINT ["tini", "--", "/docker-entrypoint.sh"]
CMD ["couchdb"]

View File

@@ -0,0 +1,36 @@
#!/bin/bash
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
set -e
if [ "$1" = 'couchdb' ]; then
# we need to set the permissions here because docker mounts volumes as root
chown -R couchdb:couchdb \
/usr/local/var/lib/couchdb \
/usr/local/var/log/couchdb \
/usr/local/var/run/couchdb \
/usr/local/etc/couchdb
chmod -R 0770 \
/usr/local/var/lib/couchdb \
/usr/local/var/log/couchdb \
/usr/local/var/run/couchdb \
/usr/local/etc/couchdb
chmod 664 /usr/local/etc/couchdb/*.ini
chmod 775 /usr/local/etc/couchdb/*.d
exec gosu couchdb "$@"
fi
exec "$@"

View File

@@ -0,0 +1,59 @@
FROM debian:jessie
LABEL maintainer="phithon <root@leavesongs.com>"
COPY ./docker-entrypoint.sh /
RUN apt-get update -y && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
erlang-nox \
erlang-reltool \
haproxy \
libicu52 \
libmozjs185-1.0 \
openssl \
wget
RUN buildDeps=' \
apt-transport-https \
gcc \
g++ \
erlang-dev \
libcurl4-openssl-dev \
libicu-dev \
libmozjs185-dev \
make \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
&& cd /usr/src && mkdir couchdb \
&& wget -qO- https://archive.apache.org/dist/couchdb/source/2.1.0/apache-couchdb-2.1.0.tar.gz | tar zx -C couchdb --strip-components=1 \
&& cd couchdb \
# Build the release and install into /opt
&& ./configure --disable-docs \
&& make release \
&& mv /usr/src/couchdb/rel/couchdb /opt/ \
# Cleanup build detritus
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /var/lib/apt/lists/* /usr/src/couchdb* \
&& mkdir /opt/couchdb/data \
&& { \
echo "[chttpd]"; \
echo "bind_address = any"; \
echo ; \
echo "[httpd]"; \
echo "bind_address = any"; \
echo ; \
} | tee /opt/couchdb/etc/local.d/local.ini \
&& chmod +x /docker-entrypoint.sh
# Add configuration
COPY vm.args /opt/couchdb/etc/
WORKDIR /opt/couchdb
EXPOSE 5984 4369 9100
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/opt/couchdb/bin/couchdb"]

View File

@@ -0,0 +1,45 @@
#!/bin/bash
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
set -e
# first arg is `-something` or `+something`
if [ "${1#-}" != "$1" ] || [ "${1#+}" != "$1" ]; then
set -- /opt/couchdb/bin/couchdb "$@"
fi
# first arg is the bare word `couchdb`
if [ "$1" = 'couchdb' ]; then
shift
set -- /opt/couchdb/bin/couchdb "$@"
fi
if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
if [ ! -z "$NODENAME" ] && ! grep "couchdb@" /opt/couchdb/etc/vm.args; then
echo "-name couchdb@$NODENAME" >> /opt/couchdb/etc/vm.args
fi
if [ "$COUCHDB_USER" ] && [ "$COUCHDB_PASSWORD" ]; then
# Create admin
printf "[admins]\n%s = %s\n" "$COUCHDB_USER" "$COUCHDB_PASSWORD" > /opt/couchdb/etc/local.d/docker.ini
fi
if [ "$COUCHDB_SECRET" ]; then
# Set secret
printf "[couch_httpd_auth]\nsecret = %s\n" "$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
exec "$@"

View File

@@ -0,0 +1,28 @@
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
# Ensure that the Erlang VM listens on a known port
-kernel inet_dist_listen_min 9100
-kernel inet_dist_listen_max 9100
# Tell kernel and SASL not to log anything
-kernel error_logger silent
-sasl sasl_error_logger false
# Use kernel poll functionality if supported by emulator
+K true
# Start a pool of asynchronous IO threads
+A 16
# Comment this line out to enable the interactive Erlang shell on startup
+Bd -noinput

View File

@@ -0,0 +1,56 @@
FROM debian:bullseye-slim
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update -y && apt-get install -y --no-install-recommends \
erlang-nox \
erlang-reltool \
libicu-dev \
libcurl4-openssl-dev \
libnspr4-dev \
libffi-dev \
libmozjs-78-dev
RUN buildDeps=' \
gcc \
g++ \
erlang-dev \
make \
wget \
ca-certificates \
apt-transport-https \
' \
&& apt-get update \
&& apt-get install -y --no-install-recommends $buildDeps \
&& rm -rf /var/lib/apt/lists/* \
&& ln -s /usr/include/mozjs-78 /usr/local/include/mozjs-78 \
&& cd /usr/src && mkdir couchdb \
&& wget -qO- https://archive.apache.org/dist/couchdb/source/3.2.1/apache-couchdb-3.2.1.tar.gz | tar zx -C couchdb --strip-components=1 \
&& cd couchdb \
# Build the release and install into /opt
&& ./configure --disable-docs --spidermonkey-version=78 \
&& make release \
&& mv /usr/src/couchdb/rel/couchdb /opt/ \
# Cleanup build detritus
&& apt-get purge -y --auto-remove $buildDeps \
&& rm -rf /var/lib/apt/lists/* /usr/src/couchdb* \
&& mkdir /opt/couchdb/data \
&& { \
echo "[chttpd]"; \
echo "bind_address = any"; \
echo ; \
echo "[httpd]"; \
echo "bind_address = any"; \
echo ; \
} | tee /opt/couchdb/etc/local.d/local.ini
# Add configuration
COPY ./docker-entrypoint.sh /
RUN chmod +x /docker-entrypoint.sh
WORKDIR /opt/couchdb
EXPOSE 5984 4369 9100
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["/opt/couchdb/bin/couchdb"]

View File

@@ -0,0 +1,51 @@
#!/bin/bash
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
set -e
# first arg is `-something` or `+something`
if [ "${1#-}" != "$1" ] || [ "${1#+}" != "$1" ]; then
set -- /opt/couchdb/bin/couchdb "$@"
fi
# first arg is the bare word `couchdb`
if [ "$1" = 'couchdb' ]; then
shift
set -- /opt/couchdb/bin/couchdb "$@"
fi
if [ "$1" = '/opt/couchdb/bin/couchdb' ]; then
if ! grep "inet_dist_listen_min" /opt/couchdb/etc/vm.args; then
echo "write inet_dist_listen_min and inet_dist_listen_max to /opt/couchdb/etc/vm.args"
echo "-kernel inet_dist_listen_min 9100" >> /opt/couchdb/etc/vm.args
echo "-kernel inet_dist_listen_max 9100" >> /opt/couchdb/etc/vm.args
fi
if [ ! -z "$NODENAME" ] && ! grep "couchdb@" /opt/couchdb/etc/vm.args; then
echo "-name couchdb@$NODENAME" >> /opt/couchdb/etc/vm.args
fi
if [ "$COUCHDB_USER" ] && [ "$COUCHDB_PASSWORD" ]; then
# Create admin
printf "[admins]\n%s = %s\n" "$COUCHDB_USER" "$COUCHDB_PASSWORD" > /opt/couchdb/etc/local.d/docker.ini
fi
if [ "$COUCHDB_SECRET" ]; then
# Set secret
printf "[couch_httpd_auth]\nsecret = %s\n" "$COUCHDB_SECRET" >> /opt/couchdb/etc/local.d/docker.ini
fi
fi
exec "$@"

View File

@@ -0,0 +1,35 @@
FROM php:8.1-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update \
&& apt-get install -y --no-install-recommends libjpeg62-turbo-dev libpng-dev libfreetype6-dev libonig-dev libicu-dev libzip-dev libmagickwand-dev \
&& pecl install imagick \
&& docker-php-ext-install bcmath gd mbstring pdo_mysql intl zip \
&& docker-php-ext-enable imagick \
&& sed -i 's|</policymap>| <policy domain="system" name="font" value="/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf"/>\n</policymap>|' \
/etc/ImageMagick-6/policy.xml \
&& curl -#sSL -o /usr/local/bin/composer https://getcomposer.org/download/2.8.4/composer.phar \
&& chmod +x /usr/local/bin/composer \
&& rm -rf /var/lib/apt/lists/*
RUN set -ex \
&& curl -#sSL https://github.com/craftcms/craft/archive/refs/tags/4.3.1.tar.gz | tar xz --strip-components=1 -C /var/www/html \
&& cd /var/www/html \
&& sed -i 's|"craftcms/cms": "^4.4.0"|"craftcms/cms": "4.4.14"|g' composer.json \
&& sed -i 's|"craftcms/cms": "^4.4.0"|"craftcms/cms": "4.4.14"|g' composer.json.default \
&& composer install --no-scripts \
&& mv .env.example.dev .env \
&& rm composer.json \
&& mv composer.json.default composer.json \
&& composer dump-autoload -o \
&& CRAFT_ALLOW_SUPERUSER=1 php craft setup --interactive 0 \
&& chown -R www-data:www-data /var/www/html \
&& sed -i 's|DocumentRoot /var/www/html|DocumentRoot /var/www/html/web|g' /etc/apache2/sites-enabled/000-default.conf \
&& a2enmod rewrite
RUN set -ex \
&& { \
echo "max_execution_time = 300"; \
echo "ignore_user_abort = On"; \
} > /usr/local/etc/php/conf.d/overrides.ini

View File

@@ -0,0 +1,31 @@
FROM php:8.3-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN apt-get update \
&& apt-get install -y --no-install-recommends libjpeg62-turbo-dev libpng-dev libfreetype6-dev libonig-dev libicu-dev libzip-dev \
&& docker-php-ext-install bcmath gd mbstring pdo_mysql intl zip \
&& curl -#sSL -o /usr/local/bin/composer https://getcomposer.org/download/2.8.4/composer.phar \
&& chmod +x /usr/local/bin/composer \
&& rm -rf /var/lib/apt/lists/*
RUN set -ex \
&& curl -#sSL https://github.com/craftcms/craft/archive/refs/tags/5.1.0.tar.gz | tar xz --strip-components=1 -C /var/www/html \
&& cd /var/www/html \
&& sed -i 's|"craftcms/cms": "^5.0.0"|"craftcms/cms": "5.5.1.1"|g' composer.json \
&& sed -i 's|"craftcms/cms": "^5.0.0"|"craftcms/cms": "5.5.1.1"|g' composer.json.default \
&& composer install --no-scripts \
&& mv .env.example.dev .env \
&& rm composer.json \
&& mv composer.json.default composer.json \
&& composer dump-autoload -o \
&& CRAFT_ALLOW_SUPERUSER=1 php craft setup --interactive 0 \
&& chown -R www-data:www-data /var/www/html \
&& sed -i 's|DocumentRoot /var/www/html|DocumentRoot /var/www/html/web|g' /etc/apache2/sites-enabled/000-default.conf \
&& a2enmod rewrite
RUN set -ex \
&& { \
echo "max_execution_time = 300"; \
echo "ignore_user_abort = On"; \
} > /usr/local/etc/php/conf.d/overrides.ini

View File

@@ -0,0 +1,57 @@
FROM debian:bookworm
LABEL phith0n="phithon <root@leavesongs.com>"
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends build-essential gcc make pkg-config wget ca-certificates bc ghostscript mupdf-tools poppler-utils dbus \
libexif-dev libglib2.0-dev liblcms2-dev libfreetype6-dev libfontconfig-dev libqpdf-dev libpoppler-cpp-dev libgnutls28-dev libdbus-1-dev libcups2-dev \
libavahi-glib-dev libavahi-client-dev \
&& mkdir -p /usr/src/libcupsfilters /usr/src/cups-filters /usr/src/libppd /usr/src/cups-browsed /usr/src/cups \
# install libcupsfilters
&& wget -qO- https://github.com/OpenPrinting/libcupsfilters/releases/download/2.1b1/libcupsfilters-2.1b1.tar.gz | tar xz -C /usr/src/libcupsfilters --strip-components=1 \
&& cd /usr/src/libcupsfilters \
&& CXXFLAGS="-std=c++17" ./configure \
&& make -j$(nproc) \
&& make install \
# install libppd
&& wget -qO- https://github.com/OpenPrinting/libppd/releases/download/2.1b1/libppd-2.1b1.tar.gz | tar xz -C /usr/src/libppd --strip-components=1 \
&& cd /usr/src/libppd \
&& CXXFLAGS="-std=c++17" ./configure \
&& make -j$(nproc) \
&& make install \
# install cups-filters
&& wget -qO- https://github.com/OpenPrinting/cups-filters/releases/download/2.0.1/cups-filters-2.0.1.tar.gz | tar xz -C /usr/src/cups-filters --strip-components=1 \
&& cd /usr/src/cups-filters \
&& CXXFLAGS="-std=c++17" ./configure \
&& make -j$(nproc) \
&& make install \
# install vulnerable cups-browsed
&& wget -qO- https://github.com/OpenPrinting/cups-browsed/releases/download/2.0.1/cups-browsed-2.0.1.tar.gz | tar xz -C /usr/src/cups-browsed --strip-components=1 \
&& cd /usr/src/cups-browsed \
&& CXXFLAGS="-std=c++17" CFLAGS="-g" ./configure \
&& make -j$(nproc) \
&& make install \
# install CUPS
&& wget -qO- https://github.com/OpenPrinting/cups/releases/download/v2.4.7/cups-2.4.7-source.tar.gz | tar xz -C /usr/src/cups --strip-components=1 \
&& cd /usr/src/cups \
&& CXXFLAGS="-std=c++17" ./configure \
&& make -j$(nproc) \
&& make install \
# modify default cups config
&& sed -i 's/Listen localhost:631/Listen 0.0.0.0:631/g' /etc/cups/cupsd.conf \
&& sed -i 's/Order allow,deny/Order allow,deny\n Allow from all/g' /etc/cups/cupsd.conf \
# clean
&& rm -rf /usr/src/* \
&& apt-get remove -y --purge build-essential gcc make pkg-config bc \
&& apt-get autoremove -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN set -ex \
&& chmod +x /docker-entrypoint.sh
EXPOSE 631/tcp 631/udp
ENTRYPOINT [ "bash", "/docker-entrypoint.sh" ]
CMD [ "cups-browsed", "--debug" ]

View File

@@ -0,0 +1,12 @@
#!/bin/bash
set -e
if [ "$1" = "cups" ]; then
/etc/init.d/dbus start
elif [ "$1" = "cups-browsed" ]; then
/etc/init.d/dbus start
cupsd
fi
exec "$@"

View File

@@ -0,0 +1,20 @@
FROM php:5.5-apache
LABEL maintainer=<mengbulang@Live.com>
RUN set -ex \
&& apt-get update \
&& apt-get install git -y --no-install-recommends \
&& docker-php-ext-install mysql mysqli \
&& apt-get clean \
&& cd /tmp/ \
&& git clone https://gitee.com/Discuz/DiscuzX.git \
&& cd DiscuzX \
&& git checkout d7ec4030d5bcc2be9485a2543bab85b9757e3c14 \
# d7ec4030d5bcc2be9485a2543bab85b9757e3c14 is discuzx(Release 20170801)
&& cp -r /tmp/DiscuzX/upload/* /var/www/html \
&& chown www-data:www-data -R /var/www/html/ \
&& rm -rf /var/lib/apt/lists/* \
&& rm -rf /tmp/DiscuzX
EXPOSE 80

View File

@@ -0,0 +1,17 @@
FROM php:5.6-apache
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& docker-php-ext-install mysql \
&& rm -rf /var/www/html/* \
&& cd /tmp \
&& curl -#SL https://github.com/vulhub/discuz7/archive/2009.11.26.tar.gz -o discuz7-2009.11.26.tar.gz \
&& tar -zxvf discuz7-2009.11.26.tar.gz \
&& cp -r discuz7-2009.11.26/upload/* /var/www/html/ \
&& { \
echo "request_order=GP"; \
echo "date.timezone=Asia/Shanghai"; \
} | tee /usr/local/etc/php/conf.d/core.ini \
&& chown www-data:www-data -R /var/www/html \
&& rm -rf /tmp/*

View File

@@ -0,0 +1,17 @@
FROM python:3.5
LABEL maintainer="phithon <root@leavesongs.com>"
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /bin/wait-for-it.sh
COPY docker-entrypoint.sh /docker-entrypoint.sh
RUN mkdir /app \
&& pip install -U "django==1.11.4" "dj-database-url==0.5.0" "psycopg2==2.8.5" \
&& chmod +x /docker-entrypoint.sh /bin/wait-for-it.sh
EXPOSE 8000
WORKDIR /app
CMD ["/docker-entrypoint.sh"]

View File

@@ -0,0 +1,5 @@
#!/bin/bash
/bin/wait-for-it.sh db:5432 -t 60 -- echo "postgres is up..."
python app.py migrate && python app.py runserver 0.0.0.0:8000

View File

@@ -0,0 +1,10 @@
FROM python:3.6
LABEL maintainer="phithon <root@leavesongs.com>"
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait-for-it.sh
RUN set -ex \
&& pip install -U pip \
&& pip install "django==2.2.3" "psycopg2==2.8.3" \
&& chmod +x /usr/local/bin/wait-for-it.sh

View File

@@ -0,0 +1,22 @@
FROM python:3.6
ENV ORACLE_HOME=/tmp/instantclient_19_6 LD_LIBRARY_PATH=/tmp/instantclient_19_6 VERSION=19.6.0.0.0 ARCH=x86_64
RUN set -ex \
&& apt-get update && apt-get upgrade -y \
&& apt-get install gcc g++ make binutils libproj-dev gdal-bin libaio1 libaio-dev unzip -y
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait-for-it.sh
RUN set -ex \
&& cd /tmp/ \
&& wget download.oracle.com/otn_software/linux/instantclient/19600/instantclient-basiclite-linux.x64-19.6.0.0.0dbru.zip \
&& wget download.oracle.com/otn_software/linux/instantclient/19600/instantclient-sdk-linux.x64-19.6.0.0.0dbru.zip \
&& unzip instantclient-basiclite-linux.x64-19.6.0.0.0dbru.zip && unzip instantclient-sdk-linux.x64-19.6.0.0.0dbru.zip \
&& rm *.zip
RUN set -ex \
&& pip install -U pip \
&& pip install cx_Oracle==5.3 django==3.0.3 \
&& chmod +x /usr/local/bin/wait-for-it.sh

View File

@@ -0,0 +1,8 @@
FROM python:3.8
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait-for-it.sh
RUN set -ex \
&& pip install -U pip \
&& pip install "django==3.2.4" "mysqlclient==2.0.2" \
&& chmod +x /usr/local/bin/wait-for-it.sh

View File

@@ -0,0 +1,8 @@
FROM python:3.10
ADD https://raw.githubusercontent.com/vishnubob/wait-for-it/master/wait-for-it.sh /usr/local/bin/wait-for-it.sh
RUN set -ex \
&& pip install -U pip \
&& pip install "django==4.0.5" "psycopg2_binary==2.9.3" \
&& chmod +x /usr/local/bin/wait-for-it.sh

View File

@@ -0,0 +1,3 @@
FROM docker:28.0.1-dind
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,49 @@
FROM php:5.6-apache
LABEL maintainer="phithon <root@leavesongs.com>"
# install the PHP extensions we need
RUN set -ex; \
\
if command -v a2enmod; then \
a2enmod rewrite; \
fi; \
\
savedAptMark="$(apt-mark showmanual)"; \
\
apt-get update; \
apt-get install -y --no-install-recommends \
libjpeg-dev \
libpng-dev \
; \
\
docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; \
docker-php-ext-install -j "$(nproc)" \
gd \
zip \
pdo_mysql \
; \
\
# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark; \
ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \
| awk '/=>/ { print $3 }' \
| sort -u \
| xargs -r dpkg-query -S \
| cut -d: -f1 \
| sort -u \
| xargs -rt apt-mark manual; \
\
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
rm -rf /var/lib/apt/lists/*
WORKDIR /var/www/html
# https://www.drupal.org/node/3060/release
ENV DRUPAL_VERSION 7.31
RUN curl -fSL "https://ftp.drupal.org/files/projects/drupal-${DRUPAL_VERSION}.tar.gz" -o drupal.tar.gz \
&& tar -xz --strip-components=1 -f drupal.tar.gz \
&& rm drupal.tar.gz \
&& chown -R www-data:www-data sites modules themes

View File

@@ -0,0 +1,16 @@
FROM drupal:8.3.0
LABEL maintainer="phithon <root@leavesongs.com>"
RUN set -ex \
&& echo 'deb [trusted=yes check-valid-until=no] http://snapshot.debian.org/archive/debian/20190624/ jessie main' > /etc/apt/sources.list \
&& echo 'deb-src [trusted=yes check-valid-until=no] http://snapshot.debian.org/archive/debian/20190624/ jessie main' >> /etc/apt/sources.list \
&& echo 'deb [trusted=yes check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20190624/ jessie/updates main' >> /etc/apt/sources.list \
&& echo 'deb-src [trusted=yes check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20190624/ jessie/updates main' >> /etc/apt/sources.list
RUN set -ex \
&& apt-get update \
&& apt-get install --no-install-recommends -y libyaml-dev \
&& pecl install yaml-2.0.3 \
&& docker-php-ext-enable yaml \
&& echo 'yaml.decode_php = 1' >> /usr/local/etc/php/conf.d/docker-php-ext-yaml.ini

View File

@@ -0,0 +1,3 @@
FROM drupal:8.5.0
LABEL maintainer="phithon <root@leavesongs.com>"

View File

@@ -0,0 +1,18 @@
FROM maven:3.8.1-jdk-8 AS builder
LABEL maintainer="phithon <root@leavesongs.com>"
COPY ./ /usr/src/
RUN set -ex \
&& cd /usr/src \
&& mvn clean package
FROM openjdk:8-jre
COPY --from=builder /usr/src/target/dubbo-sample-1.0-SNAPSHOT.jar /dubbo-sample-1.0-SNAPSHOT.jar
COPY docker-entrypoint.sh /docker-entrypoint.sh
EXPOSE 8080
CMD ["bash", "/docker-entrypoint.sh"]

View File

@@ -0,0 +1,3 @@
#!/bin/sh
java "-Ddubbo.registry.address=${DUBBO_REGISTRY}" -jar /dubbo-sample-1.0-SNAPSHOT.jar

147
base/dubbo/2.7.3/pom.xml Normal file
View File

@@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.vulhub</groupId>
<artifactId>dubbo-sample</artifactId>
<version>1.0-SNAPSHOT</version>
<name>dubbo-sample</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
<dubbo.version>2.7.3</dubbo.version>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.dubbo/dubbo-dependencies-zookeeper -->
<dependency>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-zookeeper</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.8</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.tomcat.embed/tomcat-embed-core -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.68</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.2.1</version>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.1</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.8.2</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.7.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.0.0</version>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
</manifest>
<manifestEntries>
<Project-Version>${project.version}</Project-Version>
<Build-Time>${maven.build.timestamp}</Build-Time>
<Main-Class>org.vulhub.HttpProvider</Main-Class>
</manifestEntries>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.handlers</resource>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">
<resource>META-INF/spring.schemas</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

View File

@@ -0,0 +1,15 @@
package org.vulhub;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.vulhub.api.CalcService;
public class HttpConsumer {
public static void main(String []args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/http-consumer.xml");
context.start();
CalcService demoService = (CalcService) context.getBean("calcService");
Integer result = demoService.add(123, 456);
System.out.printf("Your result is %d\n", result);
}
}

View File

@@ -0,0 +1,15 @@
package org.vulhub;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.util.concurrent.CountDownLatch;
public class HttpProvider {
public static void main(String []args) throws Exception {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("spring/http-provider.xml");
context.start();
System.out.println("dubbo service started");
new CountDownLatch(1).await();
}
}

View File

@@ -0,0 +1,6 @@
package org.vulhub.api;
public interface CalcService {
Integer add(Integer a, Integer b);
Integer minus(Integer a, Integer b);
}

View File

@@ -0,0 +1,16 @@
package org.vulhub.impl;
import org.vulhub.api.CalcService;
public class CalcServiceImpl implements CalcService {
@Override
public Integer add(Integer a, Integer b) {
return a + b;
}
@Override
public Integer minus(Integer a, Integer b) {
return a - b;
}
}

View File

@@ -0,0 +1,26 @@
#
#
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
#
###set log levels###
log4j.rootLogger=info, stdout
###output to the console###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d{dd/MM/yy hh:mm:ss:sss z}] %t %5p %c{2}: %m%n

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder/>
<dubbo:application name="http-consumer"/>
<dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
<dubbo:reference id="calcService" interface="org.vulhub.api.CalcService"/>
</beans>

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
~
-->
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<context:property-placeholder/>
<dubbo:application name="http-provider"/>
<dubbo:registry address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/>
<dubbo:protocol name="http" id="http" port="${servlet.port:8080}" server="${servlet.container:tomcat}"/>
<bean id="calcService" class="org.vulhub.impl.CalcServiceImpl"/>
<dubbo:service interface="org.vulhub.api.CalcService" ref="calcService" protocol="http"/>
</beans>

View File

@@ -0,0 +1,13 @@
FROM vulhub/php:5.3-apache
LABEL maintainer="phithon <root@leavesongs.com>"
ARG DOWNLOAD_PATH=/usr/local/src
RUN set -ex \
&& curl -#SL https://file.vulhub.org/download/ecshop/ecshop-2.7.3.tar.gz \
| tar zx -C ${DOWNLOAD_PATH} \
&& cp -r ${DOWNLOAD_PATH}/upload/* /var/www/html/ \
&& chown www-data:www-data -R /var/www/html \
&& echo "date.timezone = Asia/Shanghai" > /usr/local/etc/php/conf.d/date.ini \
&& rm -rf ${DOWNLOAD_PATH}/*

View File

@@ -0,0 +1,15 @@
FROM php:5.6-apache
LABEL maintainer="phithon <root@leavesongs.com>"
ARG DOWNLOAD_PATH=/usr/local/src
RUN set -ex \
&& docker-php-ext-install mysql \
&& curl -#SL https://file.vulhub.org/download/ecshop/ecshop-3.6.0.tar.gz \
| tar zx -C ${DOWNLOAD_PATH} \
&& cp -r ${DOWNLOAD_PATH}/ecshop/* /var/www/html/ \
&& cp -r ${DOWNLOAD_PATH}/appserver /var/www/ \
&& chown www-data:www-data -R /var/www \
&& echo "date.timezone = Asia/Shanghai" > /usr/local/etc/php/conf.d/date.ini \
&& rm -rf ${DOWNLOAD_PATH}/*

View File

@@ -0,0 +1,15 @@
FROM php:5.6-apache
LABEL maintainer="phithon <root@leavesongs.com>"
ARG DOWNLOAD_PATH=/usr/local/src
RUN set -ex \
&& docker-php-ext-install mysqli \
&& curl -#SL https://file.vulhub.org/download/ecshop/ecshop-4.0.6.tar.gz \
| tar zx -C ${DOWNLOAD_PATH} \
&& cp -r ${DOWNLOAD_PATH}/ecshop/* /var/www/html/ \
&& cp -r ${DOWNLOAD_PATH}/appserver /var/www/ \
&& chown www-data:www-data -R /var/www \
&& echo "date.timezone = Asia/Shanghai" > /usr/local/etc/php/conf.d/date.ini \
&& rm -rf ${DOWNLOAD_PATH}/*

View File

@@ -0,0 +1,19 @@
FROM openjdk:8-jre
LABEL maintainer="phithon <root@leavesongs.com>"
COPY logging.yml ./config/logging.yml
COPY docker-entrypoint.sh /
RUN set -ex \
&& mkdir -p /usr/share/elasticsearch \
&& wget -qO- https://download.elastic.co/elasticsearch/elasticsearch/elasticsearch-1.1.1.tar.gz | tar zx \
--strip-components 1 -C /usr/share/elasticsearch \
&& chmod +x /docker-entrypoint.sh
ENV PATH /usr/share/elasticsearch/bin:$PATH
WORKDIR /usr/share/elasticsearch
EXPOSE 9200 9300
ENTRYPOINT ["/docker-entrypoint.sh"]
CMD ["elasticsearch"]

View File

@@ -0,0 +1,13 @@
#!/bin/bash
set -e
# Add elasticsearch as command if needed
if [ "${1:0:1}" = '-' ]; then
set -- elasticsearch "$@"
fi
# As argument is not related to elasticsearch,
# then assume that user wants to run his own process,
# for example a `bash` shell to explore this image
exec "$@"

View File

@@ -0,0 +1,15 @@
# you can override this using by setting a system property, for example -Des.logger.level=DEBUG
es.logger.level: INFO
rootLogger: ${es.logger.level}, console
logger:
# log action execution errors for easier debugging
action: DEBUG
# reduce the logging for aws, too much is logged under the default INFO
com.amazonaws: WARN
appender:
console:
type: console
layout:
type: consolePattern
conversionPattern: "[%d{ISO8601}][%-5p][%-25c] %m%n"

Some files were not shown because too many files have changed in this diff Show More