图片验证码代码分享

php 回复了问题 • 5 人关注 • 3 个回复 • 214 次浏览 • 2 天前 • 来自相关话题

Golang实现的IP代理池

henson 发表了文章 • 1 个评论 • 181 次浏览 • 2017-05-17 17:07 • 来自相关话题

采集免费的代理资源为爬虫提供有效的代理

项目地址: 查看全部

采集免费的代理资源为爬虫提供有效的代理


项目地址: https://github.com/henson/ProxyPool


1、代理池设计


  代理池由四部分组成:



  • Getter:


  代理获取接口,目前有9个免费代理源,每调用一次就会抓取这些网站最新的100个代理放入Channel,可自行添加额外的代理获取接口;



  • Channel:


  临时存放采集来的代理,通过访问稳定的网站去验证代理的有效性,有效则存入数据库;



  • Schedule:


  用定时的计划任务去检测数据库中代理IP的可用性,删除不可用的代理。同时也会主动通过Getter去获取最新代理;



  • Api:


  代理池的访问接口,提供get接口输出JSON,方便爬虫直接使用。


2、代码实现



  • Api:


  api接口相关代码,提供get接口,输出JSON;



  • Storage:


  数据库相关代码,数据库采用Mongo;



  • Getter:


  代理获取接口,目前抓取这九个网站的免费代理,当然也支持自己扩展代理接口;



  1. 快代理

  2. 代理66

  3. IP181

  4. 有代理

  5. 西刺代理

  6. guobanjia

  7. 讯代理

  8. 无忧代理

  9. Proxylist+



  • Schedule:


  定时任务,目前在main.go中以轮询方式实现,后期会改进;



  • Util:


  存放一些公共的模块、方法或函数,包含Config:读取配置文件config.json;



  • 其他文件:


  配置文件:config.json,数据库配置和代理获取接口配置;


{
"mongo": {
"addr": "mongodb://127.0.0.1:27017/",
"db": "temp",
"table": "pool"
},
"host": ":8080"
}

3、安装及使用


因为有些代理网站使用了加密页面、混淆代码等反爬技术,要正确采集到代理数据得用到 PhantomJS ,必须提前先装好。


另外,本项目用到的依赖库有:


gopkg.in/mgo.v2
github.com/PuerkitoBio/goquery
github.com/parnurzeal/gorequest
github.com/nladuo/go-phantomjs-fetcher

下载本项目:


go get -u github.com/henson/ProxyPool

然后配置好相应的config.json并启动:


go build
./ProxyPool

随机输出可用的代理:


GET http://localhost:8080/v1/ip

HTTP


随机输出HTTPS代理:


GET http://localhost:8080/v1/https

HTTPS


4、感谢


如果你喜欢本项目,请帮忙点个赞,谢谢!

MinDoc 简单的文档在线管理系统

lifei6671 发表了文章 • 2 个评论 • 232 次浏览 • 2017-05-11 09:28 • 来自相关话题

简介

MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。

MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部... 查看全部

简介


MinDoc 是一款针对IT团队开发的简单好用的文档管理系统。


MinDoc 的前身是 SmartWiki 文档系统。SmartWiki 是基于 PHP 框架 laravel 开发的一款文档管理系统。因 PHP 的部署对普通用户来说太复杂,所以改用 Golang 开发,基于beego 框架。可以方便用户部署和实用。


开发缘起是公司IT部门需要一款简单实用的项目接口文档管理和分享的系统。其功能和界面源于 kancloud 。


可以用来储存日常接口文档,数据库字典,手册说明等文档。内置项目管理,用户管理,权限管理等功能,能够满足大部分中小团队的文档管理需求。


项目地址:https://github.com/lifei6671/godoc


问题反馈: https://github.com/lifei6671/godoc/issues


项目预览


https://github.com/lifei6671/godoc


https://github.com/lifei6671/godoc


https://github.com/lifei6671/godoc


https://github.com/lifei6671/godoc

簡介 Gitea 開源專案

appleboy 发表了文章 • 3 个评论 • 222 次浏览 • 2017-04-26 23:16 • 来自相关话题

本文轉錄自『在 DigitalOcean 新竹社群簡介 Gitea 開源專案


很高興受到 DigitalOcean 新竹社群邀請來介紹輕量級的 Git 服務: Gitea,在不久之前筆者已經寫過一篇 Gitea 介紹,這次到交通大學宣傳這套免費的開源專案,目的就是希望台灣有更多開發者或企業可以了解用 Go 語言也可以打造一套輕量級 Git 服務,並且導入台灣的新創團隊。這次分享是透過 DigitalOcean 最小機器 (512MB 記憶體,每個月五美金) 來 Demo 如何在 Ubuntu 16.04 快速架設 Gitea 及使用 Caddy 來自動申請 Let's Encrypt 憑證,最後搭配 Jenkins 串自動化部署及測試等...。


2017-04-23-18-18-45


投影片


底下是這次 Gitea 介紹投影片,使用底下服務或開源專案



A painless self-hosted Git service: Gitea from Bo-Yi Wu


課程中上我也給大家看 Gitea 在 Ubuntu 底下耗了多少記憶體:大約在 40 ~ 60 MB 所以開個最小機器也是綽綽有餘。


Screen Shot 2017-04-22 at 11.17.41 PM

kvstore: 时序数据key-value存储引擎

chrislee 发表了文章 • 3 个评论 • 268 次浏览 • 2017-04-24 00:02 • 来自相关话题

接触Go语言挺久了,看过不少开源项目,只是工作中用Go做开发的机会不多。kvstore起源于之前一个C++项目,对其功... 查看全部

接触Go语言挺久了,看过不少开源项目,只是工作中用Go做开发的机会不多。kvstore起源于之前一个C++项目,对其功能简化后用Go重新实现。
工作中主力开发语言是C++,写过少量的Node、Python和PHP,不管是从编程语言排行榜还是国内外很多案例来看,越来越多的公司从Python、Ruby、Node、Scala等开发语言转向Go。
用Go写代码还是很爽快的,当然泛型的缺失导致难免会有一些duplicate code。

#开源项目#wechat-go 微信机器人/web协议

songtianyi 发表了文章 • 4 个评论 • 357 次浏览 • 2017-04-17 16:03 • 来自相关话题

地址: https://github.com/songtianyi/wechat-go

最近改进了两点

地址:
https://github.com/songtianyi/wechat-go


最近改进了两点



  • 支持多开

  • 插件化


目前的插件


switcher


一个管理插件的插件


#关闭某个插件, 在微信聊天窗口输入
disable faceplusplus
#开启某个插件, 在微信聊天窗口输入
enable faceplusplus
#查看所有插件信息, 在微信聊天窗口输入
dump

faceplusplus


对收到的图片做面部识别,返回性别和年龄


gifer


以收到的文字消息为关键字做gif搜索,返回gif图, 注意返回的gif可能尺度较大,比如文字消息中包含“污”等关键词。


replier


对收到的文字/图片消息,做自动应答,回复固定文字消息


欢迎来开发更多的功能插件,然机器人变得丰富有趣,另外急需一个前端朋友开发两个页面(类似微信网页版扫码页面,插件开关页面)
参见项目 go-aida

Go 语言跨平台 GUI 自动化系统 (模拟鼠标键盘和控制 bitmap 窗口以及屏幕以及全局事件监听)

veni 回复了问题 • 16 人关注 • 15 个回复 • 2114 次浏览 • 2017-04-06 16:07 • 来自相关话题

分享一个小工具 Boast:如何从服务端跟踪所有 HTTP 请求,并方便回放?

dcb9 发表了文章 • 0 个评论 • 295 次浏览 • 2017-03-31 16:17 • 来自相关话题

原文链接:http://blog.phpor.me/note/2017/03/31/track-and-replay-http-request.html
客户端工程师:“xxx 接口坏了,我的程序都没动过”,后端经常会收到这样的质问,但是我们现在如何重现这个问题?有以下几种情况:


一、后端测试了一下发现没有问题


“我这里测试了是好的啊”,就只能让客户端工程师再操作一遍,亲眼看到错误之后就肯定是有问题了,就得去找问题,这时候这台手机,以及这台手机里面的数据都非常重要,因为这些数据可以让 Bug 重现。


二、测试了也有问题


这时候后端就去修改程序了,但是每一次的测试是否有问题都需要在客户端中操作,有时候的操作非常的复杂,在这上面花的时间会比较多。最后使了各种神通才终于找到问题,原来是这个用户的某某数据有异常才会出现这种情况。


以上这种情况屡见不鲜,最麻烦的点就在于,每次都要以出现 Bug 的相同参数去请求,有时候你知道这些请求的参数,可以把它们放到 Postman 这种工具里面,但大部分时候你并不知道它对应的参数 (token)


如果我们可以在服务端跟踪所有的请求:接口地址,Header,Body,后端返回的 Header、Body,这样我们就能查到对应的请求参数和返回值,可以直接填到 Postman 里面,要是还能一键重新请求就好了,因为我们不想修改请求的参数,只是想再以相同的参数请求一遍,这样我们来调试对应的程序。


正好以前用过 ngrok,发现它有一个非常好的 debug 界面,可以达到以上的要求,但现在不需要它的内网穿透功能,于是只能自己写一个程序,只包含以下功能:



  • 记录接口所有的 Request 和 Response

  • 可以一键重新请求某个 Request


基本工作原理


HTTP 客户端                   Boast                       Web 服务器
| GET http://localhost:8080/ | 记录请求并进行反向代理 | Response 200 OK
| ---------------------------> | --------------------------> | ------┐
| | | |
| | 记录返回信息并转发给客户端 | <----┘
| <--------------------------- | <-------------------------- |

┌----------------------------------------------------------------------------┐
| url: http://localhost:8081 |
| ---------------------------------------------------------------------------|
| All Transactions ┌ - - - - - - - - - - - - - - - - - - - - - - - ┐ |
| ---------------------- | time: 10 hours ago Client: 127.0.0.1 | |
| |GET / 200 OK 100 ms | | | |
| ---------------------- | Request [ Replay ] | |
| | - - - - - - - - - - - - | |
| | GET http://localhost/ HTTP/1.1 | |
| | User-Agent: curl/7.51.0 | |
| | Accept: */* | |
| | | |
| | Response | |
| | - - - - - - - - - - - - | |
| | HTTP/1.1 200 OK | |
| | X-Server: HTTPLab | |
| | Date: Thu, 02 Mar 2017 02:25:27 GMT | |
| | Content-Length: 13 | |
| | Content-Type: text/plain; charset=utf-8 | |
| | | |
| | Hello, World | |
| └ - - - - - - - - - - - - - - - - - - - - - - - ┘ |
| |
└----------------------------------------------------------------------------┘

最近正在学习 Go,正好拿它来完成这个小程序,取名为 Boast 为了让我们在重现 Bug 上更为主动和方便,以及更快地修复,好多花点时间来造轮子!


Boast 项目地址


Go 和前端都是现学现卖,欢迎大家拍砖。

基于 Gin 的 Go 前端组件化 web 框架

veni 回复了问题 • 3 人关注 • 2 个回复 • 589 次浏览 • 2017-03-23 14:49 • 来自相关话题

beego1.8的文档还没更新么?

回复

kaixinmao 发起了问题 • 1 人关注 • 0 个回复 • 376 次浏览 • 2017-03-23 10:31 • 来自相关话题

实时现在毫秒时钟 RTClock

Akagi201 发表了文章 • 7 个评论 • 404 次浏览 • 2017-03-22 12:46 • 来自相关话题

找了很久, 没有找到一个在线可用的毫秒时钟. 自己用 websocket 写了一个.

https://github.com/Akagi201/rtc... 查看全部

找了很久, 没有找到一个在线可用的毫秒时钟. 自己用 websocket 写了一个.


https://github.com/Akagi201/rtclock


rtclock



An HTML5 Real Time Clock based on WebSocket



rtclock


Features



  • [x] Use WebSocket to send backend real time clock to frontend.

  • [x] Support go-bindata.


Install



  • go get github.com/Akagi201/rtclock


Build



  • ./gobin.sh (when you modified the html template)

  • go build


Run



  • ./rtclock -h

  • Simple usage: ./rtclock

请问有没有比较好的分布式系统监控项目?

hacpai 回复了问题 • 4 人关注 • 2 个回复 • 437 次浏览 • 2017-03-10 22:40 • 来自相关话题

Gitea 发布 v1.1 版本,支持Git-LFS,两步验证,MSSQL,Github登录等大量改进

lunny 发表了文章 • 2 个评论 • 340 次浏览 • 2017-03-10 10:20 • 来自相关话题

我们很高兴的宣布Gitea 发布了 1.1.0 版本。在这个版本中,我们关闭了 查看全部

我们很高兴的宣布Gitea 发布了 1.1.0 版本。在这个版本中,我们关闭了 126 工单,同时合并了 348 合并请求。你可以从 下载页面 根据你所处的平台和架构下载预编译版本。更多安装详情请参考 安装向导



Changelog



  • BREAKING

    • The SSH keys can potentially break, make sure to regenerate the authorized keys


  • FEATURE

    • Git LFSv2 support #122

    • API endpoints for repo watching #191

    • Search within private repos #222

    • Hide user email address on explore page #336

    • Protected branch system #339

    • Sendmail for mail delivery #355

    • API endpoints for org webhooks #372

    • Enabled MSSQL support #383

    • API endpoints for org teams #370

    • API endpoints for collaborators #375

    • Graceful server restart #416

    • Commitgraph / timeline on commits page #428

    • API endpoints for repo forks #509

    • API endpoints for releases #510

    • Folder jumping #511

    • Stars tab on profile page #519

    • Notification system #523

    • Push and pull through reverse proxy basic auth #524

    • Search for issues and pull requests #530

    • API endpoint for stargazers #597

    • API endpoints for subscribers #598

    • PID file support #610

    • Two factor authentication (2FA) #630

    • API endpoints for org users #645

    • Release attachments #673

    • OAuth2 consumer #679

    • Add ability to fork your own repos #761

    • Search repository on dashboard #773

    • Search bar on user profile #787

    • Track label changes on issue view #788

    • Allow using custom time format #798

    • Redirects for renamed repos #807

    • Track assignee changes on issue view #808

    • Track title changes on issue view #841

    • Archive cleanup action #885

    • Basic Open Graph support #901

    • Take back control of Git hooks #1006

    • API endpoints for user repos #1059


  • BUGFIXES

    • Fixed counting issues for issue filters #413

    • Added back default settings for SSH #500

    • Fixed repo permissions #513

    • Issues cannot be created with labels #622

    • Add a reserved wiki paths check to the wiki #720

    • Update website binding MaxSize to 255 #722

    • User can see the private activity on public history #818

    • Wrong pages number which includes private repositories #844

    • Trim whitespaces for search keyword #893

    • Don't rewrite non-gitea public keys #906

    • Use fingerprint to check instead content for public key #911

    • Fix random avatars #1147


  • ENHANCEMENT

    • Refactored process manager #75

    • Restrict rights to create new orgs #193

    • Added label and milestone sorting #199

    • Make minimum password length configurable #223

    • Speedup conflict checking on pull requests #276

    • Added button to delete merged pull request branches #441

    • Improved issue references within markdown #471

    • Dutch translation for the landingpage #487

    • Added Gogs migration script #532

    • Support a .gitea folder for issue templates #582

    • Enhanced diff-view coloring #584

    • Added ETag header to avatars #721

    • Added option to config to disable local path imports #724

    • Allow custom public files #782

    • Added pprof endpoint for debugging #801

    • Added X-GitHub-* headers #809

    • Fill SSH key title automatically #863

    • Display Git version on admin panel #921

    • Expose URL field on issue API #982

    • Statically compile the binaries #985

    • Embed build tags into version string #1051

    • Gitignore support for FSharp and Clojure #1072

    • Custom templates for static builds #1087

    • Add ProxyFromEnvironment if none set #1096


  • MISC

    • Replaced remaining Gogs references

    • Added more tests on various packages

    • Use Crowdin for translations again

    • Resolved some XSS attack vectors

    • Optimized and reduced number of database queries


召集:grpc服务docker化,给API-GATEWAY写example

donaduo 回复了问题 • 3 人关注 • 3 个回复 • 617 次浏览 • 2017-03-09 00:08 • 来自相关话题

Golang 的框架或者包有听说过有漏洞的么?

astaxie 回复了问题 • 2 人关注 • 1 个回复 • 602 次浏览 • 2017-03-07 13:00 • 来自相关话题