SSAntifilter
Super Simple Antifilter: A powerful web-based tool for managing and generating proxy lists for block bypass in multiple formats for Clash, Shadowrocket, and v2ray GeoIP/GeoSite databases
Install / Use
/learn @zerolabnet/SSAntifilterREADME
SSAntifilter
A powerful web-based tool for managing and generating proxy lists from Antifilter sources and custom lists. SSAntifilter automatically downloads, converts, and serves proxy lists in multiple formats including Clash, Shadowrocket, and v2ray GeoIP/GeoSite databases.
<p align="center"> <img src="scr-01.png" width="100%"> </p>
Features
- 🔄 Automatic Updates: Downloads fresh lists from Antifilter every 12 hours
- 📝 Web Editor: Edit proxy/direct domain and IP lists through a clean web interface
- 🌓 Dark/Light Theme: Automatic theme switching based on system preferences
- 📊 Real-time Logs: Monitor all operations with live activity logs
- 🔒 Secure: Password-protected access with bcrypt encryption
- 📱 Responsive: Mobile-friendly interface
- 🚀 Multiple Formats:
- Clash Text lists/Shadowrocket
- Clash YAML configs
- v2ray GeoIP/GeoSite databases (.dat files)
Supported Sources
- Antifilter IP Lists:
allyouneed.lst,community.lst - Antifilter Domain Lists:
domains.lst - Custom Lists: Proxy/Direct domains and IPs
Quick Start
Using Docker (Recommended)
HTTP Setup
# Create data directory
mkdir -p /data/ssantifilter/rawdata
chown -R 1000:1000 /data/ssantifilter
# Run container
docker run -d \
--name ssantifilter \
--restart=unless-stopped \
-e PORT=8080 \
-e SESSION_SECRET_KEY=your-secret-key-here \
-v /data/ssantifilter/rawdata:/app/rawdata \
-p 8080:8080 \
zerolabnet/ssantifilter:latest
HTTPS Setup with Let's Encrypt
- Generate SSL Certificate:
# Specify Lets Encrypt as the ACME CA
docker run --rm -it -v /data/acme:/acme.sh neilpang/acme.sh --set-default-ca --server letsencrypt
docker run --rm -it \
-v /data/acme:/acme.sh \
-p 80:80 \
neilpang/acme.sh \
--issue --standalone -d ssa.example.com --email email@example.com -k 2048
- Set Permissions:
mkdir -p /data/ssantifilter/rawdata
chown -R 1000:1000 /data/ssantifilter
chown -R 1000:1000 /data/acme/ssa.example.com
- Run with HTTPS:
docker run -d \
--name ssantifilter \
--restart=unless-stopped \
-e PORT=443 \
-e USE_HTTPS=1 \
-e HTTPS_CERT_FILE=/acme/fullchain.cer \
-e HTTPS_KEY_FILE=/acme/ssa.example.com.key \
-e SESSION_SECRET_KEY=your-secret-key-here \
-v /data/acme/ssa.example.com:/acme:ro \
-v /data/ssantifilter/rawdata:/app/rawdata \
-p 443:443 \
zerolabnet/ssantifilter:latest
Building from Source
# Clone repository
git clone https://github.com/zerolabnet/ssantifilter.git
cd ssantifilter
# Build Docker image
docker build --no-cache -t zerolabnet/ssantifilter:latest .
# Run container
docker run -d \
--name ssantifilter \
--restart=unless-stopped \
-e PORT=8080 \
-e SESSION_SECRET_KEY=your-secret-key-here \
-v /data/ssantifilter/rawdata:/app/rawdata \
-p 8080:8080 \
zerolabnet/ssantifilter:latest
Environment Variables
| Variable | Description | Default | Required |
| :-- | :-- | :-- | :-- |
| PORT | Server port | 8080 | No |
| SESSION_SECRET_KEY | Session encryption key | Auto-generated | Recommended |
| USE_HTTPS | Enable HTTPS (set to 1) | 0 | No |
| HTTPS_CERT_FILE | Path to SSL certificate | - | If HTTPS enabled |
| HTTPS_KEY_FILE | Path to SSL private key | - | If HTTPS enabled |
Usage
- Access Web Interface: Open
http://localhost:8080(or your domain) - Login: Use the password shown in container logs on first run
- Edit Lists: Use the web editor to modify proxy/direct domains and IPs
- Download Lists: Access generated lists via the web interface and paste the links into your configuration of a program designed to circumvent blocking
Available Endpoints
Clash Text Lists/Shadowrocket
/antifilter-ip.list- Antifilter IP ranges/antifilter-community-ip.list- Community IP ranges/antifilter-community-domain.list- Community domains/proxy-domain.list- Custom proxy domains/direct-domain.list- Custom direct domains/proxy-ip.list- Custom proxy IPs/direct-ip.list- Custom direct IPs
Clash YAML Configs
/antifilter-ip.yaml- Antifilter IP ranges/antifilter-community-ip.yaml- Community IP ranges/antifilter-community-domain.yaml- Community domains/proxy-domain.yaml- Custom proxy domains/direct-domain.yaml- Custom direct domains/proxy-ip.yaml- Custom proxy IPs/direct-ip.yaml- Custom direct IPs
v2ray Databases
/geoip.dat- GeoIP database/geosite.dat- GeoSite database
v2ray Database Categories
v2rayGeoIPDat IP list category (geoip.dat)
antifilter-ip- IP addresses blocked in Russia from Antifilterantifilter-community-ip- Community-maintained IP addressesproxy-ip- Custom proxy IP addressesdirect-ip- Custom direct IP addresses
v2rayGeoIPDat domain list category (geosite.dat)
antifilter-community-domain- Community-maintained blocked domainsproxy-domain- Custom proxy domainsdirect-domain- Custom direct domains
File Format Examples
Domain Lists
# Standard domains (Domain suffix matching will be used)
example.com
# With prefixes for advanced matching
domain:example.com # Domain suffix matching (may be omitted, see above)
keyword:google # Keyword matching
full:www.example.com # Full domain matching
IP Lists
# Individual IPs
192.168.1.1
10.0.0.1
# CIDR ranges
192.168.0.0/24
10.0.0.0/8
Data Persistence
The application stores data in /app/rawdata inside the container. Mount this directory to persist your custom lists:
-v /data/ssantifilter/rawdata:/app/rawdata
Security
- All passwords are hashed with bcrypt
- Session cookies are HTTP-only and secure
- File access is restricted to designated directories
- HTTPS support with custom certificates
Keyboard Shortcuts
Ctrl+S- Save current fileCtrl+U- Update Antifilter lists
Troubleshooting
Container Won't Start
- Check port availability:
netstat -tlnp | grep :8080 - Verify directory permissions:
ls -la /data/ssantifilter
SSL Certificate Issues
- Ensure certificate files are readable by container user (UID 1000)
- Check certificate validity:
openssl x509 -in cert.pem -text -noout
Lists Not Updating
- Verify internet connectivity from container
- Ensure sufficient disk space
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
License
This project is licensed under the GPL-2.0 License - see the LICENSE file for details.
Support
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 🌐 Website: zerolab.net
Acknowledgments
- Antifilter for providing the source lists
- v2fly for GeoIP and GeoSite tools
Created by ZeroChaos | Visit: zerolab.net
Related Skills
feishu-drive
349.0k|
things-mac
349.0kManage Things 3 via the `things` CLI on macOS (add/update projects+todos via URL scheme; read/search/list from the local Things database)
clawhub
349.0kUse the ClawHub CLI to search, install, update, and publish agent skills from clawhub.com
postkit
PostgreSQL-native identity, configuration, metering, and job queues. SQL functions that work with any language or driver
