refacto api to full socket, add share url