Skip to content

Feature/fix readme and copy scripts no - #23

Open
terjeinnerdal wants to merge 4 commits into
mainfrom
feature/fix_README_and_copy_scripts_no
Open

Feature/fix readme and copy scripts no#23
terjeinnerdal wants to merge 4 commits into
mainfrom
feature/fix_README_and_copy_scripts_no

Conversation

@terjeinnerdal

@terjeinnerdal terjeinnerdal commented Aug 8, 2026

Copy link
Copy Markdown
Owner

Summary by CodeRabbit

  • New Features

    • Added installation of the Nord exit-node command to the local user command path.
  • Documentation

    • Reorganized and expanded setup instructions.
    • Added a complete command reference.
    • Documented exit-node and peer connection examples.
    • Listed configured peer names.
    • Added Raspberry Pi routing and DNS requirements.

@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Warning

Review limit reached

@terjeinnerdal, you've reached your PR review limit, so we couldn't start this review.

Next review available in: 54 minutes

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 5951526d-1658-4c7e-a230-9fb401a554b3

📥 Commits

Reviewing files that changed from the base of the PR and between 57704f2 and 89f866b.

📒 Files selected for processing (1)
  • bash/nord/exit_node.sh
📝 Walkthrough

Walkthrough

The change installs exit_node.sh as nord_exit_node and rewrites the Nord README with setup commands, command references, peer examples, configured peer names, and Raspberry Pi routing and DNS requirements.

Changes

Nord installation and documentation

Layer / File(s) Summary
Install and document the exit-node workflow
bash/nord/copy_scripts.sh, bash/nord/README.md
The copy script installs exit_node.sh as nord_exit_node. The README documents setup, commands, peer connections, configured peers, and Raspberry Pi routing and DNS requirements.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related PRs

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title identifies the README and script-copy changes, which match the main changes in the pull request.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch feature/fix_README_and_copy_scripts_no

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 5

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@bash/nord/copy_scripts.sh`:
- Line 17: Update the installation flow around copy_scripts.sh so peers.json is
installed alongside nord_exit_node in ~/.local/bin, preserving exit_node.sh’s
lookup behavior and ensuring clean installations can find the peer
configuration.

In `@bash/nord/README.md`:
- Line 54: Update the “RaspberryPi Routing / Exit Node Setup” heading to use the
standard product name “Raspberry Pi,” preserving the rest of the heading
unchanged.
- Line 56: Update the Raspberry Pi exit-node documentation to clarify that
routing permission does not grant LAN access; only peers listed in
allowed_for_local receive access to local-network devices, while
allowed_for_routing controls exit-node routing separately.
- Around line 7-14: Update the installation instructions surrounding
copy_scripts.sh to ensure ~/.local/bin exists and is persistently included in
PATH before sourcing ~/.bashrc, or move these responsibilities into
copy_scripts.sh. Preserve the documented global nord_ command usage after
installation.
- Line 24: Update the README documentation for nord_exit_node to describe local
exit-node configuration: change the command signature to use the current device
nickname, revise the table description, and update the related heading around
the documented section. Do not describe the command as selecting a peer as the
current device’s exit node.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: e6f2b45d-8cef-4229-ae94-a2e181a653d0

📥 Commits

Reviewing files that changed from the base of the PR and between bf7b3b9 and 57704f2.

📒 Files selected for processing (2)
  • bash/nord/README.md
  • bash/nord/copy_scripts.sh

Comment thread bash/nord/copy_scripts.sh

cp config.sh ~/.local/bin/nord_config
cp connect.sh ~/.local/bin/nord_connect
cp exit_node.sh ~/.local/bin/nord_exit_node

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Install peers.json with nord_exit_node.

bash/nord/exit_node.sh loads peers.json from the directory that contains the installed command. This change copies only the script, so nord_exit_node fails with “Peers configuration file not found” after a clean installation.

Copy the configuration file to the same directory, or change the script to use a documented configuration path.

Proposed fix
 cp exit_node.sh ~/.local/bin/nord_exit_node
+cp peers.json ~/.local/bin/peers.json
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
cp exit_node.sh ~/.local/bin/nord_exit_node
cp exit_node.sh ~/.local/bin/nord_exit_node
cp peers.json ~/.local/bin/peers.json
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bash/nord/copy_scripts.sh` at line 17, Update the installation flow around
copy_scripts.sh so peers.json is installed alongside nord_exit_node in
~/.local/bin, preserving exit_node.sh’s lookup behavior and ensuring clean
installations can find the peer configuration.

Comment thread bash/nord/README.md
Comment on lines 7 to +14
You can copy these scripts to your local bin directory to run them from anywhere:

Does need some ass bringing party tonight!

```bash
./copy_scripts.sh
source ~/.bashrc
./copy_scripts.sh
source ~/.bashrc
```

Once installed, all commands are globally available with a `nord_` prefix (e.g. `nord_login`).# Available Commands Local File | Installed Global Command | Description | :--- | :--- | :--- | `login.sh` | `nord_login` | Authenticate with NordVPN | `logout.sh` | `nord_logout` | Log out of NordVPN |
`config.sh` | `nord_config` | Configure NordVPN routing and settings |
`connect.sh` | `nord_connect <peer>` | Connect to a Meshnet peer |
`exit_node.sh` | `nord_exit_node <peer>` | Set a peer as your exit node |
`list_peers.sh` | `nord_list_peers` | List available Meshnet peers |
`set_nickname.sh` | `nord_set_nickname` | Set a local nickname for the device |
`reset.sh` | `nord_reset` | Reset NordVPN settings to defaults |
Once installed, all commands are globally available with a `nord_` prefix (e.g. `nord_login`).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Document the ~/.local/bin prerequisites.

copy_scripts.sh does not create ~/.local/bin or add it to PATH. source ~/.bashrc only reloads the existing file. On a clean system, installation can fail or the commands will not be available globally.

Add directory creation and a correct persistent PATH setup to these instructions, or make copy_scripts.sh perform those steps.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bash/nord/README.md` around lines 7 - 14, Update the installation
instructions surrounding copy_scripts.sh to ensure ~/.local/bin exists and is
persistently included in PATH before sourcing ~/.bashrc, or move these
responsibilities into copy_scripts.sh. Preserve the documented global nord_
command usage after installation.

Comment thread bash/nord/README.md
| `logout.sh` | `nord_logout` | Log out of NordVPN |
| `config.sh` | `nord_config` | Configure NordVPN routing and settings |
| `connect.sh` | `nord_connect <peer>` | Connect to a Meshnet peer |
| `exit_node.sh` | `nord_exit_node <peer>` | Set a peer as your exit node |

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎯 Functional Correctness | 🟠 Major | ⚡ Quick win

Describe nord_exit_node as local exit-node configuration.

bash/nord/exit_node.sh accepts a nickname for the current device, sets that local nickname, and grants permissions to peers from peers.json. It does not select <peer> as the current device’s exit node.

Update the command signature, description, and heading.

Proposed documentation change
-| `exit_node.sh` | `nord_exit_node <peer>` | Set a peer as your exit node |
+| `exit_node.sh` | `nord_exit_node <nickname_for_this_device>` | Configure this device as an exit node |

-### Set Exit Node
+### Configure This Device as an Exit Node

Also applies to: 31-35

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bash/nord/README.md` at line 24, Update the README documentation for
nord_exit_node to describe local exit-node configuration: change the command
signature to use the current device nickname, revise the table description, and
update the related heading around the documented section. Do not describe the
command as selecting a peer as the current device’s exit node.

Comment thread bash/nord/README.md
- `mesh-raspberry`
- `mesh-sunndal`

## RaspberryPi Routing / Exit Node Setup

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Use the standard product name Raspberry Pi.

Change RaspberryPi to Raspberry Pi.

🧰 Tools
🪛 LanguageTool

[grammar] ~54-~54: Ensure spelling is correct
Context: ...- mesh-raspberry - mesh-sunndal ## RaspberryPi Routing / Exit Node Setup The Raspberr...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bash/nord/README.md` at line 54, Update the “RaspberryPi Routing / Exit Node
Setup” heading to use the standard product name “Raspberry Pi,” preserving the
rest of the heading unchanged.

Source: Linters/SAST tools

Comment thread bash/nord/README.md
The Raspberry Pi is configured to act as an exit-node for other Meshnet peers, allowing them to route traffic through it and
access LAN devices (like printers or cameras).
*Note:* If you want to route streaming traffic (e.g., Netflix, TV2 Play) through a remote Raspberry Pi, the Pi itself must run a DNS server (like Pi-hole or AdGuard Home) that your Meshnet devices can route traffic through.
The Raspberry Pi will be configured to act as an exit-node for other Meshnet peers. Other peers using the Raspberry Pi for routing also gives them permission to access local devices like printers, cameras, and other LAN-connected devices.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔒 Security & Privacy | 🟠 Major | ⚡ Quick win

Separate routing permission from LAN-access permission.

bash/nord/exit_node.sh uses separate allowed_for_routing and allowed_for_local lists. In bash/nord/peers.json, several routing peers are not in the local-access list. Routing through the Raspberry Pi does not automatically grant access to printers, cameras, or other LAN devices.

State that only peers in allowed_for_local receive local-network access.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@bash/nord/README.md` at line 56, Update the Raspberry Pi exit-node
documentation to clarify that routing permission does not grant LAN access; only
peers listed in allowed_for_local receive access to local-network devices, while
allowed_for_routing controls exit-node routing separately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant