{"push_id":754504926,"size":599,"distinct_size":599,"ref":"refs/heads/master","head":"12fbe47bd3db493b533817af76e2ff1dc1a26da9","before":"6fb09ea8af4e49b5b1b4d9a7fc598b4347185502","commits":[{"sha":"a5019f38dd9367046c12c64f1d684a775d61c4aa","author":{"email":"2604049da4bf132fc037378377b74e97592999c4@gmail.com","name":"v3aqb"},"message":"support server multi password, support client multi server","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/a5019f38dd9367046c12c64f1d684a775d61c4aa"},{"sha":"f81d735b5b33a5259d21ecb58dc923d5cc6a95e4","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"Merge pull request #79 from v3aqb/multi_port\n\nsupport server multi password, client multi server","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/f81d735b5b33a5259d21ecb58dc923d5cc6a95e4"},{"sha":"34843c6a917018620ac3afc9d9e723ddb8617d4c","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"better error message with config.json format","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/34843c6a917018620ac3afc9d9e723ddb8617d4c"},{"sha":"9b3f608a62974857cafff1c1d0a4af3fbc9b666a","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"better error message with wrong password","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/9b3f608a62974857cafff1c1d0a4af3fbc9b666a"},{"sha":"7d6b4bb0421a7660f9feb58ef754bee4cc6afd80","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"bump","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/7d6b4bb0421a7660f9feb58ef754bee4cc6afd80"},{"sha":"3505d4a1c230dbf96e0faa019916cb812ad134dc","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"Update README.md","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/3505d4a1c230dbf96e0faa019916cb812ad134dc"},{"sha":"ea663145e21ef4b76dd2a0897399e69adf1c4907","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"add help","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/ea663145e21ef4b76dd2a0897399e69adf1c4907"},{"sha":"854d1752453d742db9c759f2ae4c3253dd0143e7","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"fix a typo in help","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/854d1752453d742db9c759f2ae4c3253dd0143e7"},{"sha":"9d3e2d717753ba9489fcd553cd444449fffb13ac","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"update help","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/9d3e2d717753ba9489fcd553cd444449fffb13ac"},{"sha":"d940951b93332ead55c0c7dbfef857b17c7978b3","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"add udprelay","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/d940951b93332ead55c0c7dbfef857b17c7978b3"},{"sha":"c9ffb895c36824da0390fb7879054351f3f12b42","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"lint code","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/c9ffb895c36824da0390fb7879054351f3f12b42"},{"sha":"2d3ecdeb4fa9fe1624ab0c4970d2e6f6d43299fe","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"lint code","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/2d3ecdeb4fa9fe1624ab0c4970d2e6f6d43299fe"},{"sha":"6e7e689a2424396d9323f0e14bcd3747945349ce","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"add event loop","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/6e7e689a2424396d9323f0e14bcd3747945349ce"},{"sha":"e5149d0ed9366507223d8e6a20e3f0eeb77d88cd","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"impl","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/e5149d0ed9366507223d8e6a20e3f0eeb77d88cd"},{"sha":"0f23b58656f25f60df6c9e2db79ae4f844c1b78e","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"implement udp relay","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/0f23b58656f25f60df6c9e2db79ae4f844c1b78e"},{"sha":"ad4b65346c5b38313ef9385984ffd28a329c7376","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"fix event loop","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/ad4b65346c5b38313ef9385984ffd28a329c7376"},{"sha":"10358ffebde0155451ef3a75a8d7bc679b95ad31","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"add checkout for header","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/10358ffebde0155451ef3a75a8d7bc679b95ad31"},{"sha":"8d974726bc36dccaa76071c191bc309a0811a2c2","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"fix log","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/8d974726bc36dccaa76071c191bc309a0811a2c2"},{"sha":"1239f928f1663a27bafb6b3ea77a121bc008a4e9","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"lint code","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/1239f928f1663a27bafb6b3ea77a121bc008a4e9"},{"sha":"9d2e042af3e986914647e77080a540ae994f1219","author":{"email":"50efc4180dc824436669d1d2048875fd0f0d4ae5@gmail.com","name":"clowwindy"},"message":"fix gevent","distinct":true,"url":"https://api.github.com/repos/ultimate010/shadowsocks/commits/9d2e042af3e986914647e77080a540ae994f1219"}]}