{"id":35198836,"url":"https://github.com/thinhngotony/alias","last_synced_at":"2026-04-02T14:01:28.045Z","repository":{"id":328123857,"uuid":"1114289965","full_name":"thinhngotony/alias","owner":"thinhngotony","description":"Hyber Alias - One command. All your shell aliases. Everywhere. Cross-platform alias manager for Git, Kubernetes, and system operations.","archived":false,"fork":false,"pushed_at":"2026-03-26T08:34:52.000Z","size":177,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-27T02:42:22.016Z","etag":null,"topics":["aliases","bash","cross-platform","dotfiles","powershell","productivity","shell","zsh"],"latest_commit_sha":null,"homepage":"https://alias.hyberorbit.com","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thinhngotony.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-12-11T06:55:34.000Z","updated_at":"2026-03-26T08:34:53.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/thinhngotony/alias","commit_stats":null,"previous_names":["thinhngotony/alias"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/thinhngotony/alias","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinhngotony%2Falias","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinhngotony%2Falias/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinhngotony%2Falias/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinhngotony%2Falias/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thinhngotony","download_url":"https://codeload.github.com/thinhngotony/alias/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thinhngotony%2Falias/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31307454,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T12:59:32.332Z","status":"ssl_error","status_checked_at":"2026-04-02T12:54:48.875Z","response_time":89,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aliases","bash","cross-platform","dotfiles","powershell","productivity","shell","zsh"],"created_at":"2025-12-29T09:27:08.999Z","updated_at":"2026-04-02T14:01:28.038Z","avatar_url":"https://github.com/thinhngotony.png","language":"Shell","readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/platforms-Linux%20%7C%20macOS%20%7C%20Windows-blue\" alt=\"Platforms\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/shells-Bash%20%7C%20Zsh%20%7C%20Fish%20%7C%20PowerShell-green\" alt=\"Shells\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/thinhngotony/alias\" alt=\"License\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/PRs-welcome-brightgreen\" alt=\"PRs Welcome\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eHyber Alias\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eOne command. All your shell aliases. Everywhere.\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  A cross-platform shell alias manager that installs a curated set of\u003cbr\u003e\n  productivity aliases for Git, Kubernetes, and system operations.\n\u003c/p\u003e\n\n---\n\n## Quick Start\n\n**Linux / macOS (Bash, Zsh, Fish, sh)**\n\n```sh\ncurl -sfS https://alias.hyberorbit.com/install | sh\n```\n\n**Windows PowerShell**\n\n```powershell\niwr -useb https://alias.hyberorbit.com/install.ps1 | iex\n```\n\n\u003e Open a new terminal after install, or run your shell activation command (e.g. `source ~/.bashrc`, `source ~/.zshrc`, or `source ~/.config/fish/conf.d/hyber-alias.fish`).\n\n**Verify installation:**\n\n```bash\nalias | grep -E \"^g|^k\"\n```\n\nYou should see aliases like `ga`, `gb`, `gs`, `k`, `kgp`, etc.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAlternative URL (if the above doesn't work)\u003c/strong\u003e\u003c/summary\u003e\n\n```sh\n# Linux/macOS\ncurl -sfS https://raw.githubusercontent.com/thinhngotony/alias/main/install-universal.sh | sh\n\n# Windows PowerShell\niwr -useb https://raw.githubusercontent.com/thinhngotony/alias/main/install.ps1 | iex\n```\n\n\u003c/details\u003e\n\n---\n\n## Why Hyber Alias?\n\n| Feature            | Description                                      |\n| ------------------ | ------------------------------------------------ |\n| **Zero Config**    | Auto-detects OS, shell, and environment          |\n| **Cross-Platform** | Linux, macOS, Windows, WSL, Docker, Kubernetes   |\n| **Instant Setup**  | Installs in under 5 seconds                      |\n| **Always Fresh**   | Auto-updates on each shell start                 |\n| **Customizable**   | Add your own aliases that persist across updates |\n| **Offline Ready**  | Works without internet after first install       |\n| **Discoverable**   | Type `alias-` + TAB for category autocomplete    |\n| **Secure**         | AES-256-CBC encrypted secret storage             |\n\n---\n\n## Quick Reference\n\nType `alias-` then press **TAB** for autocomplete:\n\n```bash\nalias-help      # Show all categories\nalias-git       # Git aliases\nalias-k8s       # Kubernetes aliases\nalias-system    # System aliases\nalias-ai        # AI coding agent aliases\nalias-add       # Add custom alias to category\nalias-remove    # Remove custom alias\nalias-list      # List custom categories\n```\n\n---\n\n## Aliases Reference\n\n### Git\n\n| Alias          | Command                      | Description                                   |\n| :------------- | :--------------------------- | :-------------------------------------------- |\n| `ga`           | `git add .`                  | Stage all changes                             |\n| `gb`           | `git branch`                 | List branches                                 |\n| `gc \u003cmsg\u003e`     | `git commit -m \u003cmsg\u003e`        | Commit with message (use `gcm` on PowerShell) |\n| `gd`           | `git diff`                   | Show unstaged changes                         |\n| `glog`         | `git log --oneline -n 20`    | Recent commits                                |\n| `gph \u003cbranch\u003e` | `git push origin \u003cbranch\u003e`   | Push to remote                                |\n| `gpl \u003cbranch\u003e` | `git pull origin \u003cbranch\u003e`   | Pull from remote                              |\n| `gs`           | `git status`                 | Working tree status                           |\n| `gsw \u003cbranch\u003e` | `git switch \u003cbranch\u003e`        | Switch branches                               |\n| `gauto`        | Stage, commit \"Backup\", push | Quick backup                                  |\n\n### Kubernetes\n\n| Alias       | Command                          | Description         |\n| :---------- | :------------------------------- | :------------------ |\n| `k`         | `kubectl`                        | Shorthand           |\n| `ka \u003cfile\u003e` | `kubectl apply -f \u003cfile\u003e`        | Apply manifest      |\n| `kd`        | `kubectl delete`                 | Delete resource     |\n| `kdesc`     | `kubectl describe`               | Describe resource   |\n| `ke`        | `kubectl exec -it`               | Exec into container |\n| `kg`        | `kubectl get`                    | Get resources       |\n| `kgp`       | `kubectl get pods`               | List pods           |\n| `kgs`       | `kubectl get services`           | List services       |\n| `kl`        | `kubectl logs`                   | View logs           |\n| `kctx`      | `kubectl config current-context` | Current context     |\n| `kns \u003cns\u003e`  | Set namespace                    | Switch namespace    |\n\n### System\n\n| Alias    | Command             | Description     |\n| :------- | :------------------ | :-------------- |\n| `ll`     | `ls -lah`           | Detailed list   |\n| `la`     | `ls -A`             | List all        |\n| `cls`    | `clear`             | Clear screen    |\n| `reload` | Reload shell config | Refresh aliases |\n| `home`   | `cd ~`              | Go home         |\n| `..`     | `cd ..`             | Up one level    |\n| `...`    | `cd ../..`          | Up two levels   |\n\n### AI\n\n| Alias      | Command                                                                      | Description               |\n| :--------- | :--------------------------------------------------------------------------- | :------------------------ |\n| `copilotx` | `copilot --allow-all-tools --allow-all-paths`                                | Full access Copilot agent |\n| `claudex`  | `claude --allow-dangerously-skip-permissions --dangerously-skip-permissions` | Full access Claude agent  |\n\n---\n\n## Secure Secret Storage\n\nStore sensitive tokens and credentials with AES-256-CBC encryption:\n\n```bash\n# Store a secret (prompts for encryption password)\nalias-secret-add my-token \"your-api-token\"\n\n# Retrieve a secret (prompts for decryption password, copies to clipboard if available)\nalias-secret-get my-token\n\n# List all stored secrets\nalias-secret-list\n\n# Remove a secret (secure deletion)\nalias-secret-remove my-token\n```\n\nSecrets are encrypted at rest using OpenSSL AES-256-CBC with PBKDF2 key derivation. Files are stored in `~/.alias/.secrets/` with `600` permissions.\n\n---\n\n## Custom Aliases\n\nAdd your own aliases in `~/.alias/custom/`. They persist across updates.\n\n### Using alias-add (Recommended)\n\nCreate organized custom categories with the built-in commands:\n\n```bash\n# Add alias to a category\nalias-add ai claudex \"claude --dangerously-skip-permissions\"\nalias-add ai gpt \"chatgpt --model gpt-4\"\n\n# View category aliases\nalias-ai\n\n# List all custom categories\nalias-list\n\n# Remove an alias\nalias-remove ai gpt\n```\n\n### Manual Creation\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eLinux / macOS\u003c/strong\u003e\u003c/summary\u003e\n\nCreate a `.sh` file:\n\n```bash\ncat \u003e ~/.alias/custom/docker.sh \u003c\u003c 'EOF'\nalias dc='docker-compose'\nalias dcu='docker-compose up -d'\nalias dcd='docker-compose down'\nalias dps='docker ps'\nEOF\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindows PowerShell\u003c/strong\u003e\u003c/summary\u003e\n\nCreate a `.ps1` file:\n\n```powershell\n@'\nfunction dc { docker-compose $args }\nfunction dcu { docker-compose up -d $args }\nfunction dcd { docker-compose down $args }\nfunction dps { docker ps $args }\n'@ | Out-File ~\\.alias\\custom\\docker.ps1\n```\n\n\u003c/details\u003e\n\n---\n\n## How It Works\n\n```\n1. Install script downloads loader to ~/.alias/\n2. Adds source line to shell config (.bashrc / $PROFILE)\n3. Loader fetches latest aliases on each shell start\n4. Custom aliases in ~/.alias/custom/ are loaded last\n```\n\n**Directory structure after install:**\n\n```\n~/.alias/\n├── load.sh       # Loader (Linux/macOS)\n├── load.ps1      # Loader (Windows)\n├── env.sh        # Environment config\n├── cache/        # Downloaded alias modules\n├── custom/       # Your custom aliases (*.sh)\n└── .secrets/     # Encrypted secrets (AES-256-CBC)\n```\n\n---\n\n## Security\n\nHyber Alias follows security best practices:\n\n- **Input validation**: Category and alias names are restricted to alphanumeric characters, hyphens, and underscores. Path traversal and shell metacharacter injection are blocked.\n- **Encrypted secrets**: Secrets are stored using AES-256-CBC encryption with PBKDF2 key derivation via OpenSSL (not base64).\n- **Atomic file operations**: Downloads and updates use temporary files (`mktemp`) with atomic moves to prevent corruption.\n- **Race condition protection**: Self-updates use directory-based locking to prevent concurrent modification.\n- **Symlink protection**: Custom alias loading skips symbolic links to prevent symlink attacks.\n- **Secure deletion**: Secret removal uses `shred` when available for secure file erasure.\n- **No `exec` in installers**: Installation scripts print activation instructions instead of forcing shell replacement.\n\n---\n\n## Updating\n\nAliases auto-update on each new shell session.\n\n**Force update:**\n\n```bash\n# Linux/macOS\nsource ~/.alias/load.sh\n\n# Windows\n. ~\\.alias\\load.ps1\n```\n\n---\n\n## Uninstall\n\n**Linux / macOS**\n\n```sh\ncurl -sfS https://alias.hyberorbit.com/uninstall | sh\n```\n\n**Windows PowerShell**\n\n```powershell\niwr -useb https://alias.hyberorbit.com/uninstall.ps1 | iex\n```\n\n---\n\n## Troubleshooting\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindows: \"Running scripts is disabled\"\u003c/strong\u003e\u003c/summary\u003e\n\nPowerShell blocks scripts by default. Fix:\n\n```powershell\nSet-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force\n```\n\nThen reinstall.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindows: Aliases not working\u003c/strong\u003e\u003c/summary\u003e\n\nOpen a new PowerShell window, or run:\n\n```powershell\n. ~\\.alias\\load.ps1\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eWindows: Garbled characters\u003c/strong\u003e\u003c/summary\u003e\n\nCosmetic issue with UTF-8. Install still works. Latest version uses ASCII-only output.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eLinux/macOS: Aliases not working\u003c/strong\u003e\u003c/summary\u003e\n\n```bash\nsource ~/.bashrc  # or ~/.zshrc\n```\n\nOr open a new terminal.\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eClean reinstall\u003c/strong\u003e\u003c/summary\u003e\n\n**Linux/macOS:**\n\n```sh\ncurl -sfS https://alias.hyberorbit.com/uninstall | sh\ncurl -sfS https://alias.hyberorbit.com/install | sh\n```\n\n**Windows:**\n\n```powershell\niwr -useb https://alias.hyberorbit.com/uninstall.ps1 | iex\niwr -useb https://alias.hyberorbit.com/install.ps1 | iex\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cstrong\u003eAlias conflicts\u003c/strong\u003e\u003c/summary\u003e\n\nSome aliases (e.g., `gc`) override PowerShell built-ins. Use full command name if needed: `Get-Content` instead of `gc`.\n\n\u003c/details\u003e\n\n---\n\n## Requirements\n\n| Platform | Requirement                                     |\n| -------- | ----------------------------------------------- |\n| Linux    | Bash, Zsh, or Fish, `curl`, `openssl`           |\n| macOS    | Bash, Zsh, or Fish, `curl`, `openssl`           |\n| Windows  | PowerShell 5.1+ (built-in on Windows 10/11)     |\n\n---\n\n## Contributing\n\nContributions welcome! Please read our contributing guidelines.\n\n1. Fork the repository\n2. Create feature branch (`git checkout -b feature/new-alias`)\n3. Commit changes (`git commit -m 'Add new alias'`)\n4. Push to branch (`git push origin feature/new-alias`)\n5. Open a Pull Request\n\n---\n\n## License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003csub\u003eBuilt with care by \u003ca href=\"https://hyberorbit.com\"\u003eHyber Orbit\u003c/a\u003e\u003c/sub\u003e\n\u003c/p\u003e\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinhngotony%2Falias","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthinhngotony%2Falias","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthinhngotony%2Falias/lists"}