{"id":28360808,"url":"https://github.com/jeet8200/iwasbored","last_synced_at":"2026-05-08T13:16:43.230Z","repository":{"id":293881903,"uuid":"985401800","full_name":"jeet8200/iwasbored","owner":"jeet8200","description":"Script for setting up nginx reverse proxy with stream and php \u0026\u0026whitelistip+token ","archived":false,"fork":false,"pushed_at":"2025-05-29T05:09:02.000Z","size":270,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T18:12:57.240Z","etag":null,"topics":["bash-script","gfw","mtproto-proxy","nginx","proxyserver","reverseproxy"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jeet8200.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-17T17:28:14.000Z","updated_at":"2025-05-29T05:09:06.000Z","dependencies_parsed_at":"2025-05-17T18:39:42.747Z","dependency_job_id":null,"html_url":"https://github.com/jeet8200/iwasbored","commit_stats":null,"previous_names":["jeet8200/iwasbored"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jeet8200/iwasbored","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet8200%2Fiwasbored","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet8200%2Fiwasbored/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet8200%2Fiwasbored/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet8200%2Fiwasbored/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jeet8200","download_url":"https://codeload.github.com/jeet8200/iwasbored/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jeet8200%2Fiwasbored/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261036120,"owners_count":23100876,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["bash-script","gfw","mtproto-proxy","nginx","proxyserver","reverseproxy"],"created_at":"2025-05-28T12:07:07.752Z","updated_at":"2026-05-08T13:16:43.225Z","avatar_url":"https://github.com/jeet8200.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"MTProto Proxy Whitelist Installer\n=================================\n\nA robust Bash script for automated installation, configuration, and management of a secure MTProto Telegram proxy environment, complete with an NGINX reverse proxy, PHP whitelist portal, Telegram integration, enhanced security, and automation features.\n\nFeatures\n--------\n- MTProto Proxy management (Python or Erlang based)\n- NGINX reverse proxy setup with stream module and whitelist enforcement\n- Secure web whitelist portal (PHP, password \u0026 token-protected)\n- Automatic SSL with Certbot (or self-signed fallback)\n- Fail2ban and UFW firewall integrated for enhanced security\n- Telegram bot integration for whitelisting via chat\n- Automated backups and permission repair\n- Random fake HTML site for plausible deniability\n- Automated cleanup of expired whitelist entries (cron-ready)\n- Menu-driven management and Telegram user database\n\nQuick Install\n-------------\n    curl -O https://raw.githubusercontent.com/jeet8200/iwasbored/main/start.sh\n    sudo apt update\n    sudo apt install unzip dos2unix -y\n    dos2unix start.sh\n    apt-get update -y \u0026\u0026 apt-get upgrade -y \u0026\u0026 apt autoclean -y \u0026\u0026 apt autoremove\n    chmod +x start.sh\n    sudo bash start.sh\n\n    Note: Run as root or with sudo!\n\nMain Menu Options\n-----------------\n1. Install MTProto Proxy only (choose Python or Erlang version)\n2. Install Whitelist System (NGINX, PHP, firewall, Fail2ban)\n3. Generate access URL with tokens (for secure IP whitelisting)\n4. Fix permissions (repair file/directory permissions)\n5. Change whitelist password\n6. Check system status\n7. Uninstall everything (full wipe)\n8. Send whitelist link via Telegram\n9. Random Fake HTML site (for plausible deniability)\u003cbr\u003e\nM. Manage Telegram Users (add/edit/delete user records)\u003cbr\u003e\nA. Clean Old Whitelisted IPs (remove expired entries)\u003cbr\u003e\n0. Exit\n\nHow It Works\n------------\nNGINX Stream Proxy\n- NGINX listens on a secure port, proxies to your MTProto backend\n- Only whitelisted IPs (in /etc/nginx/whitelist.txt) can connect\n\nWeb Whitelist Portal\n- Access via HTTPS on your configured domain/port\n- Add your IP with password + time-limited or one-time token\n- Tokens generated securely; one-time tokens are tracked and cannot be reused\n\nTelegram Integration\n- Save user/chat info and proxy links\n- Send whitelist links directly via Telegram bot\n\nSecurity\n- All credentials stored securely (root or www-data only)\n- Fail2ban jail for brute-force attempts on the web portal\n- Automated backups before critical changes\n\nAutomation\n- Cron-ready scripts for daily whitelist and template cleanups\n- Random HTML site deploys for hiding the real portal\n\nConfiguration Files \u0026 Paths\n---------------------------\n- Script config: /etc/mtproxy-whitelist.conf\n- Whitelist: /etc/nginx/whitelist.txt\n- Password: /etc/nginx/.password\n- Used Tokens: /etc/nginx/used_tokens.txt\n- Telegram users: /etc/nginx/telegram_users.txt\n- Telegram bot token: /etc/nginx/mtproxy-whitelist.conf.telegram_token\n- PHP portal: /var/www/html/post.php\n- NGINX stream conf: /etc/nginx/stream.d/mtproto.conf\n- NGINX site conf: /etc/nginx/sites-available/whitelist_gateway\n\nUninstall\n---------\nChoose menu option 7 for a complete uninstall, including:\n- All installed packages (nginx, php, fail2ban, etc.)\n- Configuration and website files\n- Firewall rules\n\nAutomate Maintenance\n-------------------\nWhitelist cleanup:\n    Add to root crontab for daily cleanup:\n    0 3 * * * /bin/bash /path/to/start.sh --clean-whitelist \u003e\u003e /var/log/mtproxy-whitelist.log 2\u003e\u00261\n\nRandom HTML refresh:\n    Add to root crontab for new fake site every 6 hours:\n    0 */6 * * * /bin/bash /path/to/start.sh --random-template \u003e\u003e /var/log/mtproxy-whitelist.log 2\u003e\u00261\n\nTroubleshooting\n---------------\n- Check system status from the menu (option 6)\n- Its always RECOMMANDED to reboot After first Cycle of Install\n- NGINX and PHP-FPM must be running\n- UFW firewall should allow necessary ports\n- All config and data files must be readable/writable by www-data/root\n- Check logs: /var/log/mtproxy-whitelist.log and /var/log/nginx/error.log\n- Change mtprotoProxy Listen Ip to 127.0.0.1 \n\nCredits\n-------\n- MTProto Proxy: alexbers/python-telegram-mtproto-proxy and Erlang seriyps/mtproto-proxy\n- Pick the One THat woRks for ur vps it migh be diffrent  \n- Random Fake HTML: GFW4Fun/randomfakehtml\n\nFeel free to contribute or open issues! This project is a work in progress.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeet8200%2Fiwasbored","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeet8200%2Fiwasbored","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeet8200%2Fiwasbored/lists"}