Compare commits
24 Commits
52f2237d12
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| e8c81870d6 | |||
| 7176a420a3 | |||
| ef3e9b2106 | |||
| 806dce72fd | |||
| 70773342f7 | |||
| 3d91194116 | |||
| b4b5bebaf4 | |||
| 04365b0b24 | |||
| f4d71d436c | |||
| 9f4599eb75 | |||
| 2248c5519b | |||
| 2d491cc71c | |||
| 5bced2a146 | |||
| 22a52b0e17 | |||
| 12ab17e241 | |||
|
754094644e
|
|||
|
fe2f67515b
|
|||
|
c05ef4a722
|
|||
|
be4520cebd
|
|||
|
bd1d2749ad
|
|||
|
fab62a506d
|
|||
|
d68a7844c3
|
|||
|
0835169c9b
|
|||
|
2895512684
|
59
.drone.yml
59
.drone.yml
@ -3,41 +3,40 @@ type: docker
|
|||||||
name: build-and-deploy
|
name: build-and-deploy
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
|
- name: restore-cache
|
||||||
|
image: drillster/drone-volume-cache
|
||||||
|
settings:
|
||||||
|
restore: true
|
||||||
|
mount:
|
||||||
|
- ./node_modules
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
path: /cache
|
||||||
|
|
||||||
- name: build
|
- name: build
|
||||||
image: node:lts-bullseye
|
image: node:lts-bullseye
|
||||||
commands:
|
commands:
|
||||||
- apt-get update -y && apt-get install git -y
|
- apt-get update -y && apt-get install git -y
|
||||||
- yarn && yarn build
|
- yarn && yarn build
|
||||||
|
|
||||||
- name: upload
|
- name: rebuild-cache
|
||||||
image: plugins/s3
|
image: drillster/drone-volume-cache
|
||||||
settings:
|
settings:
|
||||||
bucket: home-app
|
rebuild: true
|
||||||
region: us-ashburn-02
|
mount:
|
||||||
acl: public-read
|
- ./node_modules
|
||||||
endpoint: https://storage.186526.xyz
|
volumes:
|
||||||
access_key:
|
- name: cache
|
||||||
from_secret: s3_access_key
|
path: /cache
|
||||||
secret_key:
|
|
||||||
from_secret: s3_secret_key
|
|
||||||
source: dist/**/*
|
|
||||||
target: /dist
|
|
||||||
path_style: true
|
|
||||||
|
|
||||||
- name: docker
|
|
||||||
image: plugins/docker
|
|
||||||
settings:
|
|
||||||
username:
|
|
||||||
from_secret: docker_username
|
|
||||||
password:
|
|
||||||
from_secret: docker_password
|
|
||||||
auto_tag: true
|
|
||||||
repo: registry.186526.xyz/home-app
|
|
||||||
registry: registry.186526.xyz
|
|
||||||
|
|
||||||
- name: notification
|
- name: notification
|
||||||
image: appleboy/drone-telegram
|
image: appleboy/drone-telegram
|
||||||
settings:
|
settings:
|
||||||
token:
|
token:
|
||||||
from_secret: telegram_bot_token
|
from_secret: telegram_bot_token
|
||||||
to: real186526
|
to: real186526
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: cache
|
||||||
|
host:
|
||||||
|
path: /tmp/drone/cache
|
||||||
|
|||||||
@ -1,3 +1,3 @@
|
|||||||
FROM nginx
|
FROM nginx:alpine
|
||||||
COPY dist /usr/share/nginx/html
|
COPY dist /usr/share/nginx/html
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
97
deploy.yaml
Normal file
97
deploy.yaml
Normal file
@ -0,0 +1,97 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: home-app
|
||||||
|
namespace: dn42
|
||||||
|
labels:
|
||||||
|
app: home-app
|
||||||
|
dn42: "yes"
|
||||||
|
spec:
|
||||||
|
replicas: 5
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
app: home-app
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
app: home-app
|
||||||
|
|
||||||
|
spec:
|
||||||
|
# affinity:
|
||||||
|
# nodeAffinity:
|
||||||
|
# requiredDuringSchedulingIgnoredDuringExecution:
|
||||||
|
# nodeSelectorTerms:
|
||||||
|
# - matchExpressions:
|
||||||
|
# - key: edge/region
|
||||||
|
# operator: In
|
||||||
|
# values:
|
||||||
|
# - eu
|
||||||
|
containers:
|
||||||
|
- name: "home-app"
|
||||||
|
image: "registry.186526.xyz/home-app:latest"
|
||||||
|
imagePullPolicy: Always
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 64Mi
|
||||||
|
cpu: 250m
|
||||||
|
ports:
|
||||||
|
- name: web
|
||||||
|
containerPort: 80
|
||||||
|
protocol: TCP
|
||||||
|
env:
|
||||||
|
- name: REGION
|
||||||
|
valueFrom:
|
||||||
|
fieldRef:
|
||||||
|
fieldPath: spec.nodeName
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "home-app"
|
||||||
|
namespace: dn42
|
||||||
|
spec:
|
||||||
|
type: ClusterIP
|
||||||
|
ports:
|
||||||
|
- port: 80
|
||||||
|
name: web
|
||||||
|
selector:
|
||||||
|
app: "home-app"
|
||||||
|
---
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: "home-app-ingress"
|
||||||
|
namespace: dn42
|
||||||
|
annotations:
|
||||||
|
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
|
||||||
|
traefik.ingress.kubernetes.io/router.middlewares: edge-network-middleware@file,compress@file
|
||||||
|
kubernetes.io/ingress.class: traefik
|
||||||
|
cert-manager.io/cluster-issuer: dn42-acme
|
||||||
|
|
||||||
|
spec:
|
||||||
|
tls:
|
||||||
|
- secretName: home-app-cert
|
||||||
|
hosts:
|
||||||
|
- home-app.186526.dn42
|
||||||
|
- home.186526.dn42
|
||||||
|
rules:
|
||||||
|
- host: home-app.186526.dn42
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: "home-app"
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
|
- host: home.186526.dn42
|
||||||
|
http:
|
||||||
|
paths:
|
||||||
|
- path: /
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: "home-app"
|
||||||
|
port:
|
||||||
|
number: 80
|
||||||
147
index.html
147
index.html
@ -22,6 +22,7 @@
|
|||||||
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/icon?family=Material+Icons+Outlined" rel="stylesheet" />
|
||||||
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC&display=swap" rel="stylesheet" />
|
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC&display=swap" rel="stylesheet" />
|
||||||
<script type="module" src="./src/main.ts"></script>
|
<script type="module" src="./src/main.ts"></script>
|
||||||
|
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"></script>
|
<script async src="https://www.googletagmanager.com/gtag/js?id=G-PVVC00CJ26"></script>
|
||||||
<script>
|
<script>
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
@ -30,10 +31,25 @@
|
|||||||
|
|
||||||
gtag('config', 'G-PVVC00CJ26');
|
gtag('config', 'G-PVVC00CJ26');
|
||||||
</script>
|
</script>
|
||||||
<meta name="description" content="It's me, 186526! | 186526 的自留地" />
|
|
||||||
<meta property="og:type" content="website" />
|
<script defer src="https://analytics.186526.net/script.js" data-website-id="5a54816d-378c-467c-834a-f7d665f72b9d"></script>
|
||||||
<meta property="og:title" content="It's me, 186526! | 186526.xyz" />
|
|
||||||
<meta name="og:description" content="It's me, 186526! | 186526 的自留地" />
|
<meta name="description" content="It's me, 186526! | real186526 的自留地">
|
||||||
|
|
||||||
|
<!-- Facebook Meta Tags -->
|
||||||
|
<meta property="og:url" content="https://186526.xyz">
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
<meta property="og:title" content="It's me, 186526! | 186526.xyz">
|
||||||
|
<meta property="og:description" content="It's me, 186526! | real186526 的自留地">
|
||||||
|
<meta property="og:image" content="./assets/og.png">
|
||||||
|
|
||||||
|
<!-- Twitter Meta Tags -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
|
<meta property="twitter:domain" content="186526.xyz">
|
||||||
|
<meta property="twitter:url" content="https://186526.xyz">
|
||||||
|
<meta name="twitter:title" content="It's me, 186526! | 186526.xyz">
|
||||||
|
<meta name="twitter:description" content="It's me, 186526! | real186526 的自留地">
|
||||||
|
<meta name="twitter:image" content="./assets/og.png">
|
||||||
|
|
||||||
<link rel="manifest" href="./manifest.json" />
|
<link rel="manifest" href="./manifest.json" />
|
||||||
</head>
|
</head>
|
||||||
@ -41,7 +57,7 @@
|
|||||||
<body>
|
<body>
|
||||||
<app>
|
<app>
|
||||||
<background>
|
<background>
|
||||||
<p>PID @ 78361641</p>
|
<p>Pixiv ID @ 78361641</p>
|
||||||
</background>
|
</background>
|
||||||
|
|
||||||
<header>
|
<header>
|
||||||
@ -59,7 +75,7 @@
|
|||||||
<contents>
|
<contents>
|
||||||
<group id="channel">
|
<group id="channel">
|
||||||
<card id="blog">
|
<card id="blog">
|
||||||
<a href="https://blog.186526.xyz" aria-label="goto 186526's Blog" alt="186526's Blog"><img alt="186526's Blog"
|
<a href="https://blog.186526.xyz/?utm_source=home" aria-label="goto 186526's Blog" alt="186526's Blog"><img alt="186526's Blog"
|
||||||
src="assets/hexo.svg" /></a>
|
src="assets/hexo.svg" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card id="status">
|
<card id="status">
|
||||||
@ -67,8 +83,8 @@
|
|||||||
alt="186526's Status" src="assets/uptimerobot.ico" /></a>
|
alt="186526's Status" src="assets/uptimerobot.ico" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card id="dn42">
|
<card id="dn42">
|
||||||
<a href="https://net.186526.xyz" aria-label="goto 186526 Network @ DN42" alt="186526 Network @ DN42"><img
|
<a href="https://186526.net" aria-label="goto 186526 Network" alt="186526 Network"><img alt="186526 Network"
|
||||||
alt="186526 Network @ DN42" src="assets/dn42.svg" /></a>
|
src="assets/dn42.svg" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card id="gitea">
|
<card id="gitea">
|
||||||
<a href="https://git.186526.xyz" aria-label="goto 186526's Gitea" alt="186526's Gitea"><img
|
<a href="https://git.186526.xyz" aria-label="goto 186526's Gitea" alt="186526's Gitea"><img
|
||||||
@ -83,87 +99,112 @@
|
|||||||
src="assets/telegram.svg" /></a>
|
src="assets/telegram.svg" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card id="email">
|
<card id="email">
|
||||||
<a href="mailto:admin@186526.xyz" aria-label="send email to admin@186526.xyz" alt="Email">
|
<a href="mailto:i@186526.xyz" aria-label="send email to i@186526.xyz" alt="Email">
|
||||||
<icon>mail</icon>
|
<icon>mail</icon>
|
||||||
</a>
|
</a>
|
||||||
</card>
|
</card>
|
||||||
</group>
|
</group>
|
||||||
<group id="friend">
|
<group id="friend">
|
||||||
<card>
|
<card>
|
||||||
<a href="https://zikin.org/" aria-label="goto Zikin's Blog" alt="Zikin的独立博客 - 青春大概如你所说"><img alt="Zikin的独立博客"
|
<a href="https://zikin.org/" aria-label="goto Zikin's Blog" alt="Zikin的独立博客 - 青春大概如你所说" target="_blank"
|
||||||
|
rel="noopener"><img alt="Zikin的独立博客 - 青春大概如你所说"
|
||||||
src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg" /></a>
|
src="https://cdn.jsdelivr.net/gh/ZikinCDN/img@latest/2021/logo.jpg" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card>
|
<card>
|
||||||
<a href="https://blog.skrshadow.cn/" aria-label="goto Skrshadow's Blog" alt="Skrshadow - 是红雨, 斯哈斯哈"><img
|
<a href="https://blog.skrshadow.cn/" aria-label="goto Skrshadow's Blog" alt="Skrshadow - 是红雨, 斯哈斯哈"
|
||||||
alt="Skrshadow" src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4" /></a>
|
target="_blank" rel="noopener"><img alt="Skrshadow - 是红雨, 斯哈斯哈"
|
||||||
|
src="https://sdn.geekzu.org/avatar/e2027c37ef15b736cf3ee8b7803216c4" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card>
|
<card>
|
||||||
<a href="https://radium-bit.github.io/" aria-label="goto Radium-bit's Blog" alt="Radium-bit"><img
|
<a href="https://radium-bit.github.io/" aria-label="goto Radium-bit's Blog" alt="Radium-bit" target="_blank"
|
||||||
alt="Radium-bit" src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp" /></a>
|
rel="noopener"><img alt="Radium-bit"
|
||||||
|
src="https://cdn.jsdelivr.net/gh/radium-bit/res@latest/avatar.webp" /></a>
|
||||||
</card>
|
</card>
|
||||||
<card>
|
<card>
|
||||||
<a href="https://jimmyqin.com/" aria-label="goto JimmyQin's Blog" alt="JimmyQin's Blog"><img
|
<a href="https://blog.maxelbk.eu.org" aria-label="goto Maxel Black's Blog" target="_blank" rel="noopener"
|
||||||
src="https://jimmyqin.com/images/avatar.png" alt="JimmyQin's Blog" /></a>
|
alt="Maxel Black - Code & write what we want."><img alt="Maxel Black - Code & write what we want."
|
||||||
</card>
|
|
||||||
<card>
|
|
||||||
<a href="https://laple.me" alt="Lapis Apple - 一个回收站,里面住着Lapis Apple。"
|
|
||||||
aria-label="goto Lapis Apple's Blog"><img alt="Lapis Apple"
|
|
||||||
src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png" /></a>
|
|
||||||
</card>
|
|
||||||
<card>
|
|
||||||
<a href="https://blog.maxelbk.eu.org" aria-label="goto Maxel Black's Blog"
|
|
||||||
alt="Maxel Black - Code & write what we want."><img alt="Maxel Black"
|
|
||||||
src="https://blog.maxelbk.eu.org/r/maxel.jpg" /></a>
|
src="https://blog.maxelbk.eu.org/r/maxel.jpg" /></a>
|
||||||
</card>
|
</card>
|
||||||
</group>
|
</group>
|
||||||
<group id="footer">
|
<group id="footer">
|
||||||
|
<a alt="Github followers" href="https://github.com/186526" target="_blank" rel="noopener"><img
|
||||||
|
alt="Github followers" src="https://186526.xyz/shields.io/github/followers/186526
|
||||||
|
" /></a>
|
||||||
|
<br>
|
||||||
<div>
|
<div>
|
||||||
<a alt="PGP Key" href="https://i.186526.xyz/pgp_keys.asc">
|
<a alt="PGP Key" href="https://i.186526.xyz/pgp_keys.asc" target="_blank" rel="noopener">
|
||||||
<img alt="PGP Key" src="https://blog.186526.xyz/shields.io/keybase/pgp/186526" />
|
<img alt="PGP Key" src="https://186526.xyz/shields.io/keybase/pgp/186526" />
|
||||||
</a>
|
</a>
|
||||||
<a alt="Moe ICP 20218600" href="https://icp.gov.moe/?keyword=20218600"><img alt="Moe ICP 20218600"
|
<a alt="Moe ICP 20218600" href="https://icp.gov.moe/?keyword=20218600" target="_blank" rel="noopener"><img
|
||||||
src="https://blog.186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue" /></a>
|
alt="Moe ICP 20218600"
|
||||||
|
src="https://186526.xyz/shields.io/badge/%E8%90%8CICP%E5%A4%87-20218600-blue" /></a>
|
||||||
|
|
||||||
<a alt="186526.xyz Uptime" href="https://status.186526.eu.org/"><img alt="186526.xyz Uptime"
|
<a alt="186526.xyz Uptime" href="https://status.186526.eu.org/" target="_blank" rel="noopener"><img
|
||||||
src="https://blog.186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8" /></a>
|
alt="186526.xyz Uptime"
|
||||||
|
src="https://186526.xyz/shields.io/uptimerobot/ratio/m786767672-6913a353d708838f195d30d8" /></a>
|
||||||
|
|
||||||
<a alt="CI Status" href="https://ci.186526.xyz/186526/home-app">
|
<a alt="CI Status" href="https://ci.186526.xyz/186526/home-app" target="_blank" rel="noopener">
|
||||||
<img alt="CI Status" src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg" />
|
<img alt="CI Status" src="https://ci.186526.xyz/api/badges/186526/home-app/status.svg" />
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
Building on <code>"unknown"</code> of <a href="https://net.186526.xyz">186526 Network</a>.
|
Build on <code>"unknown"</code>.
|
||||||
<br>
|
<br>
|
||||||
Performance & Host By Cloudflare & Vercel.
|
Powered by Vite & TypeScript.
|
||||||
|
<br>
|
||||||
|
Made with 💖 by <a href="https://186526.xyz" target="_blank" rel="noopener">real186526</a>.
|
||||||
</p>
|
</p>
|
||||||
<p>Copyright © 2020 - Now 186526.xyz. All rights Reserved.</p>
|
<p>Copyright © 2019 - Now 186526.xyz. All rights Reserved.</p>
|
||||||
</group>
|
</group>
|
||||||
|
|
||||||
</contents>
|
</contents>
|
||||||
</app>
|
</app>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
<none id="description-list">
|
<none id="description-list">
|
||||||
<p>一个啥都不会的屑</p>
|
|
||||||
<p>
|
|
||||||
LSP, Verified by
|
|
||||||
<img src="https://storage.186526.xyz/home-app/assets/lama.avatar.png" alt="lama3l9r's avatar" />
|
|
||||||
and
|
|
||||||
<img src="https://storage.186526.xyz/home-app/assets/lsp.avatar.png" alt="lsp's avatar" />
|
|
||||||
</p>
|
|
||||||
<p>Less code, more bug.</p>
|
<p>Less code, more bug.</p>
|
||||||
<p>Arknights Player</p>
|
<p>Be simple, be silly.</p>
|
||||||
<p>btw, I use arch</p>
|
<p>Keep it simple, stupid</p>
|
||||||
<p><code>console.log('Arch is the best!');</code></p>
|
<p>Arknights player</p>
|
||||||
<p>24岁, 是学生</p>
|
<p>Talk is cheap, show me the code.</p>
|
||||||
<p>一天25小时绝赞配网中...</p>
|
<p>24 岁, 是学生</p>
|
||||||
<p>DN42 贴(pi)贴(er)请求中...</p>
|
<p>一天 25 小时绝赞配网中...</p>
|
||||||
|
<p>AS200536 / AS47778 / AS30581 绝赞运营中...</p>
|
||||||
<p>大陆北方网友</p>
|
<p>大陆北方网友</p>
|
||||||
<p>Linux user ✗ KVM user ✓</p>
|
<p>Location: localhost</p>
|
||||||
<p>世界一级拖延症证书持有者</p>
|
<p>Linux user ✗ <br> KVM user ✓</p>
|
||||||
|
<p>世界一级<br>拖延症证书持有者</p>
|
||||||
<p>想拥有强大的自制力</p>
|
<p>想拥有强大的自制力</p>
|
||||||
<p>想做好自己</p>
|
<p>想做好自己</p>
|
||||||
<p>wowaka, 晚安.</p>
|
<p>什么都不需要</p>
|
||||||
|
<p>不愿做傻事</p>
|
||||||
|
<p>好的作品中仿佛栖息着神明。</p>
|
||||||
|
<p>即便到了现在,对我而言,你也仍是和神明最接近的存在。</p>
|
||||||
|
<p>请不要忘记我独身一人的盛装游行。</p>
|
||||||
|
<p>另一个世界一定有着摇滚乐在播放,不流行赞歌什么的,因为神明也并不存在。</p>
|
||||||
|
<p>wowaka,晚安。</p>
|
||||||
|
<p>麦门!</p>
|
||||||
|
<p>交错于虚拟与现实之间</p>
|
||||||
|
<p>关注 186 谢谢喵</p>
|
||||||
|
<p>拿不拿我真的好喜欢你啊,为了你我要听一百遍白ゆき</p>
|
||||||
|
<p>suis我真的好喜欢你啊,为了你我要听一百遍八月、某、月明</p>
|
||||||
|
<p>关注派兹 (<a href="https://blw.moe/" target="_blank" rel="noopener">blw.moe</a>) 谢谢喵</p>
|
||||||
|
<p>「君の旅した街を歩く 訳もないのに口を出てく」<br>“行于你曾旅行的街道 话语毫无理由脱口而出”</p>
|
||||||
|
<p>「戻らない後悔の全部が美しいって」<br>“追悔莫及之物皆美不胜收”</p>
|
||||||
|
<p>「花惑う夏を待つ僕に差す月明かり」<br>“静待乱花迷醉之夏,皎洁月光照耀此身”</p>
|
||||||
|
<p>「幸せの色は準透明 なら見えない方が良かった」<br>“幸福的颜色是准透明 这样的话看不见的话该有多好”</p>
|
||||||
|
<p>「愛で世界が変わるもんか 淋しいなど人に言えるもんか」<br>“爱哪能改变世界 寂寞等等哪能说给人听”</p>
|
||||||
|
<p>「人生はどうにも妥協で出来てる」<br>“人生无可避免是由妥协堆积而成”</p>
|
||||||
|
<p>「心も運命もラブソングも人生も信じない」<br>“不论心灵或命运或情歌或人生皆不可信”</p>
|
||||||
|
<p>「君の人生は月明かりだ 有りがちだなんて言わせるものか」<br>“你的人生好似朗朗月光 岂能让他人指手画脚什么‘随处可见’”</p>
|
||||||
|
<p>「長い夜の終わりを信じながら」<br>“仍信长夜终破晓”</p>
|
||||||
|
<p>「人生全部が馬鹿みたいなのに」<br>“人生什么的全部明明愚蠢至极”</p>
|
||||||
|
<p>「牡丹は散っても花だ 夏が去っても追慕は切だ」<br>“牡丹落尽亦是花,夏去秋来思愈切。”</p>
|
||||||
|
<p>「きっと、人生最後の日も愛をうたうのだろう」<br>“我一定也会在人生最后的日子讴歌着爱”</p>
|
||||||
|
<p>「もうちょっとだけ貴方を探せたら もう一歩だけ歩いてみれるかな」<br>“如果再稍稍去寻找一下你的话,我就能再向前踏出一步了吧”</p>
|
||||||
|
<p>空中散步与四拍子</p>
|
||||||
|
<p>人生、二十七で死ねるならロックンロールは僕を救った</p>
|
||||||
</none>
|
</none>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
@ -203,11 +244,11 @@
|
|||||||
|
|
||||||
if (broswerUA.broswer == "IE") {
|
if (broswerUA.broswer == "IE") {
|
||||||
document.body.innerHTML =
|
document.body.innerHTML =
|
||||||
'<div class="toast">去他妈的Internet Explorer,请使用现代浏览器访问该站点,例如<a href="http://aka.186526.xyz/Chrome">Chrome</a>、<a href="http://aka.186526.xyz/Firefox">Firefox</a>。</div>' +
|
'<div class="toast">去他妈的Internet Explorer,请使用现代浏览器访问该站点,例如<a href="http://go.186526.xyz/Chrome">Chrome</a>、<a href="http://go.186526.xyz/Firefox">Firefox</a>。</div>' +
|
||||||
document.body.innerHTML;
|
document.body.innerHTML;
|
||||||
} else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) {
|
} else if (broswerUA.broswer == "chrome" && broswerUA.version <= 60) {
|
||||||
document.body.innerHTML =
|
document.body.innerHTML =
|
||||||
'<div class="toast">摆脱旧版Chrome,请使用新版<a href="http://aka.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' +
|
'<div class="toast">摆脱旧版Chrome,请使用新版<a href="http://go.186526.xyz/Chrome">Chrome</a>访问该站点。</div>' +
|
||||||
document.body.innerHTML;
|
document.body.innerHTML;
|
||||||
}
|
}
|
||||||
})();
|
})();
|
||||||
|
|||||||
@ -21,7 +21,6 @@
|
|||||||
"workbox-cdn": "4.2.0"
|
"workbox-cdn": "4.2.0"
|
||||||
},
|
},
|
||||||
"browserslist": [
|
"browserslist": [
|
||||||
"defaults",
|
">0.3%, defaults, chrome 48"
|
||||||
"not ie 11"
|
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
BIN
public/assets/og.png
Normal file
BIN
public/assets/og.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 264 KiB |
@ -1,22 +1,51 @@
|
|||||||
{
|
{
|
||||||
"name": "It's me, 186526!",
|
"name": "It's me, 186526!",
|
||||||
"short_name": "186526.xyz",
|
"short_name": "186526.xyz",
|
||||||
"lang": "zh-CN",
|
"lang": "zh-CN",
|
||||||
"start_url": "/",
|
"start_url": "/",
|
||||||
"display": "standalone",
|
"display": "standalone",
|
||||||
"theme_color": "#00bdff",
|
"theme_color": "#00bdff",
|
||||||
"background_color": "#121212",
|
"background_color": "#121212",
|
||||||
"icons": [
|
"icons": [
|
||||||
{
|
{
|
||||||
"src": "./maskable.png",
|
"src": "./maskable.png",
|
||||||
"sizes": "1269x1269",
|
"sizes": "1269x1269",
|
||||||
"type": "image/png",
|
"type": "image/png",
|
||||||
"purpose": "any maskable"
|
"purpose": "maskable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"src": "./avatar.webp",
|
"src": "./avatar.webp",
|
||||||
"sizes": "512x512",
|
"sizes": "512x512",
|
||||||
"type": "image/webp"
|
"type": "image/webp"
|
||||||
}
|
}
|
||||||
]
|
],
|
||||||
|
"shortcuts": [
|
||||||
|
{
|
||||||
|
"name": "Blog",
|
||||||
|
"short_name": "Blog",
|
||||||
|
"description": "Go to check my blog",
|
||||||
|
"url": "/goto/blog",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "/assets/hexo.svg",
|
||||||
|
"sizes": "500x500"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"screenshots": [
|
||||||
|
{
|
||||||
|
"src": "./assets/og.png",
|
||||||
|
"sizes": "863x451",
|
||||||
|
"type": "image/webp",
|
||||||
|
"form_factor": "wide",
|
||||||
|
"label": "Homescreen of it."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "./assets/og.png",
|
||||||
|
"sizes": "863x451",
|
||||||
|
"type": "image/webp",
|
||||||
|
"label": "Homescreen of it."
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@ -6,7 +6,7 @@ self.addEventListener("install", (e) => {
|
|||||||
if (workbox) {
|
if (workbox) {
|
||||||
workbox.core.setCacheNameDetails({
|
workbox.core.setCacheNameDetails({
|
||||||
prefix: "home-app",
|
prefix: "home-app",
|
||||||
suffix: "0.0.4",
|
suffix: "0.0.5",
|
||||||
precache: "precache",
|
precache: "precache",
|
||||||
runtime: "runtime",
|
runtime: "runtime",
|
||||||
});
|
});
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 126 KiB After Width: | Height: | Size: 126 KiB |
@ -10,7 +10,7 @@ import Tippy from 'tippy.js';
|
|||||||
import 'tippy.js/dist/tippy.css';
|
import 'tippy.js/dist/tippy.css';
|
||||||
import 'tippy.js/animations/scale.css';
|
import 'tippy.js/animations/scale.css';
|
||||||
|
|
||||||
window.addEventListener("load", (_ev) => {
|
window.addEventListener("DOMContentLoaded", (_ev) => {
|
||||||
new Typed(document.querySelector("description") ?? "description", {
|
new Typed(document.querySelector("description") ?? "description", {
|
||||||
stringsElement: "#description-list",
|
stringsElement: "#description-list",
|
||||||
shuffle: true,
|
shuffle: true,
|
||||||
@ -31,7 +31,7 @@ window.addEventListener("load", (_ev) => {
|
|||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
document.querySelector(
|
document.querySelector(
|
||||||
"#footer > div"
|
"#footer > div"
|
||||||
).innerHTML += `<a alt="Update Commit" href="https://git.186526.xyz/186526/home-app"><img alt="Update Commit" src="https://blog.186526.xyz/shields.io/badge/commit-${APP_VERSION}-blue" /></a> <img alt="Latest Update" src="https://blog.186526.xyz/shields.io/date/${APP_BUILD_TIME}?color=sucessful&label=latest%20update" />`;
|
).innerHTML += `<a alt="Update Commit" href="https://git.186526.xyz/186526/home-app/src/commit/${APP_VERSION}"><img alt="Update Commit" src="https://186526.xyz/shields.io/badge/commit-${APP_VERSION}-blue" /></a> <img alt="Latest Update" src="https://186526.xyz/shields.io/date/${APP_BUILD_TIME}?color=sucessful&label=latest%20update" />`;
|
||||||
|
|
||||||
// @ts-expect-error
|
// @ts-expect-error
|
||||||
document.querySelector("#footer").innerHTML = document.querySelector("#footer")?.innerHTML.replaceAll("unknown",__APP_BUILD_MACHINE__);
|
document.querySelector("#footer").innerHTML = document.querySelector("#footer")?.innerHTML.replaceAll("unknown",__APP_BUILD_MACHINE__);
|
||||||
|
|||||||
@ -1,160 +1,160 @@
|
|||||||
:root {
|
:root {
|
||||||
--background-color: #fff;
|
--background-color: #fff;
|
||||||
--font-color: #000;
|
--font-color: #000;
|
||||||
--font-color-lighter: rgb(87, 89, 88);
|
--font-color-lighter: rgb(87, 89, 88);
|
||||||
--font-size-main: 3.045rem;
|
--font-size-main: 3.045rem;
|
||||||
--font-size-description: 1.245rem;
|
--font-size-description: 1.245rem;
|
||||||
--lineheight-description: 1.845rem;
|
--lineheight-description: 1.845rem;
|
||||||
--box-color: rgba(242, 242, 242, 0.5);
|
--box-color: rgba(242, 242, 242, 0.5);
|
||||||
--working-color: #137333;
|
--working-color: #137333;
|
||||||
--working-color-background: #e6f4ea;
|
--working-color-background: #e6f4ea;
|
||||||
--error-color-background: #fce8e6;
|
--error-color-background: #fce8e6;
|
||||||
--error-color: #c5221f;
|
--error-color: #c5221f;
|
||||||
--working-with-error-color: #b05a00;
|
--working-with-error-color: #b05a00;
|
||||||
--working-with-error-color-background: #fef7e0;
|
--working-with-error-color-background: #fef7e0;
|
||||||
--linear-start-color: #f37335;
|
--linear-start-color: #f37335;
|
||||||
--linear-end-color: #ff4200fc;
|
--linear-end-color: #ff4200fc;
|
||||||
--icon-size: 48px;
|
--icon-size: 48px;
|
||||||
--mask-color: rgba(255, 255, 255, 0.5);
|
--mask-color: rgba(255, 255, 255, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
h2,
|
h2,
|
||||||
h1 {
|
h1 {
|
||||||
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
font-family: "Google Sans", Roboto, Noto Sans SC, sans-serif;
|
||||||
background-image: linear-gradient(
|
color: var(--linear-end-color);
|
||||||
90deg,
|
background-image: linear-gradient(
|
||||||
var(--linear-start-color),
|
90deg,
|
||||||
var(--linear-end-color)
|
var(--linear-start-color),
|
||||||
) !important;
|
var(--linear-end-color)
|
||||||
color: transparent !important;
|
);
|
||||||
-webkit-background-clip: text;
|
-webkit-background-clip: text;
|
||||||
background-clip: text;
|
background-clip: text;
|
||||||
-webkit-text-fill-color: transparent;
|
-webkit-text-fill-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
div,
|
div,
|
||||||
p {
|
p {
|
||||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||||
line-height: 140%;
|
line-height: 140%;
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
margin: 20vh calc(10vw - 0.5rem);
|
margin: 20vh calc(10vw - 0.5rem);
|
||||||
font-family: Roboto, Noto Sans SC, sans-serif;
|
font-family: Roboto, Noto Sans SC, sans-serif;
|
||||||
color: var(--font-color);
|
color: var(--font-color);
|
||||||
background-color: var(--background-color);
|
background-color: var(--background-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
background > p {
|
background > p {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 69vh;
|
top: 69vh;
|
||||||
right: 0;
|
right: 0;
|
||||||
color: var(--font-color-lighter);
|
color: var(--font-color-lighter);
|
||||||
font-size: calc(var(--font-size-description) - 0.4rem);
|
font-size: calc(var(--font-size-description) - 0.4rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
background:hover > p {
|
background:hover > p {
|
||||||
visibility: visible;
|
visibility: visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
color: #1e7dff;
|
color: #1e7dff;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 480px) {
|
@media screen and (max-width: 480px) {
|
||||||
body {
|
body {
|
||||||
margin: 20vh calc(4vw - 0.5rem);
|
margin: 20vh calc(4vw - 0.5rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
.toast {
|
.toast {
|
||||||
margin: 0 2vw !important;
|
margin: 0 2vw !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
:root {
|
:root {
|
||||||
--font-size-main: 2.25rem;
|
--font-size-main: 2.25rem;
|
||||||
--font-size-description: 1.045rem;
|
--font-size-description: 1.045rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
code {
|
code {
|
||||||
font-family: Fira Mono, monospace;
|
font-family: Fira Mono, monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
none {
|
none {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
icon {
|
icon {
|
||||||
vertical-align: middle;
|
vertical-align: middle;
|
||||||
font-size: 48px;
|
font-size: 48px;
|
||||||
font-family: "Material Icons Outlined";
|
font-family: "Material Icons Outlined";
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-style: normal;
|
font-style: normal;
|
||||||
line-height: 1;
|
line-height: 1;
|
||||||
letter-spacing: normal;
|
letter-spacing: normal;
|
||||||
text-transform: none;
|
text-transform: none;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
word-wrap: normal;
|
word-wrap: normal;
|
||||||
direction: ltr;
|
direction: ltr;
|
||||||
-webkit-font-feature-settings: "liga";
|
-webkit-font-feature-settings: "liga";
|
||||||
font-feature-settings: "liga";
|
font-feature-settings: "liga";
|
||||||
-webkit-font-smoothing: antialiased;
|
-webkit-font-smoothing: antialiased;
|
||||||
}
|
}
|
||||||
|
|
||||||
background {
|
background {
|
||||||
top: 0px;
|
top: 0px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
float: right;
|
float: right;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
min-width: 100%;
|
width: 100%;
|
||||||
min-height: 75vh;
|
height: 95%;
|
||||||
background-size: cover;
|
max-height: 86vh;
|
||||||
background-image: url(background.webp),
|
background-size: cover;
|
||||||
url(background.png);
|
background-image: url(/resources/background.webp),
|
||||||
z-index: -1;
|
url(/resources/background.png);
|
||||||
border-radius: 0 0 15px 15px;
|
z-index: -1;
|
||||||
filter: blur(0.2px);
|
border-radius: 0 0 15px 15px;
|
||||||
|
filter: blur(0.2px);
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (prefers-color-scheme: dark) {
|
@media (prefers-color-scheme: dark) {
|
||||||
:root {
|
:root {
|
||||||
--font-color: #e8eaed;
|
--font-color: #e8eaed;
|
||||||
--font-color-lighter: #9aa0a6;
|
--font-color-lighter: #9aa0a6;
|
||||||
--background-color: #121212;
|
--background-color: #121212;
|
||||||
--box-color: rgb(40 40 40 / 73%);
|
--box-color: rgb(40 40 40 / 73%);
|
||||||
--working-color-background: rgba(129, 201, 149, 0.24);
|
--working-color-background: rgba(129, 201, 149, 0.24);
|
||||||
--error-color-background: rgba(242, 139, 130, 0.24);
|
--error-color-background: rgba(242, 139, 130, 0.24);
|
||||||
--working-with-error-color-background: rgba(253, 214, 99, 0.24);
|
--working-with-error-color-background: rgba(253, 214, 99, 0.24);
|
||||||
--working-color: #81c995;
|
--working-color: #81c995;
|
||||||
--error-color: #f28b82;
|
--error-color: #f28b82;
|
||||||
--working-with-error-color: #fdd663;
|
--working-with-error-color: #fdd663;
|
||||||
--linear-start-color: #0c8cca;
|
--linear-start-color: #0c8cca;
|
||||||
--linear-end-color: #00bdff;
|
--linear-end-color: #00bdff;
|
||||||
--mask-color: rgba(0, 0, 0, 0.5);
|
--mask-color: rgba(0, 0, 0, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
background {
|
background {
|
||||||
filter: brightness(50%);
|
filter: brightness(50%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.toast {
|
.toast {
|
||||||
background: var(--mask-color);
|
background: var(--mask-color);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
display: block;
|
display: block;
|
||||||
padding: 0.4rem;
|
padding: 0.4rem;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
left: 0px;
|
left: 0px;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 8px;
|
top: 8px;
|
||||||
right: 0px;
|
right: 0px;
|
||||||
width: -webkit-fill-available;
|
width: stretch;
|
||||||
width: fill-available;
|
margin: 0 5vw;
|
||||||
margin: 0 5vw;
|
|
||||||
|
|
||||||
backdrop-filter: blur(15px);
|
backdrop-filter: blur(15px);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
contents {
|
contents {
|
||||||
display: flex;
|
display: flex;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 32.5vh;
|
top: calc(37.5vh - 0.5rem);
|
||||||
|
|
||||||
right: 0vh;
|
right: 0vh;
|
||||||
left: 0vh;
|
left: 0vh;
|
||||||
@ -70,11 +70,11 @@ group#footer > * {
|
|||||||
|
|
||||||
@media screen and (max-width: 1024px) {
|
@media screen and (max-width: 1024px) {
|
||||||
contents {
|
contents {
|
||||||
top: 27.5vh;
|
top: calc(32.5vh - 0.5rem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (max-width: 480px) {
|
@media screen and (max-width: 530px) {
|
||||||
contents {
|
contents {
|
||||||
top: 20vh;
|
top: 20vh;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -18,6 +18,7 @@ header > div h1 {
|
|||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
font-size: var(--font-size-main);
|
font-size: var(--font-size-main);
|
||||||
line-height: var(--font-size-main);
|
line-height: var(--font-size-main);
|
||||||
|
padding-bottom: 0.65rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
header > div description {
|
header > div description {
|
||||||
@ -47,6 +48,7 @@ header {
|
|||||||
header > img {
|
header > img {
|
||||||
margin-right: 1rem;
|
margin-right: 1rem;
|
||||||
margin-bottom: 1rem;
|
margin-bottom: 1rem;
|
||||||
|
margin-top: 1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
@media screen and (min-width: 768px) {
|
@media screen and (min-width: 768px) {
|
||||||
@ -62,12 +64,21 @@ header > img {
|
|||||||
|
|
||||||
@media screen and (max-width: 1024px) {
|
@media screen and (max-width: 1024px) {
|
||||||
header {
|
header {
|
||||||
|
height: 20vh;
|
||||||
width: -moz-available;
|
width: -moz-available;
|
||||||
width: -webkit-fill-available;
|
width: stretch;
|
||||||
width: fill-available;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 480px) {
|
|
||||||
|
@media screen and (max-width: 768px) {
|
||||||
|
header {
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
|
header p {
|
||||||
|
margin-bottom: 1rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media screen and (max-width: 530px) {
|
||||||
header {
|
header {
|
||||||
min-height: 30vh;
|
min-height: 30vh;
|
||||||
}
|
}
|
||||||
|
|||||||
119
vercel.json
119
vercel.json
@ -1,55 +1,68 @@
|
|||||||
{
|
{
|
||||||
"routes": [
|
"routes": [
|
||||||
{
|
{
|
||||||
"src": "/(.*)",
|
"src": "/(.*)",
|
||||||
"headers": {
|
"headers": {
|
||||||
"Cache-Control": "s-maxage=1209600, max-age=86400, public",
|
"Cache-Control": "s-maxage=1209600, max-age=86400, public",
|
||||||
"Strict-Transport-Security": "max-age=63072000; includeSubDomains; preload",
|
"Strict-Transport-Security": "max-age=63072000; includeSubDomains; preload",
|
||||||
"Access-Control-Allow-Origin": "*",
|
"Access-Control-Allow-Origin": "*",
|
||||||
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
|
"Access-Control-Allow-Methods": "GET, POST, PUT, DELETE, OPTIONS",
|
||||||
"Access-Control-Allow-Headers": "Accept, Authorization, Cache-Control, Content-Type, DNT, If-Modified-Since, Keep-Alive, Origin, User-Agent, X-Requested-With, Token, x-access-token"
|
"Access-Control-Allow-Headers": "Accept, Authorization, Cache-Control, Content-Type, DNT, If-Modified-Since, Keep-Alive, Origin, User-Agent, X-Requested-With, Token, x-access-token"
|
||||||
},
|
},
|
||||||
"continue": true
|
"continue": true
|
||||||
},
|
},
|
||||||
{
|
{ "handle": "filesystem" },
|
||||||
"src": "/goto/github",
|
{
|
||||||
"status": 302,
|
"src": "/goto/github",
|
||||||
"headers": {
|
"status": 302,
|
||||||
"Location": "https://github.com/186526"
|
"headers": {
|
||||||
}
|
"Location": "https://github.com/186526"
|
||||||
},
|
}
|
||||||
{
|
},
|
||||||
"src": "/goto/telegram",
|
{
|
||||||
"status": 302,
|
"src": "/goto/telegram",
|
||||||
"headers": {
|
"status": 302,
|
||||||
"Location": "https://t.me/real186526"
|
"headers": {
|
||||||
}
|
"Location": "https://t.me/real186526"
|
||||||
},
|
}
|
||||||
{
|
},
|
||||||
"src": "/goto/blog",
|
{
|
||||||
"status": 302,
|
"src": "/goto/blog",
|
||||||
"headers": {
|
"status": 302,
|
||||||
"Location": "https://blog.186526.xyz"
|
"headers": {
|
||||||
}
|
"Location": "https://blog.186526.xyz"
|
||||||
},
|
}
|
||||||
{
|
},
|
||||||
"src": "/goto/email",
|
{
|
||||||
"status": 302,
|
"src": "/goto/email",
|
||||||
"headers": {
|
"status": 302,
|
||||||
"Location": "mailto:admin@186526.xyz"
|
"headers": {
|
||||||
}
|
"Location": "mailto:i@186526.xyz"
|
||||||
},
|
}
|
||||||
{
|
},
|
||||||
"src": "/generate_204",
|
{
|
||||||
"status": 204,
|
"src": "/generate_204",
|
||||||
"headers": {
|
"status": 204,
|
||||||
"X-Powered-By": "SW2Express",
|
"headers": {
|
||||||
"Server": "sw=>express"
|
"X-Powered-By": "SW2Express",
|
||||||
}
|
"Server": "sw=>express"
|
||||||
},
|
}
|
||||||
{
|
},
|
||||||
"src": "/v2/(.*)",
|
{
|
||||||
"dest": "https://registry.186526.xyz/v2/$1"
|
"src": "/v2/(.*)",
|
||||||
}
|
"dest": "https://registry.186526.xyz/v2/$1"
|
||||||
]
|
},
|
||||||
|
{
|
||||||
|
"src": "/shields.io/(.*)",
|
||||||
|
"dest": "https://img.shields.io/$1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"src": "/(.*)",
|
||||||
|
"status": 302,
|
||||||
|
"headers": {
|
||||||
|
"Location": "/?from=$1"
|
||||||
|
},
|
||||||
|
"continue": false
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user