A collection of useful tools and utilities by Aleksei Sviridkin
This monorepo contains various Go-based CLI tools and containerized services for different purposes - from personal website to VK/Telegram integration and development utilities.
| Tool | Description | Container | Status |
|---|---|---|---|
| me-site | Personal website with static content | ghcr.io/lexfrei/me-site |
✅ Active |
| a200 | Simple nginx server that responds 200 to all requests | ghcr.io/lexfrei/a200 |
✅ Active |
| redis-ui | Web UI for Redis database management | - | 🔧 Development |
| Tool | Description | Container | Status |
|---|---|---|---|
| vk2tg | VK wall posts forwarder to Telegram channels | ghcr.io/lexfrei/vk2tg |
✅ Active |
| vkphotosdownloader | Download photos from VK albums | - | ✅ Active |
| Tool | Description | Container | Status |
|---|---|---|---|
| mtgdsgenerator | Magic: The Gathering dataset generator for ML training | - | ✅ Active |
| game-of-life | Conway's Game of Life implementation | - | 🎮 Demo |
| Tool | Description | Container | Status |
|---|---|---|---|
| redis-checker | Redis connection and health checker | - | 🔧 Utility |
| russian-mobile-sha256 | SHA256 hash generator for Russian mobile numbers | - | 🔧 Utility |
| bpa | Bulk processing automation tool | - | 🔧 Utility |
| Tool | Description | Status |
|---|---|---|
| errors-example | Go error handling examples | 📚 Example |
| rand-example | Random number generation examples | 📚 Example |
| tab-example | Tab completion examples | 📚 Example |
- Go 1.25+ (required)
- Docker (for container builds)
- golangci-lint (for linting)
# Build all tools
go build ./cmd/...
# Build specific tool
go build ./cmd/me-site
# Build with custom output name
go build -o mysite ./cmd/me-site# Run linter
golangci-lint run
# Run tests
go test ./...
# Update dependencies
go mod tidy && go mod vendor
# Build containers
docker build -f build/me-site/Containerfile -t me-site .tools/
├── cmd/ # CLI applications
│ ├── me-site/ # Personal website
│ ├── vk2tg/ # VK to Telegram forwarder
│ └── ... # Other tools
├── build/ # Container configurations
│ ├── me-site/ # Website container
│ ├── vk2tg/ # VK2TG container
│ └── a200/ # Simple 200 server
├── internal/ # Internal packages
├── vendor/ # Vendored dependencies
└── .github/workflows/ # CI/CD pipelines
All container images are built automatically and available at GitHub Container Registry.
# Personal website
docker run -p 8080:8080 ghcr.io/lexfrei/me-site:latest
# VK to Telegram forwarder (requires config)
docker run -e VK_TOKEN=xxx -e TG_TOKEN=xxx ghcr.io/lexfrei/vk2tg:latest
# Simple 200 server
docker run -p 8080:80 ghcr.io/lexfrei/a200:latest- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run linter and tests (
golangci-lint run && go test ./...) - Commit your changes (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project follows Semantic Commit Messages:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changesstyle:- Code style changesrefactor:- Code refactoringtest:- Adding testschore:- Maintenance tasks
This project is licensed under the BSD 3-Clause License - see the LICENSE file for details.
Aleksei Sviridkin
Made with ❤️ and Go