Skip to content

Commit

Permalink
Push
Browse files Browse the repository at this point in the history
  • Loading branch information
BlaNKtext committed Aug 19, 2021
1 parent cf2c5ad commit d034167
Show file tree
Hide file tree
Showing 162 changed files with 29,434 additions and 0 deletions.
1 change: 1 addition & 0 deletions .version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.1.0
44 changes: 44 additions & 0 deletions api.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
const http = require('http');
const url = require('url');
const hostname = '127.0.0.1';
const postport = 3000;
const getport = 3001;
var a = [];
const postserver = http.createServer((req, res) => {
var q = url.parse(req.url, true).query;
var ip = req.headers["x-real-ip"];
if (ip) {
ip = ip.split(".");
ip[0] = "**";
if (ip.length > 3) {
ip[3] = "**";
}
ip = ip.join(".");
} else {
ip = "";
}
q.ip = ip;
if (q.title || q.sid) {
a.push(q);
}
if (a.length > 16) {
a.shift();
}
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.setHeader('Content-Type', 'application/json');
res.setHeader('Access-Control-Allow-Origin', '*');
res.end("");
});
const getserver = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'application/json');
res.setHeader('Access-Control-Allow-Origin', '*');
res.end(JSON.stringify(a));
});
postserver.listen(postport, hostname, () => {
console.log(`Post server running at http://${hostname}:${postport}/`);
});
getserver.listen(getport, hostname, () => {
console.log(`Get server running at http://${hostname}:${getport}/`);
});
172 changes: 172 additions & 0 deletions browse.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,172 @@
<!doctype html>
<html>

<head>
<meta charset="utf-8" />
<title>owu! | Browsing</title>
<link rel=”canonical” href=”https://owu.vercel.app/”/>
<meta name="description" content="owu = osu! + web | The unofficial web port of the rhythm game osu!">
<link rel="stylesheet" href="style/picnic.min.css">
<link rel="stylesheet" type="text/css" href="style/main.css">
<link rel="stylesheet" type="text/css" href="style/font.css">
<link rel="icon" href="favicon.png">
<script src="scripts/launchgame.js"></script>
<script src="scripts/downloader.js"></script>
<script src="scripts/addbeatmaplist.js"></script>
<script src="scripts/settings.js"></script>
<script src="scripts/jsloader.js"></script>
<script async src="https://arc.io/widget.min.js#f6CePGyv"></script>
</head>

<body>
<div class="game-area" id="game-area" hidden>
</div>

<div class="pause-menu" id="pause-menu" hidden>
<div class="paused-title">Paused</div>
<div class="paused-desc">You're not gonna do what I think you're gonna do, are you?</div>
<div class="button-list">
<div class="pausebutton continue" id="pausebtn-continue">
<div class="inner">Continue</div>
</div>
<div class="pausebutton retry" id="pausebtn-retry">
<div class="inner">Retry</div>
</div>
<div class="pausebutton quit" id="pausebtn-quit">
<div class="inner">Browse</div>
</div>
</div>
</div>

<!--Top nav bar-->
<nav id="main-nav">
<div class="nav-link">
<a href="index.html" class="brand">owu!</a>
<a href="new.html" class="pseudo button">Updated</a>
<a href="hot.html" class="pseudo button">Popular</a>
<a href="browse.html" class="pseudo button active">Browse</a>
</div>
<div class="nav-search">
<form action="search.html">
<input type="text" name="q" placeholder="Beatmap or SID" />
<input type="image" class="search-button" src="research.svg">
</form>
</div>
<div class="nav-tool">
<a href="faq.html" class="pseudo button">FAQ</a>
<a href="local.html" class="pseudo button">Favorites</a>
<a href="settings.html" class="pseudo button">Settings</a>
<a onclick="document.documentElement.requestFullscreen();" class="pseudo button">Fullscreen</a>
</div>
</nav>

<div class="main-page" id="main-page">
<div class="main-content">
<div class="sort-nav">
<div class="title">Genre</div>
<div class="selitem" genre="1">All</div>
<div class="selitem" genre="4">Games</div>
<div class="selitem" genre="8">Animation</div>
<div class="selitem" genre="16">Rock</div>
<div class="selitem" genre="32">Popular</div>
<div class="selitem" genre="128">Novelty</div>
<div class="selitem" genre="1024">Electronic</div>
<div class="selitem" genre="2+64+256">Others</div>
</div>
<div class="sort-nav">
<div class="title">Language</div>
<div class="selitem" lang="1">All</div>
<div class="selitem" lang="16">Chinese</div>
<div class="selitem" lang="4">English</div>
<div class="selitem" lang="8">Japanese</div>
<div class="selitem" lang="32">Instrumental</div>
<div class="selitem" lang="64">Korean</div>
<div class="selitem" lang="128">French</div>
<div class="selitem" lang="256">German</div>
<div class="selitem" lang="2048">Italian</div>
<div class="selitem" lang="512">Swedish</div>
<div class="selitem" lang="2+1024">Others</div>
</div>
<hr>

<div class="beatmap-list" id="beatmap-list">
<!-- to be filled in script -->
</div>
<div class="button" style="width:100%; margin-bottom: 10px;" id="btnmore">Load More</div>
<!--Footer-->
<div class="text"></div>
<div class="text">Join the <a href="https://discord.gg/gHgcR92QMy">Discord!</a></div>
<div class="text">Translation made by: <a href="https://github.com/BlaNKtext">BlaNK</a>.</div>
<div class="text">Beatmap API made by: <a href="https://osu.sayobot.cn/"> Sayobot</a></div>
<div class="text">Stable Release: v.1.1.0<a href="https://github.com/BlaNKtext/Owu-game"></a></div>
</div>
<!-- <div class="side-panel">
to be activated in script
</div> -->
<div class="statuslines" id="statuslines">
<div class="progress" id="script-progress">
Scripts
<div class="lds-dual-ring"></div>
</div>
<div class="progress" id="skin-progress">
Skin
<div class="lds-dual-ring"></div>
</div>
<div class="progress" id="sound-progress">
Hitsounds
<div class="lds-dual-ring"></div>
</div>
</div>
</div>
<script>
let btns = document.getElementsByClassName("selitem");

function search(genre, lang) {
// clear list
list = document.getElementById("beatmap-list");
document.getElementById("btnmore").innerText = "Load More";
while (list.firstChild) {
list.removeChild(list.firstChild);
}
addBeatmapList("https://api.sayobot.cn/beatmaplist?0=20&1=0&2=4&5=1&7=" + genre + "&8=" + lang);
var cur = 20;
document.getElementById("btnmore").onclick = function () {
if (typeof (window.list_endid) == "undefined") {
addBeatmapList("https://api.sayobot.cn/beatmaplist?0=20&1=" + cur + "&2=4&5=1&7=" + genre +
"&8=" + lang);
} else {
if (window.list_endid == 0)
document.getElementById("btnmore").innerText = "There's no more beatmaps to load!";
else
addBeatmapList("https://api.sayobot.cn/beatmaplist?0=20&1=" + window.list_endid +
"&2=4&5=1&7=" + genre + "&8=" + lang);
}
cur += 20;
}
// update buttons state
for (let i = 0; i < btns.length; ++i) {
let g = eval(btns[i].getAttribute("genre"));
let l = eval(btns[i].getAttribute("lang"));
if (g == genre || l == lang) {
btns[i].classList.add("active");
} else {
btns[i].classList.remove("active");
}
}
}
let curgenre = 1;
let curlang = 1;
search(curgenre, curlang);
for (let i = 0; i < btns.length; ++i) {
btns[i].onclick = function () {
let g = eval(btns[i].getAttribute("genre"));
let l = eval(btns[i].getAttribute("lang"));
if (g) curgenre = g;
if (l) curlang = l;
search(curgenre, curlang);
}
}
</script>
</body>

</html>
92 changes: 92 additions & 0 deletions changes.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<!doctype html>
<html>

<head>
<meta charset="utf-8" />
<title>owu! | Changelog</title>
<link rel=”canonical” href=”https://owu.vercel.app/”/>
<meta name="description" content="owu = osu! + web | The unofficial web port of the rhythm game osu!">
<link rel="stylesheet" href="style/picnic.min.css">
<link rel="stylesheet" type="text/css" href="style/main.css">
<link rel="stylesheet" type="text/css" href="style/font.css">
<link rel="icon" href="favicon.png">
<script async src="https://arc.io/widget.min.js#f6CePGyv"></script>
</head>
<!--Top nav bar-->
<nav id="main-nav">
<div class="nav-link">
<a href="index.html" class="brand">owu!</a>
<a href="new.html" class="pseudo button">Updated</a>
<a href="hot.html" class="pseudo button">Popular</a>
<a href="browse.html" class="pseudo button">Browse</a>
</div>
<div class="nav-search">
<form action="search.html">
<input type="text" name="q" placeholder="Beatmap or SID" />
<input type="image" class="search-button" src="research.svg">
</form>
</div>
<div class="nav-tool">
<a href="faq.html" class="pseudo button">FAQ</a>
<a href="local.html" class="pseudo button">Favorites</a>
<a href="settings.html" class="pseudo button">Settings</a>
<a onclick="document.documentElement.requestFullscreen();" class="pseudo button">Fullscreen</a>
</div>
</nav>
<div class="main-page" id="main-page">
<div class="main-content">
<div class="logentry">
<h3>4/29/2021 | 8:44pm - Thanks QuiteAFancyEmerald For including me on his game roster for his unblocker! PS: We have a domain now!</h3>
Today, I both purchased and setup the <a href="https://webosu.online">new domain</a> for owu! as well as QuiteAFancyEmerald added this site onto the holyunblocker games section!<br>
Other than that theres nothing different with the code other than some grammar changes! Just thought it deserved an announcement<br><br>
- New Domain link: https://webosu.online/<br><br>
~BlaNK#1154
</div>
<br>
<div class="logentry">
<h3>4/25/2021 | 7:07am - The Discord is open now!</h3>
You heard it right, we now have a discord so feel free to join and share the link! I don't have too much to
say just thought it deserved an announcement<br><br>
- Discord link: https://discord.gg/gHgcR92QMy<br><br>
~BlaNK#1154
</div>
<br>
<div class="logentry">
<h3>4/25/2021 | 5:36am - Arc.io CDN</h3>
Because I couldn't do anything with the Live Plays idea I atleast tried to do something useful, so I
implemented Arc.io CDN.
Basically what it does is it makes your exxperience faster and makes me some money! Its a win-win. Thats it
from me.<br><br>
<h4>Updates</h4>
- Arc CDN Integrated<br><br>
~BlaNK#1154
</div>
<br>
<div class="logentry">
<h3>4/25/2021 5:10am - Live Plays</h3>
So, I was going to make a live plays section but, I have a limited hosting capabilities
at the time being and it seems impossible from a technical standpoint, at some point I'd like to set up a
server for this site
and buy subdomains/domains to run a custom API but right now its just not happening, I'll add a donation
link sometime tomorrow
anything going to that would be put *directly* into funds for bettering the site.<br>
As for changes, there is none, thanks for checking the changelog!<br><br>
~BlaNK#1154
</div>
<br>
<div class="logentry">
<h3>4/24/2021 - Initial Log entry and some updates</h3>
First off this is *the* very first changelog entry consider yourself cool if you see it<br>
Second off, this started as a little project to keep me busy when I saw it posted on github in chinese and a
shitty theme
so, I imported and got to work now its a project I plan to uphold for a while.<br><br>
<h4>Updates</h4>
- Fixed "Load More" buttons and the sort tab, lol<br>
- Edited the theme a little, I think it looks good now<br><br>
~BlaNK#1154
</div>
</div>
</div>
</body>

</html>
82 changes: 82 additions & 0 deletions faq.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<!doctype html>
<html>

<head>
<meta charset="utf-8" />
<title>owu! | FAQ</title>
<link rel=”canonical” href=”https://owu.vercel.app/”/>
<meta name="description" content="owu = osu! + web | The unofficial web port of the rhythm game osu!">
<link rel="stylesheet" href="style/picnic.min.css">
<link rel="stylesheet" type="text/css" href="style/main.css">
<link rel="stylesheet" type="text/css" href="style/font.css">
<link rel="icon" href="favicon.png">
<script async src="https://arc.io/widget.min.js#f6CePGyv"></script>
</head>
<!--Top nav bar-->
<nav id="main-nav">
<div class="nav-link">
<a href="index.html" class="brand">owu!</a>
<a href="new.html" class="pseudo button">Updated</a>
<a href="hot.html" class="pseudo button">Popular</a>
<a href="browse.html" class="pseudo button">Browse</a>
</div>
<div class="nav-search">
<form action="search.html">
<input type="text" name="q" placeholder="Beatmap or SID" />
<input type="image" class="search-button" src="research.svg">
</form>
</div>
<div class="nav-tool">
<a href="faq.html" class="pseudo button active">FAQ</a>
<a href="local.html" class="pseudo button">Favorites</a>
<a href="settings.html" class="pseudo button">Settings</a>
<a onclick="document.documentElement.requestFullscreen();" class="pseudo button">Fullscreen</a>
</div>
</nav>
<div class="main-page" id="main-page">
<div class="main-content">
<div class="faqentry">
<h2>Is there a Discord server?</h2>
Yes there is, and you can join <a href="https://discord.gg/gHgcR92QMy">it</a> right <a
href="https://discord.gg/gHgcR92QMy">here!</a> You are free to send bug reports or just interact with
other members!
</div>
<div class="faqentry">
<h2>How do I play?</h2>
The default buttons are the left and right mouse buttons and the Z and X keys, which can be changed in the
<a href="settings.html">settings</a>.
The circles that appear on the game screen are called strike circles. When the circle outside the circle
shrinks and just falls on the circle, click the circle.
Some circles are long sliders, you need to hold down click on the circle and follow it to comple the slider.
When a large blue circle appears on the screen, click and hold the then quickly spin around the center of
the circle.
</div>
<div class="faqentry">
<h2>The cursor movement seems to be a bit delayed?</h2>
Try to enable the "Enable system cursor" option in the settings, which can reduce the delay of cursor
feedback. However, some operating systems or browsers may have problems such as flickering or inability to
display the cursor, so it's turned off by default. In addition, the current cursor size adjustment of the
hardware cursor is only fixed to 3 levels, the smallest value is displayed below 0.65, and the largest value
is displayed above 0.95.
</div>
<div class="faqentry">
<h2>The game is freezing/very choppy what do I do?</h2>
You can uncheck "Use system resolution" in the settings and set the resolution to a value lower than 100%.
It is recommended to avoid high CPU usage, close other tabs of the browser or close other applications.
Please make sure you are using a mainstream modern browser (such as Firefox, Chrome).
</div>
<div class="faqentry">
<h2>Why is the site blank?</h2>
It may be that the API that provides the beatmaps is broken/offline. You can check if that's the case by
looking here: <a href="https://osu.sayobot.cn/home/new">Sayobot</a>, if so wait and come back later.
To prevent this add beatmaps to your favorites and they will not be affected by API errors.
</div>
<div class="faqentry">
<h2>Can I upload a beatmap from a local osz file?</h2>
Not yet.
</div>
</div>
</div>
</body>

</html>
Binary file added favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added fonts/exo2_0.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit d034167

Please sign in to comment.