{"id":31936426,"url":"https://github.com/libraries/daze","last_synced_at":"2026-05-28T13:01:12.195Z","repository":{"id":28301044,"uuid":"110637302","full_name":"libraries/daze","owner":"libraries","description":"Daze is a tool to help you link to the Internet.","archived":false,"fork":false,"pushed_at":"2026-03-27T12:25:12.000Z","size":924,"stargazers_count":42,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-27T22:54:06.524Z","etag":null,"topics":["gfw","gfw-breaker","go","golang","proxy","socks","socks4","socks5"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/libraries.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2017-11-14T03:46:39.000Z","updated_at":"2026-03-27T12:23:41.000Z","dependencies_parsed_at":"2023-10-15T03:27:18.773Z","dependency_job_id":"66cd600e-c9a2-4a28-8da1-f168ffdb453f","html_url":"https://github.com/libraries/daze","commit_stats":{"total_commits":171,"total_committers":1,"mean_commits":171.0,"dds":0.0,"last_synced_commit":"4d4d7c234d4299698f2e9c6b886eaccd17499cbd"},"previous_names":["godump/daze","libraries/daze"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/libraries/daze","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libraries%2Fdaze","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libraries%2Fdaze/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libraries%2Fdaze/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libraries%2Fdaze/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/libraries","download_url":"https://codeload.github.com/libraries/daze/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/libraries%2Fdaze/sbom","scorecard":{"id":135773,"data":{"date":"2025-08-04","repo":{"name":"github.com/mohanson/daze","commit":"fb0211e4c31be5a9923012b908e869958e743a7f"},"scorecard":{"version":"v5.2.1-28-gc1d103a9","commit":"c1d103a9bb9f635ec7260bf9aa0699466fa4be0e"},"score":4,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/30 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#maintained"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#packaging"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/develop.yml:1","Warn: no topLevel permission defined: .github/workflows/release.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#token-permissions"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/develop.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/mohanson/daze/develop.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/develop.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/mohanson/daze/develop.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:11: update your workflow using https://app.stepsecurity.io/secureworkflow/mohanson/daze/release.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:12: update your workflow using https://app.stepsecurity.io/secureworkflow/mohanson/daze/release.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/mohanson/daze/release.yml/master?enable=pin","Info:   0 out of   4 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   1 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#pinned-dependencies"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#license"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v1.24.4 not signed: https://api.github.com/repos/mohanson/daze/releases/233366762","Warn: release artifact v1.24.3 not signed: https://api.github.com/repos/mohanson/daze/releases/232528192","Warn: release artifact v1.24.2 not signed: https://api.github.com/repos/mohanson/daze/releases/227221955","Warn: release artifact v1.24.1 not signed: https://api.github.com/repos/mohanson/daze/releases/227128405","Warn: release artifact v1.24.0 not signed: https://api.github.com/repos/mohanson/daze/releases/227070770","Warn: release artifact v1.24.4 does not have provenance: https://api.github.com/repos/mohanson/daze/releases/233366762","Warn: release artifact v1.24.3 does not have provenance: https://api.github.com/repos/mohanson/daze/releases/232528192","Warn: release artifact v1.24.2 does not have provenance: https://api.github.com/repos/mohanson/daze/releases/227221955","Warn: release artifact v1.24.1 does not have provenance: https://api.github.com/repos/mohanson/daze/releases/227128405","Warn: release artifact v1.24.0 does not have provenance: https://api.github.com/repos/mohanson/daze/releases/227070770"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 4 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c1d103a9bb9f635ec7260bf9aa0699466fa4be0e/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-16T06:27:53.396Z","repository_id":28301044,"created_at":"2025-08-16T06:27:53.396Z","updated_at":"2025-08-16T06:27:53.396Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31290538,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["gfw","gfw-breaker","go","golang","proxy","socks","socks4","socks5"],"created_at":"2025-10-14T07:29:49.765Z","updated_at":"2026-05-28T13:01:12.169Z","avatar_url":"https://github.com/libraries.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Daze\n\n![img](./res/daze.jpg)\n\nDaze is a software that helps you pass through firewalls, in other words, a proxy. It uses a simple yet efficient protocol, ensuring that you never get detected or blocked.\n\n## Introduction\n\nDaze is designed as a single-file application. First, compile or [download](https://github.com/libraries/daze/releases) daze:\n\n```sh\n$ git clone https://github.com/libraries/daze\n$ cd daze\n\n# On Linux or macOS\n$ cmd/develop.sh\n# On Windows\n$ cmd/develop.ps1\n```\n\nThe build results will be saved in the `bin` directory. You can keep this directory, and all other files are not required.\n\nDaze is dead simple to use:\n\n```sh\n# Server side\n# You need a machine that can access the Internet, and enter the following command:\n$ daze server -l 0.0.0.0:1081 -k $PASSWORD\n\n# Client side\n# Use the following command to link your server(replace $SERVER with your server IP):\n$ daze client -s $SERVER:1081 -k $PASSWORD\n# Now, you are free to visit the Internet\n$ curl -x http://127.0.0.1:1080    http://google.com\n$ curl -x http://127.0.0.1:1080    https://google.com\n$ curl -x socks4://127.0.0.1:1080  https://google.com\n$ curl -x socks4a://127.0.0.1:1080 https://google.com\n$ curl -x socks5://127.0.0.1:1080  https://google.com\n$ curl -x socks5h://127.0.0.1:1080 https://google.com\n```\n\nDaze is still under development. You should make sure that the server and client have the same version number (check with the `daze ver` command) or commit hash.\n\n## Deployment\n\nDaze is implemented in pure Go language, so it can run on almost any operating system. The following are some of the browsers/operating systems commonly used by me:\n\n0. Android. Cross-compile daze for android: `GOOS=android GOARCH=arm64 go build -o daze github.com/libraries/daze/cmd/daze`. Push the compiled file to the phone, You can use [adb](https://developer.android.com/studio/command-line/adb) or create an http server and download daze with `wget` in [termux](https://play.google.com/store/apps/details?id=com.termux\u0026hl=en). Run `daze client -l 127.0.0.1:1080 ...` in the termux. Set the proxy for phone: WLAN -\u003e Settings -\u003e Proxy -\u003e Fill in `127.0.0.1:1080`\n0. Chrome. Chrome does not support setting proxies, so a third-party plugin must be used. [Proxy SwitchyOmega](https://chrome.google.com/webstore/detail/proxy-switchyomega/padekgcemlokbadohgkifijomclgjgif?hl=en) works very well.\n0. Firefox can configure a proxy in `Connection Settings` -\u003e `Manual proxy configuration` -\u003e `SOCKSv5 Host=127.0.0.1` and `Port=1080`. If you see an option `Use remote DNS` on the page, check it.\n\n## Configuration: Bandwidth Limiter\n\nYou can limit the maximum bandwidth used by daze. Generally speaking, for daze server, it is recommended to set the bandwidth to a value slightly smaller than the physical bandwidth.\n\n```sh\n# For daze server, set -b 320k if your physical bandwidth is 3M, where 320 = 3 * 1024 / 8 - 64.\n$ daze server ... -b 320k\n# For daze client, in most cases no configuration is necessary.\n$ daze client ...\n```\n\n## Configuration: DNS\n\nThe DNS server and DNS protocol used by daze can be specified through command line parameters.\n\n- `DNS: daze ... -dns 1.1.1.1:53`\n- `DoT: daze ... -dns 1.1.1.1:853`\n- `DoH: daze ... -dns https://1.1.1.1/dns-query`\n\nThis [article](https://www.cloudflare.com/learning/dns/dns-over-tls/) briefly describes the difference between them.\n\n## Configuration: Protocols\n\nDaze currently has 5 protocols.\n\n**Ashe**\n\nThe default protocol used by daze is called ashe. Ashe is a TCP-based cryptographic proxy protocol designed to bypass firewalls while providing a good user experience.\n\nPlease note that it is the user's responsibility to ensure that the date and time on both the server and client are consistent. The ashe protocol allows for a deviation of up to two minutes.\n\n**Baboon**\n\nProtocol baboon is a variant of the ashe protocol that operates over HTTP. In this protocol, the daze server masquerades as an HTTP service and requires the user to provide the correct password in order to gain access to the proxy service. If the password is not provided, the daze server will behave as a normal HTTP service. To use the baboon protocol, you must specify the protocol name and a fake site:\n\n```sh\n$ daze server ... -p baboon -e https://github.com\n$ daze client ... -p baboon\n```\n\n**Czar**\n\nProtocol czar is an implementation of the ashe protocol based on TCP multiplexing. Multiplexing involves reusing a single TCP connection for multiple ashe protocols, which saves time on the TCP three-way handshake. However, this may result in a slight decrease in data transfer rate (approximately 0.19%). In most cases, using Protocol czar provides a better user experience compared to using the ashe protocol directly.\n\n```sh\n$ daze server ... -p czar\n$ daze client ... -p czar\n```\n\n**Dahlia**\n\nDahlia is a protocol used for encrypted port forwarding. Unlike many common port forwarding tools, it requires both a server and a client to be configured. Communication between the server and client is encrypted in order to bypass detection by firewalls.\n\n```sh\n# Port forwarding from 20002 to 20000:\n$ daze server -l :20001 -e 127.0.0.1:20000 -p dahlia\n$ daze client -l :20002 -s 127.0.0.1:20001 -p dahlia\n```\n\nReminder again: Dahlia is not a proxy protocol but a port forwarding protocol.\n\n\n**Etch**\n\nProtocol etch is the ashe protocol carried over QUIC. QUIC is a UDP-based, multiplexed, encrypted transport, so etch enjoys two practical advantages over plain ashe: a single UDP flow is much harder for middleboxes to throttle than a long-lived TCP connection, and the connection survives transient packet loss and network address changes that would tear down TCP. Because the ashe layer already encrypts the traffic with a pre-shared key, the TLS 1.3 handshake required by QUIC uses a self-signed certificate generated on the fly and the client skips verification; trust is entirely established by the ashe password.\n\n```sh\n$ daze server ... -p etch\n$ daze client ... -p etch\n```\n\n## Configuration: Proxy Control\n\nProxy control is a rule that determines whether network requests (TCP and UDP) go directly to the destination or are forwarded to the daze server. Use the `-f` option in the daze client to adjust the proxy configuration.\n\n- Use local network for all requests.\n- Use remote server for all requests.\n- Use both local and remote server (default). In this case, the following two configuration files are enabled:\n\n**rule.ls**\n\nDaze uses a \"rule.ls\" file to customize your own rules. File \"rule.ls\" has the highest priority in routers so you should carefully maintain it. The \"rule.ls\" is located on the \"rule.ls\" by default, or you can use `daze client -r path/to/rule.ls` to apply it. Its syntax is very simple:\n\n```text\nL a.com\nR b.com\nB c.com\n```\n\n- L(ocale) means using local network.\n- R(emote) means using proxy.\n- B(anned) means to block it, often used to block ads.\n\nGlob is supported, such as `R *.google.com`.\n\n**rule.cidr**\n\nDaze also uses a CIDR(Classless Inter-Domain Routing) file to route addresses. The CIDR file is located at \"rule.cidr\", and has a lower priority than \"rule.ls\".\n\nBy default, daze has configured rule.cidr for China's mainland. You can update it manually via `daze gen cn`, this will pull the latest data from [http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest](http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest).\n\n## License\n\nMIT.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibraries%2Fdaze","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flibraries%2Fdaze","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flibraries%2Fdaze/lists"}