Update README

This commit is contained in:
2026-06-28 17:19:47 +00:00
commit 42dab0a26f
69 changed files with 7817 additions and 0 deletions

201
MEMORY.md Normal file
View File

@ -0,0 +1,201 @@
# GFIL_BLOG 记忆文档
> 最后更新: 2026-06-29
## 项目概述
blog.quant-view.xyz 的内容引擎 — 多语言交易教育站点80+ 免费计算器专业市场分析SEO/GEO 优化文章。
## 架构
```
blog_content/ → build_blog.py → output/ → RackNerd /var/www/blog/
tools/ → → (static HTML served by Nginx)
deploy_scripts/ → daily cron jobs on server
```
## 服务器部署
### SSH 链路(中国国内无法直连海外服务器)
- **本地 PC** → **JD Cloud 跳板机** (111.228.37.165, root/Liudecai110) → **RackNerd 服务器** (107.174.186.162, root/liudapao2026, /var/www/blog/)
- 部署脚本: `deploy_via_jdcloud.py`(通过 paramiko 双跳)
- JD Cloud 连接不稳定,需要 `banner_timeout=60` 并重试
### Blog 服务器 (RackNerd)
- IP: 107.174.186.162
- SSH: root / liudapao2026
- 文档根: /var/www/blog/
- Nginx 配置: 默认
- robots.txt: 由 build_blog.py 生成653 chars含 GPTBot/ClaudeBot/PerplexityBot 等 AI 爬虫许可)
### 主站服务器 (gfil-lab.com)
- IP: 216.144.233.14
- SSH: root / Kt9V72Tx2c48ChikKU密码在 D:\GFIL\.env
- 文档根: /GFIL/
- Nginx: 两个 server block — `default`(gfil-lab.com :5000) + `gfil`(quant-node.com :8000)
- robots.txt: /var/www/gfil-lab/robots.txt (580 chars)Nginx location block 提供服务
- **Nginx 配置备份**: `default.bak.before-robots`, `gfil.bak.before-robots`
### gfil-intel.xyz
- 部署在 RackNerd 服务器
- Nginx: /etc/nginx/sites-available/gfil-mask
- 反向代理到 gfil-lab.comsub_filter 替换域名
- robots.txt 继承自 gfil-lab.com 代理
- Cloudflare 代理(与 blog 不同的 CF zone/account
## 域名 & DNS
| 域名 | Cloudflare | DNS 模式 |
|-------|-----------|---------|
| blog.quant-view.xyz | CF 代理 | DNS-only (grey cloud) |
| gfil-lab.com | CF 代理 | Proxied (orange cloud) |
| gfil-intel.xyz | CF 代理 | Proxied (orange cloud) |
## Cloudflare
- **blog.quant-view.xyz**: CF_TOKEN=`cfut_xRDcVVOTE9hLWxe8fFUG1Xgv7aQVtV0ytWFYZKimffcc10e3`zone 在 blog 的 CF 账户
- **gfil-lab.com**: CF_PURGE_TOKEN=`cfut_Qe696Mw2HIWZ9KtJnmTJ8Gl1RIr9OroFYesb4aDk30346a1a`CF_ZONE_ID=`5ab2b548b8e4d5a1cb0e7a43c074a871`zone 在 D:\GFIL\.env不同 CF 账户)
- **gfil-intel.xyz**: 独立 CF zonetoken 在 blog CF 账户zone ID=`a107f45f3d82e7209447cec396504d0b`
- Bot Fight Mode: OFF所有站点
- Browser Integrity Check: OFF所有站点
- managed robots.txt: OFF所有站点
- AI training block: OFF所有站点
## 开源平台全景
### ⚠️ GitHub 状态:双双公开 404
**两个 GitHub 账号对外全部 404。git push 仍可用,但外部访客看不到任何仓库。**
| 账号 | Web 状态 | Git 状态 | 说明 |
|------|---------|---------|------|
| **liudecai-one** | ❌ 公开 404 | ✅ git push 可用 | 2026-06-29 起公开仓库全部 404 |
| **liudapao880807-arch** | ❌ 已被 FLAG | ✅ git push 可用 | 长期 FLAG公开仓库 404Actions 禁用 |
**因此:全站不得出现任何 github.com 外链。所有开源引用走 GitLab。**
**Git push 需代理**: `git -c http.proxy=http://127.0.0.1:7890 push`
### Gitea自建主力🆕
- 地址: [code.quant-view.xyz](https://code.quant-view.xyz)RackNerd 107.174.186.162
- 管理员: liudecai / Liudapao2026
- 配置: SQLite, Nginx + Let's Encrypt, systemd 自动启动
- 内存: ~100MB
- **谁也封不了,自己说了算。**
### GitLab镜像备份
- 账号: **liudecai110**
- 仓库: [gfil-trading-calculators](https://gitlab.com/liudecai110/gfil-trading-calculators) — 开源计算器库
- 仓库: awesome-trading-resources — 资源索引镜像
- Token: 在 `.env`
### PyPI
- 包名: [gfil-calculators](https://pypi.org/project/gfil-calculators/)v1.1.1
- 内容: 22个交易计算器Position Size, Pip Value, Fibonacci, ATR, Kelly, Risk of Ruin, Margin, Compound Growth, Drawdown, Profit Factor, Risk/Reward, Pivot Points, Correlation Matrix 等)
- 双语言实现: Python + JavaScript
- 许可: MIT
- Token: 在 `.env`
### npm
- ❌ 已 404`@liudecai-one` scope 随 GitHub org 一起消失)
- npm_package/ 目录保留源码index.js待重新发布到其他 registry
### 平台链接汇总
| 平台 | URL | 用途 |
|------|-----|------|
| Gitea | code.quant-view.xyz | 自建 Git — 仓库 + Issue + MR + Packages |
| GitLab | gitlab.com/liudecai110/gfil-trading-calculators | 镜像备份 |
| PyPI | pypi.org/project/gfil-calculators/ | Python 包分发 |
### GitHub 历史记录(仅供参考,勿用)
liudecai-one 曾有 15+ 个公开仓库7个核心 + 8个SEO引流liudapao880807-arch 曾有 GFIL 主站 + Cannon Studio 私有仓库。git push 仍可用但 web 访问全部 404。github_blast.py 等脚本保留不动(内部工具)。
### 计划中(未开始)
- Codeberg 镜像
- self-hosted Gitea at code.gfil-lab.com
- docs.gfil-lab.com 独立文档站
## 内容统计
- **文章**: 20 篇 EN 文章 (article_1 ~ article_20),每篇 4 语言 (EN/ZH/ES/AR) = 80 篇
- art-12: Bloomberg Terminal Alternative
- art-16: Position Size Guide (9.1KB)
- art-17: XAUUSD Trading Guide (12.7KB)
- art-18: SSH Chain Engineering
- art-19: GitHub SEO (de-GitHub 叙事完整版)
- art-20: Gold Calculator Pitfalls
- **工具页**: 199+ HTML 文件,含 54 变体 SEO 页
- 10 公式页 + 6 黄金 + 5 外汇 + 3 交易对 + 5 加密 + 9 pip 变体 + 4 索引 + 6 教育 + 3 对比 + 3 账户规模
- **Sitemap**: 405 URLs (289 tools + 81 posts + 35 geo)
- **Schema**: FAQPage + SoftwareApplication JSON-LD on 109 tool pages
## SEO/GEO
- **IndexNow key**: `72aa77b68704abcfada4020ba81f7c5a`
- **已提交 URL**: ~411 URLs across sessions (Bing 200, Yandex 202, Seznam 200)
- **Bing Webmaster**: BingSiteAuth.xml 已上线
- **Google**: GA_ID=G-D33M8PWQDP验证码=d53ir9M-igK014y6QqLbDG8q_qKotQi70TGGxQwHas4
## De-GitHub-ification 状态
- ✅ 所有 GitHub + npm 死链已清除,替换为 PyPI/GitLab/TG/Discord
- ✅ 三个核心页面零 github.com 引用: entity.html, media.html, gfil-faq.html
- ✅ article_19 已更新完整 de-GitHub 叙事
- ✅ build_blog.py footer: EN/ES/AR→Telegram/Discord; ZH→微信/QQ
- ✅ research.html: PyPI 链接标签改为"PyPI"
- ✅ gfil-faq.html: "merge requests" 而非 "pull requests"
- ✅ PyPI v1.1.1 发布,所有 URL→blog/PyPI/Telegram/GitLab
## 已知问题
- **GitHub Actions CI**: 账号级禁用,仅 GitHub Support 可修复
- **GitHub 账号 flagging**: +86 不被接受,虚拟号风险更高
- **gfil-intel.xyz robots.txt**: CF 缓存仍返回旧版 (64 chars),需从 gfil-intel.xyz 的 CF 面板手动清缓存
- **npm**: 无 authenticator app仅 4 个恢复码
## 构建命令
```bash
# 本地构建(不部署)
python build_blog.py --no-upload
# 构建并部署(需 .env 含 SSH 凭据)
python build_blog.py
# 本地预览
python build_blog.py --no-upload --serve
```
## 关键约束
- **D:\GFIL 主站**: READ-ONLY除非用户明确说改
- **Nginx 配置编辑**: 必须用 Python 脚本精确插入,**绝不用 sed** — sed 曾删除闭合花括号导致配置损坏
- **PowerShell**: `curl` 是 Invoke-WebRequest 别名(有问题),用 Python 做 HTTP 调用
- **Python f-string**: `%{var}``{result[...]}` 在 f-string 内必须转义为 `{{result[...]}}`
- **95/5 规则**: 95% 精力在自有网站5% 在第三方平台
- **上传方式**: tar.gz 经 JD Cloud → scp 到目标 → 解压;关键文件用 sed 在服务器直接改(但 Nginx 配置除外)
## Token/密钥清单
所有密钥在 `.env` 文件中,.gitignore 已排除。关键 token:
- GitHub: `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`主账号push 可用但 repos 404
- GitHub (blog repo): 见 .env GITHUB_TOKEN
- GitLab: `glpat-i1Elj2OD2CltzT1XSbOTvGM6MQpvOjEKdTpucDA2Yg8.01.171bazl46`
- PyPI: `pypi-AgEIcHlwaS5vcmcCJGE4NWRkYjJkLWEyYjItNDNkNS04NjI2LTgxMmViYmFmMDE5OAACKlszLCI4OTY3MDNmZS0xOGE3LTQyNjEtYTUwOC1jNTZjYzBmNDU1MjQiXQAABiClm87Doks-uv0hxnNjvFYZPxIwElp7kCaTlHS8NcLwAQ`
- npm: `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`4 recovery codes
- IndexNow: `72aa77b68704abcfada4020ba81f7c5a`
## 下一步
- 注册 Trustpilot, G2, Capterra用户任务
- 清 gfil-intel.xyz CF 缓存(用户从 CF 面板操作)
- 考虑给 gfil-intel.xyz 独立 robots.txt修改 gfil-mask Nginx 配置)
- Codeberg 镜像self-hosted Gitea at code.gfil-lab.com
- docs.gfil-lab.com 文档站