mirror of
https://github.com/woodchen-ink/random-api-go.git
synced 2025-07-18 13:52:02 +08:00
first commit
This commit is contained in:
commit
7fd2ac2283
17
Dockerfile
Normal file
17
Dockerfile
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
FROM golang:1.21 AS builder
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
COPY . .
|
||||||
|
RUN go mod download
|
||||||
|
RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o random-api .
|
||||||
|
|
||||||
|
FROM alpine:latest
|
||||||
|
|
||||||
|
RUN apk --no-cache add ca-certificates tini
|
||||||
|
WORKDIR /root/
|
||||||
|
COPY --from=builder /app/random-api .
|
||||||
|
|
||||||
|
EXPOSE 5003
|
||||||
|
|
||||||
|
ENTRYPOINT ["/sbin/tini", "--"]
|
||||||
|
CMD ["./random-api"]
|
11
docker-compose.yml
Normal file
11
docker-compose.yml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
services:
|
||||||
|
random-api:
|
||||||
|
image: woodchen/random-api-go:latest
|
||||||
|
ports:
|
||||||
|
- "5003:5003"
|
||||||
|
volumes:
|
||||||
|
- ./public:/root/public
|
||||||
|
- ./logs:/var/log/random-api
|
||||||
|
environment:
|
||||||
|
- TZ=Asia/Shanghai
|
||||||
|
restart: unless-stopped
|
179
main.go
Normal file
179
main.go
Normal file
@ -0,0 +1,179 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"encoding/json"
|
||||||
|
"fmt"
|
||||||
|
"io"
|
||||||
|
"io/ioutil"
|
||||||
|
"log"
|
||||||
|
"math/rand"
|
||||||
|
"net/http"
|
||||||
|
"os"
|
||||||
|
"strings"
|
||||||
|
"sync"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
port = ":5003"
|
||||||
|
cacheDuration = 24 * time.Hour
|
||||||
|
requestTimeout = 10 * time.Second
|
||||||
|
)
|
||||||
|
|
||||||
|
var (
|
||||||
|
csvPathsCache map[string]map[string]string
|
||||||
|
lastFetchTime time.Time
|
||||||
|
csvCache = make(map[string][]string)
|
||||||
|
mu sync.RWMutex
|
||||||
|
rng *rand.Rand
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
// 使用当前时间作为种子初始化随机数生成器
|
||||||
|
source := rand.NewSource(time.Now().UnixNano())
|
||||||
|
rng = rand.New(source)
|
||||||
|
|
||||||
|
// 配置日志
|
||||||
|
setupLogging()
|
||||||
|
|
||||||
|
// 加载初始的 CSV 路径配置
|
||||||
|
if err := loadCSVPaths(); err != nil {
|
||||||
|
log.Fatal("Failed to load CSV paths:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 提供静态文件
|
||||||
|
http.Handle("/", http.FileServer(http.Dir("./public")))
|
||||||
|
|
||||||
|
// 动态请求处理
|
||||||
|
http.HandleFunc("/pic/", logRequest(handleDynamicRequest))
|
||||||
|
http.HandleFunc("/video/", logRequest(handleDynamicRequest))
|
||||||
|
|
||||||
|
log.Printf("Listening on %s...\n", port)
|
||||||
|
if err := http.ListenAndServe(port, nil); err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func setupLogging() {
|
||||||
|
// 同时输出到标准输出和文件
|
||||||
|
logFile, err := os.OpenFile("server.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0666)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
multiWriter := io.MultiWriter(os.Stdout, logFile)
|
||||||
|
log.SetOutput(multiWriter)
|
||||||
|
log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile)
|
||||||
|
}
|
||||||
|
|
||||||
|
// 中间件:记录每个请求
|
||||||
|
func logRequest(handler http.HandlerFunc) http.HandlerFunc {
|
||||||
|
return func(w http.ResponseWriter, r *http.Request) {
|
||||||
|
start := time.Now()
|
||||||
|
handler(w, r)
|
||||||
|
duration := time.Since(start)
|
||||||
|
log.Printf("Request: %s %s from %s - Duration: %v\n", r.Method, r.URL.Path, r.RemoteAddr, duration)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 加载 CSV 路径配置
|
||||||
|
func loadCSVPaths() error {
|
||||||
|
data, err := ioutil.ReadFile("./public/url.json")
|
||||||
|
if err != nil {
|
||||||
|
return fmt.Errorf("failed to read url.json: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
var result map[string]map[string]string
|
||||||
|
if err := json.Unmarshal(data, &result); err != nil {
|
||||||
|
return fmt.Errorf("failed to unmarshal url.json: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
mu.Lock()
|
||||||
|
csvPathsCache = result
|
||||||
|
lastFetchTime = time.Now()
|
||||||
|
mu.Unlock()
|
||||||
|
|
||||||
|
log.Println("CSV paths loaded from url.json")
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func getCSVContent(url string) ([]string, error) {
|
||||||
|
mu.RLock()
|
||||||
|
content, exists := csvCache[url]
|
||||||
|
mu.RUnlock()
|
||||||
|
if exists {
|
||||||
|
log.Printf("CSV content for %s found in cache\n", url)
|
||||||
|
return content, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
client := &http.Client{Timeout: requestTimeout}
|
||||||
|
resp, err := client.Get(url)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error fetching CSV content: %w", err)
|
||||||
|
}
|
||||||
|
defer resp.Body.Close()
|
||||||
|
|
||||||
|
if resp.StatusCode != http.StatusOK {
|
||||||
|
return nil, fmt.Errorf("failed to fetch CSV content: %s", resp.Status)
|
||||||
|
}
|
||||||
|
|
||||||
|
body, err := ioutil.ReadAll(resp.Body)
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error reading CSV content: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
lines := strings.Split(string(body), "\n")
|
||||||
|
var fileArray []string
|
||||||
|
for _, line := range lines {
|
||||||
|
trimmed := strings.TrimSpace(line)
|
||||||
|
if trimmed != "" && !strings.HasPrefix(trimmed, "#") {
|
||||||
|
fileArray = append(fileArray, trimmed)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
mu.Lock()
|
||||||
|
csvCache[url] = fileArray
|
||||||
|
mu.Unlock()
|
||||||
|
|
||||||
|
log.Printf("CSV content for %s fetched and cached\n", url)
|
||||||
|
return fileArray, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func handleDynamicRequest(w http.ResponseWriter, r *http.Request) {
|
||||||
|
if time.Since(lastFetchTime) > cacheDuration {
|
||||||
|
if err := loadCSVPaths(); err != nil {
|
||||||
|
http.Error(w, "Failed to load CSV paths", http.StatusInternalServerError)
|
||||||
|
log.Println("Error loading CSV paths:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
path := strings.TrimPrefix(r.URL.Path, "/")
|
||||||
|
pathSegments := strings.Split(path, "/")
|
||||||
|
if len(pathSegments) < 2 {
|
||||||
|
http.NotFound(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
prefix := pathSegments[0]
|
||||||
|
suffix := pathSegments[1]
|
||||||
|
|
||||||
|
mu.RLock()
|
||||||
|
csvPath, ok := csvPathsCache[prefix][suffix]
|
||||||
|
mu.RUnlock()
|
||||||
|
|
||||||
|
if !ok {
|
||||||
|
http.NotFound(w, r)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
fileArray, err := getCSVContent(csvPath)
|
||||||
|
if err != nil {
|
||||||
|
http.Error(w, "Failed to fetch CSV content", http.StatusInternalServerError)
|
||||||
|
log.Println("Error fetching CSV content:", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
randomURL := fileArray[rng.Intn(len(fileArray))]
|
||||||
|
log.Printf("Redirecting to %s\n", randomURL)
|
||||||
|
http.Redirect(w, r, randomURL, http.StatusFound)
|
||||||
|
}
|
123
public/index.html
Normal file
123
public/index.html
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="zh-cmn-Hans" class="mdui-theme-dark">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<title>随机文件api</title>
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<link rel="shortcut icon" size="32x32" href="https://cdn-r2.czl.net/2023/06/20/649168ebc2b5d.png">
|
||||||
|
<style>
|
||||||
|
html,
|
||||||
|
body {
|
||||||
|
height: 100%;
|
||||||
|
margin: 0;
|
||||||
|
font-weight: 300;
|
||||||
|
background-image: url(https://random-api.czl.net/pic/all);
|
||||||
|
background-size: cover;
|
||||||
|
overflow: auto;
|
||||||
|
/* 确保页面可以滚动 */
|
||||||
|
}
|
||||||
|
|
||||||
|
.overlay {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
background-color: rgba(0, 0, 0, 0.8);
|
||||||
|
z-index: 2;
|
||||||
|
/* 确保其位于内容之上 */
|
||||||
|
overflow-y: auto;
|
||||||
|
/* 允许蒙版内部滚动 */
|
||||||
|
}
|
||||||
|
|
||||||
|
#markdown-content {
|
||||||
|
position: relative;
|
||||||
|
z-index: 3;
|
||||||
|
/* 确保内容可以被访问和滚动 */
|
||||||
|
background-color: transparent;
|
||||||
|
/* 可选,视你的需求而定 */
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll-down {
|
||||||
|
background-color: transparent;
|
||||||
|
margin-top: 2rem;
|
||||||
|
width: 2rem;
|
||||||
|
height: 2rem;
|
||||||
|
border-radius: 50%;
|
||||||
|
border: 2px solid #424242;
|
||||||
|
cursor: pointer;
|
||||||
|
animation: bounce 2s infinite 2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
#scroll-down::before {
|
||||||
|
display: block;
|
||||||
|
content: "";
|
||||||
|
transform: rotate(-45deg) translate(0.15rem, 0.15rem);
|
||||||
|
width: 0.4rem;
|
||||||
|
height: 0.4rem;
|
||||||
|
border: 2px solid #424242;
|
||||||
|
border-width: 0px 0 2px 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
main {
|
||||||
|
padding: 1vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
padding: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
section {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
/* height: 100vh; */
|
||||||
|
/* 使section占据整个视窗高度,你可以根据需要调整这个值 */
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
width: 150px;
|
||||||
|
height: 200px;
|
||||||
|
object-fit: cover;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/mdui/2.1.1/mdui.min.css">
|
||||||
|
<script src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/mdui/2.1.1/mdui.global.js"></script>
|
||||||
|
<script src="https://mirrors.sustech.edu.cn/cdnjs/ajax/libs/markdown-it/13.0.2/markdown-it.min.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body class="mdui-prose">
|
||||||
|
<div class="overlay">
|
||||||
|
<mdui-layout>
|
||||||
|
<main style="margin:20px auto;">
|
||||||
|
<div id="markdown-content">
|
||||||
|
</div>
|
||||||
|
</main>
|
||||||
|
</mdui-layout>
|
||||||
|
</div>
|
||||||
|
<!-- 渲染markdown -->
|
||||||
|
<script>
|
||||||
|
// 创建带有配置的 markdown-it 实例
|
||||||
|
var md = window.markdownit({
|
||||||
|
html: true
|
||||||
|
});
|
||||||
|
|
||||||
|
// 异步加载 index.md 文件内容
|
||||||
|
fetch('./index.md')
|
||||||
|
.then(response => response.text())
|
||||||
|
.then(markdownText => {
|
||||||
|
// 渲染 Markdown 内容
|
||||||
|
document.getElementById('markdown-content').innerHTML = md.render(markdownText);
|
||||||
|
})
|
||||||
|
.catch(error => console.error('Error loading index.md:', error));
|
||||||
|
</script>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
</html>
|
32
public/index.md
Normal file
32
public/index.md
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
# Random-Api 随机文件API
|
||||||
|
|
||||||
|
## 图片接口
|
||||||
|
|
||||||
|
| 种类 | 请求地址 |
|
||||||
|
| ---------- | ---------------- |
|
||||||
|
| 所有 | [https://random-api.czl.net/pic/all](https://random-api.czl.net/pic/all) |
|
||||||
|
| CZL网站背景 | [https://random-api.czl.net/pic/czlwb](https://random-api.czl.net/pic/czlwb) |
|
||||||
|
| 真人美女 | [https://random-api.czl.net/pic/truegirl](https://random-api.czl.net/pic/truegirl) |
|
||||||
|
| 二次元全部 | [https://random-api.czl.net/pic/ecy](https://random-api.czl.net/pic/ecy) |
|
||||||
|
| 二次元1 | [https://random-api.czl.net/pic/ecy1](https://random-api.czl.net/pic/ecy1) |
|
||||||
|
| 二次元2 | [https://random-api.czl.net/pic/ecy2](https://random-api.czl.net/pic/ecy2) |
|
||||||
|
| 风景横图 | [https://random-api.czl.net/pic/fjht](https://random-api.czl.net/pic/fjht) |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 视频接口
|
||||||
|
| 种类 | 请求地址 |
|
||||||
|
| ---------- | ---------------- |
|
||||||
|
| 所有 | [https://random-api.czl.net/video/all](https://random-api.czl.net/video/all) |
|
||||||
|
|
||||||
|
|
||||||
|
## 部署和原理
|
||||||
|
|
||||||
|
请见我的帖子:[https://q58.org/questions/D1U1](https://q58.org/questions/D1U1)
|
||||||
|
|
||||||
|
## 讨论
|
||||||
|
|
||||||
|
请在帖子下留言,我看到后会回复,谢谢。
|
||||||
|
|
||||||
|
**永久可用**
|
||||||
|
|
15
public/url.json
Normal file
15
public/url.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"pic": {
|
||||||
|
"all": "https://random-api.czl.net/url/pic/all.csv",
|
||||||
|
"fjht": "https://random-api.czl.net/url/pic/fjht.csv",
|
||||||
|
"czlwb": "https://random-api.czl.net/url/pic/czl-website-background.csv",
|
||||||
|
"truegirl": "https://random-api.czl.net/url/pic/truegirl.csv",
|
||||||
|
"ecy": "https://random-api.czl.net/url/pic/ecy.csv",
|
||||||
|
"ecy1": "https://random-api.czl.net/url/pic/ecy1.csv",
|
||||||
|
"ecy2": "https://random-api.czl.net/url/pic/ecy2.csv"
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"all": "https://random-api.czl.net/url/video/all.csv"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
7
public/url/pic/all.csv
Normal file
7
public/url/pic/all.csv
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
https://random-api.czl.net/pic/truegirl
|
||||||
|
|
||||||
|
https://random-api.czl.net/pic/ecy1
|
||||||
|
https://random-api.czl.net/pic/ecy2
|
||||||
|
|
||||||
|
https://random-api.czl.net/pic/fjht
|
||||||
|
|
|
46
public/url/pic/czl-website-background.csv
Normal file
46
public/url/pic/czl-website-background.csv
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
#春节背景
|
||||||
|
#https://webp-sh.czl.net/r2/2023/12/31/65916acb9634f.jpg
|
||||||
|
|
||||||
|
#飞机背景
|
||||||
|
https://webp-sh.czl.net/qiniu/2023/09/14/6501e735b146c.jpg
|
||||||
|
|
||||||
|
#CZL圣诞节背景
|
||||||
|
https://webp-sh.czl.net/r2/2023/12/16/657da9007191a.jpg
|
||||||
|
|
||||||
|
#bing图纸
|
||||||
|
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/18/65d0f633bd52c.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/18/65d0f618dcfef.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/18/65d0f60f95d7e.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/18/65d0f5fbc8fcc.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/18/65d0f5f8dce59.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/19/65d31fcf48fb3.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/19/65d31fee5061c.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/02/20/65d462ce0f055.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/07/65e97f284274b.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/07/65e9808f5dc93.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/07/65e980dda4b08.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/07/65e981091a71b.webp
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b7c6d3.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b92497.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b748e6.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b740ad.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b722aa.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b9ae13.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/25/6600f61b74fcf.jpg
|
||||||
|
https://webp-sh.czl.net/r2/2024/03/28/6604dc14ab33c.webp
|
||||||
|
|
||||||
|
#截止2024.04.26
|
||||||
|
|
||||||
|
# 2024.08.19自己拍的
|
||||||
|
https://cdn-oracle.czl.net/img/2024/08/66c312512be41.jpeg
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c316ba5f036.jpeg
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c316ba81938.jpeg
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c316ba7323b.jpeg
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c316ba689ea.jpeg
|
||||||
|
|
||||||
|
# 2024.08.19bing图纸
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c3175e69bea.jpg
|
||||||
|
https://webp-sh.czl.net/r2/img/2024/08/66c3175e6369f.jpg
|
||||||
|
|
||||||
|
|
|
4
public/url/pic/ecy.csv
Normal file
4
public/url/pic/ecy.csv
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
# 1050张图片
|
||||||
|
https://random-api.czl.net/pic/ecy1
|
||||||
|
# 294张图片
|
||||||
|
https://random-api.czl.net/pic/ecy2
|
|
1053
public/url/pic/ecy1.csv
Normal file
1053
public/url/pic/ecy1.csv
Normal file
File diff suppressed because it is too large
Load Diff
301
public/url/pic/ecy2.csv
Normal file
301
public/url/pic/ecy2.csv
Normal file
@ -0,0 +1,301 @@
|
|||||||
|
# https://api.ciyuandun.com/?like=pc-stocking-wallhaven 2024.05.06 PC端-黑丝
|
||||||
|
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd6fd1418.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd6fef662.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd6feee7b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7021df8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70385bc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70576a6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7039987.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7072c1e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7087fdc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7088fa4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70a9db1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70a2cda.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70c4a6f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd70c4e57.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd715f3e7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd71cf57f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd71d3c9d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd71e532f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd721d070.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd721c5f8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd722faf1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7255d22.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd725a15e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7260a35.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd728f556.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd728c396.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7298808.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd72a983f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd72c83e3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd72c02ea.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd72cd631.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd72eb618.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7302183.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd730545f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd731327d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd732d6cb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd733a040.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd734152a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd734bb1c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd735c481.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7368549.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd737a2c7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7380fde.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd738c591.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73a2425.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73ab953.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73c6910.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73c3785.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73be85a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73dec7d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd73e3bc5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd74100dc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd741afdd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd741dc4a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7438546.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd744230d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7451590.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd746cb8d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7480461.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd74980eb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7493122.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7493dca.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd74db82b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd751f8d8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd751df53.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd751a638.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7522415.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd751e2ea.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd754b8b1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75701b3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7582177.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7570cbe.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7586da0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd757b951.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd759a520.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75b25b5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75d5dc1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75ee359.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75e1a13.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75e0103.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd75e6cfc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76114ad.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd761dc40.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7635781.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7654cea.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd765785b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd764feaa.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7656109.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd768cd62.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd767fdfe.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7692a47.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd769e7fb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76a9f8a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76b4952.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76b5eb5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76e90d7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd76e91d7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd770c782.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7710d35.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd77403a4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd774fe5d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7750b91.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd77955a8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd77e81fa.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd785b562.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd78c4ff1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd78e93e2.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd78eb967.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd790d601.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd79d96fa.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7a4310f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7a820f9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7aa7344.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7b51b50.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7b642ff.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7c1d0a5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7c62e43.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d08340.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d0ef3a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d63fa9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d65155.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d8a4e1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7d9b55e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e16f10.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e34926.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e2bb48.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e4b372.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e6bc0d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e76d89.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e7cf73.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7e9dc55.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7ea98f9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7eab3b5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7ebe536.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7ecd579.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7eec951.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7f0735d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7f05120.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7fe29d3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7fe24e8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd7feb5b5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd80244a1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd804528c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd804e2bc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd80e61e2.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd80f0ef3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd810992e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8132317.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd81435db.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd815aa5f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd817300d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd81a2bdf.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd81a573e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8202359.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd82542cf.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8254166.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8256341.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd82856e9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd828891d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd82ebfe5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd82eb8d3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd82eb359.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8355cdb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8355d94.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd835f208.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8388f6b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8390004.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8397f9a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd83a9e6e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8411601.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd841a5a4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd844ed79.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8469804.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd84c33b9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd84dc545.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd858b1bd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd85adff1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd85c13c6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd861510c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8658b70.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd868501d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8691d1e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8695622.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd869b0bd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd86c2afd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd86c377b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8705654.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd8718538.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638fd87342f8.webp
|
||||||
|
|
||||||
|
# https://api.ciyuandun.com/?like=pc-whiteHairs-wallhaven 2024.05.06 PC端-白毛
|
||||||
|
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5549079.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff56364c6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff564b1c5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff567b4d5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff56f0fa3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff57c35e4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff57ca633.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5835837.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5829f14.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff584179b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff586680b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff586d042.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff589acad.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff58aa77b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff58bbd01.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff58dc53d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff591452b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff591db92.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff593c801.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff59323ae.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff596a966.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff597c0cb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff595e216.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5988f41.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff59b7036.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff59cba6c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff59c69cd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff59d1de5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a0567e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a1058f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a17ef7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a1787e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a2acb7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a5c39e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a40790.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a600a3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a66946.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a6aa2a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a95e04.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5a9f67a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5b2b50e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5b44c28.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5bec87c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5c7db6f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5c74dd3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5c7d977.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5cd145f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5cf029d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5d114fd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5d2af21.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5d2fa71.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5e9378c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5eb847d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5f7c7b6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5f81d0d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5f92c74.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5fb9bdb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5fd7391.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff5ff001a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff60198ec.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff603307b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff60e44ef.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff60ddc37.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6117569.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff615e6cc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff617a8de.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff61700c4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6171c0c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff61c797f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff61d1b35.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff62384a6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff625141f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff635ac51.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6369ae7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff637a46b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff638f568.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff63a2460.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff63b0c3a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff63e3cc1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff63e8dba.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff63efb55.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff642de36.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff643592b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6453170.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff647f6b9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6480f93.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff652b9c5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff652b687.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff653b05e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6524ea1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6573e31.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6577853.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff65bbafd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff66bb60f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff66eef31.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff672c7c3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff672c806.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff67be504.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff682400b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff682e1ee.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff68aba30.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff68cddd7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6963859.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6986a42.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/05/6638ff6a5ad7d.webp
|
||||||
|
|
||||||
|
|
|
99
public/url/pic/fjht.csv
Normal file
99
public/url/pic/fjht.csv
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de5c0637.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de5e96ee.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de726526.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de8ad390.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de931e32.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de9d0189.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6de9ded24.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dea0c485.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6deb11466.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6deb417a0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6deb57f3d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6deb6b3dd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6debf3491.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dec16730.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dec18214.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dec2fa06.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dec86aae.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6ded6014b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6ded8dcd2.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dedcac4a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dedc42ea.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6def6258b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6defa37be.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df001efb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df04f52b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df053827.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df09b3ee.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df16606d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df16edbd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df19611a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df1c9bf9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df22ff02.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df22da68.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df2303c6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df250cc7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df25b145.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df26cacf.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df282be6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df2a2a32.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df28f06f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df31ec3f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df31ec3f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df3d6b47.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df3d6e56.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df3d5118.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df407949.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df4493e4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df4cd8a6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df5b510f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df5af893.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df658fcd.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df66ae51.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df670129.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df71285c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df72438d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df72841e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df7612f5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df757b87.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df76db0d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df783b92.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df7a4f88.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df838ce4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df8b2e74.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df90eaf3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9157ed.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df928610.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df952099.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9a4f61.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9a4f61.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9ad3c7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9add7d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6df9d941a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa19ce6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa3f6d2.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa4d8b5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa593a9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa64f49.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa6d0e5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa7c08f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfa94ac9.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfad6b47.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfaddf6a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfade3fc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb3af5f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb4f4d6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb52220.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb5ced0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb70028.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfb80e25.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfba5d44.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfba5483.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfbac5b5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfbb6a17.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfc09cd6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfbeff8c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfc05e3a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/662a6dfc24dc6.webp
|
||||||
|
|
||||||
|
#截止2024.04.26
|
|
110
public/url/pic/truegirl.csv
Normal file
110
public/url/pic/truegirl.csv
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef170c4b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef170c4b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef17cedc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1a1dbf.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1b7387.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1bc83a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1c0f62.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1ce57b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef203481.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1f159b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef1e783e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef20bd21.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef229c98.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef22bd83.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef23eaf4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef240014.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef253db1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef26bdd0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef262be3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef26faee.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef27868f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef290aaa.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef28f3b1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2a52c4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2a8843.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2a6bc4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2bf09a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2c74d3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2bfb34.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2d1391.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2dd1f6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2efdd6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2ef0b3.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef2eb5f1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef312b1f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef30c2c1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef321d3f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef32333e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef326242.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef33589e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3470c5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef34975f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef335c60.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef352436.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef35658f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef366eee.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef373368.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3803e8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef384bcf.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef382927.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef38e40c.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3a29ec.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3b4be1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3a7834.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef394d17.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3dbb55.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3ad4c8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef3b2bdb.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef408c10.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4074b6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef41bd4d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4219c8.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef420328.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef423f95.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef42b6f4.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef440365.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef45159e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef44f425.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef44d06e.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef43acbe.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef45af33.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef45fbf5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef474945.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef480ad6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef48add1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef47e8ad.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef48f333.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef48ff38.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4b0c91.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4b5a69.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4bdfdc.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4c1c06.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4b0c18.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4c2dff.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4ca652.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4cf9c1.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4ea8ff.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4f2856.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef503f9f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef4e9aa0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef508093.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef500250.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef5130c7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef52c516.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef534bf7.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef525fa5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef53ad3f.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef5340f5.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef547b60.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef53f9ca.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef55c5e0.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef56305a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef57af5a.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef578e0d.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef57a517.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef56ed9b.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef58bfd6.webp
|
||||||
|
https://cdn-oracle.czl.net/img/2024/04/661e8ef5791e8.webp
|
||||||
|
|
||||||
|
#截止2024.04.26
|
|
1
public/url/video/all.csv
Normal file
1
public/url/video/all.csv
Normal file
@ -0,0 +1 @@
|
|||||||
|
https://cdn-r2-cloudflare.czl.net/woodchenink/2024/1/16/%E6%B5%AA%E5%AE%A2%E5%89%91%E5%BF%83%E8%BF%BD%E5%BF%86%E7%AF%8730%E5%B8%A71080P%E6%97%A0%E5%A3%B0%E9%9F%B3.mp4
|
|
BIN
random-api
Normal file
BIN
random-api
Normal file
Binary file not shown.
87
readme.md
Normal file
87
readme.md
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
# Random API
|
||||||
|
|
||||||
|
Random API 是一个用 Go 语言编写的简单而强大的随机图片/视频 API 服务。它允许用户通过配置文件轻松管理和提供随机媒体内容。
|
||||||
|
|
||||||
|
## 特性
|
||||||
|
|
||||||
|
- 动态加载和缓存 CSV 文件内容
|
||||||
|
- 支持图片和视频随机分发
|
||||||
|
- 可自定义的 URL 路径配置
|
||||||
|
- Docker 支持,便于部署和扩展
|
||||||
|
- 详细的日志记录
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 使用 Docker Compose
|
||||||
|
|
||||||
|
1. 克隆仓库:
|
||||||
|
```
|
||||||
|
git clone https://github.com/yourusername/random-api.git
|
||||||
|
cd random-api
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 创建并编辑 `public/url.json` 文件来配置你的 URL 路径。
|
||||||
|
|
||||||
|
3. 启动服务:
|
||||||
|
```
|
||||||
|
docker-compose up -d
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 访问 `http://localhost:5003` 来使用 API。
|
||||||
|
|
||||||
|
### 手动运行
|
||||||
|
|
||||||
|
1. 确保你已安装 Go 1.21 或更高版本。
|
||||||
|
|
||||||
|
2. 克隆仓库并进入项目目录。
|
||||||
|
|
||||||
|
3. 运行以下命令:
|
||||||
|
```
|
||||||
|
go mod download
|
||||||
|
go run main.go
|
||||||
|
```
|
||||||
|
|
||||||
|
4. 服务将在 `http://localhost:5003` 上运行。
|
||||||
|
|
||||||
|
## 配置
|
||||||
|
|
||||||
|
### url.json
|
||||||
|
|
||||||
|
在 `public/url.json` 文件中配置你的 URL 路径和对应的 CSV 文件:
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"pic": {
|
||||||
|
"example": "https://example.com/pics.csv"
|
||||||
|
},
|
||||||
|
"video": {
|
||||||
|
"example": "https://example.com/videos.csv"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
### CSV 文件
|
||||||
|
|
||||||
|
CSV 文件应包含每行一个 URL。例如:
|
||||||
|
|
||||||
|
```
|
||||||
|
https://example.com/image1.jpg
|
||||||
|
https://example.com/image2.jpg
|
||||||
|
https://example.com/image3.jpg
|
||||||
|
```
|
||||||
|
|
||||||
|
## API 使用
|
||||||
|
|
||||||
|
访问 `/pic/example` 或 `/video/example` 将重定向到相应 CSV 文件中的随机 URL。
|
||||||
|
|
||||||
|
## 日志
|
||||||
|
|
||||||
|
日志文件位于 `logs/server.log`。使用 Docker Compose 时,可以通过卷挂载访问日志。
|
||||||
|
|
||||||
|
## 贡献
|
||||||
|
|
||||||
|
欢迎贡献!请提交 pull request 或创建 issue 来提出建议和报告 bug。
|
||||||
|
|
||||||
|
## 许可
|
||||||
|
|
||||||
|
[MIT License](LICENSE)
|
Loading…
x
Reference in New Issue
Block a user