๐Ÿง… Arti: ํ† ๋ฅด์˜ ๋Ÿฌ์ŠคํŠธ ์žฌ์ž‘์„ฑ, ์—ฌ์ „ํžˆ ๊ธฐ๋Œ€๋ฅผ ๋ชจ์œผ๋Š” ์ด์œ ์™€ ์•ž์œผ๋กœ์˜ ๊ณผ์ œ

๋ฐœํ–‰: (2026๋…„ 5์›” 13์ผ AM 02:39 GMT+9)
5 ๋ถ„ ์†Œ์š”
์›๋ฌธ: Dev.to

์ถœ์ฒ˜: Dev.to

์†Œ๊ฐœ

ํ”„๋ผ์ด๋ฒ„์‹œ ๋ถ„์•ผ์— ์˜ค๋ž˜ ๋ชธ๋‹ด์•„ ์™”๋‹ค๋ฉด, ๋ ˆ๊ฑฐ์‹œ C Tor ํด๋ผ์ด์–ธํŠธ๋ฅผ ํ†ตํ•ฉํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•˜๋Š” ๊ณ ํ†ต์„ ํ•œ ๋ฒˆ์ฏค์€ ๊ฒช์—ˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ๋ฒ ์ด์Šค ์ž์ฒด๊ฐ€ ๊ฑฐ๋Œ€ํ•œ ํƒฑํฌ์™€๋„ ๊ฐ™๊ณ , ์ตœ์‹  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ผ์›Œ ๋„ฃ๋Š” ์ผ์€ ๋งˆ์น˜ ๊ณฐ๊ณผ ์”จ๋ฆ„ํ•˜๋Š” ๋А๋‚Œ์ด์ฃ .

Tor Project๊ฐ€ Artiโ€”Tor๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ Rust๋กœ ๋‹ค์‹œ ๋งŒ๋“  ํ”„๋กœ์ ํŠธโ€”๋ฅผ ๋ฐœํ‘œํ–ˆ์„ ๋•Œ, ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๊ธฐ๋Œ€์™€ ๋™์‹œ์— ์กฐ์‹ฌ์Šค๋Ÿฌ์› ์Šต๋‹ˆ๋‹ค. ๋ฐฉ๋Œ€ํ•œ ๋ณด์•ˆโ€‘์ค‘์š” ๋„คํŠธ์›Œํฌ ๋ฐ๋ชฌ์„ ๋‹ค์‹œ ์“ฐ๋Š” ์ผ์€ ๊ฒฐ์ฝ” ๊ฐ€๋ฒผ์šด ์ž‘์—…์ด ์•„๋‹ˆ๋‹ˆ๊นŒ์š”.

์ด์ œ 2026๋…„์ด ๋œ ํ˜„์žฌ, Arti๋Š” ๊ธฐ๋ณธ ํด๋ผ์ด์–ธํŠธ ๋™๋“ฑ์„ฑ์„ ๋„˜์–ด ์ „์ฒด ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ ์ƒํƒœ๊ณ„ ๋Œ€์ฒด์ œ๋กœ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ๋Š” Arti๊ฐ€ ๋น›๋‚˜๋Š” ๋ถ€๋ถ„, ์•„์ง ๋‚จ์•„ ์žˆ๋Š” ๊ณผ์ œ, ๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ๋ฐ”๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์ตœ์‹  ์ƒํ™ฉ์— ๋งž์ถฐ ์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

์™œ ๋Ÿฌ์ŠคํŠธ๋กœ ์žฌ์ž‘์„ฑํ–ˆ๋Š”๊ฐ€?

  • ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์ „์„ฑ: ๊ธฐ์กด Tor ๋ฐ๋ชฌ์€ ์ˆ˜์‹ญ๋งŒ ์ค„์— ๋‹ฌํ•˜๋Š” C ์ฝ”๋“œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ด‘๋ฒ”์œ„ํ•˜๊ฒŒ ๊ฐ์‚ฌ๋ฅผ ๋ฐ›์•˜์ง€๋งŒ, ๋‹จ ํ•˜๋‚˜์˜ useโ€‘afterโ€‘free ์ทจ์•ฝ์ ๋งŒ์œผ๋กœ๋„ ์‚ฌ์šฉ์ž ์ต๋ช…์„ฑ์— ์น˜๋ช…์ ์ธ ์˜ํ–ฅ์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Ÿฌ์ŠคํŠธ์˜ ์†Œ์œ ๊ถŒ ๋ชจ๋ธ์€ ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋ฒ„๊ทธ๋ฅผ ์ปดํŒŒ์ผ ๋‹จ๊ณ„์—์„œ ์™„์ „ํžˆ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.
  • ์—ญ์‚ฌ์  ๋ฒ„๊ทธ: ๋ ˆ๊ฑฐ์‹œ C ํด๋ผ์ด์–ธํŠธ๋Š” ์ˆ˜๋…„ ๋™์•ˆ ์ˆ˜๋งŽ์€ ์ทจ์•ฝ์ ์„ ํŒจ์น˜ํ•ด ์™”์Šต๋‹ˆ๋‹ค. ๋Ÿฌ์ŠคํŠธ ์ปดํŒŒ์ผ๋Ÿฌ๋ผ๋ฉด ์ด๋Ÿฐ ๋ฒ„๊ทธ๋“ค์„ ์ฆ‰์‹œ ์žก์•„๋ƒˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋ชจ๋“ˆ์„ฑ: ๊ธฐ์กด Tor๋Š” ๊ฑฐ๋Œ€ํ•œ ๋‹จ์ผ์ฒด(monolith)์ž…๋‹ˆ๋‹ค. Tor ๋””๋ ‰ํ„ฐ๋ฆฌ๋ฅผ ํŒŒ์‹ฑํ•˜๊ฑฐ๋‚˜ ํšŒ์„ ์„ ๊ด€๋ฆฌํ•˜๋ ค๋ฉด ์ „์ฒด ๋ฐ๋ชฌ์„ ํ”„๋กœ์ ํŠธ์— ๋Œ์–ด์™€์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค.

Arti์˜ ์•„ํ‚คํ…์ฒ˜

Arti๋Š” ๋ชฉ์ ์— ๋งž๊ฒŒ ๋‚˜๋‰œ ํฌ๋ ˆ์ดํŠธ๋“ค๋กœ ๊ตฌ์„ฑ๋ผ ์žˆ์–ด, ํ•„์š”ํ•œ ๊ตฌ์„ฑ ์š”์†Œ๋งŒ ์„ ํƒ์ ์œผ๋กœ ์ž„๋ฒ ๋“œํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค:

  • tor-proto โ€“ ํ•ต์‹ฌ ํ”„๋กœํ† ์ฝœ ๊ตฌํ˜„
  • tor-netdir โ€“ ๋„คํŠธ์›Œํฌ ๋””๋ ‰ํ„ฐ๋ฆฌ ์ปจ์„ผ์„œ์Šค ์ฒ˜๋ฆฌ
  • tor-circmgr โ€“ ํšŒ์„  ๊ด€๋ฆฌ
  • arti-client โ€“ ์†์‰ฝ๊ฒŒ ์ž„๋ฒ ๋“œํ•  ์ˆ˜ ์žˆ๋Š” ๊ณ ์ˆ˜์ค€ API

Rust ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— Arti ์ž„๋ฒ ๋”ฉํ•˜๊ธฐ

arti-client๋ฅผ Rust CLI ๋„๊ตฌ์— ์ž„๋ฒ ๋“œํ•˜๋Š” ๋ฐ๋Š” ๋ช‡ ๋ถ„์ด๋ฉด ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜ ์˜ˆ์‹œ๋Š” Tor ํด๋ผ์ด์–ธํŠธ๋ฅผ ๋ถ€ํŒ…ํ•˜๊ณ  ์—ฐ๊ฒฐ์„ ํ™•์ธํ•˜๋Š” ์ตœ์†Œ ์„ค์ •์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค:

use arti_client::{TorClient, TorClientConfig};
use tor_rtcompat::PreferredRuntime;

#[tokio::main]
async fn main() -> Result> {
    let config = TorClientConfig::default();
    let tor_client = TorClient::create_bootstrapped(config).await?;

    // Boom. You're ready to route traffic over Tor.
    println!("Successfully connected to the Tor network!");
    Ok(())
}

์ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด Tor ํšŒ์„ ์ด ๋ถ€ํŠธ์ŠคํŠธ๋žฉ๋˜๊ณ , ์—ฐ๊ฒฐ์ด ์„ฑ๋ฆฝ๋˜๋ฉด ํ™•์ธ ๋ฉ”์‹œ์ง€๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ tor_client๋ฅผ ์ด์šฉํ•ด HTTP ์š”์ฒญ, DNS ์กฐํšŒ, ํ˜น์€ Tor ์œ„์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋„คํŠธ์›Œํฌ ์ž‘์—…์„ ์ž์œ ๋กญ๊ฒŒ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

0 ์กฐํšŒ
Back to Blog

๊ด€๋ จ ๊ธ€

๋” ๋ณด๊ธฐ ยป

Bun์„ Rust๋กœ ์žฌ์ž‘์„ฑํ•œ ๊ฒƒ์ด ๋ณ‘ํ•ฉ๋˜์—ˆ์Šต๋‹ˆ๋‹ค

Bun์˜ ๊ธฐ์กด ํ…Œ์ŠคํŠธ ์Šค์œ„ํŠธ๋ฅผ ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ํ†ต๊ณผํ•˜๊ณ  ์—ฌ๋Ÿฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜์™€ ๋ถˆ์•ˆ์ •ํ•œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜์ •ํ–ˆ์œผ๋ฉฐ, ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๊ธฐ๊ฐ€ 3 MB โ€“ 8 MB ์ •๋„ ์ค„์–ด๋“ค๊ณ , ๋ฒค์น˜๋งˆํฌ๋Š”โ€ฆ

`cd` ์ž…๋ ฅ์ด ์ง€๊ฒน๋‚˜์š”? ๋‚˜๋Š” Rust๋กœ ๋งŒ๋“  ์ดˆ๊ณ ์† ๋””๋ ‰ํ„ฐ๋ฆฌ ์ ํ”„ ๋„๊ตฌ, Protonโ€‘T, ๋” ์Šค๋งˆํŠธํ•œ cd ๋ช…๋ น์„ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค

๊ฐœ๋ฐœ์ž๋กœ์„œ ์šฐ๋ฆฌ๋Š” ํ„ฐ๋ฏธ๋„ ์•ˆ์—์„œ ์‚ด์•„๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ €์—๊ฒŒ ํ„ฐ๋ฏธ๋„์— ์‚ฌ๋Š” ๊ฒƒ์€ ๋‘ ๊ฐ€์ง€ ์ด์œ  ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค: ์†๋„์™€ ๋ฉ‹์ง. ํ•˜์ง€๋งŒ ์†”์งํžˆ ๋งํ•ด์„œ, cd ../../... ๋ฅผ ์ž…๋ ฅํ•˜๋Š” ๊ฑดโ€ฆ

ํด๋ฆญ (2016)

Article Click 2016https://clickclickclick.click/ Discussion Hacker News threadhttps://news.ycombinator.com/item?id=48187054 โ€“ 194 points, 41 comments...