Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions CONTEXT.md
Original file line number Diff line number Diff line change
Expand Up @@ -165,3 +165,16 @@ The persistence behind the Mapping Table. v1 uses a local SQLite file with appli
## Mapping Retention(映射留存)

A mapping expires after 90 days of inactivity by default (no write or restore). Each Creator also has a hard cap (100,000 rows); overflow is evicted LRU. The Management UI can change TTL and wipe a Creator prefix. It cannot display plaintext.


## Egress Proxy(出站代理)

Optional HTTP/HTTPS/SOCKS5 URL in config.toml [egress] proxy_url. The model-facing reqwest client uses it for Upstream forwards. Empty means direct. Changing it requires a process restart in v1.

## Header Profile(请求头配置)

[headers] profile: region_neutral (default) forces Accept-Language to the configured value on outbound model requests; passthrough leaves client language headers alone (aside from Accept-Encoding: identity). Auth headers are never rewritten.

## Rule Pack(规则组)

Built-in rules are grouped into secrets and region packs under [packs]. Packs can be disabled independently. Custom rules in config still override the live set when non-empty.
150 changes: 89 additions & 61 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ tempfile = "3"
toml = "0.8"
tokio = { version = "1", features = ["macros", "rt-multi-thread", "net", "io-util"] }
axum = "0.8"
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls"] }
reqwest = { version = "0.12", default-features = false, features = ["json", "stream", "rustls-tls", "socks"] }
http-body-util = "0.1"
bytes = "1"
rust-embed = "8"
Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Veil

**Hide passwords, tokens, and other secrets when you use large models. Works with the tools already on your machine — one-click install.**
**Lower geo/environment risk signals on Claude-style official subscriptions; also hide passwords and tokens. One-click install for everyday tools.**

This does not guarantee you will not be banned. Egress IP needs an outbound proxy; bodies and headers such as `Accept-Language` are rewritten via rule packs and header profile.

You drop `.env` into the chat so it can fix a bug. It does — and the password is already sitting on someone else's server.

Expand Down Expand Up @@ -73,7 +75,7 @@ Company relay / LiteLLM: set the relay root on the **Upstream** page; the key in

Open the console → **Rules**.

Out of the box it catches private keys, API keys, tokens, database URLs, login passwords, mainland mobile numbers, national IDs, and IPs. Email is off — too many false hits.
Built-in packs: `secrets` (keys, tokens, connection strings, passwords, mainland mobile/IDs, IPs) and `region` (time zones like Asia/Shanghai, locales like zh-CN). Email is off by default. Tune `[packs]`, `[egress]`, and `[headers]` in `config.toml`; restart after proxy/header changes.

Flip a switch to pause a rule. Open a row to edit the regex, word list, or priority. Add your own at the bottom: project codenames, internal names become `{{CODENAME_…}}`.

Expand Down
6 changes: 4 additions & 2 deletions README.zh-CN.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Veil

**使用大模型时,隐藏你的密码、token 等敏感信息。适配市面上各种工具,一键安装即可用。**
**降低 Claude 等官方订阅里容易暴露地区 / 环境的风险信号;顺带隐藏密码、token。适配常见工具,一键安装。**

不承诺「装了就不封号」。出口 IP 需配置出站代理;正文与 `Accept-Language` 等由规则组和头像配置改写。

你把 `.env` 丢进对话框,是为了让它帮你改代码。它改是改了——密码也已经躺在别人的服务器上。

Expand Down Expand Up @@ -75,7 +77,7 @@ Cursor、Python、环境变量等细接法见 [使用说明](docs/使用.md)。

打开管理页 → **规则**。

出厂会拦:私钥、API Key、Token、数据库连接串、登录密码、手机号、身份证、IP。邮箱默认关掉,误报太多。
出厂规则组分两包:`secrets`(私钥、API Key、Token、连接串、密码、手机号、身份证、IP)与 `region`(时区如 Asia/Shanghai、locale 如 zh-CN)。邮箱默认关掉。可在 `config.toml` 的 `[packs]` / `[egress]` / `[headers]` 调整;改代理或头配置后需重启。

点开关就能停一条。点开一行能改正则、词表、优先级。底下可以加自己的:项目代号、内部人名,化名就会变成 `{{CODENAME_…}}`。

Expand Down
Loading
Loading