erlang_quic
Pure Erlang QUIC implementation (RFC 9000)
파일 탐색기
최종 버전 다운로드 (.zip)- ci.yml
- baseline-1.1.0.md
- run_download_bench.erl
- run_sink_bench.erl
- generate_certs.sh
- dist_sys.config.src
- dist_vm.args.src
- cert.pem
- key.pem
- sys.config.src
- vm.args.src
- check_status.sh
- generate_certs.sh
- run_failure_test.sh
- run_test.sh
- stop_tests.sh
- verify_distribution.sh
- wait_for_cluster.sh
- quic_dist_test.app.src
- quic_dist_test_app.erl
- quic_dist_test_server.erl
- quic_dist_test_sup.erl
- benchmark.escript
- docker-compose.yml
- Dockerfile
- rebar.config
- rebar.config.docker
- rebar.config.release
- start_node.sh
- Dockerfile
- go.mod
- main.go
- .gitignore
- docker-compose.yml
- Dockerfile
- README.md
- run-debug.sh
- main.rs
- Cargo.toml
- Dockerfile
- http3_client.py
- quic_h3_server.py
- quic_server.py
- requirements.txt
- .gitignore
- index.html
- test.txt
- docker-compose.bench.yml
- docker-compose.yml
- Dockerfile.quic-go
- Dockerfile.quic-server
- enki-multimedia.svg
- quic_dist_circuits.png
- quic_dist_circuits.svg
- GHSA-2r8v-p65x-3663.md
- CLIENT_GUIDE.md
- DESIGN.md
- DEVELOPER_GUIDE.md
- features.md
- GETTING_STARTED.md
- h3_compliance.md
- HTTP3.md
- INTERNAL_NETWORKS.md
- PERFORMANCE.md
- PSK.md
- QLOG_GUIDE.md
- QUIC_DIST.md
- SERVER_GUIDE.md
- echo_client.erl
- echo_server.erl
- qlog_example.erl
- README.md
- quic.hrl
- quic_dist.hrl
- quic_h3.hrl
- quic_qlog.hrl
- Dockerfile.client
- Dockerfile.server
- implementations.json
- README.md
- quic_call.sh
- run_bench.sh
- run_dist_bench.sh
- run_docker_dist_bench.sh
- run_h3_bench.sh
- quic_discovery.erl
- quic_discovery_dns.erl
- quic_discovery_static.erl
- quic_dist.erl
- quic_dist_auth.erl
- quic_dist_controller.erl
- quic_dist_dispatch.erl
- quic_dist_sup.erl
- quic_dist_tickets.erl
- quic_epmd.erl
- quic_h3.erl
- quic_h3_capsule.erl
- quic_h3_client.erl
- quic_h3_connection.erl
- quic_h3_frame.erl
- quic_h3_server.erl
- quic_interop_client.erl
- quic_interop_server.erl
- quic_qpack.erl
- quic_qpack_huffman.erl
- quic_qpack_huffman_dec.hrl
- quic_qpack_huffman_enc.hrl
- quic_qpack_prefix.erl
- quic_qpack_static_table.hrl
- quic.app.src
- quic.erl
- quic_ack.erl
- quic_address_token.erl
- quic_aead.erl
- quic_app.erl
- quic_cc.erl
- quic_cc_bbr.erl
- quic_cc_cubic.erl
- quic_cc_newreno.erl
- quic_cert.erl
- quic_conn_sup.erl
- quic_connection.erl
- quic_crypto.erl
- quic_flow.erl
- quic_frame.erl
- quic_happy.erl
- quic_happy_sup.erl
- quic_hkdf.erl
- quic_keys.erl
- quic_lb.erl
- quic_listener.erl
- quic_listener_manager.erl
- quic_listener_sup.erl
- quic_listener_sup_sup.erl
- quic_log.erl
- quic_loss.erl
- quic_packet.erl
- quic_pmtu.erl
- quic_qlog.erl
- quic_server_registry.erl
- quic_server_sup.erl
- quic_socket.erl
- quic_stream.erl
- quic_sup.erl
- quic_ticket.erl
- quic_tls.erl
- quic_token_cache.erl
- quic_varint.erl
- cert.pem
- key.pem
- generate_certs.sh
- run_5node_cluster_test.sh
- run_failover_test.sh
- run_nat_test.sh
- start_node.sh
- start_release.sh
- docker-compose.yml
- Dockerfile.node
- README.md
- cert.pem
- key.pem
- node1.started
- status
- run_e2e_test.sh
- ct.config
- h3_profile.erl
- prop_quic_crypto.erl
- prop_quic_datagram.erl
- prop_quic_frame.erl
- prop_quic_h3_0rtt.erl
- prop_quic_packet.erl
- prop_quic_pmtu.erl
- prop_quic_reliability.erl
- prop_quic_varint.erl
- qifs
- quic_0rtt_reset_tests.erl
- quic_ack_edge_tests.erl
- quic_ack_tests.erl
- quic_adapter_SUITE.erl
- quic_address_token_tests.erl
- quic_aead_tests.erl
- quic_batch_bench.erl
- quic_bench_server.erl
- quic_call_SUITE.erl
- quic_cc_bbr_tests.erl
- quic_cc_cubic_tests.erl
- quic_cc_invariants_tests.erl
- quic_cc_newreno_tests.erl
- quic_cc_recovery_tests.erl
- quic_cc_tests.erl
- quic_cert_tests.erl
- quic_cid_limit_tests.erl
- quic_client_cert_tests.erl
- quic_client_compliance_SUITE.erl
- quic_client_migrate_tests.erl
- quic_client_socket_backend_tests.erl
- quic_close_appcode_tests.erl
- quic_close_tests.erl
- quic_coalesce_tests.erl
- quic_comparison_bench.erl
- quic_connection_tests.erl
- quic_crypto_chunk_tests.erl
- quic_crypto_tests.erl
- quic_datagram_e2e_SUITE.erl
- quic_datagram_tests.erl
- quic_discovery_tests.erl
- quic_dist_auth_SUITE.erl
- quic_dist_auth_test_cb.erl
- quic_dist_basic_SUITE.erl
- quic_dist_bench.erl
- quic_dist_cluster_SUITE.erl
- quic_dist_connect_opts_SUITE.erl
- quic_dist_controller_tests.erl
- quic_dist_dispatch_tests.erl
- quic_dist_keepalive_tests.erl
- quic_dist_psk_SUITE.erl
- quic_dist_psk_test_cb.erl
- quic_dist_rpc_tests.erl
- quic_dist_simulation_tests.erl
- quic_dist_simultaneous_connect_SUITE.erl
- quic_dist_SUITE.erl
- quic_dist_tickets_tests.erl
- quic_dist_user_stream_SUITE.erl
- quic_dist_user_stream_tests.erl
- quic_e2e_bbr_SUITE.erl
- quic_e2e_cubic_SUITE.erl
- quic_e2e_SUITE.erl
- quic_ecn_tests.erl
- quic_error_codes_tests.erl
- quic_flow_tests.erl
- quic_frame_tests.erl
- quic_frame_violation_tests.erl
- quic_h3_0rtt_SUITE.erl
- quic_h3_bench.erl
- quic_h3_bootstrap_tests.erl
- quic_h3_capsule_tests.erl
- quic_h3_close_tests.erl
- quic_h3_compliance_tests.erl
- quic_h3_connect_error_tests.erl
- quic_h3_connect_race_tests.erl
- quic_h3_connect_SUITE.erl
- quic_h3_datagram_tests.erl
- quic_h3_e2e_SUITE.erl
- quic_h3_early_data_tests.erl
- quic_h3_event_forwarding_tests.erl
- quic_h3_frame_prop_tests.erl
- quic_h3_frame_tests.erl
- quic_h3_owner_SUITE.erl
- quic_h3_push_tests.erl
- quic_h3_server_SUITE.erl
- quic_h3_settings_error_tests.erl
- quic_h3_tests.erl
- quic_handshake_mtu_SUITE.erl
- quic_happy_tests.erl
- quic_hkdf_tests.erl
- quic_hrr_e2e_SUITE.erl
- quic_idle_timeout_tests.erl
- quic_interop_SUITE.erl
- quic_kex_tests.erl
- quic_keys_tests.erl
- quic_large_data_tests.erl
- quic_lb_e2e_SUITE.erl
- quic_lb_tests.erl
- quic_listener_tests.erl
- quic_loss_tests.erl
- quic_max_udp_payload_tests.erl
- quic_micro_bench.erl
- quic_migration_tests.erl
- quic_multi_server_SUITE.erl
- quic_new_token_tests.erl
- quic_packet_activity_tests.erl
- quic_packet_tests.erl
- quic_path_stats_tests.erl
- quic_pmtu_tests.erl
- quic_pqc_e2e_SUITE.erl
- quic_pqc_mtu_SUITE.erl
- quic_preferred_address_tests.erl
- quic_protocol_stress_tests.erl
- quic_psk_e2e_SUITE.erl
- quic_psk_tests.erl
- quic_qlog_tests.erl
- quic_qpack_huffman_tests.erl
- quic_qpack_interop_SUITE.erl
- quic_qpack_prop_tests.erl
- quic_qpack_tests.erl
- quic_reset_stream_at_SUITE.erl
- quic_reset_stream_at_tests.erl
- quic_reset_stream_tests.erl
- quic_reset_tests.erl
- quic_resolve_tests.erl
- quic_resumption_tests.erl
- quic_retry_packet_tests.erl
- quic_retry_pn_tests.erl
- quic_retry_tests.erl
- quic_rfc9001_crypto_tests.erl
- quic_rfc_vectors_tests.erl
- quic_send_data_tests.erl
- quic_server_auth_tests.erl
- quic_server_batching_SUITE.erl
- quic_server_e2e_SUITE.erl
- quic_server_send_batching_off_tests.erl
- quic_server_tests.erl
- quic_sigalg_e2e_SUITE.erl
- quic_sni_cert_tests.erl
- quic_socket_opts_tests.erl
- quic_socket_tests.erl
- quic_spin_bit_tests.erl
- quic_stateless_reset_tests.erl
- quic_stop_sending_tests.erl
- quic_stream_bench.erl
- quic_stream_deadline_tests.erl
- quic_stream_reassembly_SUITE.erl
- quic_stream_reclaim_tests.erl
- quic_stream_tests.erl
- quic_test_echo_server.erl
- quic_test_h3_server.erl
- quic_throughput_bench.erl
- quic_ticket_tests.erl
- quic_tls_compliance_tests.erl
- quic_tls_negotiation_tests.erl
- quic_tls_server_tests.erl
- quic_token_cache_tests.erl
- quic_transport_param_errors_tests.erl
- quic_transport_params_tests.erl
- quic_trusted_network_SUITE.erl
- quic_v2_tests.erl
- quic_varint_tests.erl
- quic_version_negotiation_tests.erl
- quic_version_tests.erl
- quic_zerortt_tests.erl
- tcp_throughput_bench.erl
- .dockerignore
- .gitignore
- .gitmodules
- AGENTS.md
- CHANGELOG.md
- CLAUDE.md
- elvis.config
- Makefile
- README.md
- rebar.config
- SECURITY.md
# 설치 가이드
1. 코드 내려받기
git clone https://github.com/benoitc/erlang_quic
깃허브에서 프로젝트 코드 전체를 내 컴퓨터로 내려받습니다.
cd erlang_quic
방금 내려받은 프로젝트 폴더 안으로 이동합니다.
2. Docker
쉬움 추천사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Docker Desktop 컨테이너를 빌드하고 실행하려면 필요합니다. 설치 후 실행해서 백그라운드에 켜두세요.
docker compose -f docker/dist/docker-compose.yml up -d --build
compose 설정 파일에 정의된 서비스들을 대상으로 명령을 실행합니다.
터미널에 docker compose ps 를 입력해 컨테이너들이 Up 상태인지 확인하세요. README에 포트 번호가 적혀있다면 브라우저에서 http://localhost:포트번호 로 접속해보세요.
3. Python
쉬움사전 준비물
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
pip install -r docker/server/requirements.txt
requirements.txt 등에 명시된 파이썬 라이브러리를 설치합니다.
python <실행할 파일명>.py # README에서 정확한 실행 파일명을 확인하세요
파이썬 스크립트(또는 모듈)를 실행합니다.
에러 메시지 없이 실행되고 터미널에 안내 문구가 출력되면 정상입니다.
4. Go
보통
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd docker/go-bench
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
go build ./...
Go 프로그램을 컴파일해 실행 파일을 만듭니다.
go run .
따로 빌드하지 않고 바로 Go 프로그램을 실행합니다.
빌드가 에러 없이 끝나면 성공입니다. go run . 을 썼다면 터미널 출력을 확인하세요.
5. Rust
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Rust (rustup) rustup으로 설치하면 cargo도 함께 설치됩니다.
⚠️ 이 프로젝트는 규모가 큰 저장소라, 이 방법이 실제 핵심 제품이 아니라 내부 하위 패키지를 가리키는 것일 수 있습니다. README 전체를 함께 확인해보세요.
cd docker/quiche
이 프로젝트의 관련 파일이 하위 폴더 안에 있어서, 먼저 그 폴더로 이동합니다.
cargo build --release
Rust 프로젝트를 컴파일합니다.
cargo run
빌드 후 바로 실행까지 진행합니다.
cargo build가 에러 없이 끝나면 성공입니다. target/ 폴더에 실행 파일이 생성됩니다.
6. Make
보통사전 준비물
- Git GitHub에서 프로젝트 코드를 내려받으려면 필요합니다.
- Make Linux/macOS는 보통 기본 설치되어 있습니다. Windows는 별도 설치(예: MSYS2, WSL)가 필요합니다.
make
생성된 빌드 설정을 바탕으로 실제 컴파일을 진행해 실행 파일을 만듭니다.
에러 없이 끝나면 성공입니다. 생성된 실행 파일을 직접 실행해보세요.
// repository documentation
Was this content helpful?
(0 ratings)
