mirror of https://github.com/testerSunshine/12306
commit
d0754e4fcd
|
@ -12,3 +12,4 @@
|
||||||
*.md
|
*.md
|
||||||
UnitTest/
|
UnitTest/
|
||||||
uml/
|
uml/
|
||||||
|
*.h5
|
||||||
|
|
74
Dockerfile37
74
Dockerfile37
|
@ -1,49 +1,51 @@
|
||||||
FROM python:3.7
|
FROM python:3.7-slim-buster
|
||||||
|
|
||||||
ARG CDV=77.0.3865.40
|
ARG CDV=77.0.3865.40
|
||||||
|
|
||||||
RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && \
|
RUN sed -i 's/deb.debian.org/ftp.cn.debian.org/g' /etc/apt/sources.list
|
||||||
echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib' > /etc/apt/sources.list && \
|
|
||||||
echo 'deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib' >> /etc/apt/sources.list && \
|
|
||||||
echo 'deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib' >> /etc/apt/sources.list
|
|
||||||
|
|
||||||
RUN apt-get -y update
|
RUN apt-get -y update && apt-get install -y \
|
||||||
|
fonts-liberation \
|
||||||
|
libappindicator3-1 \
|
||||||
|
libasound2 \
|
||||||
|
libatk-bridge2.0-0 \
|
||||||
|
libatk1.0-0 \
|
||||||
|
libatspi2.0-0 \
|
||||||
|
libcups2 \
|
||||||
|
libdbus-1-3 \
|
||||||
|
libgtk-3-0 \
|
||||||
|
libnspr4 \
|
||||||
|
libnss3 \
|
||||||
|
libx11-xcb1 \
|
||||||
|
libxcomposite1 \
|
||||||
|
libxcursor1 \
|
||||||
|
libxdamage1 \
|
||||||
|
libxfixes3 \
|
||||||
|
libxi6 \
|
||||||
|
libxrandr2 \
|
||||||
|
libxss1 \
|
||||||
|
libxtst6 \
|
||||||
|
lsb-release \
|
||||||
|
unzip \
|
||||||
|
wget \
|
||||||
|
xdg-utils \
|
||||||
|
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
ENV TZ Asia/Shanghai
|
||||||
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
||||||
|
|
||||||
WORKDIR /usr/src/app
|
WORKDIR /usr/src/app
|
||||||
|
|
||||||
RUN wget -c https://dl.lancdn.com/landian/soft/chrome/m/77.0.3865.120_amd64.deb && \
|
RUN wget -q https://dl.lancdn.com/landian/soft/chrome/m/77.0.3865.120_amd64.deb && \
|
||||||
apt-get install -y adwaita-icon-theme at-spi2-core dbus dconf-gsettings-backend dconf-service fonts-liberation glib-networking glib-networking-common glib-networking-services gsettings-desktop-schemas libappindicator3-1 libasound2 libasound2-data libatk-bridge2.0-0 libatk1.0-0 libatk1.0-data libatspi2.0-0 libavahi-client3 libavahi-common-data libavahi-common3 libcolord2 libcups2 libdbus-1-3 libdbusmenu-glib4 libdbusmenu-gtk3-4 libdconf1 libdrm2 libfile-basedir-perl libfile-desktopentry-perl libfile-mimeinfo-perl libfontenc1 libgl1-mesa-glx libglapi-mesa libgnutls-deb0-28 libgtk-3-0 libgtk-3-bin libgtk-3-common libhogweed2 libindicator3-7 libjson-glib-1.0-0 libjson-glib-1.0-common libnettle4 libnspr4 libnss3 libproxy1 librest-0.7-0 libsoup-gnome2.4-1 libsoup2.4-1 libwayland-client0 libwayland-cursor0 libx11-protocol-perl libx11-xcb1 libxaw7 libxcb-dri2-0 libxcb-dri3-0 libxcb-glx0 libxcb-present0 libxcb-shape0 libxcb-sync1 libxcomposite1 libxcursor1 libxdamage1 libxfixes3 libxi6 libxinerama1 libxkbcommon0 libxmu6 libxmuu1 libxpm4 libxrandr2 libxshmfence1 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 multiarch-support x11-utils x11-xserver-utils xdg-utils xkb-data libgconf2-4 lsb-release && \
|
dpkg -i 77.0.3865.120_amd64.deb && rm -f 77.0.3865.120_amd64.deb
|
||||||
dpkg -i 77.0.3865.120_amd64.deb && \
|
|
||||||
wget -c http://npm.taobao.org/mirrors/chromedriver/LATEST_RELEASE
|
|
||||||
|
|
||||||
|
RUN wget -q https://npm.taobao.org/mirrors/chromedriver/$CDV/chromedriver_linux64.zip && \
|
||||||
RUN wget -c https://npm.taobao.org/mirrors/chromedriver/$CDV/chromedriver_linux64.zip && \
|
unzip chromedriver_linux64.zip && rm -f chromedriver_linux64.zip
|
||||||
apt-get install -y unzip && \
|
|
||||||
unzip chromedriver_linux64.zip
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
ENV DEBIAN_FRONTEND noninteractive
|
|
||||||
ENV TZ Asia/Shanghai
|
|
||||||
|
|
||||||
COPY requirements.txt /usr/src/app/
|
|
||||||
|
|
||||||
## install python requirements
|
## install python requirements
|
||||||
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyspider --no-cache-dir -r requirements.txt
|
COPY requirements-docker37.txt ./
|
||||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --no-cache-dir -r requirements-docker37.txt
|
||||||
|
|
||||||
COPY . /usr/src/app
|
COPY . .
|
||||||
|
|
||||||
## install ntpdate, not accept but saving code
|
|
||||||
#RUN echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib \
|
|
||||||
# deb http://mirrors.163.com/debian/ jessie-updates main non-free contrib \
|
|
||||||
# deb http://mirrors.163.com/debian-security/ jessie/updates main non-free contrib' > /etc/apt/sources.list \
|
|
||||||
# && apt-get update\
|
|
||||||
# && apt-get install ntpdate -y \
|
|
||||||
|
|
||||||
|
|
||||||
#EXPOSE 5010
|
|
||||||
|
|
||||||
CMD [ "sh", "-c", "python run.py c && python run.py r" ]
|
CMD [ "sh", "-c", "python run.py c && python run.py r" ]
|
||||||
#ENTRYPOINT [ "python", "run.py" ]
|
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
positional arguments:
|
positional arguments:
|
||||||
operate r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
|
operate r: 运行抢票程序, c: 过滤cdn, t: 测试邮箱和server酱,server酱
|
||||||
```
|
```
|
||||||
- 如果你的服务器安装了docker与docker-compose, 那么你可以忽略上面的所有步骤,直接按以下步骤操作,即可开始抢票:
|
- 如果你的服务器安装了docker与docker-compose, 那么你可以忽略上面的**所有**步骤,直接按以下步骤操作,即可开始抢票:
|
||||||
- 前提条件:
|
- 前提条件:
|
||||||
- 请确认你安装的docker版本为18.09及以上: `docker -v`
|
- 请确认你安装的docker版本为18.09及以上: `docker -v`
|
||||||
- 请确认你安装的docker-compose版本为1.23.2及以上: `docker-compose -v`
|
- 请确认你安装的docker-compose版本为1.23.2及以上: `docker-compose -v`
|
||||||
|
|
|
@ -9,6 +9,7 @@ services:
|
||||||
image: ticket:v1.2.004
|
image: ticket:v1.2.004
|
||||||
environment:
|
environment:
|
||||||
- PYTHONUNBUFFERED=1
|
- PYTHONUNBUFFERED=1
|
||||||
|
- CAPTCHALOCAL=1
|
||||||
container_name: ticket
|
container_name: ticket
|
||||||
depends_on:
|
depends_on:
|
||||||
- captcha
|
- captcha
|
||||||
|
@ -20,6 +21,7 @@ services:
|
||||||
image: yinaoxiong/12306_code_server:amd64 #请根据需要修改image
|
image: yinaoxiong/12306_code_server:amd64 #请根据需要修改image
|
||||||
environment:
|
environment:
|
||||||
- WORKERS=1 #gunicorn works 默认为1可以根据服务器配置自行调整
|
- WORKERS=1 #gunicorn works 默认为1可以根据服务器配置自行调整
|
||||||
|
- PYTHONUNBUFFERED=1
|
||||||
container_name: captcha
|
container_name: captcha
|
||||||
networks:
|
networks:
|
||||||
- 12306network
|
- 12306network
|
||||||
|
|
37
docker.sh
37
docker.sh
|
@ -1,37 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
#author: tan
|
|
||||||
#date: 2019-01-07
|
|
||||||
# a script to control docker's container create restart reload and rm function
|
|
||||||
|
|
||||||
function checkSudo (){
|
|
||||||
if [ $UID -ne 0 ];then
|
|
||||||
echo -e 'it must be root!'
|
|
||||||
echo -e 'usage ./docker.sh {run|restart|rm|logs}'
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
checkSudo
|
|
||||||
|
|
||||||
if [ $# -eq 1 ];then
|
|
||||||
|
|
||||||
case $1 in
|
|
||||||
"run")
|
|
||||||
docker-compose up;;
|
|
||||||
|
|
||||||
"restart")
|
|
||||||
docker-compose up --no-recreate;;
|
|
||||||
|
|
||||||
"rm")
|
|
||||||
docker-compose rm -f;;
|
|
||||||
|
|
||||||
"drun")
|
|
||||||
docker-compose up -d;;
|
|
||||||
"logs")
|
|
||||||
docker-compose logs;;
|
|
||||||
|
|
||||||
*)
|
|
||||||
echo -e 'usage ./docker.sh {run|restart|rm|logs}';;
|
|
||||||
esac
|
|
||||||
|
|
||||||
fi
|
|
|
@ -5,6 +5,7 @@ from config.urlConf import urls
|
||||||
from myUrllib.httpUtils import HTTPClient
|
from myUrllib.httpUtils import HTTPClient
|
||||||
from verify.localVerifyCode import Verify
|
from verify.localVerifyCode import Verify
|
||||||
import TickerConfig
|
import TickerConfig
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
if TickerConfig.AUTO_CODE_TYPE == 2:
|
if TickerConfig.AUTO_CODE_TYPE == 2:
|
||||||
|
@ -25,7 +26,7 @@ def getRandCode(is_auto_code, auto_code_type, result):
|
||||||
Result = v.verify(result)
|
Result = v.verify(result)
|
||||||
return codexy(Ofset=Result, is_raw_input=False)
|
return codexy(Ofset=Result, is_raw_input=False)
|
||||||
elif auto_code_type == 3:
|
elif auto_code_type == 3:
|
||||||
print("您已设置使用云打码,但是服务器资源有限,请尽快改为本地打码")
|
print("您已设置使用云打码,但是服务器资源有限,请尽快改为本地打码" if "CAPTCHALOCAL" not in os.environ else "已设置本地打码服务器")
|
||||||
http = HTTPClient(0)
|
http = HTTPClient(0)
|
||||||
Result = http.send(urls.get("autoVerifyImage"), {"imageFile": result})
|
Result = http.send(urls.get("autoVerifyImage"), {"imageFile": result})
|
||||||
if Result and Result.get("code") is 0:
|
if Result and Result.get("code") is 0:
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
bs4==0.0.1
|
||||||
|
requests==2.18.4
|
||||||
|
Pillow
|
||||||
|
wrapcache==1.0.8
|
||||||
|
ntplib==0.3.3
|
||||||
|
selenium==3.11.0
|
||||||
|
fake-useragent==0.1.11
|
Loading…
Reference in New Issue