mirror of
https://github.com/cupcakearmy/cryptgeon.git
synced 2024-12-22 08:16:28 +00:00
Merge pull request #90 from cupcakearmy/feature/52-Add-note-id-size-option
feat: add note id size option
This commit is contained in:
commit
dc1c03d912
11
CHANGELOG.md
11
CHANGELOG.md
@ -5,18 +5,17 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [2.3.0] - 2023-05-XX
|
||||
## [2.3.0] - 2023-05-30
|
||||
|
||||
### Added
|
||||
|
||||
- New CLI 🎉
|
||||
- Russian language
|
||||
- New CLI 🎉.
|
||||
- Russian language.
|
||||
- Option for reducing note id size (`ID_LENGTH`).
|
||||
|
||||
### Changed
|
||||
|
||||
- Moved to monorepo
|
||||
|
||||
## [2.2.0] - 2023-01-14
|
||||
- Moved to monorepo.
|
||||
|
||||
### Changed
|
||||
|
||||
|
@ -69,6 +69,7 @@ of the notes even if it tried to.
|
||||
| `MAX_VIEWS` | `100` | Maximal number of views. |
|
||||
| `MAX_EXPIRATION` | `360` | Maximal expiration in minutes. |
|
||||
| `ALLOW_ADVANCED` | `true` | Allow custom configuration. If set to `false` all notes will be one view only. |
|
||||
| `ID_LENGTH` | `32` | Set the size of the note `id` in bytes. By default this is `32` bytes. This is useful for reducing link size. _This setting does not affect encryption strength_. |
|
||||
| `VERBOSITY` | `warn` | Verbosity level for the backend. [Possible values](https://docs.rs/env_logger/latest/env_logger/#enabling-logging) are: `error`, `warn`, `info`, `debug`, `trace` |
|
||||
| `THEME_IMAGE` | `""` | Custom image for replacing the logo. Must be publicly reachable |
|
||||
| `THEME_TEXT` | `""` | Custom text for replacing the description below the logo |
|
||||
@ -163,7 +164,9 @@ Running `pnpm run dev` in the root folder will start the following things:
|
||||
|
||||
You can see the app under [localhost:1234](http://localhost:1234).
|
||||
|
||||
## Tests
|
||||
> There is a Postman collection with some example requests [available in the repo](./Cryptgeon.postman_collection.json)
|
||||
|
||||
### Tests
|
||||
|
||||
Tests are end to end tests written with Playwright.
|
||||
|
||||
|
2
packages/backend/Cargo.lock
generated
2
packages/backend/Cargo.lock
generated
@ -439,7 +439,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "cryptgeon"
|
||||
version = "2.3.0-beta.6"
|
||||
version = "2.3.0"
|
||||
dependencies = [
|
||||
"actix-files",
|
||||
"actix-web",
|
||||
|
@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "cryptgeon"
|
||||
version = "2.3.0-beta.6"
|
||||
version = "2.3.0"
|
||||
authors = ["cupcakearmy <hi@nicco.io>"]
|
||||
edition = "2021"
|
||||
|
||||
|
@ -30,6 +30,10 @@ lazy_static! {
|
||||
.unwrap_or("true".to_string())
|
||||
.parse()
|
||||
.unwrap();
|
||||
pub static ref ID_LENGTH: u32 = std::env::var("ID_LENGTH")
|
||||
.unwrap_or("32".to_string())
|
||||
.parse()
|
||||
.unwrap();
|
||||
}
|
||||
|
||||
// THEME
|
||||
|
@ -2,6 +2,8 @@ use bs62;
|
||||
use ring::rand::SecureRandom;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::config;
|
||||
|
||||
#[derive(Serialize, Deserialize, Clone)]
|
||||
pub struct Note {
|
||||
pub meta: String,
|
||||
@ -22,8 +24,13 @@ pub struct NotePublic {
|
||||
}
|
||||
|
||||
pub fn generate_id() -> String {
|
||||
let mut id: [u8; 32] = [0; 32];
|
||||
let mut result = "".to_owned();
|
||||
let mut id: [u8; 1] = [0; 1];
|
||||
let sr = ring::rand::SystemRandom::new();
|
||||
let _ = sr.fill(&mut id);
|
||||
return bs62::encode_data(&id);
|
||||
|
||||
for _ in 0..*config::ID_LENGTH {
|
||||
let _ = sr.fill(&mut id);
|
||||
result.push_str(&bs62::encode_data(&id));
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
{
|
||||
"version": "2.3.0-beta.6",
|
||||
"version": "2.3.0",
|
||||
"name": "cryptgeon",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
|
Loading…
Reference in New Issue
Block a user