MCPcopy Index your code
hub / github.com/Sophomoresty/gemini-web2api / main

Function main

gemini_web2api.py:802–844  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

800
801
802def main():
803 parser = argparse.ArgumentParser(description="Gemini Web to OpenAI API")
804 parser.add_argument("--port", type=int, default=None)
805 parser.add_argument("--config", type=str, default=None)
806 parser.add_argument("--cookie-file", type=str, default=None, help="Path to cookie file")
807 parser.add_argument("--proxy", type=str, default=None, help="HTTP proxy, e.g. http://127.0.0.1:7890")
808 parser.add_argument("--version", action="version", version=f"gemini-web2api {__version__}")
809 args = parser.parse_args()
810
811 config_path = args.config or os.environ.get("GEMINI_WEB2API_CONFIG")
812 if not config_path:
813 for p in ["./config.json", os.path.expanduser("~/.config/gemini-web2api/config.json")]:
814 if os.path.exists(p):
815 config_path = p
816 break
817 load_config(config_path)
818
819 if args.port:
820 CONFIG["port"] = args.port
821 if args.cookie_file:
822 CONFIG["cookie_file"] = args.cookie_file
823 if args.proxy:
824 CONFIG["proxy"] = args.proxy
825
826 class ThreadedServer(ThreadingMixIn, HTTPServer):
827 daemon_threads = True
828 allow_reuse_address = True
829
830 port = CONFIG["port"]
831 server = ThreadedServer((CONFIG["host"], port), GeminiHandler)
832 print(f"gemini-web2api v{__version__}")
833 print(f" Listening: http://0.0.0.0:{port}")
834 print(f" Base URL: http://localhost:{port}/v1")
835 print(f" Models: {', '.join(MODELS.keys())}")
836 print(f" Cookie: {'yes (' + CONFIG['cookie_file'] + ')' if CONFIG.get('cookie_file') else 'none (anonymous)'}")
837 print(f" Proxy: {CONFIG.get('proxy') or 'none (uses system env HTTP_PROXY/HTTPS_PROXY)'}")
838 print(f" Retry: {CONFIG['retry_attempts']}x / {CONFIG['retry_delay_sec']}s")
839 print()
840 try:
841 server.serve_forever()
842 except KeyboardInterrupt:
843 print("\nStopped.")
844 server.shutdown()
845
846
847if __name__ == "__main__":

Callers 1

gemini_web2api.pyFile · 0.70

Calls 2

load_configFunction · 0.70
ThreadedServerClass · 0.70

Tested by

no test coverage detected