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,104 @@
FROM phusion/baseimage:jammy-1.0.1
LABEL maintainer="phithon <root@leavesongs.com>"
ARG BASEDIR=/opt/jumpserver
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates wget \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get install -y --no-install-recommends libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev \
libvncserver-dev libwebsockets-dev libpulse-dev libvorbis-dev libwebp-dev libssl-dev gcc make \
&& mkdir -p ${BASEDIR}/guacd \
&& wget -qO- https://archive.apache.org/dist/guacamole/1.5.2/source/guacamole-server-1.5.2.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/guacd \
&& cd ${BASEDIR}/guacd \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
# remove unused libraries
&& apt-mark auto '.*' > /dev/null \
&& [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark \
&& apt-mark manual $savedAptMark \
&& find /usr/local -type f -executable -exec ldd '{}' 2>/dev/null ';' \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1 || index(so, "/") == 0) { next }; \
gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& ldconfig /usr \
&& rm -rf /var/lib/apt/lists/* ${BASEDIR}/guacd
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends gcc g++ make wget ca-certificates openjdk-17-jre-headless nginx sshpass \
python3 python3-dev python3-pip pkg-config libxmlsec1-dev libpq-dev libffi-dev libxml2-dev libxslt-dev libldap2-dev \
libsasl2-dev bash-completion libmariadb-dev wait-for-it gettext
COPY requirements.txt /tmp/requirements.txt
WORKDIR ${BASEDIR}
ARG VERSION=3.6.3
RUN set -ex \
# download jumpserver core
&& mkdir -p ${BASEDIR}/core \
&& cd ${BASEDIR}/core \
&& wget -qO- https://github.com/jumpserver/jumpserver/releases/download/v${VERSION}/jumpserver-v${VERSION}.tar.gz | \
tar xz --strip-components 1 \
&& touch config.yml \
&& pip install -r /tmp/requirements.txt \
&& rm -f apps/locale/zh/LC_MESSAGES/django.mo apps/locale/zh/LC_MESSAGES/djangojs.mo \
&& SECRET_KEY=example python3 apps/manage.py compilemessages \
&& rm -rf /tmp/requirements.txt
RUN set -ex \
# download jumpserver frontend (lina)
&& mkdir -p ${BASEDIR}/lina \
&& wget -qO- https://github.com/jumpserver/lina/releases/download/v${VERSION}/lina-v${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/lina \
# download jumpserver terminal frontend (luna)
&& mkdir -p ${BASEDIR}/luna \
&& wget -qO- https://github.com/jumpserver/luna/releases/download/v${VERSION}/luna-v${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/luna \
# download jumpserver SSH/SFTP Web Terminal (koko)
&& mkdir -p ${BASEDIR}/koko \
&& wget -qO- https://github.com/jumpserver/koko/releases/download/v${VERSION}/koko-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/koko \
&& touch config.yml \
# download jumpserver RDP/VNC client (lion)
&& mkdir -p ${BASEDIR}/lion \
&& wget -qO- https://github.com/jumpserver/lion-release/releases/download/v${VERSION}/lion-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/lion \
&& touch config.yml \
# download jumpserver wisp
&& mkdir -p ${BASEDIR}/wisp \
&& wget -qO- https://github.com/jumpserver/wisp/releases/download/v0.1.16/wisp-v0.1.16-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/wisp \
# download jumpserver database connector (magnus)
&& mkdir -p ${BASEDIR}/magnus \
&& wget -qO- https://github.com/jumpserver/magnus-release/releases/download/v${VERSION}/magnus-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/magnus \
&& touch config.yml \
# download jumpserver Web DB (chen)
&& mkdir -p ${BASEDIR}/chen \
&& wget -qO- https://github.com/jumpserver/chen-release/releases/download/v${VERSION}/chen-${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/chen \
&& mkdir -p /etc/service/chen /etc/service/core /etc/service/guacd /etc/service/koko /etc/service/lion /etc/service/magnus /etc/service/nginx /etc/service/celery
COPY ./chen/run /etc/service/chen/run
COPY ./core/run /etc/service/core/run
COPY ./guacd/run /etc/service/guacd/run
COPY ./koko/run /etc/service/koko/run
COPY ./lion/run /etc/service/lion/run
COPY ./magnus/run /etc/service/magnus/run
COPY ./celery/run /etc/service/celery/run
COPY ./nginx/run /etc/service/nginx/run
COPY ./nginx/default.conf /etc/nginx/sites-enabled/default
RUN set -ex \
&& chmod +x /etc/service/chen/run /etc/service/core/run /etc/service/guacd/run /etc/service/koko/run /etc/service/lion/run /etc/service/magnus/run /etc/service/nginx/run /etc/service/celery/run

View File

@@ -0,0 +1,6 @@
#!/bin/bash
cd /opt/jumpserver/core/ || exit 1
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
./jms start task

View File

@@ -0,0 +1,12 @@
#!/bin/bash
export BIND_HOST=127.0.0.1
export BIND_PORT=9091
export WORK_DIR="/opt/jumpserver/chen"
export COMPONENT_NAME="chen"
export EXECUTE_PROGRAM="java -jar chen.jar"
export WISP_HOST=127.0.0.1
export WISP_PORT=9091
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
/opt/jumpserver/wisp/wisp

View File

@@ -0,0 +1,4 @@
#!/bin/bash
cd /opt/jumpserver/core/ || exit 1
./jms start web

View File

@@ -0,0 +1,3 @@
#!/bin/bash
guacd -l 4822 -b 127.0.0.1 -f

View File

@@ -0,0 +1,10 @@
#!/bin/bash
cd /opt/jumpserver/koko/ || exit 1
export SSHD_PORT=2222
export HTTPD_PORT=5000
export BIND_HOST=0.0.0.0
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
./koko

View File

@@ -0,0 +1,10 @@
#!/bin/bash
cd /opt/jumpserver/lion/ || exit 1
export BIND_HOST=127.0.0.1
export HTTPD_PORT=8081
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
wait-for-it -t 0 127.0.0.1:4822 -- echo "guacd is up"
./lion

View File

@@ -0,0 +1,12 @@
#!/bin/bash
export BIND_HOST=127.0.0.1
export BIND_PORT=9090
export WORK_DIR="/opt/jumpserver/magnus"
export COMPONENT_NAME="magnus"
export EXECUTE_PROGRAM="/opt/jumpserver/magnus/magnus"
export WISP_HOST=127.0.0.1
export WISP_PORT=9090
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
/opt/jumpserver/wisp/wisp

View File

@@ -0,0 +1,100 @@
server {
listen 80;
# server_name _;
client_max_body_size 5000m; # 文件大小限制
# 前端 Lina
location /ui/ {
try_files $uri / /index.html;
alias /opt/jumpserver/lina/;
}
# Luna 配置
location /luna/ {
try_files $uri / /index.html;
alias /opt/jumpserver/luna/;
}
# Core data 静态资源
location /media/replay/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/core/data/;
}
location /static/ {
root /opt/jumpserver/core/data/;
}
# KoKo Lion 配置
location /koko/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:5000;
proxy_pass http://127.0.0.1:5000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# lion 配置
location /lion/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://127.0.0.1:8081;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_ignore_client_abort on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 6000;
}
location /ws/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(core|api|media)/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /chen/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://127.0.0.1:8082;
proxy_buffering off;
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
rewrite ^/(.*)$ /ui/$1 last;
}
}

View File

@@ -0,0 +1,3 @@
#!/bin/bash
nginx -g "daemon off;"

View File

@@ -0,0 +1,142 @@
cython==3.0.0
aiofiles==23.1.0
amqp==5.1.1
https://github.com/jumpserver/ansible/releases/download/v2.14.1.2/ansible-2.14.1.2.zip
ansible==7.1.0
ansible-runner==2.3.3
asn1crypto==1.5.1
bcrypt==4.0.1
billiard==4.1.0
certifi==2023.7.22
cffi==1.15.1
chardet==5.1.0
configparser==6.0.0
decorator==5.1.1
docutils==0.20.1
ecdsa==0.18.0
enum-compat==0.0.3
ephem==4.1.4
future==0.18.3
idna==3.4
itypes==1.2.0
jinja2==3.1.2
markupsafe==2.1.3
olefile==0.46
paramiko==3.2.0
passlib==1.7.4
pyasn1==0.5.0
pycparser==2.21
cryptography==41.0.2
pycryptodome==3.18.0
pycryptodomex==3.18.0
phonenumbers==8.13.17
gmssl==3.2.2
itsdangerous==1.1.0
pyotp==2.8.0
pynacl==1.5.0
python-dateutil==2.8.2
pyyaml==6.0.1
requests==2.31.0
jms-storage==0.0.52
simplejson==3.19.1
six==1.16.0
sshtunnel==0.4.0
sshpubkeys==3.3.1
uritemplate==4.1.1
urllib3==1.26.16
vine==5.0.0
werkzeug==2.3.6
unicodecsv==0.14.1
httpsig==1.3.0
treelib==1.6.4
psutil==5.9.5
msrestazure==0.6.4
adal==1.2.7
openpyxl==3.0.10
pyexcel==0.7.0
pyexcel-xlsx==0.6.0
data-tree==0.0.1
pyvmomi==8.0.1.0.2
termcolor==2.3.0
html2text==2020.1.16
pyzipper==0.3.6
python3-saml==1.15.0
websocket-client==1.6.1
pyjwkest==1.4.2
jsonfield2==4.0.0.post0
geoip2==4.7.0
ipip-ipdb==1.6.1
pywinrm==0.4.3
python-nmap==0.7.1
django==4.1.10
django-bootstrap3==23.4
django-filter==23.2
django-formtools==2.4.1
django-ranged-response==0.2.0
django-rest-swagger==2.2.0
django-simple-captcha==0.5.18
django-timezone-field==5.1
djangorestframework==3.14.0
djangorestframework-bulk==0.2.1
django-simple-history==3.3.0
django-private-storage==3.1
drf-nested-routers==0.93.4
drf-writable-nested==0.7.0
rest-condition==1.0.3
drf-yasg==1.21.7
coreapi==2.3.3
coreschema==0.0.4
openapi-codec==1.3.2
pillow==10.0.0
pytz==2023.3
django-proxy==1.2.2
python-daemon==3.0.1
eventlet==0.33.3
greenlet==2.0.2
gunicorn==21.2.0
celery==5.3.1
flower==2.0.1
django-celery-beat==2.5.0
kombu==5.3.1
uvicorn==0.22.0
websockets==11.0.3
python-ldap==3.4.3
ldap3==2.9.1
https://github.com/ibuler/django-radius/archive/refs/tags/1.5.0.zip
https://github.com/ibuler/django-cas-ng/releases/download/v4.3.2/django-cas-ng-4.3.2.zip
python-cas==1.6.0
django-auth-ldap==4.4.0
boto3==1.28.9
botocore==1.31.9
s3transfer==0.6.1
kubernetes==27.2.0
mysqlclient==2.1.0
pymysql==1.1.0
django-redis==5.3.0
python-redis-lock==4.0.0
pyopenssl==23.2.0
redis==4.6.0
pymongo==4.4.1
pyfreerdp==0.0.1
ipython==8.14.0
forgerypy3==0.3.1
django-debug-toolbar==4.1.0
pympler==1.0.1
hvac==1.1.1
pyhcl==0.4.4
ipy==1.1
netifaces==0.11.0
daphne==4.0.0
channels==4.0.0
channels-redis==4.1.0
fido2==1.1.2
ua-parser==0.18.0
user-agents==2.2.0
qingcloud-sdk==1.2.15
azure-mgmt-subscription==3.1.1
azure-identity==1.13.0
azure-mgmt-compute==30.0.0
azure-mgmt-network==23.1.0
google-cloud-compute==1.13.0
grpcio==1.56.2
alibabacloud-dysmsapi20170525==2.0.24

View File

@@ -0,0 +1,103 @@
FROM phusion/baseimage:jammy-1.0.1
LABEL maintainer="phithon <root@leavesongs.com>"
ARG VERSION=3.6.4 BASEDIR=/opt/jumpserver
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends ca-certificates wget \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get install -y --no-install-recommends libcairo2-dev libjpeg-turbo8-dev libpng-dev libtool-bin libossp-uuid-dev \
libavcodec-dev libavformat-dev libavutil-dev libswscale-dev freerdp2-dev libpango1.0-dev libssh2-1-dev libtelnet-dev \
libvncserver-dev libwebsockets-dev libpulse-dev libvorbis-dev libwebp-dev libssl-dev gcc make \
&& mkdir -p ${BASEDIR}/guacd \
&& wget -qO- https://archive.apache.org/dist/guacamole/1.5.2/source/guacamole-server-1.5.2.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/guacd \
&& cd ${BASEDIR}/guacd \
&& ./configure --prefix=/usr/local \
&& make \
&& make install \
# remove unused libraries
&& apt-mark auto '.*' > /dev/null \
&& [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark \
&& apt-mark manual $savedAptMark \
&& find /usr/local -type f -executable -exec ldd '{}' 2>/dev/null ';' \
| awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1 || index(so, "/") == 0) { next }; \
gsub("^/(usr/)?", "", so); print so }' \
| sort -u \
| xargs -r dpkg-query --search \
| cut -d: -f1 \
| sort -u \
| xargs -r apt-mark manual \
\
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
&& ldconfig /usr \
&& rm -rf /var/lib/apt/lists/* ${BASEDIR}/guacd
RUN set -ex \
&& apt-get update \
&& apt-get install -y --no-install-recommends gcc g++ make wget ca-certificates openjdk-17-jre-headless nginx sshpass \
python3 python3-dev python3-pip pkg-config libxmlsec1-dev libpq-dev libffi-dev libxml2-dev libxslt-dev libldap2-dev \
libsasl2-dev bash-completion libmariadb-dev wait-for-it gettext
COPY requirements.txt /tmp/requirements.txt
WORKDIR ${BASEDIR}
RUN set -ex \
# download jumpserver core
&& mkdir -p ${BASEDIR}/core \
&& cd ${BASEDIR}/core \
&& wget -qO- https://github.com/jumpserver/jumpserver/releases/download/v${VERSION}/jumpserver-v${VERSION}.tar.gz | \
tar xz --strip-components 1 \
&& touch config.yml \
&& pip install -r /tmp/requirements.txt \
&& rm -f apps/locale/zh/LC_MESSAGES/django.mo apps/locale/zh/LC_MESSAGES/djangojs.mo \
&& SECRET_KEY=example python3 apps/manage.py compilemessages \
&& rm -rf /tmp/requirements.txt
RUN set -ex \
# download jumpserver frontend (lina)
&& mkdir -p ${BASEDIR}/lina \
&& wget -qO- https://github.com/jumpserver/lina/releases/download/v${VERSION}/lina-v${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/lina \
# download jumpserver terminal frontend (luna)
&& mkdir -p ${BASEDIR}/luna \
&& wget -qO- https://github.com/jumpserver/luna/releases/download/v${VERSION}/luna-v${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/luna \
# download jumpserver SSH/SFTP Web Terminal (koko)
&& mkdir -p ${BASEDIR}/koko \
&& wget -qO- https://github.com/jumpserver/koko/releases/download/v${VERSION}/koko-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/koko \
&& touch config.yml \
# download jumpserver RDP/VNC client (lion)
&& mkdir -p ${BASEDIR}/lion \
&& wget -qO- https://github.com/jumpserver/lion-release/releases/download/v${VERSION}/lion-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/lion \
&& touch config.yml \
# download jumpserver wisp
&& mkdir -p ${BASEDIR}/wisp \
&& wget -qO- https://github.com/jumpserver/wisp/releases/download/v0.1.16/wisp-v0.1.16-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/wisp \
# download jumpserver database connector (magnus)
&& mkdir -p ${BASEDIR}/magnus \
&& wget -qO- https://github.com/jumpserver/magnus-release/releases/download/v${VERSION}/magnus-v${VERSION}-linux-amd64.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/magnus \
&& touch config.yml \
# download jumpserver Web DB (chen)
&& mkdir -p ${BASEDIR}/chen \
&& wget -qO- https://github.com/jumpserver/chen-release/releases/download/v${VERSION}/chen-${VERSION}.tar.gz | \
tar xz --strip-components 1 -C ${BASEDIR}/chen \
&& mkdir -p /etc/service/chen /etc/service/core /etc/service/guacd /etc/service/koko /etc/service/lion /etc/service/magnus /etc/service/nginx /etc/service/celery
COPY ./chen/run /etc/service/chen/run
COPY ./core/run /etc/service/core/run
COPY ./guacd/run /etc/service/guacd/run
COPY ./koko/run /etc/service/koko/run
COPY ./lion/run /etc/service/lion/run
COPY ./magnus/run /etc/service/magnus/run
COPY ./celery/run /etc/service/celery/run
COPY ./nginx/run /etc/service/nginx/run
COPY ./nginx/default.conf /etc/nginx/sites-enabled/default
RUN set -ex \
&& chmod +x /etc/service/chen/run /etc/service/core/run /etc/service/guacd/run /etc/service/koko/run /etc/service/lion/run /etc/service/magnus/run /etc/service/nginx/run /etc/service/celery/run

View File

@@ -0,0 +1,6 @@
#!/bin/bash
cd /opt/jumpserver/core/ || exit 1
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
./jms start task

View File

@@ -0,0 +1,12 @@
#!/bin/bash
export BIND_HOST=127.0.0.1
export BIND_PORT=9091
export WORK_DIR="/opt/jumpserver/chen"
export COMPONENT_NAME="chen"
export EXECUTE_PROGRAM="java -jar chen.jar"
export WISP_HOST=127.0.0.1
export WISP_PORT=9091
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
/opt/jumpserver/wisp/wisp

View File

@@ -0,0 +1,4 @@
#!/bin/bash
cd /opt/jumpserver/core/ || exit 1
./jms start web

View File

@@ -0,0 +1,3 @@
#!/bin/bash
guacd -l 4822 -b 127.0.0.1 -f

View File

@@ -0,0 +1,10 @@
#!/bin/bash
cd /opt/jumpserver/koko/ || exit 1
export SSHD_PORT=2222
export HTTPD_PORT=5000
export BIND_HOST=0.0.0.0
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
./koko

View File

@@ -0,0 +1,10 @@
#!/bin/bash
cd /opt/jumpserver/lion/ || exit 1
export BIND_HOST=127.0.0.1
export HTTPD_PORT=8081
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
wait-for-it -t 0 127.0.0.1:4822 -- echo "guacd is up"
./lion

View File

@@ -0,0 +1,12 @@
#!/bin/bash
export BIND_HOST=127.0.0.1
export BIND_PORT=9090
export WORK_DIR="/opt/jumpserver/magnus"
export COMPONENT_NAME="magnus"
export EXECUTE_PROGRAM="/opt/jumpserver/magnus/magnus"
export WISP_HOST=127.0.0.1
export WISP_PORT=9090
wait-for-it -t 0 127.0.0.1:8080 -- echo "core host is up"
/opt/jumpserver/wisp/wisp

View File

@@ -0,0 +1,100 @@
server {
listen 80;
# server_name _;
client_max_body_size 5000m; # 文件大小限制
# 前端 Lina
location /ui/ {
try_files $uri / /index.html;
alias /opt/jumpserver/lina/;
}
# Luna 配置
location /luna/ {
try_files $uri / /index.html;
alias /opt/jumpserver/luna/;
}
# Core data 静态资源
location /media/replay/ {
add_header Content-Encoding gzip;
root /opt/jumpserver/core/data/;
}
location /static/ {
root /opt/jumpserver/core/data/;
}
# KoKo Lion 配置
location /koko/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:5000;
proxy_pass http://127.0.0.1:5000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
# lion 配置
location /lion/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://127.0.0.1:8081;
proxy_buffering off;
proxy_request_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_ignore_client_abort on;
proxy_connect_timeout 600;
proxy_send_timeout 600;
proxy_read_timeout 600;
send_timeout 6000;
}
location /ws/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(core|api|media)/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8080;
proxy_pass http://127.0.0.1:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /chen/ {
# 注意将模板中的组件名称替换为服务实际 ip 地址, 如都在本机部署
# proxy_pass http://127.0.0.1:8081;
proxy_pass http://127.0.0.1:8082;
proxy_buffering off;
proxy_http_version 1.1;
proxy_request_buffering off;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
rewrite ^/(.*)$ /ui/$1 last;
}
}

View File

@@ -0,0 +1,3 @@
#!/bin/bash
nginx -g "daemon off;"

View File

@@ -0,0 +1,142 @@
cython==3.0.0
aiofiles==23.1.0
amqp==5.1.1
https://github.com/jumpserver/ansible/releases/download/v2.14.1.2/ansible-2.14.1.2.zip
ansible==7.1.0
ansible-runner==2.3.3
asn1crypto==1.5.1
bcrypt==4.0.1
billiard==4.1.0
certifi==2023.7.22
cffi==1.15.1
chardet==5.1.0
configparser==6.0.0
decorator==5.1.1
docutils==0.20.1
ecdsa==0.18.0
enum-compat==0.0.3
ephem==4.1.4
future==0.18.3
idna==3.4
itypes==1.2.0
jinja2==3.1.2
markupsafe==2.1.3
olefile==0.46
paramiko==3.2.0
passlib==1.7.4
pyasn1==0.5.0
pycparser==2.21
cryptography==41.0.2
pycryptodome==3.18.0
pycryptodomex==3.18.0
phonenumbers==8.13.17
gmssl==3.2.2
itsdangerous==1.1.0
pyotp==2.8.0
pynacl==1.5.0
python-dateutil==2.8.2
pyyaml==6.0.1
requests==2.31.0
jms-storage==0.0.52
simplejson==3.19.1
six==1.16.0
sshtunnel==0.4.0
sshpubkeys==3.3.1
uritemplate==4.1.1
urllib3==1.26.16
vine==5.0.0
werkzeug==2.3.6
unicodecsv==0.14.1
httpsig==1.3.0
treelib==1.6.4
psutil==5.9.5
msrestazure==0.6.4
adal==1.2.7
openpyxl==3.0.10
pyexcel==0.7.0
pyexcel-xlsx==0.6.0
data-tree==0.0.1
pyvmomi==8.0.1.0.2
termcolor==2.3.0
html2text==2020.1.16
pyzipper==0.3.6
python3-saml==1.15.0
websocket-client==1.6.1
pyjwkest==1.4.2
jsonfield2==4.0.0.post0
geoip2==4.7.0
ipip-ipdb==1.6.1
pywinrm==0.4.3
python-nmap==0.7.1
django==4.1.10
django-bootstrap3==23.4
django-filter==23.2
django-formtools==2.4.1
django-ranged-response==0.2.0
django-rest-swagger==2.2.0
django-simple-captcha==0.5.18
django-timezone-field==5.1
djangorestframework==3.14.0
djangorestframework-bulk==0.2.1
django-simple-history==3.3.0
django-private-storage==3.1
drf-nested-routers==0.93.4
drf-writable-nested==0.7.0
rest-condition==1.0.3
drf-yasg==1.21.7
coreapi==2.3.3
coreschema==0.0.4
openapi-codec==1.3.2
pillow==10.0.0
pytz==2023.3
django-proxy==1.2.2
python-daemon==3.0.1
eventlet==0.33.3
greenlet==2.0.2
gunicorn==21.2.0
celery==5.3.1
flower==2.0.1
django-celery-beat==2.5.0
kombu==5.3.1
uvicorn==0.22.0
websockets==11.0.3
python-ldap==3.4.3
ldap3==2.9.1
https://github.com/ibuler/django-radius/archive/refs/tags/1.5.0.zip
https://github.com/ibuler/django-cas-ng/releases/download/v4.3.2/django-cas-ng-4.3.2.zip
python-cas==1.6.0
django-auth-ldap==4.4.0
boto3==1.28.9
botocore==1.31.9
s3transfer==0.6.1
kubernetes==27.2.0
mysqlclient==2.1.0
pymysql==1.1.0
django-redis==5.3.0
python-redis-lock==4.0.0
pyopenssl==23.2.0
redis==4.6.0
pymongo==4.4.1
pyfreerdp==0.0.1
ipython==8.14.0
forgerypy3==0.3.1
django-debug-toolbar==4.1.0
pympler==1.0.1
hvac==1.1.1
pyhcl==0.4.4
ipy==1.1
netifaces==0.11.0
daphne==4.0.0
channels==4.0.0
channels-redis==4.1.0
fido2==1.1.2
ua-parser==0.18.0
user-agents==2.2.0
qingcloud-sdk==1.2.15
azure-mgmt-subscription==3.1.1
azure-identity==1.13.0
azure-mgmt-compute==30.0.0
azure-mgmt-network==23.1.0
google-cloud-compute==1.13.0
grpcio==1.56.2
alibabacloud-dysmsapi20170525==2.0.24