Set up CLI flags to manually test 2 servers at once
							parent
							
								
									063e79d217
								
							
						
					
					
						commit
						c056118798
					
				| 
						 | 
					@ -4,7 +4,6 @@ name = "ptth"
 | 
				
			||||||
version = "0.1.0"
 | 
					version = "0.1.0"
 | 
				
			||||||
authors = ["Trish"]
 | 
					authors = ["Trish"]
 | 
				
			||||||
edition = "2018"
 | 
					edition = "2018"
 | 
				
			||||||
license-file = "COPYING"
 | 
					 | 
				
			||||||
license = "AGPL-3.0"
 | 
					license = "AGPL-3.0"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
					# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
 | 
				
			||||||
| 
						 | 
					@ -23,5 +22,6 @@ regex = "1.4.1"
 | 
				
			||||||
reqwest = { version = "0.10.8", features = ["stream"] }
 | 
					reqwest = { version = "0.10.8", features = ["stream"] }
 | 
				
			||||||
rmp-serde = "0.14.4"
 | 
					rmp-serde = "0.14.4"
 | 
				
			||||||
serde = {version = "1.0.117", features = ["derive"]}
 | 
					serde = {version = "1.0.117", features = ["derive"]}
 | 
				
			||||||
 | 
					structopt = "0.3.20"
 | 
				
			||||||
tokio = { version = "0.2.22", features = ["full"] }
 | 
					tokio = { version = "0.2.22", features = ["full"] }
 | 
				
			||||||
ulid = "0.4.1"
 | 
					ulid = "0.4.1"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,11 +1,30 @@
 | 
				
			||||||
use std::error::Error;
 | 
					use std::{
 | 
				
			||||||
 | 
						error::Error,
 | 
				
			||||||
 | 
						path::PathBuf,
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					use structopt::StructOpt;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#[derive (Debug, StructOpt)]
 | 
				
			||||||
 | 
					struct Opt {
 | 
				
			||||||
 | 
						#[structopt (name = "RELAY_URL")]
 | 
				
			||||||
 | 
						relay_url: String,
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						#[structopt (name = "SERVER_NAME")]
 | 
				
			||||||
 | 
						server_name: String,
 | 
				
			||||||
 | 
						
 | 
				
			||||||
 | 
						#[structopt (long)]
 | 
				
			||||||
 | 
						file_server_root: Option <PathBuf>,
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#[tokio::main]
 | 
					#[tokio::main]
 | 
				
			||||||
async fn main () -> Result <(), Box <dyn Error>> {
 | 
					async fn main () -> Result <(), Box <dyn Error>> {
 | 
				
			||||||
 | 
						let opt = Opt::from_args ();
 | 
				
			||||||
 | 
						
 | 
				
			||||||
	let opt = ptth::server::Opt {
 | 
						let opt = ptth::server::Opt {
 | 
				
			||||||
		relay_url: "http://127.0.0.1:4000".into (),
 | 
							relay_url: opt.relay_url,
 | 
				
			||||||
		server_name: "alien_wildlands".into (),
 | 
							server_name: opt.server_name,
 | 
				
			||||||
		file_server_root: "/home/user".into (),
 | 
							file_server_root: opt.file_server_root.unwrap_or ("/home/user".into ()),
 | 
				
			||||||
	};
 | 
						};
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	ptth::server::main (opt).await
 | 
						ptth::server::main (opt).await
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										5
									
								
								todo.md
								
								
								
								
							
							
						
						
									
										5
									
								
								todo.md
								
								
								
								
							| 
						 | 
					@ -1,11 +1,8 @@
 | 
				
			||||||
- Parameter for server URL
 | 
					- Fix possible timing gap when refreshing http_listen
 | 
				
			||||||
- Parameter for static file serve path
 | 
					 | 
				
			||||||
- Parameter for server name
 | 
					 | 
				
			||||||
- Set up tokens or privkeys or tripcodes or something so 
 | 
					- Set up tokens or privkeys or tripcodes or something so 
 | 
				
			||||||
clients can't trivially impersonate servers
 | 
					clients can't trivially impersonate servers
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Prevent directory traversal attacks
 | 
					- Prevent directory traversal attacks
 | 
				
			||||||
- Fix possible timing gap when refreshing http_listen (Just have client wait a few seconds?)
 | 
					 | 
				
			||||||
- Error handling
 | 
					- Error handling
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- Reverse proxy to other local servers
 | 
					- Reverse proxy to other local servers
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue