Self Hosted RIPPLE (Windows Edition)
- ConEmu FOSS windows terminal emulator. (Recommended)
- Python 3.6+ (with pip, add python to path for windows)
- XAMPP
- NGINX (nginx 1.16.1)
- REDIS (For Windows)
- Visual C++ Build Tools 2015
- Ubuntu 18.04 LTS (WSL) WSL Enabled with A Ubuntu Terminal to run efl binaries i.e hanayo, api.
- Download or clone the upstream repository with
git clone https://github.com/Uniminin/Light-Ripple-Windows. - Create and Run MySQL Database Server.
- Connect to MySQL DB and import RIPPLE SQL query.
- Go to
pep.py,lets&avatar-serverFolder and install the necessary python packages withpython3 -m pip install -r requirements.txt. - Go to
letsfolder and change my directory to yours inlets/pp/rippoppai.pyandlets/pp/relaxoppai.py. Create areplaysfolder inlets/.data/replaysif there isn't any. - Edit
config.iniand change it. (Both in pep.py & lets folder) - Go to
apiand editapi.conf. - Go to
Frontendand edithanayo.conf. - You can get OSU!API Key here: OSU!API.
- Go to
nginx-1.16.1folder and edit the content ofconf/nginx.conf,osu/nginx.confandosu/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 domains 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.
- For Example: If you want to make your password
ExamplePassword87, first you need to hash it as MD5. So the hash will bedf4s5fe65f456344f4re549(You can hash your password at http://www.md5.cz/). - After hashing it, you'll still need to make it as BCrypt Hash (10 Rounds), you can use https://bcrypt-generator.com/ as BCrypt encryptor.
- Put the MD5 Hash to
String to encryptbox, change rounds to 10 and then clickHash!button. - You'll get the hash like
asdjslkfjlkUy89y32098y*(*@#&(*3y928hih32toij[][;gfgd(which is our MD5 hash.ExamplePassword87). - Put your BCrypt hash in
password_md5in your user data (DB).
Note: The BCrypt hash will be always different because BCrypt hashes it 10 times!
- Start MySQL (MySQL Server must be started and running).
- Start Redis Server,
Redis/redis-server.exe. - Go to
letsfolder and runpython lets.py(cmd.exe/x-terminal-emulator.exe). - Go to
pep.pyfolder and runpython pep.py(cmd.exe/x-terminal-emulator.exe). - Go to
avatar-serverfolder and runpython avatar-server.py(cmd.exe/x-terminal-emulator.exe). - Go to
apifolder and run./API(bash.exe/WSL). - Go to
Frontendfolder and run./frontend(bash.exe/WSL). - Go to
nginx-1.16.1folder and runnginx(cmd.exe/x-terminal-emulator.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 onDatasection above. - In id
1000fill-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.
- Kanaze-Chan(Aoba) for their readme!
- Aoba Suzukaze for their lots of help.
All code in this and its related repositories is licensed under the GNU AGPL 3 License. See the LICENSE file for more information.