百科.dev
全部条目AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
A

anonymous_github

> DevOps
开源

Anonymous GitHub 是一个代理服务器,用于支持匿名浏览 GitHub 存储库中的开放科学代码和数据。

2.2K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Anonymous GitHub 是一个代理服务器,用于支持匿名浏览 GitHub 存储库中的开放科学代码和数据。

Why

Double-anonymous review asks you to anonymize the artifact behind your paper — the code and data — exactly like the paper itself. Doing that by hand (owner, organization, repository name, logins, and every mention buried in the files) is tedious and easy to get wrong. Anonymous GitHub does it for you and serves the result behind a shareable link.

A free public instance is available at anonymous.4open.science.

What it anonymizes

  • The GitHub owner, organization, and repository name
  • File and directory names
  • File contents of every extension (Markdown, text, source code, …), replacing a configurable list of terms

Usage

Public instance

Just open anonymous.4open.science, paste your repository URL, add the terms to hide, and share the generated link.

CLI

Anonymize a repository locally and produce an anonymized zip:

npm install -g @tdurieux/anonymous_github
anonymous_github

Self-hosting

Run your own instance with Docker

1. Clone and install

git clone https://github.com/tdurieux/anonymous_github/
cd anonymous_github
npm i

2. Configure GitHub access — create a .env file:

GITHUB_TOKEN=<GITHUB_TOKEN>
CLIENT_ID=<CLIENT_ID>
CLIENT_SECRET=<CLIENT_SECRET>
CREDENTIAL_KEYS='{"2026-09":"<base64-encoded 32-byte random key>"}'
CREDENTIAL_ACTIVE_KEY_ID=2026-09
CREDENTIAL_LEGACY_READS=false
PORT=5000
DB_USERNAME=
DB_PASSWORD=
AUTH_CALLBACK=http://localhost:5000/github/auth
  • GITHUB_TOKEN — create one at https://github.com/settings/tokens/new with the repo scope.
  • CREDENTIAL_KEYS / CREDENTIAL_ACTIVE_KEY_ID — generate a key with openssl rand -base64 32. Existing installations must follow the credential migration guide before starting this release.
  • CLIENT_ID / CLIENT_SECRET — from an OAuth App at https://github.com/settings/applications/new.
  • The App's callback must be https://<host>/github/auth (matching AUTH_CALLBACK).

To enable read-only access to selected private repositories alongside OAuth, follow the GitHub App setup guide.

3. Start the server

docker-compose up -d

4. Open http://localhost:5000. The port can be changed in docker-compose.yml; putting Anonymous GitHub behind nginx is recommended for HTTPS.

For an optional remote, hidden, delayed MongoDB replica and backup source, see the MongoDB replication guide.

Scope of anonymization

In double-anonymous review, the boundary of anonymization is the paper plus its online appendix — and only that. Googling part of the paper or appendix to reveal authorship is considered a deliberate attempt to break anonymity (explanation).

How it works

Anonymous GitHub either downloads the full repository and anonymizes each file, or proxies requests to GitHub on the fly. In both cases the original and anonymized versions are cached on the server, so even large repositories stay responsive.

Related tools

  • gitmask — contribute anonymously to a GitHub repository.
  • blind-reviews — browser add-on that hides identifying information when reviewing a pull request.

See also

  • Open science and double-anonymous peer review
  • ACM policy on double-blind reviewing

License

GPL-3.0 © Thomas Durieux

Frontend development

The UI uses Vue 3 and Vue Router with the existing Express API. Page setup functions live in public/script/app.js and admin.js; the Vue templates are in public/partials/. Gulp compiles the templates and bundles the app with esbuild, then updates the asset manifest used by Express.

Run npm run build:ui after changing a template or frontend script. Use npm run dev:ui to serve the built UI locally with API requests proxied to the configured upstream. npm run test:ui rebuilds the assets and runs the frontend regression and DOM interaction tests. npm run build also builds the UI for production.

The initial bundle contains the Vue app. Markdown extensions load on content routes; PDF.js, Ace, and notebook support load when their viewers mount. Org support loads in the repository explorer, and Mermaid loads only when a diagram is encountered. These libraries use hashed URLs and load once per tab.

The Docker build compiles the same bundles and copies them, the asset manifest, and document-worker assets into the runtime image. The Compose app serves these assets directly; no frontend development server is needed.

Issues· 0 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

TypeScriptanonymousdouble-anonymousdouble-blindopen-science

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类DevOps
定价开源

> 相关工具

D
Docker
容器化平台,标准化应用交付
G
GitHub Actions
GitHub 原生 CI/CD 工作流
N
Nginx
高性能 Web 服务器与反向代理