{"id":26755077,"url":"https://github.com/cpscript/tinyproxy","last_synced_at":"2025-07-21T04:07:25.573Z","repository":{"id":282300763,"uuid":"872677551","full_name":"CPScript/Tinyproxy","owner":"CPScript","description":"Tinyproxy is a lightweight HTTP/HTTPS proxy that allows you to route your internet traffic through it. This is useful for various applications, including web browsing, content filtering, and privacy enhancement.","archived":false,"fork":false,"pushed_at":"2024-10-15T04:10:57.000Z","size":85,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T11:53:46.498Z","etag":null,"topics":["android","hosted-server","proxy","termux","tunneling"],"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/CPScript.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}},"created_at":"2024-10-14T21:41:02.000Z","updated_at":"2025-07-13T01:50:44.000Z","dependencies_parsed_at":"2025-03-13T21:16:26.310Z","dependency_job_id":"ac61983e-c186-4ab6-8ed5-13aba8f86b52","html_url":"https://github.com/CPScript/Tinyproxy","commit_stats":null,"previous_names":["cpscript/tinyproxy"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CPScript/Tinyproxy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FTinyproxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FTinyproxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FTinyproxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FTinyproxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CPScript","download_url":"https://codeload.github.com/CPScript/Tinyproxy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CPScript%2FTinyproxy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266236878,"owners_count":23897273,"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":["android","hosted-server","proxy","termux","tunneling"],"created_at":"2025-03-28T14:18:11.408Z","updated_at":"2025-07-21T04:07:25.554Z","avatar_url":"https://github.com/CPScript.png","language":"Shell","readme":"## Overview of Tinyproxy\n\u003eTinyproxy is a lightweight HTTP/HTTPS proxy that allows you to route your internet traffic through it. This is useful for various applications, including web browsing, content filtering, and privacy enhancement.\n\n## How Tinyproxy Works\n* Proxy Setup: Tinyproxy listens on a specified port and allows client devices to connect to it.\n* Request Handling: When a client makes a request through the proxy, Tinyproxy forwards this request to the target server and relays the response back to the client.\n* Access Control: You can configure which devices can connect to the proxy by specifying IP addresses or ranges in the configuration file.\nPrerequisites\n* Termux: Make sure you have the Termux app installed on your Android device.\n* Network: Ensure that your device is connected to a Wi-Fi network where other devices can reach it.\n\n## Installation and Setup Steps\n* Update Termux: Start by updating the package lists:\n```\npkg update -y \u0026\u0026 pkg upgrade -y\n```\n\n* Install Dependencies: Install Python and Tinyproxy:\n\n```\npkg install -y python tinyproxy\n```\n\n* Configure Tinyproxy: \nCreate a setup script to automate the configuration of Tinyproxy. Here’s the script that includes everything you need: (already uploaded to the repo `setup.sh`)\n\n```bash\n#!/bin/bash\n\nis_installed() {\n    pkg list-installed | grep -q \"^$1/\"\n}\n\necho \"Updating and upgrading Termux packages...\"\nif ! pkg update -y \u0026\u0026 pkg upgrade -y; then\n    echo \"Failed to update packages. Please check your network or repository settings.\"\n    exit 1\nfi\n\nif is_installed \"python\"; then\n    echo \"Python is already installed.\"\nelse\n    echo \"Installing Python...\"\n    pkg install -y python\nfi\n\nif is_installed \"tinyproxy\"; then\n    echo \"Tinyproxy is already installed.\"\nelse\n    echo \"Installing Tinyproxy...\"\n    if ! pkg install -y tinyproxy; then\n        echo \"Failed to install Tinyproxy. Please check your repository settings.\"\n        exit 1\n    fi\nfi\n\necho \"Configuring Tinyproxy\"\nCONFIG_PATH=\"/data/data/com.termux/files/usr/etc/tinyproxy/tinyproxy.conf\"\n\n# Check if the configuration file exists\nif [ ! -f \"$CONFIG_PATH\" ]; then\n    echo \"Configuration file not found. Creating a default configuration...\"\n    cp /data/data/com.termux/files/usr/etc/tinyproxy/tinyproxy.conf.default \"$CONFIG_PATH\"\nfi\n\necho \"Backing up original configuration file\"\nif [ ! -f \"$CONFIG_PATH.bak\" ]; then\n    cp \"$CONFIG_PATH\" \"$CONFIG_PATH.bak\"\n    echo \"Backup of tinyproxy.conf created.\"\nelse\n    echo \"Backup already exists.\"\nfi\n\necho \"Allowing local connections\"\nsed -i '/^Allow /d' \"$CONFIG_PATH\"\necho \"Allow 127.0.0.1\" \u003e\u003e \"$CONFIG_PATH\"\necho \"Allow 192.168.0.0/16\" \u003e\u003e \"$CONFIG_PATH\"  \n\necho \"Setting the port for Tinyproxy\"\nsed -i 's/^Port .*/Port 8888/' \"$CONFIG_PATH\"\n\necho \"Enabling logging\"\nsed -i 's/^#LogFile \"\\/var\\/log\\/tinyproxy.log\"/LogFile \"\\/data\\/data\\/com.termux\\/files\\/usr\\/var\\/log\\/tinyproxy.log\"/' \"$CONFIG_PATH\"\nsed -i 's/^#MaxClients 100/MaxClients 100/' \"$CONFIG_PATH\"\n\nLOG_DIR=\"/data/data/com.termux/files/usr/var/log/\"\nmkdir -p \"$LOG_DIR\"\ntouch \"${LOG_DIR}/tinyproxy.log\"\n\nif ! grep -q \"^Bind\" \"$CONFIG_PATH\"; then\n    echo \"Adding Bind address to configuration...\"\n    echo \"Bind 0.0.0.0\" \u003e\u003e \"$CONFIG_PATH\"  \nfi\n\necho \"Starting Tinyproxy...\"\ntinyproxy -d\n\necho \"Tinyproxy configuration is complete.\"\necho \"Setup completed. You can now run the proxy manager.\"\n\n```\n\n## Explanation of Key Configurations\n* Allowing Connections: The script allows local connections from the device itself (127.0.0.1) and from the local network (192.168.0.0/16). You may need to adjust this based on your network setup.\n\n* Port Configuration: Tinyproxy is set to listen on port `8888`. Make sure this port is open and not used by any other services.\n\nBinding: By using Bind `0.0.0.0`, Tinyproxy listens on all interfaces, allowing other devices on the same network to connect.\n\n## Running the Proxy Server\n* Run the Setup Script: Save the script as setup.sh, give it executable permissions, and run it:\n```\nchmod +x setup.sh\n./setup.sh\n```\n* Check the Log: If you encounter any issues, check the log file located at `/data/data/com.termux/files/usr/var/log/tinyproxy.log` for errors.\n\n* Test Connectivity: On another device connected to the same network, configure your web browser or device settings to use the proxy:\n\n* Proxy IP: Use the IP address of your Termux device.\n* Proxy Port: Use `8888`.\n\n## Expected Output\n* Setup Completion: The script should confirm the completion of setup without errors.\n* Log File Creation: A log file should be created at the specified location.\n* Connection Tests: When configured correctly, you should be able to browse the internet using the proxy without issues.\n\n## Troubleshooting\n* If Tinyproxy doesn't start, check the log file for errors.\n* Ensure your firewall (if any) allows traffic through port 8888.\n* Verify that the IP address you are using to connect to the proxy is correct.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpscript%2Ftinyproxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcpscript%2Ftinyproxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcpscript%2Ftinyproxy/lists"}