commit
01efd40f8d
37
Dockerfile
Normal file
37
Dockerfile
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
FROM node:15-alpine3.12
|
||||||
|
|
||||||
|
RUN echo "http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
||||||
|
RUN apk add --update --no-cache sqlite python3 git moreutils yq gcc make libc-dev wget
|
||||||
|
|
||||||
|
# 修复alpine的golang支持
|
||||||
|
RUN mkdir /lib64 && ln -s /lib/libc.musl-x86_64.so.1 /lib64/ld-linux-x86-64.so.2
|
||||||
|
|
||||||
|
WORKDIR /tmp
|
||||||
|
|
||||||
|
RUN wget https://golang.org/dl/go1.15.5.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.15.5.linux-amd64.tar.gz && echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile && rm -f /tmp/go1.15.5.linux-amd64.tar.gz
|
||||||
|
|
||||||
|
ADD build.sh /tmp/build.sh
|
||||||
|
RUN chmod +x /tmp/build.sh && /tmp/build.sh
|
||||||
|
|
||||||
|
WORKDIR /opt/privacy
|
||||||
|
|
||||||
|
ADD scripts/ /opt/privacy/scripts/
|
||||||
|
ADD config.yaml /opt/privacy/config.yaml
|
||||||
|
ADD entrypoint.sh /opt/privacy/entrypoint.sh
|
||||||
|
RUN chmod +x /opt/privacy/entrypoint.sh
|
||||||
|
|
||||||
|
VOLUME [ "/opt/privacy/database", "/opt/privacy/source" ]
|
||||||
|
|
||||||
|
ENV qq=true
|
||||||
|
ENV jd=true
|
||||||
|
ENV sf=false
|
||||||
|
ENV wb=false
|
||||||
|
|
||||||
|
ENV host=0.0.0.0
|
||||||
|
ENV port=80
|
||||||
|
|
||||||
|
ENV mask=true
|
||||||
|
|
||||||
|
EXPOSE 80
|
||||||
|
|
||||||
|
ENTRYPOINT [ "/opt/privacy/entrypoint.sh" ]
|
10
README.md
10
README.md
@ -25,7 +25,7 @@
|
|||||||
在项目文件夹根目录下创建并进入 database 文件夹,创建数据库。
|
在项目文件夹根目录下创建并进入 database 文件夹,创建数据库。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
mkdir database & cd database
|
mkdir database && cd database
|
||||||
sqlite3 database.db
|
sqlite3 database.db
|
||||||
```
|
```
|
||||||
|
|
||||||
@ -65,11 +65,11 @@ CREATE TABLE sf
|
|||||||
|
|
||||||
2. 导入 QQ 库
|
2. 导入 QQ 库
|
||||||
|
|
||||||
把 `6.9更新总库.txt` 文件放到项目根目录下,然后执行 `python scripts/qq.py`。
|
把 `6.9更新总库.txt` 文件放到项目根目录下的`source`目录,然后执行 `python scripts/qq.py`。
|
||||||
|
|
||||||
3. 导入 JD 库
|
3. 导入 JD 库
|
||||||
|
|
||||||
把 `www_jd_com_12g.txt` 文件放到项目根目录下,然后执行 `python scripts/jd.py`。
|
把 `www_jd_com_12g.txt` 文件放到项目根目录下的`source`目录,然后执行 `python scripts/jd.py`。
|
||||||
|
|
||||||
- 创建索引
|
- 创建索引
|
||||||
|
|
||||||
@ -100,8 +100,8 @@ npm install -g yarn
|
|||||||
2. 安装 Golang
|
2. 安装 Golang
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
sudo apt install -y snap
|
sudo apt install -y snapd
|
||||||
sudo snap install golang --classic
|
sudo snap install go --classic
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 下载源代码
|
3. 下载源代码
|
||||||
|
16
build.sh
Normal file
16
build.sh
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
export PATH=$PATH:/usr/local/go/bin
|
||||||
|
mkdir -p /opt/privacy/server/
|
||||||
|
mkdir -p /opt/privacy/website/
|
||||||
|
cd /tmp
|
||||||
|
git clone https://github.com/kallydev/privacy
|
||||||
|
cd /tmp/privacy/server
|
||||||
|
go build -o /opt/privacy/server/app main/main.go
|
||||||
|
chmod 0755 /opt/privacy/server/app
|
||||||
|
cd /tmp/privacy/website
|
||||||
|
yarn install && yarn build
|
||||||
|
cp -r /tmp/privacy/website/build /opt/privacy/website/build
|
||||||
|
rm -rf /tmp/privacy
|
||||||
|
rm -rf /root/go/pkg/*
|
||||||
|
rm -rf /usr/local/go/pkg/*
|
||||||
|
rm -rf /usr/local/share/.cache
|
20
docker-compose.yaml
Normal file
20
docker-compose.yaml
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
version: "3.3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
server:
|
||||||
|
build: .
|
||||||
|
image: privacy:alpine
|
||||||
|
network_mode: bridge
|
||||||
|
volumes:
|
||||||
|
- ./database:/opt/privacy/database
|
||||||
|
- ./source:/opt/privacy/source
|
||||||
|
environment:
|
||||||
|
- qq=true
|
||||||
|
- jd=true
|
||||||
|
- sf=false
|
||||||
|
- wb=false
|
||||||
|
- host=0.0.0.0
|
||||||
|
- port=80
|
||||||
|
- mask=true
|
||||||
|
ports:
|
||||||
|
- 80:80
|
27
entrypoint.sh
Normal file
27
entrypoint.sh
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# 设置环境变量
|
||||||
|
yq w config.yaml database.tables.qq $qq | yq w - database.tables.jd $jd | yq w - database.tables.sf $sf | yq w - database.tables.wb $wb | yq w - http.host $host | yq w - http.port $port | yq w - mask $mask | sponge config.yaml
|
||||||
|
|
||||||
|
# 如果不存在数据库,创建
|
||||||
|
if [[ ! -f database/database.db ]];then
|
||||||
|
mkdir -p database && sqlite3 database/database.db < scripts/database/create_database.sql
|
||||||
|
if [[ -f source/6.9更新总库.txt ]];then python scripts/qq.py;fi
|
||||||
|
if [[ -f source/www_jd_com_12g.txt ]];then python scripts/jd.py;fi
|
||||||
|
sqlite3 database/database.db < scripts/database/create_index.sql
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 如果需要重新导入qq
|
||||||
|
if [[ -f database/.reimportqq ]];then
|
||||||
|
if [[ -f source/6.9更新总库.txt ]];then python scripts/qq.py;fi
|
||||||
|
rm database/.reimportqq
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 如果需要重新导入jd
|
||||||
|
if [[ -f database/.reimportjd ]];then
|
||||||
|
if [[ -f source/www_jd_com_12g.txt ]];then python scripts/jd.py;fi
|
||||||
|
rm database/.reimportjd
|
||||||
|
fi
|
||||||
|
|
||||||
|
# 启动服务器
|
||||||
|
cd server && ./app
|
@ -107,5 +107,5 @@ class Converter(object):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
converter = Converter("database/database.db", "www_jd_com_12g.txt")
|
converter = Converter("database/database.db", "source/www_jd_com_12g.txt")
|
||||||
converter.start()
|
converter.start()
|
||||||
|
@ -99,5 +99,5 @@ class Scanner:
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
scanner = Scanner("database/database.db", "6.9更新总库.txt")
|
scanner = Scanner("database/database.db", "source/6.9更新总库.txt")
|
||||||
scanner.start()
|
scanner.start()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user