Git Server Documentation

Complete guide to using 404's git hosting service

✍️ Dasho 📅 2026-02-07
git version-control ssh https

🌳 Git Repository Server

404 provides a full-featured git hosting service with SSH and HTTPS access, interactive TUI, and anonymous repository hosting.

📡 Connection Details

ServiceAddressPort
SSH (Git)git@git.4-0-4.io22
SSH (Shell)ssh://git.4-0-4.io22
HTTPShttps://gitx.4-0-4.io443

🚀 Quick Start

Browse Repositories (TUI)

Launch the interactive Terminal User Interface to explore available repositories:
ssh git.4-0-4.io

No authentication required to browse public repositories!

Clone a Repository

Via SSH:
git clone git@git.4-0-4.io:repository-name.git

Via HTTPS:
git clone https://gitx.4-0-4.io/repository-name.git

🔧 Repository Management

Create a New Repository

  1. Connect to the TUI via SSH
  2. Select "Create Repository" from the menu
  3. Choose a name and visibility settings
  4. Follow the on-screen instructions

Push to Your Repository

# Add remote
git remote add origin git@git.4-0-4.io:your-repo.git

# Push your code
git push -u origin main

Repository Settings

  • Public Repositories: Visible to everyone, no authentication needed to clone
  • Private Repositories: Require authentication to access
  • Collaboration: Add collaborators via the TUI

🔑 Authentication

SSH Keys

Add your SSH public key through the TUI:
  1. Connect via SSH
  2. Navigate to "Settings" → "SSH Keys"
  3. Paste your public key (usually ~/.ssh/id_rsa.pub)

Generate a new SSH key if needed:

ssh-keygen -t ed25519 -C "your_email@example.com"

HTTPS Authentication

For HTTPS access, use personal access tokens:
  1. Generate a token in the TUI under "Settings" → "Tokens"
  2. When prompted for a password during git operations, use your token

🌐 Advanced Features

Git Hooks

Support for server-side hooks:
  • pre-receive - Validate commits before accepting
  • post-receive - Trigger CI/CD on push
  • update - Per-branch validation

Repository Mirroring

Mirror repositories from other git servers:
git clone --mirror https://github.com/user/repo.git
git push --mirror git@git.4-0-4.io:repo.git

Large File Support

Git LFS is supported for large binary files:
git lfs install
git lfs track "*.psd"
git add .gitattributes

🔒 Security Features

  • SSH Authentication: Secure key-based authentication
  • TLS/SSL: All HTTPS traffic is encrypted
  • Rate Limiting: Protection against abuse
  • Access Control: Fine-grained repository permissions
  • Tor Access: Full support for Tor connections

💡 Tips and Best Practices

  1. Use SSH over HTTPS for better performance and security
  2. Add .gitignore to exclude sensitive files
  3. Write meaningful commit messages for better collaboration
  4. Use branches for feature development
  5. Tag releases for version management

🐛 Troubleshooting

Permission Denied (publickey)

# Check your SSH agent
ssh-add -l

# Add your key if needed
ssh-add ~/.ssh/id_ed25519

Authentication Failed

  • Verify your SSH key is added to your account
  • Check that the remote URL is correct
  • Ensure your token is valid (for HTTPS)

Connection Timeout

  • Check your firewall settings
  • Try using HTTPS instead of SSH
  • Consider using Tor if your ISP blocks connections

📚 Additional Resources



For support, join #git on our IRC server or consult the community forums.

Last updated: 2026-02-07