add readme with instructions
This commit is contained in:
parent
b0cd77f68a
commit
e7a0891bbb
|
@ -0,0 +1,26 @@
|
||||||
|
# blek! Online
|
||||||
|
A 88x31 widget to tell your website's users if you are online
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
There are some prerequisites for the user:
|
||||||
|
1. You should know how to use docker compose and linux shell commands
|
||||||
|
2. You MUST have a web server of your own. If you dont have it, there is literally no way for you to run this app.
|
||||||
|
3. You should have a UNIX machine that you use on a daily basis. If you really want to, write a PR with windows support.
|
||||||
|
|
||||||
|
If you do not meet the prerequisities, you are very unlikely to properly run this without any severe tinkering.
|
||||||
|
|
||||||
|
1. Clone the repo and cd to its directory
|
||||||
|
2. Generate a 1024 bytes long key: `head -c 1024 /dev/random > secret.key`
|
||||||
|
3. Put your server URL in `client/src/main.rs` on 4th line.
|
||||||
|
4. Install the client binary on your PC or laptop and set up a cron job to execute it once a minute.
|
||||||
|
5. Copy the `secret.key` to your server and `docker-compose up -d` it. Then pass it via the reverse proxy to whereever you want.
|
||||||
|
|
||||||
|
## Embeding the gif
|
||||||
|
|
||||||
|
Lets assume that `$URL` is your server's url.
|
||||||
|
Embded it like this:
|
||||||
|
|
||||||
|
```html
|
||||||
|
<img src='$URL/gif' width='88' height='31' alt='My online indicator' />
|
||||||
|
```
|
|
@ -57,7 +57,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
checksum = "327762f6e5a765692301e5bb513e0d9fef63be86bbc14528052b1cd3e6f03e07"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "blek-heartbeat"
|
name = "blek-online-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"obfstr",
|
"obfstr",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "blek-heartbeat"
|
name = "blek-online-client"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
use reqwest::{blocking, Method};
|
use reqwest::{blocking, Method};
|
||||||
use std::{result::Result, error::Error, process::exit, io::{Write, stderr}, fs, path::Path};
|
use std::{result::Result, error::Error, process::exit, io::{Write, stderr}, fs, path::Path};
|
||||||
|
|
||||||
|
const SERVER_URL: &'static str = "https://online.blek.codes"; // no '/' at the end
|
||||||
|
|
||||||
fn write_metrics(add: u32) -> Result<(), Box<dyn Error>> {
|
fn write_metrics(add: u32) -> Result<(), Box<dyn Error>> {
|
||||||
let user = users::get_user_by_uid(users::get_current_uid());
|
let user = users::get_user_by_uid(users::get_current_uid());
|
||||||
if let Some(user) = user.clone() {
|
if let Some(user) = user.clone() {
|
||||||
|
@ -27,9 +29,9 @@ fn write_metrics(add: u32) -> Result<(), Box<dyn Error>> {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn main() -> Result<(), Box<dyn Error>> {
|
fn main() -> Result<(), Box<dyn Error>> {
|
||||||
let key = include_bytes!("key.bin");
|
let key = include_bytes!("secret.key");
|
||||||
let cli = blocking::Client::new();
|
let cli = blocking::Client::new();
|
||||||
let res = cli.request(Method::POST, "https://hb.blek.codes/beat")
|
let res = cli.request(Method::POST, format!("{SERVER_URL}/beat"))
|
||||||
.body(key.to_vec())
|
.body(key.to_vec())
|
||||||
.send()?;
|
.send()?;
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "blek-heartbeat-server"
|
name = "blek-online-server"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[package]
|
[package]
|
||||||
name = "blek-heartbeat-server"
|
name = "blek-online-server"
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue