Self Hosted RIPPLE (Windows Edition)
Self-Hosted Ripple Code ! Can be used with a bit modification. (For Personal Use)
- ConEmu | A good windows terminal. (Recommended to use this)
- Python 3.6+ (with pip, add python to path for windows)
- MySQL Server (MySQL Workbench recommended for windows)
- NGINX (Prefer nginx 1.16.1 as I've used it)
- REDIS (For Windows)
- Visual C++ Build Tools 2015 (For builds. And other stuff)
- Ubuntu 18.04 LTS (WSL) WSL Enabled with A Ubuntu Terminal to run efl binary i.e hanayo, API. (Recommended ubuntu 18.04)
- Clone the repo...
- Run/Start Redis
- Create and Run MySQL Database Server
- Connect to MySQL DB and import RIPPLE SQL query.
- Go to
pep.py
,lets
&avatar-server
Folder and install the necessary python packages withpip install -r requirements.txt
. - Go to
lets
folder and change my directory to yours inlets/pp/rippoppai.py
andlets/pp/relaxoppai.py
. Create areplays
folder inlets/.data/replays
if there isn't any. - Edit
config.ini
and change it. (Both in pep.py & lets folder) - Go to
api
and editapi.conf
- Go to
Frontend
and edithanayo.conf
- You can request and get an OSU!API Key here: OSU!API
- Go to
nginx-1.16.1
folder and edit the content ofconf/nginx.conf
,osu/nginx.conf
andosu/old-frontend.conf
. Replace my directory with your one. - You can switch to localhost server and bancho either by LocalHost.exe Switcher or Manually by:
- Install Certificate
- Edit Hosts File in
c:\Windows\System32\Drivers\etc\hosts
. And add this lines to your hosts file.
#<domain that support in certificate> default is i-need-to.click
<127.0.0.1 or your Public IP> osu.ppy.sh
<127.0.0.1 or your Public IP> c.ppy.sh
<127.0.0.1 or your Public IP> c1.ppy.sh
<127.0.0.1 or your Public IP> c2.ppy.sh
<127.0.0.1 or your Public IP> c3.ppy.sh
<127.0.0.1 or your Public IP> c4.ppy.sh
<127.0.0.1 or your Public IP> c5.ppy.sh
<127.0.0.1 or your Public IP> c6.ppy.sh
<127.0.0.1 or your Public IP> c7.ppy.sh
<127.0.0.1 or your Public IP> ce.ppy.sh
<127.0.0.1 or your Public IP> a.ppy.sh
<127.0.0.1 or your Public IP> i.ppy.sh
<127.0.0.1 or your Public IP> <domain that support in certificate>
<127.0.0.1 or your Public IP> c.<domain that support in certificate>
<127.0.0.1 or your Public IP> i.<domain that support in certificate>
<127.0.0.1 or your Public IP> a.<domain that support in certificate>
<127.0.0.1 or your Public IP> old.<domain that support in certificate>
These domain are supported by osu!thailand certificate (You can make your by doing a new self-signed certificate)
- tatoe.pw
- i-need-to.click
- keidas.pw
- cookiezi.pw
- kawata.pw
Ripple uses Password -> MD5 -> BCrypt Hash (10 rounds) for the password to login so in users
table in password_md5
column in db.
- If I want to make my password
HelloRipple123
, first I need to hash it as MD5. So the hash will be6d246d0f30cdc5b829c8e21c290f8ea9
(You can hash your password at http://www.md5.cz/) - Then after I hash it, I still need to make it as BCrypt Hash (10 Rounds) so I will use this website as BCrypt encryptor.
- Put the MD5 Hash to
String to encrypt
box, change rounds to 10 and then clickHash!
button - You'll get the hash like
$2y$10$4mO9E2m7b6B0Z039ikDvSOXk2KBg9uAobGixVDv6NihQ4RL/itplq
as the hash (which is our MD5 hash. HelloRipple123) - Put your BCrypt hash in
password_md5
in your user data and profit!
Note: The BCrypt hash will be always different because BCrypt hash it 10 times!
- I strongly recommend to use a Terminal Emulator rather than using windows's CMD.
- ConEmu is a good windows terminal. (I use it and like it, personally)
- Start MySQL (MySQL Server must be started and running)
- Start Redis Server,
Redis/redis-server.exe
- Go to
lets
folder and runpython lets.py
(cmd.exe) - Go to
pep.py
folder and runpython pep.py
(cmd.exe) - Go to
avatar-server
folder and runpython avatar-server.py
(cmd.exe) - Go to
api
folder and run./API
(bash.exe) - Go to
Frontend
folder and run./frontend
(bash.exe) - Go to
nginx-1.16.1
folder and runnginx
(cmd.exe)
Before you login you have to create an account. You can create an account either by using the/from Frontend which is i-need-to.click
(default) site. Or manually from database.
- Use a local database software to log into local database. I recommend HeidiSQL or dbForge Studio
- Log into local db. Then Click on RIPPLE db. Then head find
users
. And click onData
section above. - In id
1000
fill-up your desired username, notes, and email. (It will have full owner/admin access) - For Password follow that above section
#Manually Creating Passwording (DB)
- Then you can login with your username/email and password.
A windows bat file is included to automate this whole process of starting all the services, start-server.bat
. It can be used but you'll need to edit and change it to your directory.
if bcrypt fails to install with pip then remove bcrypt part from requirements.txt in lets and pep.py folder and type the following:
pip uninstall bcrypt cffi pycparser
pip install --user --upgrade cffi
pip install --user --upgrade bcrypt
-
Kanaze-Chan(Aoba) - Thank you for your readme!
-
Aoba Suzukaze - Thank you for helping me learn how ripple works and a lots of helps. you're the best <3
You can add me on Discord and ask for help or join the discord server.
- My Discord:
you may contact with me on the server.uniminin#5959
- Discord Server: Developer I/O
This project is licenced under the GNU Affero General Public License V3. For more information, see the file LICENSE
!