CAPTCHA for go
This repository has been archived on 2024-08-25. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Weilin Shi 87b02acaf1 update compatibility notes 2021-06-22 14:13:41 +08:00
.github/workflows use v2 actions 2020-09-10 11:36:21 +08:00
example add go.mod support 2019-05-10 14:14:40 +03:00
fonts add: go report in readme 2017-09-19 14:10:49 +08:00
.gitignore Update travis CI config and clean up gitignore 2018-02-23 10:07:13 +08:00
LICENSE happy new year 2021-01-01 09:50:41 +08:00
README.md update compatibility notes 2021-06-22 14:13:41 +08:00
captcha.go Make New() concurrency-safe (#6) 2020-07-19 21:25:17 +08:00
captcha_test.go shorten test func name 2020-02-18 15:13:05 +08:00
code-of-conduct.md add: files for improve github community rating 2017-09-21 08:37:43 +08:00
contributing.md add: files for improve github community rating 2017-09-21 08:37:43 +08:00
font.go add: go report in readme 2017-09-19 14:10:49 +08:00
go.mod happy new year 2021-01-01 09:50:41 +08:00
go.sum go mod tidy 2021-06-15 21:23:55 +08:00
history.md v1.3.0 2018-11-07 15:14:22 +08:00
hsva.go add: hsv for better random color 2017-09-19 13:12:03 +08:00
hsva_test.go update: try to add codecov coverage 2017-09-20 09:03:13 +08:00

README.md

Package captcha provides an easy to use, unopinionated API for captcha generation.

PkgGoDev Build Status codecov Go Report Card

Why another captcha generator?

I want a simple and framework-independent way to generate captcha. It also should be flexible, at least allow me to pick my favorite font.

install

go get github.com/steambap/captcha

usage

func handle(w http.ResponseWriter, r *http.Request) {
	// create a captcha of 150x50px
	data, _ := captcha.New(150, 50)

	// session come from other library such as gorilla/sessions
	session.Values["captcha"] = data.Text
	session.Save(r, w)
	// send image data to client
	data.WriteImage(w)
}

documentation | example

sample image

image

image

Compatibility

This package is in a module and I recommand using the following version of Go:

  • 1.9.7+ for Go 1.9
  • 1.10.3+ for Go 1.10
  • Go 1.11 or later

Benchmarks

Contributing

If your found a bug, please contribute! see contributing.md for more detail.

License

MIT