Initial commit.
This commit is contained in:
commit
0a9434be1b
18 changed files with 1860 additions and 0 deletions
87
client/README.md
Normal file
87
client/README.md
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
# NOJSCAP client
|
||||
|
||||
The client directory includes NOJSCAP client implementations in multiple languages. Each version takes a challenge string and a difficulty level, then searches for a nonce such that the SHA-256 hash of `challenge + nonce` begins with the required number of leading zero bits.
|
||||
|
||||
## Implementations
|
||||
|
||||
- **C**: `nojscap.c`
|
||||
- **Go**: `nojscap.go`
|
||||
- **Python**: `nojscap.py`
|
||||
- **JavaScript (Node.js)**: `nojscap.js`
|
||||
- **Rust**: `nojscap.rs`
|
||||
|
||||
Each implementation provides similar usage and functionality.
|
||||
|
||||
---
|
||||
|
||||
## C Version
|
||||
|
||||
### Compilation
|
||||
|
||||
You need:
|
||||
|
||||
- GCC or any C compiler
|
||||
- OpenSSL development libraries (`libssl-dev` on Debian-based systems)
|
||||
|
||||
```sh
|
||||
gcc -O2 -o nojscap nojscap.c -lssl -lcrypto
|
||||
```
|
||||
|
||||
### Usage
|
||||
|
||||
```sh
|
||||
./nojscap <challenge_string> <difficulty_bits>
|
||||
```
|
||||
|
||||
- `challenge_string`: Any input string used as the challenge.
|
||||
- `difficulty_bits`: Integer between 1 and 256. Higher values are more computationally expensive.
|
||||
|
||||
### Example
|
||||
|
||||
```sh
|
||||
./nojscap libroot12 26
|
||||
Attempts: 0
|
||||
Attempts: 1048576
|
||||
Attempts: 2097152
|
||||
Attempts: 3145728
|
||||
Attempts: 4194304
|
||||
Attempts: 5242880
|
||||
Attempts: 6291456
|
||||
Found nonce: 6368109
|
||||
Hash: 0000000e724d990815e84e8a53f3f2410875046fe62a050de830d706b853ebe2
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Python
|
||||
|
||||
```sh
|
||||
python3 nojscap.py <challenge_string> <difficulty_bits>
|
||||
```
|
||||
|
||||
May require the `hashlib` module if using older Python verisons (standard in Python 3).
|
||||
|
||||
## Go
|
||||
|
||||
```sh
|
||||
go run nojscap.go <challenge_string> <difficulty_bits>
|
||||
```
|
||||
|
||||
Requires Go 1.13+.
|
||||
|
||||
## JavaScript (Node.js)
|
||||
|
||||
```sh
|
||||
node nojscap.js <challenge_string> <difficulty_bits>
|
||||
```
|
||||
|
||||
Uses the built-in `crypto` module.
|
||||
|
||||
## Rust
|
||||
|
||||
```sh
|
||||
rustc nojscap.rs -o nojscap_rs
|
||||
./nojscap_rs <challenge_string> <difficulty_bits>
|
||||
```
|
||||
|
||||
Requires Rust and `sha2` crate if using the `Cargo` version.
|
||||
Loading…
Add table
Add a link
Reference in a new issue