Merge pull request #28 from FoxFromDarkness66/patch-2

Add bind address CL option
This commit is contained in:
Dániel Szabó 2022-07-15 22:47:39 +01:00 committed by GitHub
commit 465873e095
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 18 additions and 6 deletions

View file

@ -105,14 +105,14 @@ Remember, MicroBin will create your database and file storage wherever you execu
`cd ~/microbin/` `cd ~/microbin/`
`microbin --port 8080 --highlightsyntax --editable` `microbin --highlightsyntax --editable`
### From AUR (for any Arch-based distro) ### From AUR (for any Arch-based distro)
Install `microbin` package from AUR and start/enable microbin systemd service. Systemd will start server on port 8080, which can be [changed](https://wiki.archlinux.org/title/Systemd#Editing_providd_units) via `systemctl edit microbin`. By default, almost all functions are enabled, and data is stored in `/var/lib/microbin` Install `microbin` package from AUR and start/enable microbin systemd service. Systemd will start server on port 8080, which can be [changed](https://wiki.archlinux.org/title/Systemd#Editing_providd_units) via `systemctl edit microbin`. By default, almost all functions are enabled, and data is stored in `/var/lib/microbin`
### Building MicroBin ### Building MicroBin
Simply clone the repository, build it with `cargo build --release` and run the `microbin` executable in the created `target/release/` directory. It will start on port 8080. You can change the port with `-p` or `--port` CL arguments. For other arguments see [the Wiki](https://github.com/szabodanika/microbin/wiki). Simply clone the repository, build it with `cargo build --release` and run the `microbin` executable in the created `target/release/` directory. It will start listening on 0.0.0.0:8080. You can change the port or bind address with CL arguments `-p (--port)` or `-b (--bind)` respectively . For other arguments see [the Wiki](https://github.com/szabodanika/microbin/wiki).
``` ```
git clone https://github.com/szabodanika/microbin.git git clone https://github.com/szabodanika/microbin.git
@ -286,6 +286,13 @@ Default value: 8080
Sets the port for the server will be listening on. Sets the port for the server will be listening on.
### -b, --bind [ADDRESS]
Default value: 0.0.0.0
Sets the bind address for the server will be listening on. Both ipv4 and ipv6 are supported.
### --private ### --private
Enables private pastas. Adds a new checkbox to make your pasta private, which then won't show up on the pastalist page. With the URL to your pasta, it will still be accessible. Enables private pastas. Adds a new checkbox to make your pasta private, which then won't show up on the pastalist page. With the URL to your pasta, it will still be accessible.

View file

@ -1,3 +1,4 @@
use std::net::IpAddr;
use clap::Parser; use clap::Parser;
use lazy_static::lazy_static; use lazy_static::lazy_static;
@ -36,7 +37,10 @@ pub struct Args {
pub highlightsyntax: bool, pub highlightsyntax: bool,
#[clap(short, long, default_value_t = 8080)] #[clap(short, long, default_value_t = 8080)]
pub port: u32, pub port: u16,
#[clap(short, long, default_value_t = IpAddr::from([0, 0, 0, 0]))]
pub bind: IpAddr,
#[clap(long)] #[clap(long)]
pub private: bool, pub private: bool,
@ -55,4 +59,4 @@ pub struct Args {
#[clap(long)] #[clap(long)]
pub wide: bool, pub wide: bool,
} }

View file

@ -58,7 +58,8 @@ async fn main() -> std::io::Result<()> {
.init(); .init();
log::info!( log::info!(
"MicroBin starting on http://127.0.0.1:{}", "MicroBin starting on http://{}:{}",
ARGS.bind.to_string(),
ARGS.port.to_string() ARGS.port.to_string()
); );
@ -97,7 +98,7 @@ async fn main() -> std::io::Result<()> {
HttpAuthentication::basic(util::auth::auth_validator), HttpAuthentication::basic(util::auth::auth_validator),
)) ))
}) })
.bind(format!("0.0.0.0:{}", ARGS.port.to_string()))? .bind((ARGS.bind, ARGS.port))?
.workers(ARGS.threads as usize) .workers(ARGS.threads as usize)
.run() .run()
.await .await