picoquic
Minimal implementation of the QUIC protocol
파일 탐색기
최종 버전 다운로드 (.zip)- codeql-config.yml
- ci-asan-ubsan.yml
- ci-embedding.yml
- ci-tests-aegis.yml
- ci-tests-clang.yml
- ci-tests-mac-os.yml
- ci-tests-no-fusion.yml
- ci-tests-no-openssl.yml
- ci-tests-select.yml
- ci-tests.yml
- ci-thread-check.yml
- codeql-analysis.yml
- mbedtls.yml
- webtransport-browser.yml
- baton_app.c
- baton_app.vcxproj
- baton_app.vcxproj.filters
- cert.pem
- key.pem
- pub.pem
- ech_cert.pem
- ech_config.txt
- private.pem
- public.pem
- cert.pem
- key.pem
- pub.pem
- ca.crt
- client.crt
- client.key
- server.crt
- server.key
- cert.pem
- key.pem
- pub.pem
- key.pem
- keypair.pem
- cert.pem
- key.pem
- pub.pem
- cert.pem
- key.pem
- pub.pem
- cert.pem
- key.pem
- pub.pem
- cert.pem
- key.pem
- pub.pem
- cert.pem
- chain.pem
- fullchain.pem
- badcert.pem
- cert.pem
- esni-rr.bin
- esni-secp256r1.key
- key.pem
- test-ca.crt
- CMakeLists.txt
- main.c
- main_http.c
- CMakeLists.txt
- main.c
- CMakeLists.txt
- sample_lib-config.cmake.in
- sample_lib.c
- sample_lib.h
- run.sh
- build_cppcheck.sh
- build_picotls.ps1
- build_picotls.sh
- picotls-win32.patch
- Findaegis.cmake
- FindMbedTLS.cmake
- FindPTLS.cmake
- architecture.md
- architecture.png
- building_picoquic.md
- ech-esni.md
- howto_use_external_event_manager.md
- managing-memory-copies.md
- memory.md
- multi-alpn-support.md
- p2p.md
- parallel.md
- pico_webtransport.md
- picomask.md
- QLOG.md
- quicperf.md
- sample.md
- scone.md
- scone.md.txt
- send_receive_data.md
- socket_loop.md
- socket_loop.png
- usage.md
- webtransport_conformance.md
- without_openssl.md
- auto_memlog.h
- autoqlog.c
- autoqlog.h
- cidset.c
- cidset.h
- csv.c
- csv.h
- logconvert.c
- logconvert.h
- loglib.vcxproj
- loglib.vcxproj.filters
- logreader.c
- logreader.h
- memory_log.c
- picoquic_qlog_fns.h
- qlog.c
- qlog.h
- qlog_fns.c
- qlog_frames.c
- svg.c
- svg.h
- template.svg
- p_sim.vcxproj
- p_sim.vcxproj.filters
- pico_sim.c
- PerfAndStressTest.cpp
- PerfAndStressTest.vcxproj
- PerfAndStressTest.vcxproj.filters
- democlient.c
- democlient.h
- demoserver.c
- demoserver.h
- h3zero.c
- h3zero.h
- h3zero_client.c
- h3zero_common.c
- h3zero_common.h
- h3zero_server.c
- h3zero_uri.c
- h3zero_uri.h
- h3zero_url_template.c
- h3zero_url_template.h
- pico_webtransport.h
- picohttp.vcxproj
- picohttp.vcxproj.filters
- picomask.c
- picomask.h
- picoquic_ns.c
- picoquic_ns.h
- quicperf.c
- quicperf.h
- webtransport.c
- wt_baton.c
- wt_baton.h
- picohttp_t.c
- picohttp_t.vcxproj
- picohttp_t.vcxproj.filters
- picolog.c
- picolog.filters
- picolog.vcxproj
- picolog.vcxproj.filters
- bbr.c
- bbr1.c
- bytestream.c
- bytestream.h
- c4.c
- c4.h
- cc_common.c
- cc_common.h
- cidset.h
- config.c
- cubic.c
- dualq_aqm.c
- ech.c
- error_names.c
- fastcc.c
- frame_names.c
- frames.c
- intformat.c
- logger.c
- logwriter.c
- loss_recovery.c
- mbedtls_sign.inc
- memory_log.c
- newreno.c
- pacing.c
- packet.c
- packet_names.c
- paths.c
- performance_log.c
- performance_log.h
- picohash.c
- picohash.h
- picoqmux.c
- picoqmux.h
- picoquic.h
- picoquic.vcxproj
- picoquic.vcxproj.filters
- picoquic_bbr.h
- picoquic_bbr1.h
- picoquic_binlog.h
- picoquic_c4.h
- picoquic_config.h
- picoquic_crypto_provider_api.h
- picoquic_cubic.h
- picoquic_fastcc.h
- picoquic_internal.h
- picoquic_lb.c
- picoquic_lb.h
- picoquic_logger.h
- picoquic_mbedtls.c
- picoquic_newreno.h
- picoquic_packet_loop.h
- picoquic_prague.h
- picoquic_ptls_fusion.c
- picoquic_ptls_minicrypto.c
- picoquic_ptls_openssl.c
- picoquic_qlog.h
- picoquic_set_binlog.h
- picoquic_set_textlog.h
- picoquic_unified_log.h
- picoquic_utils.h
- picoquictest_dualq.h
- picosocks.c
- picosocks.h
- picosplay.c
- picosplay.h
- port_blocking.c
- prague.c
- qmux.c
- quicctx.c
- ReadMe.txt
- register_all_cc_algorithms.c
- sacks.c
- scone.c
- sender.c
- sim_link.c
- siphash.c
- siphash.h
- sockloop.c
- spinbit.c
- streams.c
- ticket_store.c
- timing.c
- tls_api.c
- tls_api.h
- token_store.c
- tp_names.c
- transport.c
- unified_log.c
- util.c
- wincompat.h
- winsockloop.c
- picoquic_c2csv_t.c
- picoquic_c2csv_t.vcxproj
- picoquic_c2csv_t.vcxproj.filters
- ptls_mbedtls.c
- ptls_mbedtls.h
- ptls_mbedtls_sign.c
- picoquic_t.c
- picoquic_t.vcxproj
- picoquic_t.vcxproj.filters
- getopt.c
- getopt.h
- picoquicdemo.c
- picoquicfirst.vcxproj
- picoquicfirst.vcxproj.filters
- ack_frequency_test.c
- ack_of_ack_test.c
- aegis_perf.c
- app_limited.c
- app_msg_overflow_ref.qlog
- binlog_ref.log
- binlog_ref.qlog
- bytestream_test.c
- cc_compete_test.c
- cert_verify_test.c
- cleartext_aead_test.c
- cnx_creation_test.c
- cnxstress.c
- code_version_test.c
- config_test.c
- config_usage_ref.txt
- congestion_test.c
- cplusplus.cpp
- cpu_limited.c
- datagram_tests.c
- delay_tolerant_test.c
- dualq_aqm_test.c
- ech_test.c
- edge_cases.c
- file_test_ref.txt
- flow_control_test.c
- getter_test.c
- h3zero_stream_test.c
- h3zero_uri_test.c
- h3zerotest.c
- hashtest.c
- high_latency_test.c
- intformattest.c
- l4s_test.c
- log_test_ref.txt
- log_tp_test_ref.txt
- mbedtls_test.c
- mediatest.c
- memlog_test.c
- memlog_test_ref.csv
- minicrypto_test.c
- multipath_qlog_ref.txt
- multipath_test.c
- netperf_test.c
- openssl_test.c
- p2p_test.c
- pacing_rate_ref.txt
- pacing_test.c
- packet_trace_ref.txt
- parseheadertest.c
- path_callback_ref.txt
- path_quality_ref.txt
- path_quality_server_ref.txt
- perf_trace_client_ref.txt
- perf_trace_server_ref.txt
- picolog_test.c
- picolog_test_input.log
- picomask_test.c
- picoquic_lb_test.c
- picoquic_ns.c
- picoquictest.h
- picoquictest.vcxproj
- picoquictest.vcxproj.filters
- picoquictest_internal.h
- picoquictest_rctl.h
- picoquictest_red.h
- pn2pn64test.c
- qinqtest.c
- qlog_frame_test.c
- qlog_frames_test_ref.txt
- qlog_test.c
- qlog_trace_ecn_ref.txt
- qlog_trace_ref.txt
- qmux.c
- qmux_test.c
- quality_update_ref.txt
- quic_tester.c
- quicperf_test.c
- rctl_aqm.c
- ReadMe.txt
- red_aqm.c
- sacktest.c
- satellite_test.c
- scone_test.c
- skip_frame_test.c
- socket_test.c
- sockloop_test.c
- spinbit_test.c
- splay_test.c
- stream0_frame_test.c
- stresstest.c
- svglog_ref.svg
- test_tickets.bin
- ticket_store_test.c
- tls_api_test.c
- transport_param_test.c
- util_test.c
- warptest.c
- webtransport_test.c
- wifitest.c
- pqbench.c
- pqbench_app.vcxproj
- pqbench_app.vcxproj.filters
- quicwind.aps
- quicwind.cpp
- quicwind.h
- quicwind.ico
- quicwind.rc
- quicwind.vcxproj
- quicwind.vcxproj.filters
- quicwind_proc.c
- Resource.h
- small.ico
- targetver.h
- picoquic_sample.h
- README.md
- sample.c
- sample.vcxproj
- sample.vcxproj.filters
- sample_background.c
- sample_client.c
- sample_server.c
- coverage.sh
- getlog.pl
- thread_test.c
- thread_tester.vcxproj
- thread_tester.vcxproj.filters
- targetver.h
- unittest1.cpp
- UnitTest1.vcxproj
- UnitTest1.vcxproj.filters
- .gitignore
- .gitmodules
- .travis.yml
- appveyor.yml
- CMakeLists.txt
- CMakeSettings.json
- config.c
- Dockerfile
- implementation-notes.txt
- LICENSE
- picoquic-config.cmake.in
- picoquic.sln
- README.md
- SECURITY.md
- socket_loop.md
- UpgradeLog.htm
- valgrind_out.txt
🚀 설치 가이드
1. 코드 내려받기
git clone https://github.com/private-octopus/picoquic
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd picoquic
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Docker
쉬움 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker build -t picoquic .
Dockerfile을 기반으로 실행 가능한 이미지를 빌드합니다.
docker run -p 8080:80 picoquic
빌드된 이미지를 실제 컨테이너로 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
3. CMake
보통사전 준비물
mkdir build && cd build
빌드 결과물을 담을 폴더를 만들고 그 안으로 이동합니다.
cmake ..
소스코드를 분석해 빌드 설정 파일을 생성합니다 (build 폴더 안에서 실행해야 함).
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
build 폴더 안에 실행 파일이 생성됐는지 확인하고, 직접 실행해보세요 (예: ./build/앱이름).
// repository documentation
Was this content helpful?
(0 ratings)
