Spaces:
Running
Running
| # ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| # OmniVoice Studio β Automated SEO Backlink Submission Script | |
| # Programmatically submits to every free, open endpoint that accepts URLs. | |
| # ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| set -euo pipefail | |
| SITE_URL="https://github.com/debpalash/OmniVoice-Studio" | |
| SITE_NAME="OmniVoice Studio" | |
| SITE_DESC="Open-source ElevenLabs alternative β cinematic audio dubbing, voice cloning & TTS in 646 languages, runs 100% locally" | |
| RSS_URL="https://github.com/debpalash/OmniVoice-Studio/releases.atom" | |
| GREEN='\033[0;32m' | |
| YELLOW='\033[1;33m' | |
| RED='\033[0;31m' | |
| CYAN='\033[0;36m' | |
| NC='\033[0m' | |
| SUCCESS=0 | |
| FAIL=0 | |
| TOTAL=0 | |
| submit() { | |
| local name="$1" | |
| local url="$2" | |
| TOTAL=$((TOTAL + 1)) | |
| printf "${CYAN}[%3d]${NC} %-45s " "$TOTAL" "$name" | |
| HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 15 "$url" 2>/dev/null || echo "000") | |
| if [[ "$HTTP_CODE" =~ ^(200|201|202|204|301|302|307)$ ]]; then | |
| printf "${GREEN}β %s${NC}\n" "$HTTP_CODE" | |
| SUCCESS=$((SUCCESS + 1)) | |
| else | |
| printf "${RED}β %s${NC}\n" "$HTTP_CODE" | |
| FAIL=$((FAIL + 1)) | |
| fi | |
| } | |
| submit_post() { | |
| local name="$1" | |
| local url="$2" | |
| local data="$3" | |
| local content_type="${4:-application/x-www-form-urlencoded}" | |
| TOTAL=$((TOTAL + 1)) | |
| printf "${CYAN}[%3d]${NC} %-45s " "$TOTAL" "$name" | |
| HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -L --max-time 15 \ | |
| -X POST -H "Content-Type: $content_type" -d "$data" "$url" 2>/dev/null || echo "000") | |
| if [[ "$HTTP_CODE" =~ ^(200|201|202|204|301|302|307)$ ]]; then | |
| printf "${GREEN}β %s${NC}\n" "$HTTP_CODE" | |
| SUCCESS=$((SUCCESS + 1)) | |
| else | |
| printf "${RED}β %s${NC}\n" "$HTTP_CODE" | |
| FAIL=$((FAIL + 1)) | |
| fi | |
| } | |
| ENCODED_URL=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_URL', safe=''))") | |
| ENCODED_NAME=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_NAME', safe=''))") | |
| ENCODED_DESC=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$SITE_DESC', safe=''))") | |
| ENCODED_RSS=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$RSS_URL', safe=''))") | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "β OmniVoice Studio β Automated Backlink Submission Engine β" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "" | |
| echo " URL: $SITE_URL" | |
| echo " Name: $SITE_NAME" | |
| echo "" | |
| # ββ 1. SEARCH ENGINE INDEXING PINGS βββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 1. Search Engine Index Pings βββ${NC}" | |
| submit "Google Ping" "https://www.google.com/ping?sitemap=${ENCODED_URL}" | |
| submit "Google Indexing Ping" "https://www.google.com/webmasters/tools/ping?sitemap=${ENCODED_URL}" | |
| submit "Bing URL Submission" "https://www.bing.com/ping?sitemap=${ENCODED_URL}" | |
| submit "Bing Webmaster Ping" "https://www.bing.com/webmaster/ping.aspx?siteMap=${ENCODED_URL}" | |
| submit "Yandex Indexing Ping" "https://yandex.com/ping?sitemap=${ENCODED_URL}" | |
| submit "Yandex Webmaster Ping" "https://webmaster.yandex.com/ping?sitemap=${ENCODED_URL}" | |
| submit "Naver Search Ping" "https://searchadvisor.naver.com/indexnow?url=${ENCODED_URL}" | |
| # ββ 2. INDEXNOW PROTOCOL (Instant Indexing) βββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 2. IndexNow Protocol Submissions βββ${NC}" | |
| # IndexNow is accepted by Bing, Yandex, Seznam, Naver etc. | |
| INDEXNOW_KEY="omnivoice-studio-indexnow-key" | |
| submit "IndexNow β Bing" "https://www.bing.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}" | |
| submit "IndexNow β Yandex" "https://yandex.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}" | |
| submit "IndexNow β Seznam" "https://search.seznam.cz/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}" | |
| submit "IndexNow β IndexNow.org" "https://api.indexnow.org/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}" | |
| submit "IndexNow β Naver" "https://searchadvisor.naver.com/indexnow?url=${ENCODED_URL}&key=${INDEXNOW_KEY}" | |
| # ββ 3. WEB ARCHIVE / CACHE SERVICES βββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 3. Web Archive & Cache Services βββ${NC}" | |
| submit "Wayback Machine (save)" "https://web.archive.org/save/${SITE_URL}" | |
| submit "Archive.today" "https://archive.ph/?url=${ENCODED_URL}&anyway=1" | |
| submit "Google Cache Ping" "https://webcache.googleusercontent.com/search?q=cache:${ENCODED_URL}" | |
| submit "Webcitation.org" "https://www.webcitation.org/archive?url=${ENCODED_URL}" | |
| # ββ 4. BLOG / FEED PING SERVICES ββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 4. Blog & Feed Ping Services βββ${NC}" | |
| # XML-RPC ping payload | |
| XMLRPC_PING="<?xml version=\"1.0\"?><methodCall><methodName>weblogUpdates.ping</methodName><params><param><value>${SITE_NAME}</value></param><param><value>${SITE_URL}</value></param></params></methodCall>" | |
| XMLRPC_EXT="<?xml version=\"1.0\"?><methodCall><methodName>weblogUpdates.extendedPing</methodName><params><param><value>${SITE_NAME}</value></param><param><value>${SITE_URL}</value></param><param><value>${SITE_URL}</value></param><param><value>${RSS_URL}</value></param></params></methodCall>" | |
| submit_post "Pingomatic" "https://rpc.pingomatic.com/" "$XMLRPC_PING" "text/xml" | |
| submit_post "Ping-o-Matic (ext)" "https://rpc.pingomatic.com/" "$XMLRPC_EXT" "text/xml" | |
| submit_post "Twingly Ping" "https://rpc.twingly.com/" "$XMLRPC_PING" "text/xml" | |
| submit_post "Weblogs.com" "https://rpc.weblogs.com/RPC2" "$XMLRPC_PING" "text/xml" | |
| submit_post "Blog People" "http://www.blogpeople.net/ping/" "$XMLRPC_PING" "text/xml" | |
| submit_post "FeedBurner Ping" "https://ping.feedburner.com/" "$XMLRPC_PING" "text/xml" | |
| submit_post "Moreover Ping" "https://api.moreover.com/RPC2" "$XMLRPC_PING" "text/xml" | |
| submit_post "Syndic8 Ping" "https://ping.syndic8.com/xmlrpc.php" "$XMLRPC_PING" "text/xml" | |
| submit_post "BlogRolling Ping" "https://rpc.blogrolling.com/pinger/" "$XMLRPC_PING" "text/xml" | |
| submit_post "GeoURL Ping" "http://geourl.org/ping/?p=${ENCODED_URL}" "" "" | |
| submit_post "Pubsubhubbub (Google)" "https://pubsubhubbub.appspot.com/" "hub.mode=publish&hub.url=${RSS_URL}" | |
| submit_post "Superfeedr" "https://push.superfeedr.com/" "hub.mode=publish&hub.url=${RSS_URL}" | |
| # ββ 5. PINGOMATIC COMPREHENSIVE (hits 20+ services at once) ββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 5. Pingomatic Multi-Service Blast βββ${NC}" | |
| PINGO_PARAMS="title=${ENCODED_NAME}&blogurl=${ENCODED_URL}&rssurl=${ENCODED_RSS}" | |
| PINGO_PARAMS+="&chk_blogs=on&chk_feedburner=on&chk_newsgator=on" | |
| PINGO_PARAMS+="&chk_feedster=on&chk_syndic8=on&chk_blogrolling=on" | |
| PINGO_PARAMS+="&chk_topicexchange=on&chk_google=on&chk_tailrank=on" | |
| PINGO_PARAMS+="&chk_blogstreet=on&chk_moreover=on&chk_icerocket=on" | |
| PINGO_PARAMS+="&chk_newsisfree=on&chk_blogdigger=on&chk_weblogalot=on" | |
| PINGO_PARAMS+="&chk_blogosphere=on&chk_blo_gs=on&chk_technorati=on" | |
| PINGO_PARAMS+="&chk_pingmyblog=on&chk_bloglines=on" | |
| submit_post "Pingomatic (all services)" "https://pingomatic.com/ping/?${PINGO_PARAMS}" "" | |
| # ββ 6. SOCIAL BOOKMARKING & LINK AGGREGATION ββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 6. Social Bookmarking & Link Shorteners βββ${NC}" | |
| submit "Reddit Share URL" "https://www.reddit.com/submit?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "HN Submit URL" "https://news.ycombinator.com/submitlink?u=${ENCODED_URL}&t=${ENCODED_NAME}" | |
| submit "Lobsters Submit URL" "https://lobste.rs/stories/new?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Mix.com Share" "https://mix.com/add?url=${ENCODED_URL}" | |
| submit "Pocket Save" "https://getpocket.com/save?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Flipboard Share" "https://share.flipboard.com/bookmarklet/popout?v=2&url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Diigo Bookmark" "https://www.diigo.com/post?url=${ENCODED_URL}&title=${ENCODED_NAME}&desc=${ENCODED_DESC}" | |
| submit "Instapaper Save" "https://www.instapaper.com/hello2?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Raindrop.io Save" "https://app.raindrop.io/add?link=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Folkd Bookmark" "http://www.folkd.com/submit.php?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Slashdot Submit" "https://slashdot.org/bookmark.pl?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| submit "Symbaloo Add" "https://www.symbaloo.com/mix/submit?url=${ENCODED_URL}" | |
| submit "Pearltrees Add" "https://www.pearltrees.com/s/save?url=${ENCODED_URL}&title=${ENCODED_NAME}" | |
| # ββ 7. DEVELOPER / TECH-SPECIFIC ββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 7. Developer & Tech Platforms βββ${NC}" | |
| submit "LibHunt Lookup" "https://www.libhunt.com/r/OmniVoice-Studio" | |
| submit "StackShare Lookup" "https://stackshare.io/omnivoice-studio" | |
| submit "DevHunt Submit" "https://devhunt.org/submit?url=${ENCODED_URL}" | |
| submit "OSS Insight Lookup" "https://ossinsight.io/analyze/debpalash/OmniVoice-Studio" | |
| submit "Star History" "https://star-history.com/#debpalash/OmniVoice-Studio" | |
| submit "GitTrends" "https://gittrends.io/repo/debpalash/OmniVoice-Studio" | |
| submit "RepoTracker" "https://repo-tracker.com/r/gh/debpalash/OmniVoice-Studio" | |
| submit "Snyk Advisor" "https://snyk.io/advisor/python/omnivoice" | |
| submit "Libraries.io" "https://libraries.io/github/debpalash/OmniVoice-Studio" | |
| submit "OpenHub" "https://www.openhub.net/p/OmniVoice-Studio" | |
| submit "Awesome Self-Hosted" "https://awesome-selfhosted.net/" | |
| submit "RunaCapital ROSS Index" "https://runacap.com/ross-index/" | |
| submit "SaaSHub Lookup" "https://www.saashub.com/omnivoice-studio" | |
| # ββ 8. AI / ML TOOL DIRECTORIES βββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 8. AI & ML Tool Directories βββ${NC}" | |
| submit "There's An AI For That" "https://theresanaiforthat.com/submit/?url=${ENCODED_URL}" | |
| submit "Futurepedia Submit" "https://www.futurepedia.io/submit-tool" | |
| submit "FutureTools Submit" "https://www.futuretools.io/submit-a-tool" | |
| submit "Toolify Submit" "https://www.toolify.ai/submit" | |
| submit "AI Tool Directory" "https://aitoolsdirectory.com/submit" | |
| submit "TopAI.tools" "https://topai.tools/submit" | |
| submit "AIcyclopedia" "https://www.aicyclopedia.com/submit" | |
| submit "Dang AI" "https://dang.ai/submit" | |
| submit "Ben's Bites Directory" "https://news.bensbites.co/submit" | |
| submit "AI Tools List" "https://aitoolslist.io/submit" | |
| submit "All Things AI" "https://allthingsai.com/submit" | |
| submit "FindMyAITool" "https://findmyaitool.com/submit" | |
| submit "AI Tool Guru" "https://aitoolguru.com/submit" | |
| submit "Easy With AI" "https://easywithai.com/submit" | |
| submit "Insidr AI" "https://www.insidr.ai/submit-tool/" | |
| submit "AItoolsguide" "https://www.aitoolsguide.com/submit" | |
| submit "GPT Store (alt)" "https://gptstore.ai/submit" | |
| # ββ 9. STARTUP / SOFTWARE DIRECTORIES βββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 9. Startup & Software Directories βββ${NC}" | |
| submit "AlternativeTo Lookup" "https://alternativeto.net/software/omnivoice-studio/" | |
| submit "Slant Lookup" "https://www.slant.co/search?query=omnivoice+studio" | |
| submit "G2 Submit" "https://www.g2.com/products/new" | |
| submit "Capterra Submit" "https://www.capterra.com/vendors/sign-up" | |
| submit "GetApp Lookup" "https://www.getapp.com/search/?q=omnivoice+studio" | |
| submit "SoftwareAdvice" "https://www.softwareadvice.com/search/?q=omnivoice+studio" | |
| submit "Crunchbase Lookup" "https://www.crunchbase.com/discover/organization.companies" | |
| submit "BetaList Submit" "https://betalist.com/submit" | |
| submit "BetaPage Submit" "https://betapage.co/submit" | |
| submit "Launching Next Submit" "https://www.launchingnext.com/submit/" | |
| submit "StartupBase Submit" "https://startupbase.io/submit" | |
| submit "DiscoverCloud" "https://www.discovercloud.com/submit" | |
| submit "SideProjectors" "https://www.sideprojectors.com/" | |
| submit "MicroLaunch" "https://microlaunch.net/submit" | |
| submit "Uneed" "https://www.uneed.best/submit" | |
| submit "Landingfolio" "https://www.landingfolio.com/submit" | |
| submit "1000 Tools" "https://1000.tools/submit" | |
| submit "Startup Stash" "https://startupstash.com/submit/" | |
| submit "SaaSWorthy" "https://www.saasworthy.com/submit" | |
| submit "Tekpon Submit" "https://tekpon.com/get-listed/" | |
| submit "AppSumo Marketplace" "https://sell.appsumo.com/" | |
| submit "SaaS Genius" "https://www.saasgenius.com/submit" | |
| # ββ 10. WEB DIRECTORIES (Classic backlink sources) ββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 10. Web Directories (Classic SEO) βββ${NC}" | |
| submit "BOTW (Best of the Web)" "https://botw.org/helpcenter/submitasite/" | |
| submit "Jayde" "https://www.jayde.com/submit.html" | |
| submit "Spoke.com" "https://www.spoke.com/" | |
| submit "Hotfrog" "https://www.hotfrog.com/AddYourBusiness/" | |
| submit "eLocal" "https://www.elocal.com/" | |
| submit "Cylex" "https://www.cylex.com/" | |
| submit "Brownbook" "https://www.brownbook.net/add-listing/" | |
| submit "Tupalo" "https://www.tupalo.co/free-entry" | |
| submit "OpenLinkDirectory" "https://www.openlinks.org/submit" | |
| submit "SoMuch Directory" "https://www.somuch.com/submit-links/" | |
| submit "Alive Directory" "https://www.alivedirectory.com/submit.php" | |
| submit "9Sites" "https://www.9sites.net/addurl.php" | |
| submit "One Mission Directory" "https://www.onemission.com/" | |
| submit "Cipinet Directory" "https://www.cipinet.com/addurl/" | |
| # ββ 11. LINK SHORTENERS (creates indexed short URLs) ββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 11. Link Shorteners (indexed short links) βββ${NC}" | |
| submit "TinyURL" "https://tinyurl.com/api-create.php?url=${ENCODED_URL}" | |
| submit "is.gd" "https://is.gd/create.php?format=simple&url=${ENCODED_URL}" | |
| submit "v.gd" "https://v.gd/create.php?format=simple&url=${ENCODED_URL}" | |
| submit "clck.ru (Yandex)" "https://clck.ru/--?url=${ENCODED_URL}" | |
| submit "da.gd" "https://da.gd/s?url=${ENCODED_URL}" | |
| submit "short.io Lookup" "https://short.io/" | |
| # ββ 12. WHOIS / DOMAIN LOOKUP CACHES ββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 12. WHOIS & Domain Lookup Caches βββ${NC}" | |
| submit "W3Techs" "https://w3techs.com/sites/info/github.com" | |
| submit "BuiltWith" "https://builtwith.com/debpalash.github.io" | |
| submit "Netcraft Site Report" "https://sitereport.netcraft.com/?url=${ENCODED_URL}" | |
| submit "SimilarWeb" "https://www.similarweb.com/website/github.com/debpalash/OmniVoice-Studio/" | |
| submit "Wappalyzer" "https://www.wappalyzer.com/lookup/${SITE_URL}/" | |
| submit "SecurityHeaders" "https://securityheaders.com/?q=${ENCODED_URL}&followRedirects=on" | |
| submit "Mozilla Observatory" "https://observatory.mozilla.org/analyze/${SITE_URL}" | |
| submit "SSL Labs" "https://www.ssllabs.com/ssltest/analyze.html?d=github.com" | |
| # ββ 13. ADDITIONAL PAGES TO INDEX ββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "${YELLOW}βββ 13. Additional Pages to Index βββ${NC}" | |
| PAGES=( | |
| "https://github.com/debpalash/OmniVoice-Studio" | |
| "https://github.com/debpalash/OmniVoice-Studio/releases" | |
| "https://github.com/debpalash/OmniVoice-Studio/wiki" | |
| "https://github.com/debpalash/OmniVoice-Studio/issues" | |
| "https://github.com/debpalash/OmniVoice-Studio/pulls" | |
| "https://github.com/debpalash/OmniVoice-Studio/blob/main/README.md" | |
| "https://github.com/debpalash/OmniVoice-Studio/blob/main/ROADMAP.md" | |
| "https://github.com/debpalash/OmniVoice-Studio/releases/tag/v0.2.4" | |
| ) | |
| for page in "${PAGES[@]}"; do | |
| EPAGE=$(python3 -c "import urllib.parse; print(urllib.parse.quote('$page', safe=''))") | |
| submit "Wayback: $(basename $page)" "https://web.archive.org/save/${page}" | |
| submit "Google Ping: $(basename $page)" "https://www.google.com/ping?sitemap=${EPAGE}" | |
| done | |
| # ββ SUMMARY ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ | |
| echo "" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "β SUBMISSION RESULTS β" | |
| echo "β βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ£" | |
| printf "β Total submissions: %-38s β\n" "$TOTAL" | |
| printf "β ${GREEN}Successful: %-38s${NC} β\n" "$SUCCESS" | |
| printf "β ${RED}Failed/Unreachable: %-38s${NC} β\n" "$FAIL" | |
| echo "ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ" | |
| echo "" | |
| echo "π‘ Tips for maximum SEO impact:" | |
| echo " β’ Run this script weekly to keep pings fresh" | |
| echo " β’ Sites marked β may need manual submission (login required)" | |
| echo " β’ Add cron: 0 9 * * 1 bash $(realpath $0)" | |
| echo "" | |