{"push_id":577729692,"size":49,"distinct_size":1,"ref":"refs/heads/master","head":"7c9f53f17bffe4fec5b884269204644451027661","before":"3bfb4b94fa57bcf7091291e6a5d809a6f1c816f1","commits":[{"sha":"58b3d5fbd3f3e0f7413704d43d3e7622b258539e","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"add iptables rule for firewall.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/58b3d5fbd3f3e0f7413704d43d3e7622b258539e"},{"sha":"8c67b3d67e0da32dee5d0a27924c1d24022fac4c","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"add portal framework : code, template, statics.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/8c67b3d67e0da32dee5d0a27924c1d24022fac4c"},{"sha":"de61eb2918d83ba9767cade598730b677af07424","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"portal home page is build.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/de61eb2918d83ba9767cade598730b677af07424"},{"sha":"c3f8f98dac54903f65ab9aa56c8c3e55bd263bd4","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"first edition of portal index.html.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/c3f8f98dac54903f65ab9aa56c8c3e55bd263bd4"},{"sha":"26999267abbab0d9b94f9d7accaa0400e8f76c30","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"add login page for both desktop & admin.\nportal framework is ready.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/26999267abbab0d9b94f9d7accaa0400e8f76c30"},{"sha":"bd9458f882e1bca54fdf75930f0792b8ab712bcf","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud service page is ready.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/bd9458f882e1bca54fdf75930f0792b8ab712bcf"},{"sha":"de9f4b972e3c299688f74c92ca86c98e30b61aa2","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop framework is ready for use.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/de9f4b972e3c299688f74c92ca86c98e30b61aa2"},{"sha":"47beb30a51ffabe232c6d1ac9efdf9f5ff92f840","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop UI & logic - Part I","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/47beb30a51ffabe232c6d1ac9efdf9f5ff92f840"},{"sha":"68ccb6aeb7a82970b426cff8ad7c45700f2cfc40","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop UI & logic - Part II\n- add stop button\n- optimize the js in cloud desktop web page.\n- next step to write startVD function.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/68ccb6aeb7a82970b426cff8ad7c45700f2cfc40"},{"sha":"0251f4a2c27c3a77393c95f2146e75675d354b2e","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop UI & logic - Part III.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/0251f4a2c27c3a77393c95f2146e75675d354b2e"},{"sha":"343629dee35cd77b8b35f1dbc36a341573779a0c","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop UI & logic - Part IV.\n- getJSON in sync mode.\n- e.message replaced by str(e)","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/343629dee35cd77b8b35f1dbc36a341573779a0c"},{"sha":"669bdd177f8a88f4fd14011963710a5972e26ddc","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"cloud desktop UI & logic - Part IIV\n- handle TVD\n- stop TVD followed by delete its tid.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/669bdd177f8a88f4fd14011963710a5972e26ddc"},{"sha":"c7cdcde126eddaf1664c6d682ca37bfd8d808084","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"fix some bug in js.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/c7cdcde126eddaf1664c6d682ca37bfd8d808084"},{"sha":"ba7b25b021fbe0064ca17c060d5ddb4332237138","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"fix a bug on session para - login user name.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/ba7b25b021fbe0064ca17c060d5ddb4332237138"},{"sha":"5675c0e4ef5ade646ac37b3d90f332ec6793f17f","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"han hua port web pages.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/5675c0e4ef5ade646ac37b3d90f332ec6793f17f"},{"sha":"b756b26cb539708064e5a67cc2711697c095de57","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"adjust index.html","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/b756b26cb539708064e5a67cc2711697c095de57"},{"sha":"f8a508472804687c0ca7af6fbae5b08b8399c622","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"fix bug on cloud desktop UI real-time change.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/f8a508472804687c0ca7af6fbae5b08b8399c622"},{"sha":"f682f4d6678203ad6c5d9491b19c25f0f7c8fed6","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"optimize cloud desktop UI.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/f682f4d6678203ad6c5d9491b19c25f0f7c8fed6"},{"sha":"b1322230c649783efbcc46f25b6f392cc6e722db","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"fix another bug.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/b1322230c649783efbcc46f25b6f392cc6e722db"},{"sha":"76dfa76cccc495e25b1899c3b9330a68eac5ad67","author":{"email":"8af56de68279cb6f5ed022f31af18b9fcdcc2e92@example.com","name":"Your Name"},"message":"add ip type check tool for public or private ip.","distinct":false,"url":"https://api.github.com/repos/cloudfirst/eduCloud/commits/76dfa76cccc495e25b1899c3b9330a68eac5ad67"}]}