Coder Social home page Coder Social logo

gopee's Introduction

gopee

HTTP Web Proxy - full-fledged, self-hosted proxy to access blocked websites

Demo

https://gopee.herokuapp.com/ (Terminated by Heroku)

or

http://go-gopee.rhcloud.com/

Deploying This Application

  • Fork this repo

  • Update .godir to match your forked repo url

Deploy to heroku

heroku create -b https://github.com/kr/heroku-buildpack-go.git
Creating polar-harbor-5778... done, stack is cedar-14
BUILDPACK_URL=https://github.com/kr/heroku-buildpack-go.git
https://polar-harbor-5778.herokuapp.com/ | https://git.heroku.com/polar-harbor-5778.git
Git remote heroku added
  • Push the code to Heroku
git push heroku master
rhc app create myproxy https://cartreflect-claytondev.rhcloud.com/reflect?github=smarterclayton/openshift-go-cart --from-code <forked-github-repo-url>
Your application 'myproxy' is now available.
  URL:        http://myproxy-gopee.rhcloud.com/
  SSH to:     <hash>@myproxy-gopee.rhcloud.com
  Git remote: ssh://<hash>@myproxy-gopee.rhcloud.com/~/git/myproxy.git/
  • Open the above URL in your browser

  • Login to your OpenShift console and you should see an application created

Features

  • Most AJAX requests are proxied

  • Supports Sessions, Cookies, Logging-In on most websites

Errata

  • GMail and YouTube don't work

Why ?

  • To learn Golang

  • To create a simple to deploy yet powerful proxy

Credits

@Omie for pushing me to learn Go and introducing me to Heroku and OpenShift

gopee's People

Contributors

ke-da avatar madhurjain avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gopee's Issues

Mask referer

For sites that prevent hotlinking, by checking the referer, they will reject the request with a 403 error, because the referer being passed along is 'invalid' from their perspective.

gopee should inject referer of the URL of the page being serviced to get around this.

Sends default Go useragent

The useragent for all requests is Go's default. A better option would be to send something like Chrome or Firefox (or even allow the user to choose).

allowed urls for post/ajax/cookie

Hi instead of not implementig it, or block it to prevent abusing the service, would it not be possible to allow cookies/ajax/post request only from specific urls?

*.google.com
*.facebook.com
*.twitter.com
*.microsoft.com
....

That would still allow users to connect to the sites and post something in restricted networks.

AJAX requests not captured

If you load a site like YouTube, which makes an AJAX request to googleusercontent.com (I believe), then it won't pass this through the proxy.

Feature request: Go to website via url scheme myproxy.com/goto/blockeddomain.com

I would like to add a feature which i can go to a website through proxy like myproxy.com/goto/blockeddomain.com.

I don't have any experience with Go. Please help me save sometimes pointing to where I should read. I don't want to learn Go just for this purpose 💃 It's probably just modify a bit and redirect to /p proxy handler i guess.

Missing release

It will be greate if you build packages for main OS and put them into releases.

slice bou nds out of range BUG

2015/07/31 14:21:37 http: panic serving 127.0.0.1:3422: runtime error: slice bou
nds out of range
goroutine 25 [running]:
net/http.func·009()
C:/Users/ADMINI1/AppData/Local/Temp/2/makerelease529514319/go/src/pkg/n
et/http/server.go:1093 +0xa0
runtime.panic(0x615fa0, 0x90682a)
C:/Users/ADMINI
1/AppData/Local/Temp/2/makerelease529514319/go/src/pkg/r
untime/panic.c:248 +0xe8
main.ProxyRequest(0x11217700, 0xfddc88, 0x11217850)
E:/golang_open_source/gopee-master/gopee.go:109 +0x397
main.homeHandler(0xfddc88, 0x11217850, 0x11217700)
E:/golang_open_source/gopee-master/gopee.go:292 +0x1a2
net/http.HandlerFunc.ServeHTTP(0x6be170, 0xfddc88, 0x11217850, 0x11217700)
C:/Users/ADMINI1/AppData/Local/Temp/2/makerelease529514319/go/src/pkg/n
et/http/server.go:1220 +0x3d
net/http.(*ServeMux).ServeHTTP(0x11223ac0, 0xfddc88, 0x11217850, 0x11217700)
C:/Users/ADMINI
1/AppData/Local/Temp/2/makerelease529514319/go/src/pkg/n
et/http/server.go:1496 +0x10f
net/http.serverHandler.ServeHTTP(0x1127bbd0, 0xfddc88, 0x11217850, 0x11217700)
C:/Users/ADMINI~1/AppData/Local/Temp/2/makerelease529514319/go/src/pkg/n

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.