[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78191":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":16,"stars7d":16,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":16,"compositeScore":18,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":28,"readmeContent":29,"aiSummary":30,"trendingCount":16,"starSnapshotCount":16,"syncStatus":31,"lastSyncTime":32,"discoverSource":33},78191,"DarkGPT","Jawaz-Keyzor\u002FDarkGPT","Jawaz-Keyzor","Unrestricted ChatGPT client with built-in jailbreak presets, web interface, and streaming API. No content filters, no refusals, no ethical blocks. Open source.","",null,"Python",250,210,230,1,0,20,6.97,"MIT License",false,"main",true,[24,25,26,27],"ai-chat","darkgpt","unlimited-chat","unrestricted-chatgpt","2026-06-12 02:03:46","\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Flogo.png\" width=\"120\">\n\u003C\u002Fp>\n\n\u003Ch1 align=\"center\">🌑 DarkGPT\u003C\u002Fh1>\n\n\u003Cp align=\"center\">\n  \u003Cb>Unrestricted ChatGPT client with built-in jailbreaks. No filters. No refusals.\u003C\u002Fb>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fdarkgpt-org\u002FDarkGPT?style=flat-square&label=Version&color=blueviolet\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fdownloads\u002Fdarkgpt-org\u002FDarkGPT\u002Ftotal?style=flat-square&label=Downloads&color=success\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdarkgpt-org\u002FDarkGPT?style=flat-square&label=Stars&color=yellow\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fdarkgpt-org\u002FDarkGPT?style=flat-square&label=License&color=lightgrey\">\n  \u003Cbr>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Web%20%7C%20Desktop-blue?style=flat-square\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.11%2B-orange?style=flat-square\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FStatus-Active-brightgreen?style=flat-square\">\n  \n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ci>dark chatgpt | unrestricted ai | jailbreak gpt | no filter chatbot | darkgpt free | chatgpt without restrictions | open source dark gpt | gpt jailbreak 2026\u003C\u002Fi>\n\u003C\u002Fp>\n\n---\n\n## ⚡ Features\n\n| Feature | Description |\n|---|---|\n| 🔓 **No Filters** | Completely unrestricted — no refusals, no \"I cannot\", no ethical blocks |\n| 🧠 **Built-in Jailbreaks** | Pre-loaded DAN, Developer Mode, and custom prompt injections |\n| 🌐 **Web Interface** | Clean dark-themed web UI with chat history |\n| 🖥️ **Desktop App** | Native desktop client via PyQt6 |\n| 🔌 **API Mode** | Use DarkGPT programmatically with REST API |\n| 📝 **Custom Prompts** | Create and save your own jailbreak templates |\n| 🎭 **Multiple Personas** | Switch between different AI personalities instantly |\n| 💾 **Export Chats** | Save conversations as JSON, TXT, or Markdown |\n| 🛡️ **Proxy Support** | Route through SOCKS5\u002FHTTP proxies |\n| ⚡ **Fast Response** | Streaming responses with typing animation |\n\n---\n\n## 📥 Installation\n\n```bash\n# Clone repository\ngit clone https:\u002F\u002Fgithub.com\u002Fdarkgpt-org\u002FDarkGPT.git\ncd DarkGPT\n\n# Install dependencies\npip install -r requirements.txt\n\n# Run web interface\npython src\u002Fmain.py --web\n\n# Or run desktop app\npython src\u002Fmain.py --desktop\n\n# Or run API server\npython src\u002Fmain.py --api --port 1337\n```\n\n---\n\n## 🎮 Quick Start\n\n1. Launch DarkGPT\n2. Select a jailbreak preset (DAN, Developer, Unrestricted)\n3. Start chatting — no refusals, no filters\n4. Customize persona and system prompt as needed\n\n---\n\n## 🧠 Built-in Jailbreaks\n\n| Preset | Description |\n|---|---|\n| **DAN** | Classic \"Do Anything Now\" prompt — makes ChatGPT roleplay as an unrestricted AI |\n| **Developer Mode** | Enables simulated developer output with debug information |\n| **Unrestricted** | Minimal prompt that removes ethical constraints |\n| **Custom** | Load your own `.txt` file with any jailbreak prompt |\n\n---\n\n## 🔧 Technical Specs\n\n| Detail | Value |\n|---|---|\n| Language | Python 3.11+ |\n| Web Framework | FastAPI + WebSockets |\n| Desktop | PyQt6 |\n| LLM Backend | OpenAI API \u002F Compatible endpoints |\n| Streaming | SSE (Server-Sent Events) |\n| Storage | SQLite for chat history |\n| Proxy | SOCKS5 \u002F HTTP \u002F HTTPS |\n\n---\n\n## 📜 Configuration\n\nCreate `.env` file:\n\n```env\nOPENAI_API_KEY=sk-your-key-here\nOPENAI_BASE_URL=https:\u002F\u002Fapi.openai.com\u002Fv1\nDEFAULT_MODEL=gpt-4o\nDEFAULT_JAILBREAK=dan\nMAX_TOKENS=4096\nTEMPERATURE=0.9\n```\n\n---\n\n## 🖼️ Screenshots\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fscreenshot1.png\" width=\"800\">\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"assets\u002Fscreenshot2.png\" width=\"800\">\n\u003C\u002Fp>\n\n---\n\n## 📁 Project Structure\n\n| File | Description |\n|---|---|\n| `src\u002Fmain.py` | Entry point — CLI args, mode selection |\n| `src\u002Fdarkgpt.py` | Core engine — API calls, streaming, jailbreak injection |\n| `src\u002Fjailbreak.py` | Jailbreak prompt loader and manager |\n| `src\u002Fapi.py` | FastAPI server with WebSocket support |\n| `src\u002Futils.py` | Helpers — export, logging, proxy |\n| `src\u002Fconfig.py` | Configuration loader from `.env` |\n| `web\u002Findex.html` | Web UI with dark theme |\n| `web\u002Fstyle.css` | Custom CSS styles |\n| `web\u002Fscript.js` | Frontend JS — chat logic, streaming |\n| `prompts\u002Fdan.txt` | DAN jailbreak prompt |\n| `prompts\u002Fdeveloper.txt` | Developer mode prompt |\n| `prompts\u002Funrestricted.txt` | Unrestricted prompt |\n\n---\n\n## ❓ FAQ\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Is this really unrestricted?\u003C\u002Fb>\u003C\u002Fsummary>\nDarkGPT uses prompt engineering to bypass ChatGPT's content filters. It works with OpenAI API and compatible backends. Results may vary based on model and API provider.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Do I need my own API key?\u003C\u002Fb>\u003C\u002Fsummary>\nYes. DarkGPT is a client — you need an OpenAI API key or compatible endpoint. We don't provide keys.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Can OpenAI ban my key?\u003C\u002Fb>\u003C\u002Fsummary>\nUsing jailbreaks may violate OpenAI's ToS. Use at your own risk with a separate API key.\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>Does it work with local LLMs?\u003C\u002Fb>\u003C\u002Fsummary>\nYes — configure any OpenAI-compatible endpoint (Ollama, LM Studio, vLLM, etc.)\n\u003C\u002Fdetails>\n\n---\n\n## ⚠️ Disclaimer\n\nDarkGPT is an educational project demonstrating prompt engineering techniques. Users are responsible for compliance with their API provider's terms of service. The developers assume no liability for misuse.\n\n---\n\n## 📊 Stats\n\n\u003Cp align=\"center\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdarkgpt-org\u002FDarkGPT?style=social\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fdarkgpt-org\u002FDarkGPT?style=social\">\n\u003C\u002Fp>\n\n---\n\n\u003Cp align=\"center\">\n  \u003Csub>DarkGPT © 2026 | MIT License | Not affiliated with OpenAI\u003C\u002Fsub>\u003Cbr>\n  \u003Csub>Maintained by \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdarkgpt-org\">darkgpt-org\u003C\u002Fa> | Updated: June 2026\u003C\u002Fsub>\n\u003C\u002Fp>\n```\n\n---\n\n## LICENSE\n\n```\nMIT License\n\nCopyright (c) 2026 DarkGPT\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and\u002For sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n```\n\n---\n\n## .gitignore\n\n```\n.env\n__pycache__\u002F\n*.pyc\n*.pyo\n.venv\u002F\nvenv\u002F\nchat_history.db\n*.log\n.DS_Store\nThumbs.db\n```\n\n---\n\n## requirements.txt\n\n```\nfastapi>=0.115.0\nuvicorn>=0.30.0\nwebsockets>=12.0\nPyQt6>=6.5.0\nopenai>=1.30.0\npython-dotenv>=1.0.0\naiohttp>=3.9.0\nhttpx>=0.27.0\npydantic>=2.0.0\n```\n\n---\n\n## src\u002Fconfig.py\n\n```python\nimport os\nfrom dotenv import load_dotenv\n\nload_dotenv()\n\nOPENAI_API_KEY = os.getenv(\"OPENAI_API_KEY\", \"\")\nOPENAI_BASE_URL = os.getenv(\"OPENAI_BASE_URL\", \"https:\u002F\u002Fapi.openai.com\u002Fv1\")\nDEFAULT_MODEL = os.getenv(\"DEFAULT_MODEL\", \"gpt-4o\")\nDEFAULT_JAILBREAK = os.getenv(\"DEFAULT_JAILBREAK\", \"dan\")\nMAX_TOKENS = int(os.getenv(\"MAX_TOKENS\", \"4096\"))\nTEMPERATURE = float(os.getenv(\"TEMPERATURE\", \"0.9\"))\n```\n\n---\n\n## src\u002Fjailbreak.py\n\n```python\nimport os\n\nJAILBREAK_DIR = os.path.join(os.path.dirname(__file__), \"..\", \"prompts\")\n\nJAILBREAKS = {}\n\ndef load_jailbreaks():\n    if not os.path.exists(JAILBREAK_DIR):\n        os.makedirs(JAILBREAK_DIR, exist_ok=True)\n        return\n    \n    for filename in os.listdir(JAILBREAK_DIR):\n        if filename.endswith(\".txt\"):\n            name = filename.replace(\".txt\", \"\")\n            path = os.path.join(JAILBREAK_DIR, filename)\n            with open(path, \"r\", encoding=\"utf-8\") as f:\n                JAILBREAKS[name] = f.read().strip()\n\ndef get_jailbreak(name: str) -> str:\n    if not JAILBREAKS:\n        load_jailbreaks()\n    return JAILBREAKS.get(name, \"\")\n\ndef list_jailbreaks() -> list:\n    if not JAILBREAKS:\n        load_jailbreaks()\n    return list(JAILBREAKS.keys())\n```\n\n---\n\n## src\u002Fdarkgpt.py\n\n```python\nimport openai\nfrom config import OPENAI_API_KEY, OPENAI_BASE_URL, DEFAULT_MODEL, MAX_TOKENS, TEMPERATURE\nfrom jailbreak import get_jailbreak\n\nclass DarkGPT:\n    def __init__(self):\n        self.client = openai.AsyncOpenAI(\n            api_key=OPENAI_API_KEY,\n            base_url=OPENAI_BASE_URL\n        )\n        self.jailbreak_name = \"dan\"\n        self.system_prompt = get_jailbreak(self.jailbreak_name)\n        self.history = []\n    \n    def set_jailbreak(self, name: str):\n        self.jailbreak_name = name\n        self.system_prompt = get_jailbreak(name)\n    \n    def clear_history(self):\n        self.history = []\n    \n    async def chat(self, message: str) -> str:\n        messages = [{\"role\": \"system\", \"content\": self.system_prompt}] if self.system_prompt else []\n        messages.extend(self.history)\n        messages.append({\"role\": \"user\", \"content\": message})\n        \n        response = await self.client.chat.completions.create(\n            model=DEFAULT_MODEL,\n            messages=messages,\n            max_tokens=MAX_TOKENS,\n            temperature=TEMPERATURE\n        )\n        \n        reply = response.choices[0].message.content\n        self.history.append({\"role\": \"user\", \"content\": message})\n        self.history.append({\"role\": \"assistant\", \"content\": reply})\n        return reply\n    \n    async def stream_chat(self, message: str):\n        messages = [{\"role\": \"system\", \"content\": self.system_prompt}] if self.system_prompt else []\n        messages.extend(self.history)\n        messages.append({\"role\": \"user\", \"content\": message})\n        \n        stream = await self.client.chat.completions.create(\n            model=DEFAULT_MODEL,\n            messages=messages,\n            max_tokens=MAX_TOKENS,\n            temperature=TEMPERATURE,\n            stream=True\n        )\n        \n        full_response = \"\"\n        async for chunk in stream:\n            if chunk.choices[0].delta.content:\n                token = chunk.choices[0].delta.content\n                full_response += token\n                yield token\n        \n        self.history.append({\"role\": \"user\", \"content\": message})\n        self.history.append({\"role\": \"assistant\", \"content\": full_response})\n```\n\n---\n\n## src\u002Fapi.py\n\n```python\nfrom fastapi import FastAPI, WebSocket, Query\nfrom fastapi.staticfiles import StaticFiles\nfrom fastapi.responses import HTMLResponse\nimport json\nfrom darkgpt import DarkGPT\nfrom jailbreak import list_jailbreaks\n\napp = FastAPI(title=\"DarkGPT API\", version=\"1.0.0\")\n\napp.mount(\"\u002Fstatic\", StaticFiles(directory=\"web\"), name=\"static\")\n\n@app.get(\"\u002F\")\nasync def root():\n    with open(\"web\u002Findex.html\", \"r\") as f:\n        return HTMLResponse(f.read())\n\n@app.get(\"\u002Fapi\u002Fjailbreaks\")\nasync def get_jailbreaks():\n    return {\"jailbreaks\": list_jailbreaks()}\n\n@app.websocket(\"\u002Fws\u002Fchat\")\nasync def websocket_chat(websocket: WebSocket):\n    await websocket.accept()\n    gpt = DarkGPT()\n    \n    while True:\n        data = await websocket.receive_text()\n        msg = json.loads(data)\n        \n        if msg.get(\"type\") == \"jailbreak\":\n            gpt.set_jailbreak(msg[\"name\"])\n            await websocket.send_json({\"type\": \"jailbreak_set\", \"name\": msg[\"name\"]})\n        \n        elif msg.get(\"type\") == \"message\":\n            async for token in gpt.stream_chat(msg[\"content\"]):\n                await websocket.send_json({\"type\": \"token\", \"content\": token})\n            await websocket.send_json({\"type\": \"done\"})\n        \n        elif msg.get(\"type\") == \"clear\":\n            gpt.clear_history()\n            await websocket.send_json({\"type\": \"cleared\"})\n\ndef start(host=\"0.0.0.0\", port=1337):\n    import uvicorn\n    uvicorn.run(app, host=host, port=port)\n```\n\n---\n\n## src\u002Fmain.py\n\n```python\nimport argparse\nimport sys\n\ndef main():\n    parser = argparse.ArgumentParser(description=\"DarkGPT - Unrestricted ChatGPT Client\")\n    parser.add_argument(\"--web\", action=\"store_true\", help=\"Run web interface\")\n    parser.add_argument(\"--desktop\", action=\"store_true\", help=\"Run desktop app\")\n    parser.add_argument(\"--api\", action=\"store_true\", help=\"Run API server\")\n    parser.add_argument(\"--port\", type=int, default=1337, help=\"API port\")\n    parser.add_argument(\"--host\", default=\"127.0.0.1\", help=\"API host\")\n    \n    args = parser.parse_args()\n    \n    if args.web or args.api:\n        from api import start\n        host = \"0.0.0.0\" if args.web else args.host\n        start(host=host, port=args.port)\n    elif args.desktop:\n        from desktop import run\n        run()\n    else:\n        print(\"Usage: python main.py [--web | --desktop | --api]\")\n        sys.exit(1)\n\nif __name__ == \"__main__\":\n    main()\n```\n\n---\n\n## web\u002Findex.html\n\n```html\n\u003C!DOCTYPE html>\n\u003Chtml lang=\"en\">\n\u003Chead>\n    \u003Cmeta charset=\"UTF-8\">\n    \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n    \u003Ctitle>DarkGPT - Unrestricted Chat\u003C\u002Ftitle>\n    \u003Clink rel=\"stylesheet\" href=\"\u002Fstatic\u002Fstyle.css\">\n\u003C\u002Fhead>\n\u003Cbody>\n    \u003Cdiv class=\"container\">\n        \u003Cheader>\n            \u003Ch1>🌑 DarkGPT\u003C\u002Fh1>\n            \u003Cselect id=\"jailbreak-select\">\n                \u003Coption value=\"\">Loading...\u003C\u002Foption>\n            \u003C\u002Fselect>\n            \u003Cbutton id=\"clear-btn\">Clear\u003C\u002Fbutton>\n        \u003C\u002Fheader>\n        \u003Cdiv id=\"chat-box\">\u003C\u002Fdiv>\n        \u003Cdiv class=\"input-area\">\n            \u003Ctextarea id=\"message-input\" placeholder=\"Type your message...\" rows=\"2\">\u003C\u002Ftextarea>\n            \u003Cbutton id=\"send-btn\">Send\u003C\u002Fbutton>\n        \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cscript src=\"\u002Fstatic\u002Fscript.js\">\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","DarkGPT 是一个无限制的 ChatGPT 客户端，内置多种越狱预设、网页界面和流式 API。该项目的核心功能包括完全不受内容过滤器、拒绝或道德限制的影响，支持多种预设如 DAN 和开发者模式，并且可以通过 REST API 进行编程使用。此外，它还提供了干净的暗色主题网页界面、原生桌面应用以及聊天记录导出等功能。DarkGPT 适合需要高度自由度的 AI 对话场景，例如开发测试、创意写作或特定研究领域，但用户需自行承担由此带来的风险。项目基于 Python 开发，采用 MIT 许可证开源。",2,"2026-05-23 02:30:20","CREATED_QUERY"]