# Utility Tools

> 提供实用工具功能，包括IP地址查询、文本翻译、二维码生成、哈希计算、网页元数据提取、域名WHOIS查询和密码生成。Use when users need translation, IP lookup, QR codes, hashing, domain info, or password generation.

- Skill: `vikiboss/utility-tools` (Agent Skill)
- Install (CLI): `npx skillmds@latest add vikiboss/utility-tools`
- Raw SKILL.md: https://api.skillmd.com/api/skills/vikiboss/utility-tools/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: vikiboss (https://skillmd.com/u/vikiboss)
- Updated: 2026-09-10
- Page: https://skillmd.com/skills/vikiboss/utility-tools

---


# Utility Tools Skill

This skill provides various utility functions for common tasks like translation, IP lookup, QR code generation, and more.

## Available Tools

1. **IP Address Lookup** - Get location and ISP info for any IP
2. **Text Translation** - Translate between multiple languages
3. **QR Code Generation** - Create QR codes for any text/URL
4. **Hash Calculation** - Calculate MD5, SHA1, SHA256, SHA512
5. **OG Metadata Extraction** - Extract Open Graph metadata from URLs
6. **WHOIS Lookup** - Domain registration information
7. **Password Generation** - Generate secure random passwords

## API Endpoints

| Tool | Endpoint | Method |
|------|----------|--------|
| IP Lookup | `/v2/ip` | GET |
| Translation | `/v2/fanyi` | POST |
| QR Code | `/v2/qrcode` | GET |
| Hash | `/v2/hash` | POST |
| OG Metadata | `/v2/og` | POST |
| WHOIS | `/v2/whois` | GET |
| Password | `/v2/password` | GET |

## 1. IP Address Lookup

```python
import requests

# Lookup specific IP
response = requests.get('https://60s.viki.moe/v2/ip', params={'ip': '8.8.8.8'})
ip_info = response.json()

print(f"IP: {ip_info['ip']}")
print(f"Location: {ip_info['location']}")
print(f"ISP: {ip_info['isp']}")

# Get your own IP info (no params)
my_ip = requests.get('https://60s.viki.moe/v2/ip').json()
```

## 2. Text Translation

```python
# Translate text
data = {
    'text': 'Hello World',
    'from': 'en',  # or 'auto' for auto-detection
    'to': 'zh'     # target language
}

response = requests.post('https://60s.viki.moe/v2/fanyi', json=data)
translation = response.json()

print(f"Original: {translation['text']}")
print(f"Translated: {translation['result']}")
print(f"From: {translation['from']} To: {translation['to']}")
```

**Supported Languages:**
- `zh` - Chinese
- `en` - English
- `ja` - Japanese
- `ko` - Korean
- `fr` - French
- `de` - German
- `es` - Spanish
- `ru` - Russian
- And more...

```python
# Get supported languages
response = requests.post('https://60s.viki.moe/v2/fanyi/langs')
languages = response.json()
```

## 3. QR Code Generation

```python
# Generate QR code
params = {
    'text': 'https://github.com/vikiboss/60s',
    'size': 300  # pixels, default 200, min 50, max 1000
}

response = requests.get('https://60s.viki.moe/v2/qrcode', params=params)

# Save the QR code image
with open('qrcode.png', 'wb') as f:
    f.write(response.content)
```

## 4. Hash Calculation

```python
# Calculate hash
data = {
    'text': 'Hello World',
    'algorithm': 'md5'  # md5, sha1, sha256, sha512
}

response = requests.post('https://60s.viki.moe/v2/hash', json=data)
result = response.json()

print(f"Algorithm: {result['algorithm']}")
print(f"Hash: {result['hash']}")
```

## 5. OG Metadata Extraction

```python
# Extract Open Graph metadata from URL
data = {'url': 'https://github.com/vikiboss/60s'}

response = requests.post('https://60s.viki.moe/v2/og', json=data)
metadata = response.json()

print(f"Title: {metadata['title']}")
print(f"Description: {metadata['description']}")
print(f"Image: {metadata['image']}")
print(f"URL: {metadata['url']}")
```

## 6. WHOIS Lookup

```python
# Domain WHOIS information
params = {'domain': 'github.com'}

response = requests.get('https://60s.viki.moe/v2/whois', params=params)
whois_info = response.json()

print(f"Domain: {whois_info['domain']}")
print(f"Registrar: {whois_info['registrar']}")
print(f"Created: {whois_info['created_date']}")
print(f"Expires: {whois_info['expiration_date']}")
```

## 7. Password Generation

```python
# Generate secure password
params = {
    'length': 16,        # 6-128
    'numbers': True,     # include numbers
    'lowercase': True,   # include lowercase
    'uppercase': True,   # include uppercase
    'symbols': True      # include special characters
}

response = requests.get('https://60s.viki.moe/v2/password', params=params)
password_data = response.json()

print(f"Password: {password_data['password']}")
print(f"Strength: {password_data['strength']}")
```

## Example Use Cases

### Multi-language Chatbot

```python
def auto_translate(text, target_lang='zh'):
    data = {
        'text': text,
        'from': 'auto',
        'to': target_lang
    }
    response = requests.post('https://60s.viki.moe/v2/fanyi', json=data)
    return response.json()['result']

# Usage
user_input = "Hello, how are you?"
translated = auto_translate(user_input, 'zh')
print(translated)  # 你好，你好吗？
```

### URL Shortener with QR Code

```python
def create_qr_for_url(url, size=200):
    params = {'text': url, 'size': size}
    response = requests.get('https://60s.viki.moe/v2/qrcode', params=params)
    return response.content

# Generate and save
qr_image = create_qr_for_url('https://example.com')
with open('url_qr.png', 'wb') as f:
    f.write(qr_image)
```

### Security Tools

```python
def check_password_hash(password):
    """Generate multiple hashes for password"""
    algorithms = ['md5', 'sha1', 'sha256', 'sha512']
    hashes = {}
    
    for algo in algorithms:
        data = {'text': password, 'algorithm': algo}
        response = requests.post('https://60s.viki.moe/v2/hash', json=data)
        hashes[algo] = response.json()['hash']
    
    return hashes

def generate_secure_password(length=16):
    params = {
        'length': length,
        'numbers': True,
        'lowercase': True,
        'uppercase': True,
        'symbols': True
    }
    response = requests.get('https://60s.viki.moe/v2/password', params=params)
    return response.json()['password']
```

### Website Preview Card

```python
def get_link_preview(url):
    """Get rich preview data for a URL"""
    data = {'url': url}
    response = requests.post('https://60s.viki.moe/v2/og', json=data)
    og = response.json()
    
    preview = f"""
    📄 {og['title']}
    📝 {og['description']}
    🖼️ {og['image']}
    🔗 {og['url']}
    """
    return preview
```

## Best Practices

1. **Translation**: Use 'auto' for source language when unsure
2. **QR Codes**: Keep size between 200-500px for most uses
3. **Hashing**: Use SHA256 or SHA512 for security applications
4. **Passwords**: Always use all character types for strong passwords
5. **Error Handling**: Always validate inputs and handle API errors

## Example Interactions

### User: "把这段话翻译成英文：你好世界"

```python
data = {'text': '你好世界', 'from': 'zh', 'to': 'en'}
response = requests.post('https://60s.viki.moe/v2/fanyi', json=data)
print(response.json()['result'])  # Hello World
```

### User: "生成一个强密码"

```python
params = {'length': 20, 'symbols': True, 'uppercase': True, 'lowercase': True, 'numbers': True}
response = requests.get('https://60s.viki.moe/v2/password', params=params)
print(f"🔐 生成的密码：{response.json()['password']}")
```

### User: "查询这个IP地址的位置：1.1.1.1"

```python
response = requests.get('https://60s.viki.moe/v2/ip', params={'ip': '1.1.1.1'})
info = response.json()
print(f"📍 IP: {info['ip']}")
print(f"🌍 位置: {info['location']}")
print(f"🏢 运营商: {info['isp']}")
```

## Related Resources

- [60s API Documentation](https://docs.60s-api.viki.moe)
- [GitHub Repository](https://github.com/vikiboss/60s)

