{"id":15893793,"url":"https://github.com/chinanf-boy/twa-zh","last_synced_at":"2025-10-08T04:48:55.603Z","repository":{"id":90548566,"uuid":"157963606","full_name":"chinanf-boy/twa-zh","owner":"chinanf-boy","description":"中文翻译:\u003ctrailofbits/twa\u003e 小小网络审查员 :heart: 校对 ✅","archived":false,"fork":false,"pushed_at":"2019-03-29T04:46:59.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T18:16:09.373Z","etag":null,"topics":["audit","docs","twa","web","zh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chinanf-boy.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-17T08:03:32.000Z","updated_at":"2019-03-29T04:47:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"b7f45754-91f7-4158-a9a8-914869403e46","html_url":"https://github.com/chinanf-boy/twa-zh","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/chinanf-boy/twa-zh","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Ftwa-zh","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Ftwa-zh/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Ftwa-zh/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Ftwa-zh/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chinanf-boy","download_url":"https://codeload.github.com/chinanf-boy/twa-zh/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chinanf-boy%2Ftwa-zh/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278891745,"owners_count":26063855,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["audit","docs","twa","web","zh"],"created_at":"2024-10-06T08:13:43.715Z","updated_at":"2025-10-08T04:48:55.575Z","avatar_url":"https://github.com/chinanf-boy.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# trailofbits/twa [![explain]][source] [![translate-svg]][translate-list]\n\n\u003c!-- [![size-img]][size] --\u003e\n\n[explain]: http://llever.com/explain.svg\n[source]: https://github.com/chinanf-boy/Source-Explain\n[translate-svg]: http://llever.com/translate.svg\n[translate-list]: https://github.com/chinanf-boy/chinese-translate-list\n[size-img]: https://packagephobia.now.sh/badge?p=Name\n[size]: https://packagephobia.now.sh/result?p=Name\n\n「 小小网络，审查员(bash) 」\n\n[中文](./readme.md) | [english](https://github.com/trailofbits/twa)\n\n---\n\n## 校对 ✅\n\n\u003c!-- doc-templite START generated --\u003e\n\u003c!-- repo = 'trailofbits/twa' --\u003e\n\u003c!-- commit = 'dc4151f9b679fa42f09636911a8693329dfee737' --\u003e\n\u003c!-- time = '2018-11-10' --\u003e\n翻译的原文 | 与日期 | 最新更新 | 更多\n---|---|---|---\n[commit] | ⏰ 2018-11-10 | ![last] | [中文翻译][translate-list]\n\n[last]: https://img.shields.io/github/last-commit/trailofbits/twa.svg\n[commit]: https://github.com/trailofbits/twa/tree/dc4151f9b679fa42f09636911a8693329dfee737\n\n\u003c!-- doc-templite END generated --\u003e\n\n### 贡献\n\n欢迎 👏 勘误/校对/更新贡献 😊 [具体贡献请看](https://github.com/chinanf-boy/chinese-translate-list#贡献)\n\n## 生活\n\n[If help, **buy** me coffee —— 营养跟不上了，给我来瓶营养快线吧! 💰](https://github.com/chinanf-boy/live-need-money)\n\n---\n\n# twa\n\n[![Build Status](https://travis-ci.org/trailofbits/twa.svg?branch=master)](https://travis-ci.org/trailofbits/twa)\n![Docker Build Status](https://img.shields.io/docker/build/trailofbits/twa.svg)\n\n**小**审计，大脾气 (网络)\n\n\u003e A **t**iny **w**eb **a**uditor ==\u003e twa\n\n## 用法\n\n### 依赖\n\n你需要`bash`4,`curl`,`dig`,和`nc`,以及一个还行的 POSIX 系统.\n\n### 审计\n\n```bash\n# 审核网站。\n$ twa google.com\n\u003e FAIL(google.com): TWA-0102: HTTP redirects to HTTP (not secure)\n\u003e FAIL(google.com): TWA-0205: Strict-Transport-Security missing\n\u003e MEH(google.com): TWA-0206: X-Frame-Options is 'sameorigin', consider 'deny'\n\u003e FAIL(google.com): TWA-0209: X-Content-Type-Options missing\n\u003e PASS(google.com): X-XSS-Protection specifies mode=block\n\u003e FAIL(google.com): TWA-0214: Referrer-Policy missing\n\u003e FAIL(google.com): TWA-0219: Content-Security-Policy missing\n\u003e FAIL(google.com): TWA-0220: Feature-Policy missing\n\u003e PASS(google.com): Site sends 'Server', but probably only a vendor ID: gws\n\u003e PASS(google.com): Site doesn't send 'X-Powered-By'\n\u003e PASS(google.com): Site doesn't send 'Via'\n\u003e PASS(google.com): Site doesn't send 'X-AspNet-Version'\n\u003e PASS(google.com): Site doesn't send 'X-AspNetMvc-Version'\n\u003e PASS(google.com): No SCM repository at: http://google.com/.git/HEAD\n\u003e PASS(google.com): No SCM repository at: http://google.com/.hg/store/00manifest.i\n\u003e PASS(google.com): No SCM repository at: http://google.com/.svn/entries\n\u003e PASS(google.com): No environment file at: http://google.com/.env\n\u003e PASS(google.com): No environment file at: http://google.com/.dockerenv\n\n# 审核网站，并且详细。\n$ twa -v google.com\n\n# 审核站点及其www子域。\n$ twa -w google.com\n```\n\n`twa`一次只搞一个域,并且在使用`-w`时，多个域只审核一次。如果您需要审核多个域,请多次运行它.\n\n每个结果行包含一个测试结果,如下所示:\n\n```\nTYPE(domain): explanation\n```\n\n这里的`TYPE`是`PASS`,`MEH`,`FAIL`,`UNK`,`SKIP`,和`FATAL`中的一个:\n\n- `PASS`:测试通过，带有绚丽的色彩.\n- `MEH`:测试通过了,但有一件或多件事情可以改进.\n- `FAIL`:测试失败,应该修复.\n- `UNK`:服务器给了我们一些我们不理解的东西.\n- `SKIP`:服务器给了我们一些我们理解的东西,但我们还没有处理.\n- `FATAL`:一个非常重要的测试失败了,应立即修复.\n\n如果`TYPE`是不好的(即`MEH`,`FAIL`, 要么`FATAL`)，解释以格式参考代码`TWA-XXYY`为前缀，这里的`XX`是结果发生的阶段，和`YY`是结果的唯一标识符.\n\n### 评分\n\n`twa`可以和`tscore`一起使用，它提供了一个基本的评分机制:\n\n```bash\n$ twa google.com | tscore\n\u003e 35 9 1 6 0 0 0\n```\n\n分数格式逐个的意思是`score npasses nmehs nfailures nunknowns nskips totally_screwed`,所以你可以这样做:\n\n```bash\n$ read -r score npasses nmehs nfailures nunknowns nskips totally_screwed \u003c \u003c(twa google.com | tscore)\n$ echo \"score: ${score}\"\n```\n\n像`twa`,这个`tscore`是可选的。您可以通过编辑，来更改其选项(即其分数权重).\n\n### Docker\n\n`twa`可以使用轻型(29MB)Alpine Docker 容器.\n\n要从 Docker Hub 安装它:\n\n```bash\n$ docker pull trailofbits/twa\n```\n\n或者,手动构建它:\n\n```bash\n$ git clone https://github.com/trailofbits/twa.git\n$ cd twa\n$ docker build -t twa .\n$ docker run -it twa:latest -vw google.com\n```\n\n## 贡献\n\n看看[贡献指南](https://github.com/trailofbits/twa/blob/master/CONTRIBUTING.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Ftwa-zh","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchinanf-boy%2Ftwa-zh","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchinanf-boy%2Ftwa-zh/lists"}