Proxy for osu! direct. This allows you to share direct across multiple clients and accounts whilst only requiring one for setup. This does not work with official servers. Do not try to run this while connected to bancho.
This proxy works with multiple beatmap mirrors and search APIs, as long as they return the same text data as bancho does. You can change the download and search API in the config.yaml (under host).
Don't use this proxy if you have no idea what you're doing. Use this wisely, I am not responsible for any restrictions or bans that occur from using this proxy.
Clone the repository and build the code:
$ git clone https://github.com/salad-server/osu-direct-proxy.git
$ cd osu-direct-proxy
$ go get -u
$ go build .Copy and edit the config. Use the same password and username you use to log into bancho (or whatever mirror you're using):
$ cp nginx/config.sample.yaml config.yaml
$ nano config.yamlMove nginx configs from /nginx into your nginx directory (usually /etc/nginx). Be sure to set the port and path in config.yaml to match your nginx config. For example, in direct.conf:
proxy_pass http://localhost:8080;
should match server.port in config.yaml.
server:
path: "/osu-direct"
port: ":8080"
server.path should also match up in your nginx config. static.conf doesn't really need to be modified, as you don't need any authentication to access b.ppy.sh, but you can if you want.
Finally, import the direct nginx config into your main nginx.conf and server config.
http {
...
include /etc/nginx/direct/static.conf;
...
}
server {
listen 80;
server_name osu.YOURSERVER.com;
include /etc/nginx/direct/direct.conf;
...
}
If you want to make a proxy of your own, its pretty simple. I have a gist which explains the basics of how to interact with the API. Simply import the JSON into the insomnia rest client. There is also some basic documentation in that gist.
