Skip to content
This repository was archived by the owner on Jul 31, 2025. It is now read-only.
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 45 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Contributing to unraid-tailscale-utils

Thank you for your interest in contributing to **unraid-tailscale-utils**!

## How to Contribute

- **Bug Reports & Feature Requests:**
Please open an issue describing your bug or feature request with as much detail as possible.

- **Pull Requests:**
1. Fork the repository and create your branch from `main`.
2. Make your changes, following the existing code style.
3. Add or update tests as appropriate.
4. Ensure your code passes all checks (see below).
5. Submit a pull request with a clear description of your changes.

## Localization

New strings should be added to `src/usr/local/emhttp/plugins/tailscale/locales/en_US.json`.

Translations are managed via Crowdin (https://translate.edac.dev/)

## Code Quality & Checks

This repository uses automated code checks via GitHub Actions ([.github/workflows/lint.yml](.github/workflows/lint.yml)):

- **Static Analysis:**
Run `vendor/bin/phpstan` after running `./composer install` in the repository root.

- **Code Formatting:**
Run `vendor/bin/php-cs-fixer fix` to automatically apply formatting rules.

- **Commit Message Linting:**
All commits must follow the [Conventional Commits](https://www.conventionalcommits.org/) specification.
Example:
```
feat: add advanced log filtering
fix: resolve colorization bug in syslog view
```

These checks are run automatically on every push and pull request. Please ensure your code passes locally before submitting.

## License

By contributing to this repository, you agree that your contributions will be licensed under the [GNU General Public License v3.0 or later](LICENSE).
36 changes: 35 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,35 @@
# unraid-tailscale-utils
# unraid-tailscale-utils

[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](LICENSE)
[![GitHub Releases](https://img.shields.io/github/v/release/unraid/unraid-tailscale-utils)](https://github.com/unraid/unraid-tailscale-utils/releases)
[![Last Commit](https://img.shields.io/github/last-commit/unraid/unraid-tailscale-utils)](https://github.com/unraid/unraid-tailscale-utils/commits/main/)
[![Code Style: PHP-CS-Fixer](https://img.shields.io/badge/code%20style-php--cs--fixer-brightgreen.svg)](https://github.com/FriendsOfPHP/PHP-CS-Fixer)
![GitHub Downloads (all assets, all releases)](https://img.shields.io/github/downloads/unraid/unraid-tailscale-utils/total)
![GitHub Downloads (all assets, latest release)](https://img.shields.io/github/downloads/unraid/unraid-tailscale-utils/latest/total)

## Features
- Easy Tailscale installation and management on Unraid
- Helper scripts for authentication and status
- Example configurations for common use cases

## Development

### Requirements

- [Composer](https://getcomposer.org/) for dependency management

### Testing

1. Clone the repository.
2. Run `./composer install` to install dependencies.
3. For local testing, copy the contents of `src/` (except for the `install` directory) to the root of the Unraid test system.

### Release

`.github/workflows/release.yml` Automatically builds a Slackware package when a Github release is created. The resulting package is installed on Unraid via the [unraid/unraid-tailscale](https://github.com/unraid/unraid-tailscale) plugin.

### Contributing
Pull requests and issues are welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines, including code checks, commit message conventions, and licensing. You can also open an issue to discuss your idea.

## License
This project is licensed under the GNU General Public License v3.0 or later. See [LICENSE](LICENSE) for details.